/*! tailwindcss v4.3.0 | 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)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-divide-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-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:host,:root{--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-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--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-500:oklch(76.9% .188 70.08);--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-amber-900:oklch(41.4% .112 45.904);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--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-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--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{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.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}}.m-1{margin:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.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)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-full{height:100%}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[220px\]{max-height:220px}.max-h-\[260px\]{max-height:260px}.max-h-\[380px\]{max-height:380px}.max-h-\[420px\]{max-height:420px}.max-h-\[490px\]{max-height:490px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.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-48{width:calc(var(--spacing) * 48)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[170px\]{max-width:170px}.max-w-\[180px\]{max-width:180px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[28px\]{min-width:28px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.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-baseline{align-items:baseline}.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-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.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-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-200\/80{border-color:#bedbffcc}@supports (color:color-mix(in lab,red,red)){.border-blue-200\/80{border-color:color-mix(in oklab,var(--color-blue-200) 80%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-400\/30{border-color:#00d2944d}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/30{border-color:color-mix(in oklab,var(--color-emerald-400) 30%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-red-200{border-color:var(--color-red-200)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-700{border-color:var(--color-rose-700)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200) 80%,transparent)}}.border-slate-200\/90{border-color:#e2e8f0e6}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/90{border-color:color-mix(in oklab,var(--color-slate-200) 90%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-300\/60{border-color:#cad5e299}@supports (color:color-mix(in lab,red,red)){.border-slate-300\/60{border-color:color-mix(in oklab,var(--color-slate-300) 60%,transparent)}}.border-slate-900{border-color:var(--color-slate-900)}.border-teal-200{border-color:var(--color-teal-200)}.border-teal-500{border-color:var(--color-teal-500)}.border-teal-500\/30{border-color:#00baa74d}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/30{border-color:color-mix(in oklab,var(--color-teal-500) 30%,transparent)}}.border-teal-600{border-color:var(--color-teal-600)}.border-teal-700{border-color:var(--color-teal-700)}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/60{background-color:#eff6ff99}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/60{background-color:color-mix(in oklab,var(--color-blue-50) 60%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/70{background-color:#ecfdf5b3}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\/70{background-color:color-mix(in oklab,var(--color-emerald-50) 70%,transparent)}}.bg-emerald-50\/80{background-color:#ecfdf5cc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\/80{background-color:color-mix(in oklab,var(--color-emerald-50) 80%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-rose-700{background-color:var(--color-rose-700)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/50{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-50\/70{background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/70{background-color:color-mix(in oklab,var(--color-slate-50) 70%,transparent)}}.bg-slate-50\/80{background-color:#f8fafccc}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/80{background-color:color-mix(in oklab,var(--color-slate-50) 80%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\/70{background-color:#e2e8f0b3}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\/70{background-color:color-mix(in oklab,var(--color-slate-200) 70%,transparent)}}.bg-slate-200\/80{background-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\/80{background-color:color-mix(in oklab,var(--color-slate-200) 80%,transparent)}}.bg-slate-300\/80{background-color:#cad5e2cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-300\/80{background-color:color-mix(in oklab,var(--color-slate-300) 80%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/60{background-color:color-mix(in oklab,var(--color-slate-900) 60%,transparent)}}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-50\/40{background-color:#f0fdfa66}@supports (color:color-mix(in lab,red,red)){.bg-teal-50\/40{background-color:color-mix(in oklab,var(--color-teal-50) 40%,transparent)}}.bg-teal-50\/60{background-color:#f0fdfa99}@supports (color:color-mix(in lab,red,red)){.bg-teal-50\/60{background-color:color-mix(in oklab,var(--color-teal-50) 60%,transparent)}}.bg-teal-50\/70{background-color:#f0fdfab3}@supports (color:color-mix(in lab,red,red)){.bg-teal-50\/70{background-color:color-mix(in oklab,var(--color-teal-50) 70%,transparent)}}.bg-teal-50\/80{background-color:#f0fdfacc}@supports (color:color-mix(in lab,red,red)){.bg-teal-50\/80{background-color:color-mix(in oklab,var(--color-teal-50) 80%,transparent)}}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,transparent)}}.bg-teal-600{background-color:var(--color-teal-600)}.bg-teal-700{background-color:var(--color-teal-700)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-br,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-gradient-to-tr{--tw-gradient-position:to top 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-teal-600{--tw-gradient-from:var(--color-teal-600);--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-teal-700{--tw-gradient-from:var(--color-teal-700);--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-teal-800{--tw-gradient-from:var(--color-teal-800);--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))}.via-emerald-50{--tw-gradient-via:var(--color-emerald-50);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-900{--tw-gradient-via:var(--color-teal-900);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-slate-900{--tw-gradient-to:var(--color-slate-900);--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-teal-50{--tw-gradient-to:var(--color-teal-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-teal-500{--tw-gradient-to:var(--color-teal-500);--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-teal-800{--tw-gradient-to:var(--color-teal-800);--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))}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.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-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#2a9d8f\]{color:#2a9d8f}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.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-amber-900{color:var(--color-amber-900)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-950{color:var(--color-emerald-950)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-800{color:var(--color-red-800)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-900{color:var(--color-rose-900)}.text-slate-300{color:var(--color-slate-300)}.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-slate-900{color:var(--color-slate-900)}.text-teal-100\/80{color:#cbfbf1cc}@supports (color:color-mix(in lab,red,red)){.text-teal-100\/80{color:color-mix(in oklab,var(--color-teal-100) 80%,transparent)}}.text-teal-200{color:var(--color-teal-200)}.text-teal-200\/70{color:#96f7e4b3}@supports (color:color-mix(in lab,red,red)){.text-teal-200\/70{color:color-mix(in oklab,var(--color-teal-200) 70%,transparent)}}.text-teal-600{color:var(--color-teal-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-teal-900{color:var(--color-teal-900)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d)}.shadow-2xs,.shadow-inner{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xl{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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring-1,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-100{--tw-ring-color:var(--color-blue-100)}.ring-teal-200{--tw-ring-color:var(--color-teal-200)}.ring-teal-500\/20{--tw-ring-color:#00baa733}@supports (color:color-mix(in lab,red,red)){.ring-teal-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-teal-500) 20%,transparent)}}.ring-teal-600\/30{--tw-ring-color:#0095884d}@supports (color:color-mix(in lab,red,red)){.ring-teal-600\/30{--tw-ring-color:color-mix(in oklab,var(--color-teal-600) 30%,transparent)}}.\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.selection\:bg-teal-500 ::selection{background-color:var(--color-teal-500)}.selection\:bg-teal-500::selection{background-color:var(--color-teal-500)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}@media (hover:hover){.hover\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-rose-50:hover{background-color:var(--color-rose-50)}.hover\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-50\/50:hover{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-50\/50:hover{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-teal-100:hover{background-color:var(--color-teal-100)}.hover\:bg-teal-700:hover{background-color:var(--color-teal-700)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-rose-300:hover{color:var(--color-rose-300)}.hover\:text-rose-600:hover{color:var(--color-rose-600)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:text-teal-700:hover{color:var(--color-teal-700)}.hover\:text-teal-900:hover{color:var(--color-teal-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-rose-600:focus{border-color:var(--color-rose-600)}.focus\:border-teal-500:focus{border-color:var(--color-teal-500)}.focus\:border-teal-600:focus{border-color:var(--color-teal-600)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-1:focus,.focus\:ring-2:focus{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-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-rose-200:focus{--tw-ring-color:var(--color-rose-200)}.focus\:ring-teal-100:focus{--tw-ring-color:var(--color-teal-100)}.focus\:ring-teal-200:focus{--tw-ring-color:var(--color-teal-200)}.focus\:ring-teal-500:focus{--tw-ring-color:var(--color-teal-500)}.focus\:ring-teal-500\/20:focus{--tw-ring-color:#00baa733}@supports (color:color-mix(in lab,red,red)){.focus\:ring-teal-500\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-teal-500) 20%,transparent)}}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:w-80{width:calc(var(--spacing) * 80)}.sm\:w-auto{width:auto}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:self-center{align-self:center}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:p-12{padding:calc(var(--spacing) * 12)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:p-8{padding:calc(var(--spacing) * 8)}}}:root{--primary:#2a9d8f;--color-primary:#2a9d8f;--color-primary-hover:#23877b;--primary-dark:#264653;--primary-strong:#1b3a4b;--primary-light:#2a9d8f1f;--accent:#f4a261;--bg:#f8f9fa;--surface:#fff;--panel:#fffffff7;--panel-solid:#fff;--surface-2:#f1f3f4;--text:#202124;--text-secondary:#5f6368;--muted:#80868b;--muted-bg:#f1f3f4;--line:#0000001f;--line-light:#0000000f;--success:#137333;--success-bg:#e6f4ea;--danger:#c5221f;--danger-bg:#fce8e6;--warning:#b06000;--warning-bg:#fef7e0;--shadow-xs:0 1px 2px #00000014;--shadow-sm:0 1px 4px #0000001a,0 1px 2px #0000000f;--shadow-md:0 2px 8px #0000001a,0 1px 3px #00000012;--shadow-lg:0 8px 28px #0000001f,0 4px 8px #00000012;--shadow-xl:0 16px 48px #00000024,0 6px 16px #00000014;--shadow:var(--shadow-md);--radius:12px;--radius-sm:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(1200px 420px at -8% -18%,#2a9d8f1f,transparent 70%),radial-gradient(900px 380px at 100% -25%,#2646531a,transparent 74%),var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.cl-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:300;background:#1b3a4bf0;border-bottom:1px solid #ffffff24;flex-shrink:0;align-items:center;gap:10px;height:64px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.cl-topbar-title{color:#fff;flex:1;font-size:1.2rem;font-weight:400}.cl-topbar-right{align-items:center;gap:4px;display:flex;position:relative}.cl-layout{min-height:calc(100vh - 64px);padding-top:64px;display:flex}.cl-sidebar{z-index:200;background:linear-gradient(#1b3a4b,#264653);border-right:1px solid #ffffff14;flex-direction:column;flex-shrink:0;width:264px;height:calc(100vh - 64px);transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:64px;left:0;overflow:hidden}.cl-sidebar-collapsed{width:72px}.cl-sidebar-nav{flex:1;padding:10px;overflow:hidden auto}.cl-nav-item{color:#ffffffd6;cursor:pointer;white-space:nowrap;border-radius:14px;align-items:center;gap:14px;height:46px;margin-bottom:4px;padding:0 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:flex;overflow:hidden}.cl-nav-item:hover{color:#fff;background:#ffffff21;text-decoration:none;transform:translate(1px)}.cl-nav-item-active{background:linear-gradient(90deg,#2a9d8f61,#2a9d8f33);font-weight:700;box-shadow:inset 0 0 0 1px #ffffff26;color:#fff!important}.cl-nav-item-active:hover{background:linear-gradient(90deg,#2a9d8f75,#2a9d8f42)}.cl-nav-icon{width:22px;height:22px;color:inherit;flex-shrink:0;place-items:center;display:grid}.cl-nav-label{opacity:1;transition:opacity .12s}.cl-sidebar-collapsed .cl-nav-label{opacity:0}.cl-sidebar-brand{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.cl-sidebar-brand,.cl-sidebar-brand:hover{text-decoration:none}.cl-brand-logo{color:#fff;background:#2a9d8f;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:1rem;font-weight:800;display:grid}.cl-brand-text{color:#fff;letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.cl-topbar-section{color:#fffffff2;letter-spacing:.02em;white-space:nowrap;background:#ffffff1f;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;height:34px;padding:0 12px;font-size:.8rem;font-weight:700;display:inline-flex}.cl-content{background:0 0;flex:1;min-height:calc(100vh - 64px);margin-left:264px;padding:28px;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.cl-content-inner{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;margin:0;display:flex}.cl-layout-collapsed .cl-content{margin-left:72px}.cl-icon-btn{cursor:pointer;color:#ffffffe0;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;transition:background .15s;display:grid}.cl-icon-btn:hover{color:#fff;background:#ffffff29}.cl-avatar-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:linear-gradient(160deg,#2a9d8f,#23877b);border:2px solid #fff6;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;transition:box-shadow .15s;display:grid}.cl-avatar-btn:hover{box-shadow:0 0 0 3px #2a9d8f59}.cl-user-menu{border:1px solid var(--line);background:var(--panel-solid);width:248px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-xl);z-index:500;border-radius:16px;padding:10px;position:absolute;top:calc(100% + 12px);right:0}.cl-user-menu-header{border-bottom:1px solid var(--line-light);margin-bottom:8px;padding:10px 12px 12px}.cl-user-menu-name{color:var(--text);font-size:.92rem;font-weight:700}.cl-user-menu-email{color:var(--text-secondary);word-break:break-word;margin-top:4px;font-size:.8rem}.cl-user-menu-button,.cl-user-menu-link{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:flex-start;align-items:center;padding:10px 12px;text-decoration:none;display:flex}.cl-user-menu-button:hover,.cl-user-menu-link:hover{background:var(--surface-2);text-decoration:none}.cl-user-menu-separator{background:var(--line-light);height:1px;margin:8px 0}.cl-user-menu-button-danger{color:var(--danger)}.btag{border-radius:var(--radius-full);white-space:nowrap;vertical-align:baseline;align-items:center;padding:1px 8px;font-size:.82em;font-weight:700;line-height:1.5;display:inline-flex}.btag-course{background:var(--primary-light);color:var(--primary-strong)}.btag-student{color:#00636b;background:#2a9d8f24}.btag-autocomplete{z-index:1400;background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;max-height:280px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto;box-shadow:0 18px 34px #0f172a33}.btag-autocomplete.up{top:auto;bottom:calc(100% + 8px)}.btag-autocomplete-header{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-light);background:var(--surface-2);padding:6px 12px;font-size:.72rem;font-weight:700}.btag-autocomplete-item{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:10px 12px;font-size:.9rem;transition:background .1s;display:flex}.btag-autocomplete-item.active,.btag-autocomplete-item:hover{background:var(--primary-light)}.btag-autocomplete-prefix{flex-shrink:0;font-size:.95em;font-weight:800;line-height:1}.btag-autocomplete-prefix.course{color:var(--primary-strong)}.btag-autocomplete-prefix.student{color:#00636b}.btag-autocomplete-main{min-width:0;display:grid}.btag-autocomplete-name{color:var(--text);font-weight:700;line-height:1.25}.btag-autocomplete-subtitle{color:var(--muted);font-size:.75rem;line-height:1.2}.btag-autocomplete-empty{color:var(--muted);background:var(--surface-2);padding:12px;font-size:.84rem}@supports (color:color-mix(in lab,red,red)){.btag-autocomplete-empty{background:color-mix(in srgb,var(--surface-2) 78%,#fff)}}.btag-autocomplete-help{color:var(--muted);border-top:1px solid var(--line-light);background:var(--surface-2);padding:8px 12px;font-size:.72rem}.btag-editor-shell{z-index:1;position:relative;overflow:visible}.btag-editor-shell:focus-within{z-index:80}.btag-filter-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.btag-filter-pill{border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-2);color:var(--text-secondary);font:inherit;cursor:pointer;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:all .12s;display:inline-flex}.btag-filter-pill.active,.btag-filter-pill:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-strong)}.btag-filter-pill.active-student{color:#00636b;background:#2a9d8f24;border-color:#2a9d8f}.page-shell{background:var(--bg);min-height:100vh}.cl-skeleton-shell{background:radial-gradient(1400px 500px at 15% -10%,#2a9d8f1f,transparent 70%),radial-gradient(1100px 420px at 100% -20%,#2646531a,transparent 72%),var(--bg);min-height:100vh}.cl-skeleton-topbar{background:#264653;align-items:center;gap:10px;height:64px;padding:0 16px;display:flex}.cl-skeleton-layout{min-height:calc(100vh - 64px);display:flex}.cl-skeleton-sidebar{background:linear-gradient(#1b3a4b,#264653);align-content:start;gap:10px;width:256px;padding:14px 10px;display:grid}.cl-skeleton-nav-item{background:linear-gradient(90deg,#ffffff1f 8%,#ffffff38 22%,#ffffff1f 36%) 0 0/240% 100%;border-radius:22px;height:44px;animation:cl-skeleton-shimmer 1.6s linear infinite}.cl-skeleton-nav-item-short{width:86%}.cl-skeleton-content{flex:1;padding:28px}.cl-skeleton-header{gap:10px;margin-bottom:20px;display:grid}.cl-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.cl-skeleton-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel-solid);box-shadow:var(--shadow-xs);gap:10px;padding:18px;display:grid}.cl-skeleton-card-wide{grid-column:1/-1}.cl-skeleton-avatar,.cl-skeleton-dot,.cl-skeleton-line{background:linear-gradient(90deg,#ffffffb8 10%,#fffffff5 24%,#ffffffb8 38%) 0 0/240% 100%;animation:cl-skeleton-shimmer 1.7s linear infinite}.cl-skeleton-line{border-radius:var(--radius-full);height:12px}.cl-skeleton-line-80{width:80%}.cl-skeleton-line-60{width:60%}.cl-skeleton-line-40{width:40%}.cl-skeleton-logo{background:linear-gradient(90deg,#fff3 10%,#fff6 24%,#fff3 38%);border-radius:10px;width:148px;height:20px}.cl-skeleton-title{width:44%;max-width:360px;height:24px}.cl-skeleton-subtitle{width:30%;max-width:240px}.cl-skeleton-card-title{width:38%;height:15px}.cl-skeleton-dot{background:linear-gradient(90deg,#ffffff2e 10%,#ffffff59 24%,#ffffff2e 38%);border-radius:50%;width:24px;height:24px}.cl-skeleton-avatar{background:linear-gradient(90deg,#fff3 10%,#ffffff6b 24%,#fff3 38%);border-radius:50%;width:34px;height:34px}.cl-skeleton-spacer{flex:1}@keyframes cl-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-60% 0}}.frame{width:min(1100px,100%);margin:0 auto}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 0 18px;display:flex}.page-header-left h1{letter-spacing:-.018em;color:var(--text);margin:0;font-size:clamp(1.45rem,2.8vw,1.9rem);font-weight:700;line-height:1.15}.page-header-left p{color:var(--muted);margin:6px 0 0;font-size:.88rem;line-height:1.45}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hero{grid-template-columns:1.25fr .75fr;gap:20px;margin-top:24px;display:grid}.hero-card,.stack-card,.surface{border-radius:var(--radius-lg)}.hero-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:32px}.eyebrow{border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary-strong);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.hero-title{letter-spacing:-.03em;margin:16px 0 10px;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:800;line-height:1.1}.hero-copy{max-width:58ch;color:var(--muted);margin:0;font-size:1rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-size:.85rem;font-weight:600;line-height:1;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.button:active{transform:translateY(0)}.button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.button-primary{background:#0d9488;border-color:#0f766e;box-shadow:0 1px 3px #0d948840;color:#fff!important}.button-primary:hover{background:#0f766e;border-color:#115e59;box-shadow:0 4px 14px #0d948859}.button-secondary{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000a;color:#334155!important}.button-secondary:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a!important}.button-secondary-emphasis{background:#f0fdfa;border:1px solid #99f6e4;font-weight:700;box-shadow:0 1px 2px #0d94881a;color:#0f766e!important}.button-secondary-emphasis:hover{background:#ccfbf1;border-color:#5eead4;box-shadow:0 4px 12px #0d94882e}.button-danger{background:#fff;border-color:#fecdd3;color:#be123c!important}.button-danger:hover{background:#fff1f2;border-color:#fda4af;color:#9f1239!important}.fab{border-radius:var(--radius-full);background:var(--primary);color:#fff;cursor:pointer;z-index:200;border:none;place-items:center;width:56px;height:56px;font-size:1.6rem;font-weight:300;transition:all .2s;display:grid;position:fixed;bottom:32px;right:32px;box-shadow:0 8px 24px #2a9d8f5c}.fab:hover{background:var(--primary-dark);transform:scale(1.08);box-shadow:0 12px 30px #2a9d8f6b}.fab:active{transform:scale(.97)}.surface{border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--line);padding:20px}.surface h2,.surface h3{margin:0 0 8px}.surface p{color:var(--muted);margin:0;line-height:1.65}.cl-course-card{border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(#fff,#fbfdfc 68%,#f8fbfa);border:1px solid #10182814;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px #0f172a14}.cl-course-card:hover{border-color:#2a9d8f61;transform:translateY(-4px);box-shadow:0 18px 38px #0f172a24}.cl-course-header{isolation:isolate;flex-direction:column;justify-content:flex-start;gap:12px;min-height:122px;padding:18px 18px 16px;display:flex;position:relative;overflow:hidden}.cl-course-header:before{content:"";border-radius:inherit;-webkit-backdrop-filter:blur(1.6px)saturate(1.08);backdrop-filter:blur(1.6px)saturate(1.08);pointer-events:none;z-index:0;background:linear-gradient(135deg,#ffffff29,#ffffff0d 40%,#ffffff1f);position:absolute;inset:-1px}.cl-course-tag-floating{z-index:2;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;position:absolute;bottom:12px;right:12px}.cl-course-title-wrap{z-index:2;align-self:flex-start;gap:4px;max-width:min(86%,320px);display:grid;position:relative}.cl-course-header-glow{pointer-events:none;z-index:1;background:radial-gradient(#ffffff52 0,#fff0 70%);height:70%;position:absolute;inset:auto -30% -38%}.cl-course-title{color:#fff;text-shadow:0 1px 3px #00000038;font-size:1.08rem;font-weight:800;line-height:1.3}.cl-course-sub{color:#ffffffd9;letter-spacing:.04em;text-transform:uppercase;margin-top:0;font-size:.78rem;font-weight:700}.cl-course-meta-row{z-index:1;flex-wrap:wrap;gap:6px;display:flex;position:relative}.cl-course-meta-pill{color:#fff;letter-spacing:.03em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:999px;align-items:center;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.cl-course-meta-pill-soft{background:#ffffff1f}.cl-course-menu{z-index:3;opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.cl-course-card:hover .cl-course-menu{opacity:1}@media (max-width:900px){.cl-course-menu{opacity:1}}.cl-course-menu button{border-radius:var(--radius-full);color:#fff;cursor:pointer;background:#ffffff40;border:none;place-items:center;width:32px;height:32px;font-size:.9rem;transition:background .15s;display:grid}.cl-course-menu button:hover{background:#ffffff73}.cl-course-body{flex:1;min-height:54px;padding:15px 18px 12px}.cl-course-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.58;display:-webkit-box;overflow:hidden}.cl-course-desc-muted{opacity:.55}.cl-course-footer{border-top:1px solid var(--line-light);align-items:center;gap:8px;padding:10px 18px 14px;display:flex}.cl-course-cta{border-top:1px dashed var(--line-light);letter-spacing:.03em;color:var(--muted);text-transform:uppercase;padding:11px 18px 13px;font-size:.78rem;font-weight:700;transition:color .15s,background .15s}.cl-course-card:hover .cl-course-cta{color:var(--primary-dark);background:linear-gradient(#2a9d8f08,#2a9d8f0f)}.cl-course-tag{border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-secondary);padding:3px 10px;font-size:.77rem;font-weight:600}.cl-course-tag-right{margin-left:auto}.cl-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding-bottom:24px;display:grid}.courses-grid-wrap{margin-top:14px}.courses-grid-empty{margin-top:12px}.courses-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.courses-overview-card{background:linear-gradient(#fff,#f7fbfa);border:1px solid #10182814;border-radius:16px;align-items:center;gap:12px;padding:13px 14px;display:flex;box-shadow:0 10px 22px #0f172a0f}.courses-overview-icon{width:32px;height:32px;color:var(--primary-dark);background:linear-gradient(#2a9d8f29,#2a9d8f14);border-radius:999px;place-items:center;display:grid}.courses-overview-label{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:0;font-size:.74rem;font-weight:700}.courses-overview-value{color:var(--text);margin:2px 0 0;font-size:.98rem;font-weight:800}.courses-empty-state{border:1px dashed var(--line);border-radius:var(--radius-lg);background:linear-gradient(#ffffffe6,#2a9d8f0f)}.metrics{gap:14px;display:grid}.metric-card{border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--line);padding:20px}.metric-value{letter-spacing:-.03em;color:var(--text);font-size:2rem;font-weight:800;display:block}.metric-label{color:var(--muted);margin-top:2px;font-size:.88rem}.section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.surface-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.surface-list li{color:var(--text);align-items:flex-start;gap:10px;display:flex}.dot{background:var(--primary);border-radius:999px;flex:none;width:8px;height:8px;margin-top:8px}.form-card{border-radius:var(--radius-xl);background:var(--panel-solid);border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow-lg);margin:40px auto 0;padding:40px}.field{gap:6px;margin-bottom:18px;display:grid}.field label{color:var(--text-secondary);font-size:.86rem;font-weight:600}.field input,.field select,.field textarea{border-radius:var(--radius);border:1.5px solid var(--line);background:var(--panel-solid);width:100%;color:var(--text);outline:none;padding:12px 16px;font-size:.95rem;line-height:1.25;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81f}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.auth-shell{background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:min(448px,100%);box-shadow:none;background:#fff;border:1px solid #dadce0;border-radius:28px;padding:48px 48px 36px;overflow:hidden}.auth-card-header{text-align:center;color:var(--text);background:0 0;margin-bottom:28px;padding:0}.auth-card-logo{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:1.4rem;font-weight:800;display:grid}.auth-card-title{color:#202124;letter-spacing:0;margin:0 0 8px;font-size:1.5rem;font-weight:400}.auth-card-subtitle{color:#5f6368;margin:0;font-size:1rem;font-weight:400}.auth-card-body{padding:0}.auth-card-body .button-primary{border-radius:var(--radius);letter-spacing:.01em;width:100%;margin-top:4px;padding:13px;font-size:.95rem}.radio-group{gap:10px;margin-bottom:18px;display:flex}.radio-option{border-radius:var(--radius);border:1.5px solid var(--line);cursor:pointer;color:var(--text-secondary);flex:1;align-items:center;gap:8px;padding:11px 14px;font-size:.9rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.radio-option:has(input:checked){border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.radio-option input[type=radio]{accent-color:var(--primary)}.muted{color:var(--muted)}.muted,.status{font-size:.88rem}.status{border-radius:var(--radius-sm);min-height:0;margin-top:0;padding:0;transition:all .2s}.status:not(:empty){min-height:20px;margin-top:12px;padding:10px 14px}.status.error:not(:empty){color:var(--danger);background:var(--danger-bg);border:1px solid #c5221f33}.status.success:not(:empty){color:var(--success);background:var(--success-bg);border:1px solid #13733333}.status.warning:not(:empty){color:var(--warning);background:var(--warning-bg);border:1px solid #e6960033}.form-group{gap:6px;margin-bottom:14px;display:grid}.form-group:last-child{margin-bottom:0}.form-label{color:var(--text-secondary);font-size:.84rem;font-weight:600;display:block}.form-input,.form-select{background:var(--panel-solid);width:100%;min-height:42px;color:var(--text);appearance:none;border:1.5px solid #1018281f;border-radius:14px;outline:none;padding:0 14px;font-size:.9rem;line-height:1.25;transition:border-color .18s,box-shadow .18s,background .18s}textarea.form-input{min-height:110px;padding:10px 14px}.form-input:hover,.form-select:hover{border-color:#2a9d8f59}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2a9d8f1f}.form-input::placeholder{color:var(--muted);font-weight:400}.form-input:disabled,.form-select:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}input[type=search]{appearance:none;line-height:1.25}.form-select-wrap{position:relative}.form-select-wrap .form-select{padding-right:36px}.form-select-wrap:after{content:"▾";color:var(--muted);pointer-events:none;font-size:.85rem;line-height:1;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.form-hint{color:var(--muted)}.form-error,.form-hint{margin:4px 0 0;font-size:.8rem}.form-error{color:var(--danger)}.form-input-error{background:#ef44440a;border-color:var(--danger)!important}.form-input-error:focus{box-shadow:0 0 0 3px #ef44442e}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px)saturate(1.05);backdrop-filter:blur(10px)saturate(1.05);background:#1018289e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal,.modal-box{background:var(--panel-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid #ffffffb3;width:min(500px,100%);max-height:90vh;padding:0;overflow-y:auto}.course-modal-box{width:min(560px,100%)}.course-modal-progress{gap:6px;padding:12px 28px 0;display:flex}.course-modal-progress-step{background:var(--line);border-radius:2px;flex:1;height:4px;transition:background .2s}.course-modal-progress-step.active{background:var(--primary)}.course-day-list{gap:8px;display:grid}.course-day-item{background:var(--surface-2);border:1.5px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;transition:all .15s;display:flex}.course-day-item.active{background:var(--primary-light);border-color:var(--primary)}.course-day-lessons{align-items:center;gap:6px;display:flex}.course-day-lessons-input{border:1px solid var(--line);text-align:center;border-radius:6px;width:52px;padding:4px 8px;font-size:.88rem}.course-rubric-item{background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.course-rubric-name{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.9rem;font-weight:500}.course-rubric-weight{border:1px solid var(--line);text-align:center;border-radius:6px;width:56px;padding:4px 8px;font-size:.88rem}.modal-header{background:linear-gradient(#2a9d8f0d,#fff0);border-bottom:1px solid #10182814;justify-content:space-between;align-items:center;margin-bottom:0;padding:20px 24px 14px;display:flex}.modal-header h2,.modal-header h3{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.modal-close{border-radius:var(--radius-full);background:var(--surface-2);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border:none;place-items:center;font-size:1rem;transition:background .15s;display:grid}.modal-close:hover{background:var(--line)}.modal-body{padding:20px 24px}.modal-footer{justify-content:flex-end;gap:8px;padding:0 24px 20px;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(#f7faf9f5,#f1f3f4f5);border-bottom:1px solid #10182814;padding:12px 18px;font-size:.75rem;font-weight:600}.data-table td{color:var(--text);border-bottom:1px solid #1018280d;padding:13px 18px;font-size:.88rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#2a9d8f0f}.chip{color:var(--text-secondary);background:#f1f3f4eb;border:1px solid #1018280f;border-radius:999px;align-items:center;padding:4px 10px;font-size:.77rem;display:inline-flex}.avatar,.chip{font-weight:700}.avatar{border-radius:var(--radius-full);color:#fff;text-transform:uppercase;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.85rem;display:grid}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:64px 24px;display:flex}.course-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;width:100%;max-width:1200px;margin:0 auto;display:grid}.course-skeleton-card{border:1px solid #10182814;border-radius:18px;overflow:hidden;box-shadow:0 12px 26px #0f172a0f}.course-skeleton-banner,.course-skeleton-line,.course-skeleton-tag{background:linear-gradient(90deg,var(--surface-2) 25%,#e6ebea 50%,var(--surface-2) 75%);background-size:200% 100%;animation:loading 2s infinite}.course-skeleton-banner{height:140px}.course-skeleton-body{gap:12px;padding:16px 20px;display:grid}.course-skeleton-line{border-radius:6px}.course-skeleton-line-title{width:70%;height:20px}.course-skeleton-line-sub{width:40%;height:16px}.course-skeleton-tags{gap:8px;margin-top:8px;display:flex}.course-skeleton-tag{border-radius:4px;width:20%;height:24px}.students-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.students-search-wrap{width:min(460px,100%);position:relative}.students-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.students-search-input{border:1.5px solid var(--line);background:var(--panel-solid);width:100%;height:40px;color:var(--text);border-radius:999px;outline:none;padding:0 88px 0 36px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.students-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2a9d8f24}.students-search-clear{background:var(--surface-2);color:var(--text-secondary);cursor:pointer;border:none;border-radius:999px;height:24px;padding:0 10px;font-size:.76rem;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.students-toolbar-meta{color:var(--muted);margin:0;font-size:.83rem;font-weight:600}.students-table-shell{background:var(--panel-solid);border:1px solid #10182814;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px #0f172a14}.students-table-shell-head{border-bottom:1px solid var(--line-light);background:linear-gradient(#2a9d8f21,#fff0);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.students-table-shell-title{letter-spacing:.03em;text-transform:uppercase;color:var(--primary-dark);align-items:center;gap:8px;font-size:.84rem;font-weight:700;display:inline-flex}.students-empty-state{padding:64px 24px}.students-empty-cta{margin-top:16px}.students-col-avatar{width:48px}.students-cell-actions,.students-col-actions{text-align:right}.students-cell-avatar{padding-right:0}.students-cell-name{font-weight:500}.students-cedula-code{background:var(--surface-2);color:var(--text-secondary);border-radius:6px;padding:2px 8px;font-family:monospace;font-size:.83rem}.students-cedula-empty{color:var(--muted);font-size:.85rem}.students-row-actions{justify-content:flex-end;gap:6px;display:flex}.students-row-btn{min-height:32px;padding:0 12px;font-size:.82rem}.students-codes-shell{background:var(--panel-solid);border:1px solid #10182814;border-radius:18px;margin-top:32px;overflow:hidden;box-shadow:0 12px 28px #0f172a14}.students-codes-head{border-bottom:1px solid var(--line-light);background:linear-gradient(#2a9d8f17,#fff0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.students-codes-title-group{flex-direction:column;gap:4px;display:flex}.students-codes-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.students-codes-title-row h3{color:var(--text-main);letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:700;display:flex}.students-codes-desc{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.family-code-badge{letter-spacing:.05em;color:var(--primary-dark,#1f6f66);background:#2a9d8f14;border:1px solid #2a9d8f40;border-radius:6px;align-items:center;gap:6px;padding:3px 10px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;font-weight:800;display:inline-flex}.student-modal-box{border:1px solid #10182814;width:min(500px,100%)}.student-modal-body{gap:2px;display:grid}.student-modal-cedula-row{gap:8px;display:flex}.student-modal-search-btn{flex-shrink:0;padding:10px 16px}.student-modal-error{margin-bottom:0}.import-dropzone{border:2px dashed var(--line);background:linear-gradient(180deg,#2a9d8f0a 0,var(--surface-2) 100%);text-align:center;cursor:pointer;border-radius:12px;padding:32px 24px;transition:all .15s}.import-dropzone.dragging,.import-dropzone:hover{border-color:var(--primary);background:var(--primary-light)}.import-file-chip{background:var(--success-bg);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;display:flex}.import-file-chip-icon{color:var(--success);display:inline-flex}.import-file-chip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.import-preview-search{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;outline:none;width:min(420px,100%);padding:10px 14px;font-size:.9rem}.import-preview-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2a9d8f24}.import-preview-table-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden}.bitacora-layout{display:none}.bitacora-book-layout{grid-template-columns:minmax(0,1.45fr) 320px;align-items:start;gap:18px;display:grid}.bitacora-book-main{gap:16px;display:grid}.bitacora-book-header{grid-template-columns:150px minmax(0,1fr) 150px;align-items:center;gap:12px;display:grid}.bitacora-date-picker-shell{border:1px solid var(--primary);align-items:center;gap:10px;min-height:48px;padding:0 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.bitacora-date-picker-shell{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line))}}.bitacora-date-picker-shell{background:linear-gradient(180deg,#fffffffa,var(--surface-2));border-radius:14px}@supports (color:color-mix(in lab,red,red)){.bitacora-date-picker-shell{background:linear-gradient(180deg,#fffffffa,color-mix(in srgb,var(--surface-2) 88%,#fff))}}.bitacora-date-picker-shell{box-shadow:0 10px 22px #0f172a0f}.bitacora-date-nav{border-radius:12px;min-height:44px;font-weight:700}.bitacora-document-sheet{background:linear-gradient(#fffffffa,#f6f8faf5);border:1px solid #0f172a14;border-radius:18px;min-height:420px;padding:22px 24px 28px;position:relative;overflow:visible;box-shadow:0 16px 36px #0f172a14}.bitacora-document-sheet:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0 26px,#94a3b814 26px 27px,#0000 27px);border-radius:18px;position:absolute;inset:0}.bitacora-document-body,.bitacora-document-head,.bitacora-document-meta{z-index:1;position:relative}.bitacora-sheet-context{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:0 2px;display:flex}.bitacora-sheet-context-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.bitacora-sheet-context-actions{align-items:center;gap:8px;display:flex}.bitacora-document-body{color:var(--text-secondary);white-space:pre-wrap;min-height:190px;padding:6px 0 0;font-size:1rem;line-height:1.8}.bitacora-doc-empty-state{place-items:center;min-height:260px;padding:30px 24px;display:grid}.bitacora-composer-card{z-index:60;position:static;box-shadow:0 10px 24px #0f172a1f}.bitacora-inline-editor{box-shadow:none;background:#ffffffbd;border:1px solid #0f172a0f;border-radius:18px;gap:12px;padding:14px 14px 10px;display:grid;overflow:visible}.bitacora-inline-editor-toolbar{border-bottom:1px solid #0f172a0f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:10px;display:grid}.bitacora-inline-chip-group{align-items:center;gap:8px;display:flex}.bitacora-inline-date-badge{color:var(--muted);background:#ffffffe0;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.bitacora-inline-date{background:#ffffffc7;border:1px solid #0f172a14;width:100%}.bitacora-inline-document-title{min-width:0;color:var(--text);box-shadow:none;background:0 0;border:0;outline:none;padding:0;font-size:clamp(1.2rem,1.7vw,1.8rem);font-weight:700}.bitacora-inline-document-title::placeholder{color:var(--muted)}.bitacora-inline-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.bitacora-delete-inline{min-height:40px}.bitacora-compact-save{min-width:110px;min-height:40px;padding-inline:14px}.bitacora-inline-editor-body{background:#ffffffd1;border:1px solid #0f172a0f;border-radius:14px;position:relative;overflow:visible;box-shadow:inset 0 1px #fffc}.bitacora-inline-editor-body textarea{resize:vertical;background:0 0;min-height:420px;padding:18px 18px 22px;font-size:1.04rem;line-height:1.8;box-shadow:none!important;border:0!important;border-radius:14px!important}.bitacora-control-column{position:sticky;top:88px}.bitacora-control-card .card-header{padding:12px 12px 8px}.bitacora-control-card .card-header h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.bitacora-quick-item.active{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-quick-item.active{border-color:color-mix(in srgb,var(--primary) 50%,var(--line))}}.bitacora-quick-item.active{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-quick-item.active{background:color-mix(in srgb,var(--primary) 9%,var(--surface-2))}}.bitacora-control-card{box-shadow:none;background:#ffffff8c;border:1px solid #0f172a12}.bitacora-control-body{gap:10px;display:grid}.bitacora-context-card{background:#ffffffc2;border:1px solid #0f172a14;border-radius:12px;gap:10px;padding:10px;display:grid}.bitacora-context-title{letter-spacing:.05em;text-transform:uppercase;color:var(--primary-strong);margin:0 0 8px;font-size:.76rem;font-weight:800}.bitacora-context-list{grid-template-columns:1fr;gap:6px;display:grid}.bitacora-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.bitacora-scope-btn{border:1px solid var(--primary);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.bitacora-scope-btn{border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line))}}.bitacora-scope-btn{color:var(--text-secondary);cursor:pointer;background:#ffffffdb;padding:6px 10px;font-size:.75rem;font-weight:700}.bitacora-scope-btn:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-scope-btn:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--line))}}.bitacora-scope-btn:hover{color:var(--primary-strong)}.bitacora-scope-btn.active{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-scope-btn.active{border-color:color-mix(in srgb,var(--primary) 50%,var(--line))}}.bitacora-scope-btn.active{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-scope-btn.active{background:color-mix(in srgb,var(--primary) 12%,#fff)}}.bitacora-scope-btn.active{color:var(--primary-strong)}.bitacora-context-list div{border:1px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-context-list div{border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line))}}.bitacora-context-list div{background:#ffffffdb;border-radius:10px;gap:2px;padding:8px 9px;display:grid}.bitacora-context-list small{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.bitacora-context-list strong{color:var(--text);white-space:normal;font-size:.8rem;line-height:1.3;overflow:hidden}.bitacora-filter-scroll{max-height:120px;padding-right:4px;overflow-y:auto}.bitacora-filter-scroll::-webkit-scrollbar{width:8px}.bitacora-filter-scroll::-webkit-scrollbar-thumb{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-filter-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 26%,var(--line))}}.bitacora-filter-scroll::-webkit-scrollbar-thumb{border-radius:999px}.bitacora-filter-scroll::-webkit-scrollbar-track{background:0 0}.bitacora-control-filters .btag-filter-pill{padding:5px 10px;font-size:.76rem}.bitacora-control-filters .btag-filter-row{margin:0}.bitacora-trigger-btn{border-color:var(--primary);min-height:38px;font-size:.8rem;font-weight:700}@supports (color:color-mix(in lab,red,red)){.bitacora-trigger-btn{border-color:color-mix(in srgb,var(--primary) 32%,var(--line))}}.bitacora-trigger-btn{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-trigger-btn{background:color-mix(in srgb,var(--primary) 7%,#fff)}}.bitacora-trigger-btn:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-trigger-btn:hover{border-color:color-mix(in srgb,var(--primary) 46%,var(--line))}}.bitacora-trigger-btn:hover{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-trigger-btn:hover{background:color-mix(in srgb,var(--primary) 13%,#fff)}}.bitacora-range-btn{border-radius:12px;min-height:40px;font-size:.84rem;font-weight:700}.bitacora-save-btn{white-space:nowrap;border-color:var(--primary);border-radius:12px;align-self:stretch;min-width:128px;min-height:76px}@supports (color:color-mix(in lab,red,red)){.bitacora-save-btn{border-color:color-mix(in srgb,var(--primary) 75%,#000)}}.bitacora-save-btn{background:linear-gradient(180deg,var(--primary),var(--primary-dark))}@supports (color:color-mix(in lab,red,red)){.bitacora-save-btn{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 95%,#fff),color-mix(in srgb,var(--primary-dark) 90%,#000))}}.bitacora-save-btn{letter-spacing:.01em;font-weight:700}.bitacora-control-filters{gap:8px;padding-top:2px;display:grid}.bitacora-quick-list{gap:8px;display:grid}.bitacora-quick-item{text-align:left;cursor:pointer;background:#ffffffb3;border:1px solid #0f172a14;border-radius:10px;gap:3px;width:100%;padding:8px 10px;display:grid}.bitacora-quick-item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.bitacora-quick-item span{color:var(--muted);font-size:.75rem}.bitacora-quick-item:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-quick-item:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--line))}}.bitacora-quick-item:hover{background:#ffffffe6}.bitacora-composer-card .card-header{margin:0;padding:10px 14px 8px}.bitacora-composer-card .card-header h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.82rem}.bitacora-composer-card .card-body{background:linear-gradient(180deg,#fffffff2,var(--surface-2));padding:8px 12px 10px}@supports (color:color-mix(in lab,red,red)){.bitacora-composer-card .card-body{background:linear-gradient(180deg,#fffffff2,color-mix(in srgb,var(--surface-2) 84%,#fff))}}.bitacora-composer-meta-row{grid-template-columns:180px 1fr auto auto;align-items:center;gap:8px;display:grid}.bitacora-quick-tags{border:1px solid var(--line-light);background:var(--surface-2);border-radius:10px;gap:10px;padding:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.bitacora-quick-tags{background:color-mix(in srgb,var(--surface-2) 68%,#fff)}}.bitacora-quick-tags-group{gap:6px;display:grid}.bitacora-quick-tags-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:.73rem;font-weight:800}.bitacora-quick-tags-list{flex-wrap:wrap;gap:6px;display:flex}.bitacora-quick-tag{border:1px solid var(--line);background:var(--panel-solid);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600}.bitacora-quick-tag:hover{border-color:var(--primary);background:var(--primary-light)}.bitacora-quick-tag.course{color:var(--primary-strong)}.bitacora-quick-tag.student{color:#00636b}.bitacora-tag-pickers{border:1px solid var(--line-light);background:var(--surface-2);border-radius:10px;gap:10px;padding:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.bitacora-tag-pickers{background:color-mix(in srgb,var(--surface-2) 68%,#fff)}}.bitacora-tag-picker{gap:6px;display:grid}.bitacora-tag-picker-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.bitacora-tag-select{min-width:0}.bitacora-tag-actions{flex-wrap:wrap;gap:8px;display:flex}.bitacora-tag-actions .button{min-height:34px;padding:6px 12px;font-size:.82rem}.bitacora-composer-main-row{grid-template-columns:1fr auto;align-items:start;gap:8px;display:grid}.bitacora-composer-main-row .btag-editor-shell textarea.form-input{min-height:76px}.bitacora-save-btn{box-shadow:0 10px 22px #2a9d8f3d}.bitacora-save-btn:hover{box-shadow:0 14px 28px #2a9d8f52}.bitacora-range-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bitacora-range-modal{width:min(560px,100%)}.bitacora-range-modal-body{gap:14px;display:grid}.bitacora-range-modal-copy{color:var(--text-secondary);margin:0;font-size:.9rem}.bitacora-range-modal-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bitacora-range-field{gap:5px;min-width:168px;display:grid}.bitacora-range-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-left:2px;font-size:.72rem;font-weight:700}.bitacora-date-shell{background:#fff;border:1px solid #0f172a24;border-radius:11px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex}.bitacora-date-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2a9d8f29}.bitacora-date-shell-icon{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-date-shell-icon{color:color-mix(in srgb,var(--primary) 74%,#1f2937)}}.bitacora-date-shell-icon{flex-shrink:0}.bitacora-range-input{width:100%;min-width:0;height:38px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.bitacora-date-input{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.bitacora-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72}.bitacora-date-input:hover{background:0 0;border-color:#0000}.bitacora-date-input:focus{box-shadow:none;border-color:#0000}.bitacora-range-cta{align-items:center;gap:8px;display:inline-flex}.bitacora-form-card{z-index:40;position:sticky;top:88px;overflow:visible}.bitacora-form-card .card-body{overflow:visible}.bitacora-form-body{gap:14px;display:grid}.bitacora-form-group{margin:0}.bitacora-detail-hint{color:var(--muted);margin-left:6px;font-size:.75rem;font-weight:400}.bitacora-save-error{color:var(--danger);margin:0;font-size:.85rem}.bitacora-save-btn{width:auto}.bitacora-search-wrap{margin-bottom:12px;position:relative}.bitacora-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.bitacora-search-input{padding-left:36px}.bitacora-filter-label{color:var(--muted);align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:inline-flex}.bitacora-state-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);padding:16px;font-size:.88rem}.bitacora-skeleton-list{gap:12px;display:grid}.students-header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.students-header-actions .button{min-height:38px}.bitacora-skeleton-item{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-2) 15%,#e6ebea 50%,var(--surface-2) 85%);background-size:220% 100%;height:100px;animation:loading 1.8s linear infinite}.bitacora-empty-state{text-align:center;background:var(--surface-2);border-radius:var(--radius-lg);padding:48px 24px}.bitacora-empty-icon{color:var(--primary);margin-bottom:12px}.bitacora-empty-title{margin:0 0 6px;font-weight:700}.bitacora-empty-copy{color:var(--muted);margin:0;font-size:.9rem}.bitacora-entry-list{gap:18px;display:grid}.bitacora-entry-group{gap:10px;display:grid}.bitacora-entry-group-title{border-left:4px solid var(--primary);background:var(--primary);margin:0;padding:6px 10px}@supports (color:color-mix(in lab,red,red)){.bitacora-entry-group-title{background:color-mix(in srgb,var(--primary) 10%,var(--surface-2))}}.bitacora-entry-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--primary-strong);border-radius:8px;font-size:.84rem;font-weight:800}.bitacora-entry-group-items{gap:12px;display:grid}.bitacora-entry-card{background:var(--panel-solid);border-radius:var(--radius);border:1px solid #10182814;border-left:4px solid #0000;padding:16px 20px;box-shadow:0 8px 20px #0f172a0f}.bitacora-entry-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1a}.bitacora-entry-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.bitacora-entry-title{color:var(--text);font-size:.95rem}.bitacora-entry-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.bitacora-entry-date{color:var(--primary-strong);background:var(--primary);align-items:center;gap:4px;font-size:.8rem;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.bitacora-entry-date{background:color-mix(in srgb,var(--primary) 14%,#fff)}}.bitacora-entry-date{border:1px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.bitacora-entry-date{border:1px solid color-mix(in srgb,var(--primary) 36%,var(--line))}}.bitacora-entry-date{border-radius:var(--radius-full);white-space:nowrap;padding:3px 10px}.bitacora-entry-action,.bitacora-entry-delete{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;place-items:center;padding:4px;line-height:1;display:grid}.bitacora-entry-action:hover{background:var(--surface-2);color:var(--primary-dark)}.bitacora-entry-delete:hover{background:var(--danger-bg);color:var(--danger)}.bitacora-entry-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.6}.bitacora-course-head{justify-content:space-between;align-items:center;display:flex}.bitacora-course-title{align-items:center;gap:8px;margin:0;display:inline-flex}.bitacora-course-link{color:var(--primary);font-size:.82rem;font-weight:600;text-decoration:none}.bitacora-course-link-center{text-align:center;padding:6px 0}.bitacora-course-body{padding-top:0}.bitacora-course-controls{gap:10px;margin-bottom:12px;display:grid}.bitacora-course-filters{flex-wrap:wrap;gap:6px;display:flex}.bitacora-course-count{color:var(--muted);margin:0;font-size:.78rem;font-weight:600}.bitacora-course-empty-copy{color:var(--muted);margin:0;font-size:.88rem}.bitacora-course-empty-copy span{font-size:.82rem}.bitacora-course-list{gap:10px;display:grid}.bitacora-course-item{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--line-light);padding:12px 14px}.bitacora-course-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bitacora-course-item .bitacora-entry-meta{gap:6px}.bitacora-course-item-title{color:var(--text);font-size:.88rem}.bitacora-course-item-date{color:var(--muted);flex-shrink:0;font-size:.75rem}.bitacora-course-item-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:.83rem;line-height:1.55}.bitacora-student-modal{max-width:520px}.bitacora-student-head h2{align-items:center;gap:8px;display:inline-flex}.bitacora-student-count{color:var(--muted);margin:0;font-size:.82rem}.bitacora-student-empty{text-align:center;color:var(--muted);padding:32px 0}.bitacora-student-empty p{margin:0}.bitacora-student-empty p+p{margin-top:8px;font-size:.83rem}.bitacora-student-list{gap:12px;display:grid}.bitacora-student-item{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--line-light);padding:12px 14px}.bitacora-student-item-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.bitacora-student-item-title{color:var(--text);font-size:.9rem}.bitacora-student-item-date{color:var(--muted);flex-shrink:0;font-size:.75rem}.bitacora-student-item-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:.84rem;line-height:1.55}.bitacora-student-footer{justify-content:space-between}.bitacora-student-link{color:var(--primary);font-size:.83rem;font-weight:600;text-decoration:none}.confirm-modal{border:1px solid #1018281a;max-width:420px}.confirm-modal-title-wrap{align-items:center;gap:10px;display:inline-flex}.confirm-modal-icon{width:28px;height:28px;color:var(--primary-dark);background:#2a9d8f24;border-radius:999px;place-items:center;display:grid}.confirm-modal-icon.danger{background:var(--danger-bg);color:var(--danger)}.confirm-modal-message{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.confirm-modal-footer{justify-content:flex-end}.course-modal-title{margin:0}.course-modal-subtitle{color:var(--muted);margin:2px 0 0;font-size:.82rem}.course-modal-hint{color:var(--muted);font-size:.78rem}.course-modal-template-banner{background:var(--primary-light);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;display:flex}.course-modal-template-copy{color:var(--primary-dark);font-size:.85rem;font-weight:500}.course-modal-template-reset{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:700}.course-modal-rubric-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.course-modal-rubric-label{color:var(--text-secondary);font-size:.86rem;font-weight:600}.course-modal-required-chip{background:var(--warning-bg);color:var(--warning);border-radius:4px;padding:2px 6px;font-size:.7rem}.course-modal-rubric-weight-wrap{flex-shrink:0;align-items:center;gap:4px;display:flex}.course-modal-percent{color:var(--muted);font-size:.82rem}.course-modal-rubric-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.course-modal-total{margin-top:10px;font-size:.83rem;font-weight:700}.course-modal-total.ok{color:var(--success)}.course-modal-total.bad{color:var(--danger)}.course-color-picker{flex-wrap:wrap;gap:10px;display:flex}.course-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:34px;height:34px;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:inset 0 0 0 1px #ffffff52,0 2px 10px #0f172a1f}.course-color-swatch:hover{transform:translateY(-1px)}.course-color-swatch.active{border-color:var(--text);box-shadow:inset 0 0 0 3px #ffffffb3,0 0 0 3px var(--text)}@supports (color:color-mix(in lab,red,red)){.course-color-swatch.active{box-shadow:inset 0 0 0 3px #ffffffb3,0 0 0 3px color-mix(in srgb,var(--text) 16%,transparent)}}.course-color-preview-row{gap:10px;margin-top:10px;display:grid}.course-color-preview-card{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;overflow:hidden}.course-color-preview-banner{height:44px}.course-color-preview-copy{gap:4px;padding:12px 14px;display:grid}.course-color-preview-copy strong{color:var(--text);font-size:.9rem}.course-color-preview-copy span{color:var(--muted);font-size:.78rem}.evaluation-builder-shell{grid-template-columns:minmax(0,1.7fr) minmax(290px,360px);align-items:start;gap:20px;display:grid}.evaluation-builder-main{gap:18px;display:grid}.evaluation-builder-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.evaluation-builder-step{border:1px solid var(--primary);border-radius:18px;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-step{border:1px solid color-mix(in srgb,var(--primary) 14%,var(--line))}}.evaluation-builder-step{background:radial-gradient(circle at top right,var(--primary),transparent 55%),var(--surface)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-step{background:radial-gradient(circle at top right,color-mix(in srgb,var(--primary) 12%,transparent),transparent 55%),var(--surface)}}.evaluation-builder-step{text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.evaluation-builder-step:hover{border-color:var(--primary);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-step:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}}.evaluation-builder-step.active,.evaluation-builder-step.done{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-step.active,.evaluation-builder-step.done{border-color:color-mix(in srgb,var(--primary) 42%,var(--line))}}.evaluation-builder-step.active,.evaluation-builder-step.done{box-shadow:0 14px 30px #07598514}.evaluation-builder-step-index{background:var(--surface-2);width:34px;height:34px;color:var(--muted);border-radius:999px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.evaluation-builder-step.active .evaluation-builder-step-index,.evaluation-builder-step.done .evaluation-builder-step-index{background:linear-gradient(135deg,var(--primary),var(--primary))}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-step.active .evaluation-builder-step-index,.evaluation-builder-step.done .evaluation-builder-step-index{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#fff))}}.evaluation-builder-step.active .evaluation-builder-step-index,.evaluation-builder-step.done .evaluation-builder-step-index{color:#fff}.evaluation-builder-step-copy{gap:2px;display:grid}.evaluation-builder-step-copy strong{color:var(--text);font-size:.88rem}.evaluation-builder-step-copy span{color:var(--muted);font-size:.75rem}.evaluation-builder-panel{border:1px solid var(--primary);gap:18px;padding:22px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-panel{border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line))}}.evaluation-builder-panel{background:linear-gradient(180deg,var(--primary) 0,var(--surface) 28%),var(--surface);border-radius:24px}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 3%,var(--surface)) 0,var(--surface) 28%),var(--surface)}}.evaluation-builder-panel{box-shadow:0 20px 44px #0f172a0f}.evaluation-builder-panel-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.evaluation-builder-panel-head h4{margin:0;font-size:1.2rem}.evaluation-builder-panel-head p{color:var(--muted);margin:6px 0 0;font-size:.86rem}.evaluation-builder-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:0;font-size:.72rem;font-weight:800}.evaluation-builder-grid{gap:14px;display:grid}.evaluation-builder-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-builder-grid.criterion-grid{grid-template-columns:minmax(0,1.8fr) minmax(180px,220px)}.evaluation-builder-field{gap:6px;display:grid}.evaluation-builder-field.wide{grid-column:1/-1}.evaluation-builder-field.compact{align-content:start}.evaluation-builder-static{border:1px solid var(--line);background:var(--surface-2);min-height:44px;color:var(--text);border-radius:14px;align-items:center;padding:0 14px;font-weight:600;display:flex}.evaluation-builder-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.evaluation-builder-mode-card{border:1px solid var(--primary);border-radius:20px;gap:8px;padding:18px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-mode-card{border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line))}}.evaluation-builder-mode-card{background:var(--surface-2);text-align:left;cursor:pointer}.evaluation-builder-mode-card.active{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-mode-card.active{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}}.evaluation-builder-mode-card.active{background:linear-gradient(180deg,var(--primary),var(--primary))}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-mode-card.active{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 12%,#fff),color-mix(in srgb,var(--primary) 4%,var(--surface)))}}.evaluation-builder-mode-card.active{box-shadow:0 16px 32px #10b98114}.evaluation-builder-mode-card strong{color:var(--text);font-size:.95rem}.evaluation-builder-mode-card span{color:var(--muted);font-size:.82rem}.evaluation-builder-mode-icon{background:var(--primary);border-radius:14px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-mode-icon{background:color-mix(in srgb,var(--primary) 14%,#fff)}}.evaluation-builder-mode-icon{color:var(--primary);font-size:1.1rem;font-weight:800}.evaluation-builder-highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.evaluation-builder-highlight-card{background:var(--surface-2);border:1px solid var(--primary);border-radius:18px;gap:4px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-highlight-card{border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line))}}.evaluation-builder-highlight-card.compact{align-content:center}.evaluation-builder-highlight-card span{color:var(--muted);font-size:.76rem}.evaluation-builder-highlight-card strong{color:var(--text);font-size:1.05rem}.evaluation-builder-criteria-stack{gap:14px;display:grid}.evaluation-builder-criterion-card{border:1px solid var(--primary);border-radius:20px;gap:14px;padding:18px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-criterion-card{border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line))}}.evaluation-builder-criterion-card{background:var(--surface-2)}.evaluation-builder-criterion-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.evaluation-builder-criterion-head-main{align-items:start;gap:12px;min-width:0;display:flex}.evaluation-builder-criterion-index{background:linear-gradient(135deg,var(--primary),var(--primary));border-radius:12px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-criterion-index{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,#fff),color-mix(in srgb,var(--primary) 8%,#fff))}}.evaluation-builder-criterion-index{color:var(--primary);font-size:.84rem;font-weight:800}.evaluation-builder-criterion-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.evaluation-builder-points-chip{background:var(--primary);border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-points-chip{background:color-mix(in srgb,var(--primary) 12%,#fff)}}.evaluation-builder-points-chip{color:var(--primary);font-size:.76rem;font-weight:800}.evaluation-builder-criterion-head-main strong{color:var(--text);font-size:.94rem;display:block}.evaluation-builder-criterion-head-main>div>span{color:var(--muted);margin-top:3px;font-size:.78rem;display:block}.evaluation-builder-remove{width:28px;height:28px;color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:1.15rem;line-height:1}.evaluation-builder-helper{color:var(--muted);margin:0;font-size:.78rem}.evaluation-builder-criterion-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.evaluation-builder-soft-badge{background:var(--surface);border:1px solid var(--line);min-height:28px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.72rem;font-weight:700;display:inline-flex}.evaluation-builder-add-row{border:1.5px dashed var(--primary);border-radius:18px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;display:flex}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-add-row{border:1.5px dashed color-mix(in srgb,var(--primary) 35%,var(--line))}}.evaluation-builder-add-row{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-add-row{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}}.evaluation-builder-add-row{color:var(--primary);cursor:pointer;font-size:.86rem;font-weight:800}.evaluation-builder-add-row span{background:var(--primary);border-radius:999px;place-items:center;width:26px;height:26px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-add-row span{background:color-mix(in srgb,var(--primary) 14%,#fff)}}.evaluation-builder-add-row span{font-size:1rem}.evaluation-builder-level-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.evaluation-builder-level-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:8px;padding:12px;display:grid}.evaluation-builder-level-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.evaluation-builder-level-head span{color:var(--muted);font-size:.76rem;font-weight:700}.evaluation-builder-level-label{letter-spacing:.02em;text-transform:uppercase}.evaluation-builder-level-points-preview{background:var(--primary);border-radius:12px;justify-items:start;gap:2px;width:fit-content;padding:8px 10px;display:inline-grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-level-points-preview{background:color-mix(in srgb,var(--primary) 7%,#fff)}}.evaluation-builder-level-points-preview strong{color:var(--text);font-size:.92rem}.evaluation-builder-level-points-preview span{color:var(--muted);font-size:.7rem}.evaluation-builder-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.evaluation-builder-review-card{background:var(--surface-2);border:1px solid var(--primary);border-radius:18px;gap:4px;padding:16px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-review-card{border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line))}}.evaluation-builder-review-card span{color:var(--muted);font-size:.76rem}.evaluation-builder-review-card strong{color:var(--text);font-size:.95rem}.evaluation-builder-review-list{gap:10px;display:grid}.evaluation-builder-review-list h5{margin:0;font-size:.92rem}.evaluation-builder-review-item{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.evaluation-builder-review-item b,.evaluation-builder-review-item strong{color:var(--text)}.evaluation-builder-review-item span{color:var(--muted);margin-top:3px;font-size:.76rem;display:block}.evaluation-builder-actions-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.evaluation-builder-actions-row.split{justify-content:space-between}.evaluation-builder-sidebar{position:sticky;top:24px}.evaluation-builder-summary-card{border:1px solid var(--primary);border-radius:24px;gap:18px;padding:20px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-summary-card{border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line))}}.evaluation-builder-summary-card{background:radial-gradient(circle at top left,var(--primary),transparent 42%),var(--surface)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-summary-card{background:radial-gradient(circle at top left,color-mix(in srgb,var(--primary) 10%,transparent),transparent 42%),var(--surface)}}.evaluation-builder-summary-card{box-shadow:0 18px 40px #0f172a14}.evaluation-builder-summary-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.evaluation-builder-summary-head p{color:var(--text);margin:0;font-size:.95rem;font-weight:800}.evaluation-builder-status-pill{background:var(--surface-2);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.evaluation-builder-status-pill.ready{background:var(--success)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-status-pill.ready{background:color-mix(in srgb,var(--success) 14%,#fff)}}.evaluation-builder-status-pill.ready{color:var(--success)}.evaluation-builder-summary-list{gap:12px;display:grid}.evaluation-builder-summary-list div{justify-content:space-between;align-items:start;gap:12px;display:flex}.evaluation-builder-summary-list span{color:var(--muted);font-size:.8rem}.evaluation-builder-summary-list strong{text-align:right;color:var(--text);font-size:.85rem}.evaluation-builder-progress-card{background:var(--primary);border-radius:18px;grid-template-columns:96px 1fr;align-items:center;gap:14px;padding:16px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-progress-card{background:color-mix(in srgb,var(--primary) 4%,var(--surface-2))}}.evaluation-builder-progress-card{border:1px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-progress-card{border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line))}}.evaluation-builder-progress-ring{background:radial-gradient(circle at center,var(--surface) 52%,transparent 53%),conic-gradient(var(--primary) 0deg 220deg,var(--primary) 220deg 1turn);border-radius:50%;place-items:center;width:96px;height:96px;display:grid}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-progress-ring{background:radial-gradient(circle at center,var(--surface) 52%,transparent 53%),conic-gradient(var(--primary) 0deg 220deg,color-mix(in srgb,var(--primary) 14%,var(--line)) 220deg 1turn)}}.evaluation-builder-progress-ring>div{justify-items:center;gap:2px;display:grid}.evaluation-builder-progress-ring strong{color:var(--text);font-size:1rem}.evaluation-builder-progress-ring span{color:var(--muted);font-size:.7rem}.evaluation-builder-progress-copy{gap:4px;display:grid}.evaluation-builder-progress-copy strong{color:var(--text);font-size:.88rem}.evaluation-builder-progress-copy span{color:var(--muted);font-size:.78rem}.evaluation-builder-tip-card{background:linear-gradient(180deg,var(--primary),var(--surface-2));border-radius:18px;padding:16px}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-tip-card{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,#fff),var(--surface-2))}}.evaluation-builder-tip-card{border:1px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.evaluation-builder-tip-card{border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line))}}.evaluation-builder-tip-card strong{color:var(--primary);font-size:.88rem;display:block}.evaluation-builder-tip-card p{color:var(--muted);margin:6px 0 0;font-size:.8rem;line-height:1.5}@media (max-width:1080px){.evaluation-builder-shell{grid-template-columns:1fr}.evaluation-builder-sidebar{position:static}}@media (max-width:820px){.evaluation-builder-grid.criterion-grid,.evaluation-builder-grid.two-up,.evaluation-builder-highlight-grid,.evaluation-builder-mode-grid,.evaluation-builder-review-grid,.evaluation-builder-steps{grid-template-columns:1fr}.evaluation-builder-progress-card{text-align:center;grid-template-columns:1fr;justify-items:center}}@media (max-width:640px){.evaluation-builder-step{padding:12px}.evaluation-builder-step-copy strong{font-size:.82rem}.evaluation-builder-step-copy span{font-size:.72rem}.evaluation-builder-criterion-card,.evaluation-builder-panel,.evaluation-builder-summary-card{border-radius:18px;padding:16px}.evaluation-builder-criterion-footer,.evaluation-builder-criterion-head{align-items:flex-start}.evaluation-builder-criterion-meta{justify-content:flex-start}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state-icon{opacity:.25;margin-bottom:4px;font-size:3rem}.empty-state-title{color:var(--text-secondary);margin:0;font-size:1rem;font-weight:600}.empty-state-desc{max-width:36ch;margin:0;font-size:.88rem}.spinner{border:2.5px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.drop-zone{border:2px dashed var(--line);border-radius:var(--radius-lg);text-align:center;color:var(--muted);cursor:pointer;background:var(--panel-solid);padding:48px 32px;transition:border-color .15s,background .15s}.drop-zone.dragging,.drop-zone:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.divider{border:none;border-top:1px solid var(--line);margin:20px 0}@media (max-width:960px){.hero,.section-grid{grid-template-columns:1fr}.cl-sidebar{width:72px}.cl-sidebar .cl-nav-label{opacity:0;pointer-events:none}.cl-content{margin-left:72px;padding:28px}.cl-topbar-section{display:none}.courses-overview{grid-template-columns:1fr}.course-detail-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.students-toolbar{align-items:stretch}.students-header-actions{justify-content:flex-start;width:100%}.students-header-actions .button{flex:1}.students-search-wrap{width:100%}.bitacora-layout{grid-template-columns:1fr;gap:12px}.bitacora-main-column{grid-template-rows:auto auto auto;height:auto;min-height:0}.bitacora-control-column{position:static}.bitacora-chat-feed{padding-right:0;overflow:visible}.bitacora-context-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bitacora-feed-head{flex-wrap:wrap}.bitacora-composer-meta-row{grid-template-columns:1fr 1fr}.bitacora-composer-main-row{grid-template-columns:1fr}.bitacora-save-btn{width:100%;min-height:38px}.bitacora-tag-picker-row{grid-template-columns:1fr}.bitacora-tag-actions{width:100%}.bitacora-tag-actions .button{flex:1}.bitacora-range-actions{justify-content:flex-end;width:100%}.bitacora-range-field{flex:1;min-width:0}.bitacora-range-cta{width:100%}.bitacora-range-cta .button{flex:1}}@media (max-width:640px){.cl-sidebar{display:none}.cl-content{margin-left:0;padding:28px}.fab{bottom:20px;right:20px}.auth-card{border-radius:12px;padding:32px 24px 28px}.auth-card-body{padding:24px}.cl-grid{grid-template-columns:1fr}.bitacora-entry-head,.students-row-actions{flex-direction:column;align-items:stretch}.bitacora-entry-head{gap:8px}.bitacora-entry-meta{justify-content:space-between}.bitacora-range-input{width:100%}.bitacora-range-cta{flex-direction:column;align-items:stretch}.course-detail-overview{grid-template-columns:1fr}.cl-banner{border-radius:20px;min-height:206px;padding:22px 20px 20px}.cl-banner-actions{top:12px;right:12px}.cl-tabs{border-radius:16px;margin-top:14px;margin-bottom:18px}.bitacora-context-list,.bitacora-range-modal-grid,.bitacora-scope-grid{grid-template-columns:1fr}.bitacora-filter-scroll{max-height:104px}}.cl-banner{isolation:isolate;border:none;border-radius:24px;flex-direction:column;justify-content:flex-end;width:100%;min-height:220px;margin-top:0;padding:28px 32px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #0f172a29}.cl-banner:before{content:"";border-radius:inherit;-webkit-backdrop-filter:blur(2.2px)saturate(1.08);backdrop-filter:blur(2.2px)saturate(1.08);pointer-events:none;z-index:0;background:linear-gradient(135deg,#ffffff29,#ffffff0d 40%,#ffffff1f);position:absolute;inset:-2px}.cl-banner-content{z-index:1;max-width:920px;position:relative}.cl-banner-eyebrow{color:#fffc;letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:.82rem;font-weight:600}.cl-banner-title{color:#fff;letter-spacing:-.02em;text-shadow:0 1px 4px #0003;margin:0 0 6px;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1.15}.cl-banner-sub{color:#ffffffd9;margin:0;font-size:.95rem}.course-detail-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px;display:grid}.course-detail-overview-card{background:linear-gradient(#fff,#f7fbfa);border:1px solid #10182814;border-radius:18px;gap:4px;padding:14px 16px;display:grid;box-shadow:0 12px 26px #0f172a12}.course-detail-overview-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.73rem;font-weight:700}.course-detail-overview-value{color:var(--text);font-size:1.3rem;font-weight:800;line-height:1.1}.course-detail-overview-copy{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.45}.cl-banner-actions{z-index:1;gap:8px;display:flex;position:absolute;top:16px;right:16px}.cl-banner-actions .button{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border-color:#ffffff47;box-shadow:0 8px 18px #0f172a1f}.cl-banner-actions .button:hover{background:#ffffff4d;border-color:#ffffff7a;box-shadow:0 10px 20px #0f172a24}.cl-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:linear-gradient(#fffffff5,#f9fcfbf5);border:1px solid #10182814;border-radius:18px;align-items:center;gap:0;margin-top:18px;margin-bottom:24px;display:flex;overflow-x:auto;box-shadow:0 12px 28px #0f172a0f}.cl-tabs::-webkit-scrollbar{display:none}.cl-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:14px 20px;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.cl-tab:hover{text-decoration:none}.cl-tab.active,.cl-tab:hover{color:var(--primary);background:#2a9d8f14}.cl-tab.active{border-bottom-color:var(--primary);font-weight:700}.rubric-card-header{align-items:flex-start}.rubric-card-subtitle{color:var(--muted);max-width:58ch;margin:4px 0 0;font-size:.82rem;line-height:1.35}.rubric-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.rubric-summary-toolbar,.rubric-toolbar{background:linear-gradient(#fffffff0,#f8faf9f5);border:1px solid #10182814;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;display:flex;box-shadow:0 10px 24px #0f172a0a}.rubric-summary-metrics{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rubric-search-input{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;outline:none;width:min(420px,100%);padding:10px 14px;font-size:.9rem;box-shadow:inset 0 1px #fffc}.rubric-search-input:focus{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.rubric-search-input:focus{border-color:color-mix(in srgb,var(--primary) 55%,var(--line))}}.rubric-search-input:focus{background:#fff;box-shadow:0 0 0 4px #2a9d8f1f}.rubric-table-shell{background:var(--surface);border:1px solid #10182814;border-radius:18px;overflow-x:auto;box-shadow:0 12px 26px #0f172a0d}.rubric-summary-table{margin:0}.rubric-summary-table thead th{z-index:1;position:sticky;top:0}.rubric-summary-table tfoot td{background:#f1f3f4f5}.rubric-hint-strip{color:var(--text-secondary);background:#2a9d8f12;border-radius:12px;flex-wrap:wrap;gap:12px;margin-top:10px;padding:10px 14px;font-size:.78rem;display:flex}.rubric-empty-state{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:46px 20px;display:flex}.rubric-empty-state strong{color:var(--text);font-size:.98rem}.rubric-empty-state p{max-width:48ch;margin:0;font-size:.88rem;line-height:1.45}.course-detail-shell .card{border:1px solid #10182814;border-radius:20px;overflow:hidden;box-shadow:0 14px 32px #0f172a14}.course-detail-shell .card-header{background:linear-gradient(#2a9d8f0f,#fff0);padding:14px 20px}.course-detail-shell .card-body{padding:18px 20px 20px}.course-detail-shell .data-table{font-size:.88rem}.course-detail-shell .data-table th{background:#f7fbfaf2}.course-detail-shell .chip,.course-detail-shell .grade-chip{box-shadow:none}.course-calendar-focus{background:linear-gradient(#fffffffa,#f4f8f6fa);border:1px solid #10182814;border-radius:24px;overflow:hidden;box-shadow:0 18px 42px #0f172a1a}.course-calendar-focus .card{box-shadow:none;border:0;border-radius:0}.course-dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.9fr);align-items:start;gap:10px;display:grid}.course-dashboard-main{gap:10px;display:grid}.course-dashboard-sidebar{gap:10px;display:grid;position:sticky;top:18px}.course-side-stat-card .card-header{padding:10px 14px}.course-side-stat-card .card-body{padding:10px 14px 14px}.course-side-stat-main{justify-items:start;gap:3px;display:grid}.course-side-stat-main span{color:var(--text);font-size:1.6rem;font-weight:800;line-height:1}.course-side-stat-main small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700}.course-side-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.course-side-stat-grid div{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:2px;padding:8px;display:grid}.course-side-stat-grid strong{color:var(--text);font-size:1rem;line-height:1}.course-side-stat-grid span{color:var(--muted);font-size:.72rem}.course-side-link{color:var(--primary);font-size:.8rem;font-weight:700;text-decoration:none}.course-side-link:hover{text-decoration:underline}.course-side-muted{color:var(--muted);font-size:.82rem;line-height:1.45}.course-calendar-shell{border-radius:16px}.course-calendar-toolbar{grid-template-columns:1fr;align-items:center;gap:4px;padding:8px 12px 4px;display:grid}.course-calendar-controls-row{flex-wrap:nowrap;align-items:center;gap:8px;display:flex;overflow-x:auto}.course-calendar-nav{flex-shrink:0;align-items:center;gap:4px;margin-left:0;display:inline-flex}.course-calendar-nav button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:7px;place-items:center;min-width:28px;height:28px;font-size:.78rem;font-weight:700;display:grid}.course-calendar-nav button:last-child{min-width:36px;padding:0 7px}.course-calendar-nav button:disabled{opacity:.55;cursor:default}.course-calendar-nav span{color:var(--text);text-align:center;text-transform:capitalize;min-width:104px;margin-left:1px;font-size:.79rem;font-weight:700}.course-calendar-grid-head{border:1px solid var(--line);border-radius:10px 10px 0 0;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin-bottom:0;display:grid;overflow:hidden}.course-calendar-weekday{text-align:center;color:var(--muted);letter-spacing:.04em;border-right:1px solid var(--line);background:#fbfcff;padding:6px 4px;font-size:.68rem;font-weight:800}.course-calendar-weekday:last-child{border-right:none}.course-calendar-weekday.weekend{color:#dc2626}.course-calendar-grid{border:1px solid var(--line);border-top:none;border-radius:0 0 12px 12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.course-calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;align-content:start;gap:2px;min-height:62px;padding:3px 5px;transition:background .12s,box-shadow .12s;display:grid}.course-calendar-cell:nth-child(7n){border-right:none}.course-calendar-cell.empty{background:#fafafb}.course-calendar-cell.selected{box-shadow:inset 0 0 0 2px #2a9d8f6b}.course-calendar-cell.today{box-shadow:inset 0 0 0 2px #2563eb4d}.course-calendar-day-row{justify-content:space-between;align-items:center;display:flex}.course-calendar-day-number{color:var(--text);font-size:.75rem;font-weight:800}.course-calendar-day-number.weekend{color:#dc2626}.course-calendar-day-number.today{color:var(--primary)}.course-calendar-dot{border-radius:50%;width:7px;height:7px}.course-calendar-events{gap:2px;display:grid}.course-calendar-event{white-space:nowrap;text-overflow:ellipsis;padding-left:9px;font-size:.63rem;font-weight:700;line-height:1.15;position:relative;overflow:hidden}.course-calendar-event:before{content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.45em;left:0}.course-calendar-event.class{color:#1d4ed8}.course-calendar-event.class:before{background:#2563eb}.course-calendar-event.assessment{color:#6d28d9}.course-calendar-event.assessment:before{background:#7c3aed}.course-calendar-event.pending{color:#c2410c}.course-calendar-event.pending:before{background:#ea580c}.course-calendar-event.future{color:#0f766e}.course-calendar-event.future:before{background:#10b981}.course-calendar-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding-top:5px;font-size:.7rem;display:flex}.course-calendar-legend span{align-items:center;gap:6px;font-weight:600;display:inline-flex}.course-calendar-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.course-calendar-legend i.class{background:#2563eb}.course-calendar-legend i.assessment{background:#7c3aed}.course-calendar-legend i.pending{background:#ea580c}.course-calendar-legend i.future{background:#10b981}.course-calendar-legend b{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:700}.course-calendar-focus .card-header{background:linear-gradient(#2a9d8f14,#fff0);padding:16px 20px}.course-calendar-focus .card-body{padding:14px 20px 20px}.calendar-filter-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.calendar-filter-row-inline{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:5px;margin-bottom:0;margin-left:auto}.calendar-filter-pill{border:1px solid var(--line);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:700;transition:all .12s}.calendar-filter-pill:hover{color:var(--primary)}.calendar-filter-pill.active,.calendar-filter-pill:hover{border-color:var(--primary);background:var(--primary-light)}.calendar-filter-pill.active{color:var(--primary-strong)}.calendar-filter-meta{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.68rem;font-weight:600}.calendar-filter-row-inline .calendar-filter-meta{margin-left:6px}.calendar-day-modal{border:1px solid #1018281a;border-radius:16px;width:min(640px,100%);box-shadow:0 26px 60px #0f172a3d}.calendar-day-modal-header{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px}.calendar-day-title-wrap{min-width:0}.calendar-day-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.7rem;font-weight:700}.calendar-day-title{text-transform:capitalize;margin:4px 0 0;font-size:1.02rem;line-height:1.3}.calendar-day-modal .modal-close{background:linear-gradient(#fff,#eef2f7);border:1px solid #0f172a24;border-radius:10px;box-shadow:0 8px 18px #0f172a24}.calendar-day-modal .modal-close:hover{background:linear-gradient(#fff,#e3e9f1)}.calendar-day-menu-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.calendar-day-badge{border:1px solid var(--line);background:var(--surface-2);color:var(--text-secondary);border-radius:999px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.calendar-day-badge.ok{background:var(--success-bg);color:var(--success);border-color:#16a34a59}.calendar-day-badge.warn{background:var(--warning-bg);color:var(--warning);border-color:#b4530959}.calendar-day-badge.info{color:#1d4ed8;background:#3b82f624;border-color:#2563eb59}.calendar-day-menu-actions{border:1px solid var(--line-light);background:linear-gradient(#fff,#f8fbff);border-radius:12px;align-content:start;gap:7px;padding:10px;display:grid}.calendar-day-menu-actions .button{justify-content:center;width:100%}.calendar-day-close-btn{color:#111827;background:linear-gradient(#fff,#f3f4f6);border-color:#0f172a33;font-weight:700;box-shadow:0 8px 18px #0f172a24}.calendar-day-close-btn:hover{background:linear-gradient(#fff,#e9edf3);box-shadow:0 10px 22px #0f172a2e}.calendar-day-close-btn:active{transform:translateY(1px)}.calendar-day-action-hint{color:var(--muted);margin:2px 2px 0;font-size:.72rem;line-height:1.35}.calendar-day-modal-body{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px;display:grid}.calendar-day-summary{border:1px solid var(--line-light);background:linear-gradient(#f8fbfaf0,#fffffffa);border-radius:12px;padding:12px}.calendar-day-summary-title{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:700}.calendar-day-summary-grid{grid-template-columns:auto 1fr;gap:6px 10px;font-size:.82rem;display:grid}.calendar-day-summary-grid.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calendar-day-summary-grid.cards article{border:1px solid var(--line-light);background:#fff;border-radius:10px;gap:3px;padding:8px;display:grid}.calendar-day-summary-grid.cards article span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;line-height:1.2}.calendar-day-summary-grid.cards article strong{color:var(--text);font-size:.8rem;line-height:1.2}.calendar-day-summary-grid span{color:var(--muted)}.calendar-day-summary-grid strong{color:var(--text);font-weight:700}@media (max-width:760px){.course-dashboard-grid{grid-template-columns:1fr}.course-dashboard-sidebar{position:static}.course-calendar-toolbar{grid-template-columns:1fr;gap:8px}.course-calendar-controls-row{flex-wrap:wrap;overflow-x:visible}.course-calendar-nav{justify-content:space-between;width:100%;margin-left:0}.course-calendar-nav span{flex:1}.calendar-filter-row-inline{flex-wrap:wrap;width:100%;margin-left:0}.course-calendar-cell{min-height:58px;padding:3px 4px}.course-calendar-event{font-size:.6rem}.course-side-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-filter-meta{width:100%;margin-left:0}.calendar-day-modal{width:min(94vw,560px)}.calendar-day-menu-actions,.calendar-day-modal-body,.calendar-day-summary-grid.cards{grid-template-columns:1fr}.calendar-day-menu-actions .button{justify-content:center;width:100%}}.inner-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;margin-bottom:24px;padding:20px 0 16px}.inner-header,.inner-header-left{align-items:center;gap:12px;display:flex}.inner-header-left{min-width:0}.page-back{color:var(--text-secondary);border-radius:var(--radius);flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.page-back:hover{background:var(--surface-2);color:var(--primary);text-decoration:none}.inner-header h1{letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:700;overflow:hidden}.inner-header-sub{color:var(--muted);margin:2px 0 0;font-size:.85rem}.inner-header-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.cl-people-list{gap:0;display:grid}.cl-people-item{border-bottom:1px solid var(--line-light);align-items:center;gap:14px;padding:14px 20px;transition:background .12s;display:flex}.cl-people-item:last-child{border-bottom:none}.cl-people-item:hover{background:var(--surface-2)}.cl-people-name{color:var(--text);flex:1;min-width:0;font-size:.92rem;font-weight:600}.cl-people-meta{color:var(--muted);margin-top:1px;font-size:.82rem}.grade-chip{border-radius:var(--radius-full);letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;min-width:42px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.grade-chip.pass{background:linear-gradient(180deg,#e6f4eafa 0,var(--success-bg) 100%);color:var(--success);border-color:#1373331f}.grade-chip.warn{background:linear-gradient(180deg,#fef7e0fa 0,var(--warning-bg) 100%);color:var(--warning);border-color:#b060001f}.grade-chip.fail{background:linear-gradient(180deg,#fce8e6fa 0,var(--danger-bg) 100%);color:var(--danger);border-color:#c5221f1f}.grade-chip.empty{color:var(--muted);background:#f1f3f4eb;border-color:#1018280f}.att-btn-group{gap:4px;display:flex}.att-btn{border-radius:var(--radius-full);border:1.5px solid var(--line);cursor:pointer;background:var(--panel-solid);color:var(--text-secondary);white-space:nowrap;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .12s}.att-btn:hover{border-color:var(--primary);color:var(--primary)}.att-btn.selected-P{background:var(--success-bg);border-color:var(--success);color:var(--success)}.att-btn.selected-A{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.att-btn.selected-T{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.att-btn.selected-J{border-color:var(--primary);color:var(--primary);background:#e8f0fe}.card{background:var(--panel-solid);border-radius:var(--radius-lg);border:1px solid #10182814;overflow:hidden;box-shadow:0 12px 28px #0f172a0f}.card-header{background:linear-gradient(#2a9d8f0d,#fff0);border-bottom:1px solid #10182814;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.card-header h2,.card-header h3{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.card-body{padding:18px}.two-col{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}@media (max-width:900px){.two-col{grid-template-columns:1fr}}.topbar{height:64px;box-shadow:none;border-bottom:1px solid var(--line);padding:0 24px}.topbar .frame{justify-content:space-between;align-items:center;height:100%;padding:0;display:flex}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-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-divide-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-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}