@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Manrope", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:#fff0f3;--color-red-100:#ffd6de;--color-red-200:#ffadbf;--color-red-400:#f9607f;--color-red-500:#f43f67;--color-red-600:#d92f55;--color-red-700:#bd2145;--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:#fff9e6;--color-yellow-500:#ffc72e;--color-yellow-600:#e6b025;--color-yellow-700:#cc9a1d;--color-green-400:#4dd075;--color-green-500:#3bac5e;--color-sky-700:oklch(50% .134 242.749);--color-blue-50:#e8f2ff;--color-blue-500:#408eff;--color-blue-700:#2a63c0;--color-indigo-100:oklch(93% .034 272.788);--color-violet-50:#edeeff;--color-violet-100:#d4d5ff;--color-violet-300:#9190ff;--color-violet-400:#7e6ff7;--color-violet-500:#7a55f0;--color-violet-600:#6b3fec;--color-violet-700:#5a32d4;--color-violet-800:#4827b3;--color-violet-900:#381e8f;--color-pink-500:oklch(65.6% .241 354.308);--color-gray-50:#f4f5f6;--color-gray-100:#e5e6e8;--color-gray-200:#cecfd3;--color-gray-300:#b2b3b9;--color-gray-400:#9a9ba3;--color-gray-500:#81838f;--color-gray-600:#6b6d78;--color-gray-700:#555761;--color-gray-800:#44454d;--color-gray-900:#3a3a3f;--color-gray-950:#232328;--color-zinc-200:oklch(92% .004 286.32);--color-zinc-950:oklch(14.1% .005 285.823);--color-neutral-100:oklch(97% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-5xl:64rem;--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: 1.5 ;--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);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-snug:1.375;--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--aspect-video:16 / 9;--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);--radius-full:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-\[0\.83px\]{top:.83px}.-right-1{right:calc(var(--spacing) * -1)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-5{bottom:calc(var(--spacing) * 5)}.bottom-26{bottom:calc(var(--spacing) * 26)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-5{left:calc(var(--spacing) * 5)}.left-\[1\.5px\]{left:1.5px}.left-\[18px\]{left:18px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[9px\]{margin-top:9px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.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\.33px\]{height:14.33px}.h-\[16\.26px\]{height:16.26px}.h-\[36px\]{height:36px}.h-\[52px\]{height:52px}.h-\[54px\]{height:54px}.h-\[72px\]{height:72px}.h-\[110px\]{height:110px}.h-\[120px\]{height:120px}.h-\[928px\]{height:928px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.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-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-44{width:calc(var(--spacing) * 44)}.w-71{width:calc(var(--spacing) * 71)}.w-\[13\.67px\]{width:13.67px}.w-\[16\.26px\]{width:16.26px}.w-\[60px\]{width:60px}.w-\[72px\]{width:72px}.w-\[180px\]{width:180px}.w-\[375px\]{width:375px}.w-\[470px\]{width:470px}.w-\[calc\(100\%-1\.5rem\)\]{width:calc(100% - 1.5rem)}.w-full{width:100%}.w-screen{width:100vw}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[82\%\]{max-width:82%}.max-w-\[132px\]{max-width:132px}.max-w-\[402px\]{max-width:402px}.max-w-\[420px\]{max-width:420px}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[64px\]{min-width:64px}.min-w-\[192px\]{min-width:192px}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-8{--tw-translate-x:calc(var(--spacing) * 8);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;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-spin{animation:var(--animate-spin)}.resize{resize:both}.resize-none\!{resize:none!important}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-stretch{align-self:stretch}.justify-self-center{justify-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.5rem\]{border-radius:.5rem}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[16px\]{border-radius:16px}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br-xl{border-bottom-right-radius:var(--radius-xl)}.rounded-bl-xl{border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#be1238\]{border-color:#be1238}.border-\[var\(--ll-border\)\]{border-color:var(--ll-border)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-100\/50{border-color:#e5e6e880}@supports (color:color-mix(in lab,red,red)){.border-gray-100\/50{border-color:color-mix(in oklab,var(--color-gray-100) 50%,transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/25{border-color:#cecfd340}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/25{border-color:color-mix(in oklab,var(--color-gray-200) 25%,transparent)}}.border-gray-200\/40{border-color:#cecfd366}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/40{border-color:color-mix(in oklab,var(--color-gray-200) 40%,transparent)}}.border-gray-200\/50{border-color:#cecfd380}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/50{border-color:color-mix(in oklab,var(--color-gray-200) 50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-500\/50{border-color:#3bac5e80}@supports (color:color-mix(in lab,red,red)){.border-green-500\/50{border-color:color-mix(in oklab,var(--color-green-500) 50%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/50{border-color:#f43f6780}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-violet-100\/50{border-color:#d4d5ff80}@supports (color:color-mix(in lab,red,red)){.border-violet-100\/50{border-color:color-mix(in oklab,var(--color-violet-100) 50%,transparent)}}.border-violet-300{border-color:var(--color-violet-300)}.border-violet-300\/80{border-color:#9190ffcc}@supports (color:color-mix(in lab,red,red)){.border-violet-300\/80{border-color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.border-violet-500{border-color:var(--color-violet-500)}.border-violet-500\/50{border-color:#7a55f080}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/50{border-color:color-mix(in oklab,var(--color-violet-500) 50%,transparent)}}.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)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.bg-\[\#f4f4f5\]{background-color:#f4f4f5}.bg-\[var\(--btn-secondary\)\]{background-color:var(--btn-secondary)}.bg-\[var\(--ll-bg-card\)\]{background-color:var(--ll-bg-card)}.bg-\[var\(--ll-bg-dark\)\]{background-color:var(--ll-bg-dark)}.bg-\[var\(--ll-border\)\]{background-color:var(--ll-border)}.bg-\[var\(--ll-text-muted\)\]{background-color:var(--ll-text-muted)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\/35{background-color:color-mix(in oklab,var(--color-black) 35%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-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-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#3bac5e1a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-red-50\/50{background-color:#fff0f380}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/50{background-color:color-mix(in oklab,var(--color-red-50) 50%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#f43f671a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-700{background-color:var(--color-red-700)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/10{background-color:#7a55f01a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-violet-700{background-color:var(--color-violet-700)}.bg-white{background-color:var(--color-white)}.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-yellow-50{background-color:var(--color-yellow-50)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-300{--tw-gradient-from:var(--color-amber-300);--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-black\/40{--tw-gradient-from:#0006}@supports (color:color-mix(in lab,red,red)){.from-black\/40{--tw-gradient-from:color-mix(in oklab, var(--color-black) 40%, transparent)}}.from-black\/40{--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-transparent{--tw-gradient-via:transparent;--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-amber-500{--tw-gradient-to:var(--color-amber-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-black\/55{--tw-gradient-to:#0000008c}@supports (color:color-mix(in lab,red,red)){.to-black\/55{--tw-gradient-to:color-mix(in oklab, var(--color-black) 55%, transparent)}}.to-black\/55{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.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-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[20px\]{font-size:20px}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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)}.whitespace-nowrap{white-space:nowrap}.text-\[\#be1238\]{color:#be1238}.text-\[var\(--ll-text\)\]{color:var(--ll-text)}.text-\[var\(--ll-text-muted\)\]{color:var(--ll-text-muted)}.text-amber-500{color:var(--color-amber-500)}.text-amber-700\/70{color:#b75000b3}@supports (color:color-mix(in lab,red,red)){.text-amber-700\/70{color:color-mix(in oklab,var(--color-amber-700) 70%,transparent)}}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-gray-950{color:var(--color-gray-950)}.text-green-400{color:var(--color-green-400)}.text-neutral-700{color:var(--color-neutral-700)}.text-pink-500{color:var(--color-pink-500)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-sky-700{color:var(--color-sky-700)}.text-violet-400{color:var(--color-violet-400)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-zinc-950{color:var(--color-zinc-950)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_32px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 12px 32px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_40px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 12px 40px var(--tw-shadow-color,#00000047);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_45px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 20px 45px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_22px_56px_rgba\(15\,23\,42\,0\.24\)\]{--tw-shadow:0 22px 56px var(--tw-shadow-color,#0f172a3d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-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-green-400{--tw-ring-color:var(--color-green-400)}.ring-violet-500{--tw-ring-color:var(--color-violet-500)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.-outline-offset-1{outline-offset:-1px}.outline-zinc-200{outline-color:var(--color-zinc-200)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-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));-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-\[left\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.not-last\:border-b:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.not-last\:border-gray-100:not(:last-child){border-color:var(--color-gray-100)}.not-last\:pb-3:not(:last-child){padding-bottom:calc(var(--spacing) * 3)}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-\[14px\]::placeholder{font-size:14px}.placeholder\:font-normal::placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\:text-gray-700::placeholder{color:var(--color-gray-700)}@media(hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[var\(--ll-bg-card\)\]:hover{background-color:var(--ll-bg-card)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100\/60:hover{background-color:#ffd6de99}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-100\/60:hover{background-color:color-mix(in oklab,var(--color-red-100) 60%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\:bg-violet-500:hover{background-color:var(--color-violet-500)}.hover\:bg-violet-800:hover{background-color:var(--color-violet-800)}.hover\:text-gray-100:hover{color:var(--color-gray-100)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}}.focus\:border-violet-400:focus{border-color:var(--color-violet-400)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-violet-900:active{background-color:var(--color-violet-900)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\[var\(--btn-disabled-bg\)\]:disabled{background-color:var(--btn-disabled-bg)}.disabled\:text-\[var\(--btn-disabled-fg\)\]:disabled{color:var(--btn-disabled-fg)}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}@media(min-width:64rem){.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-center{justify-content:center}}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded::-webkit-scrollbar-thumb{border-radius:.25rem}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-300::-webkit-scrollbar-thumb{background-color:var(--color-gray-300)}.\[\&\>option\]\:text-\[14px\]>option{font-size:14px}}:root{--app-font:"Nunito", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--primary:#4f46e5;--primary-dark:#4338ca;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-600:#4b5563;--gray-900:#111827}html,body{font-family:var(--app-font)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px}html,body,#root{width:100%;height:100%}body{color:#111827;background:#f8fafc;overflow-x:hidden}a{color:inherit;text-decoration:none}input{border:none;outline:none;font-family:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.container{max-width:1200px;margin:0 auto;padding:1rem 1.5rem}.app{flex-direction:column;width:100%;min-height:100vh;display:flex}.app-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}.page-title{color:#111827;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.card-shadow{background:#fff;border-radius:14px;padding:1.5rem;transition:all .25s;box-shadow:0 4px 16px #0000000f}.card-shadow:hover{transform:translateY(-2px);box-shadow:0 6px 22px #0000001a}.responsive-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;display:grid}.fade-in{animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.app-btn{font-family:var(--app-font);border:1px solid var(--gray-200);color:var(--gray-900);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 14px;font-size:.92rem;font-weight:600;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s;display:inline-flex}.app-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.app-btn--sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:.82rem}.app-btn--xs{border-radius:8px;min-height:28px;padding:0 10px;font-size:.75rem;font-weight:600}.app-btn--secondary{background:#fff;border-color:#d5dbe6}.app-btn--secondary:hover:not(:disabled){background:#f8fafc;border-color:#c3ccdb}.app-btn--primary{border-color:var(--primary);color:#fff;background:linear-gradient(#6f72ff,#5f62f3);box-shadow:0 6px 16px #5f62f347}.app-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #5f62f357}.app-btn--ghost{border-color:var(--gray-200);background:#fff;font-weight:600}.app-btn--ghost:hover:not(:disabled){background:var(--gray-100)}.app-btn:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f133}.modal-card{background:#fff;border-radius:16px;width:95%;max-width:680px;padding:1.5rem 1.8rem;animation:.25s ease-out fadeInUp;box-shadow:0 8px 40px #00000040}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{cursor:pointer;opacity:.6;background:0 0;border:none;font-size:20px;transition:opacity .2s}.modal-close-btn:hover{opacity:1}.modal-body{margin-top:.5rem}:root{--nav-h:64px}.navbar{height:var(--nav-h);box-sizing:border-box;z-index:1000;width:100%;font-family:var(--app-font);background-color:#fff;border-bottom:1px solid #eaeaea;grid-template-columns:auto 1fr auto;align-items:center;padding:0 20px;display:grid;position:fixed;top:0;left:0;right:0}.navbar_brand{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.navbar_logo{object-fit:contain;width:151px;height:36px}.navbar_link{color:#1f2937;cursor:pointer;border-bottom:2px solid #0000;padding-bottom:4px;font-size:.95rem;font-weight:600;line-height:1.1;text-decoration:none;transition:color .2s}.navbar_link:hover{color:#4f46e5}.navbar_link.active{color:#4f46e5;border-bottom:2px solid #4f46e5;font-weight:700}.navbar_login_btn,.navbar_logout_btn{color:#fff;cursor:pointer;font-family:var(--app-font);background-color:#7c3aed;border:none;border-radius:8px;padding:8px 16px;font-size:.92rem;font-weight:600;transition:background .2s}.navbar_login_btn:hover,.navbar_logout_btn:hover{background-color:#6d28d9}.navbar_links{justify-self:center;align-items:center;gap:24px;display:flex}.navbar_actions{justify-self:end;align-items:center;gap:12px;display:flex}.navbar_icon{color:#111827;font-size:1.1rem;transition:opacity .2s}.navbar_icon:hover{opacity:.7}.navbar_action_btn,.navbar_chat_btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;line-height:0;transition:background .15s;display:flex;position:relative}.navbar_chat_btn .navbar_icon,.navbar_action_btn .navbar_icon{flex-shrink:0;display:block}.navbar_action_btn:hover,.navbar_chat_btn:hover{background:#f3f4f6}.navbar_avatar{object-fit:cover;border:2px solid #e5e7eb;border-radius:50%;width:32px;height:32px}.navbar_avatar--placeholder{background:linear-gradient(135deg,#a5b4fc,#6366f1)}.navbar_profile_name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:.875rem;font-weight:600;overflow:hidden}.profile{display:inline-block;position:relative}.profile-btn{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;transition:background .15s;display:flex}.profile-btn:hover{background:#f3f4f6}.profile-menu{z-index:2000;background:#fff;border:1px solid #ddd;border-radius:6px;flex-direction:column;gap:6px;min-width:140px;padding:6px 0;animation:.15s ease-out fadeIn;display:flex;position:absolute;top:100%;right:0}.profile-menu span{cursor:pointer;padding:8px 12px;font-size:.9rem;font-weight:600}.profile-menu span:hover{background:#f0f0f0}.profile-menu-item-with-badge{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.navbar-menu-badge{box-sizing:border-box;color:#fff;background:#ef4444;border-radius:999px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.navbar-chat-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-4px}.navbar_mobile_toggle{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:none}.navbar_mobile_toggle:hover{background:#f3f4f6}.navbar_mobile_menu{display:none}.navbar-chat-badge--inline{margin-left:8px;position:static}@media(max-width:1024px){.navbar{padding:0 16px}.navbar_links{gap:18px}.navbar_profile_name{display:none}}@media(max-width:860px){.navbar{grid-template-columns:auto 1fr auto}.navbar_links,.navbar_actions{display:none}.navbar_mobile_toggle{justify-self:end;display:inline-flex}.navbar_mobile_menu{top:var(--nav-h);background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 16px 16px;display:block;position:fixed;left:0;right:0;box-shadow:0 8px 20px #00000014}.navbar_mobile_links,.navbar_mobile_actions{flex-direction:column;gap:8px;display:flex}.navbar_mobile_actions{border-top:1px solid #eef0f2;margin-top:10px;padding-top:10px}.navbar_mobile_link{color:#1f2937;width:100%;font-family:var(--app-font);cursor:pointer;text-align:left;background:#f8fafc;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.92rem;font-weight:600;display:flex}.navbar_mobile_link.active{color:#4f46e5;background:#eef2ff}.navbar_mobile_login_btn{width:100%;margin-top:12px}}.profile-setup-wrapper{flex-direction:column;gap:1.2rem;width:100%;padding:1rem .5rem;display:flex}.profile-setup-input,.profile-setup-textarea{background:#ffffffd9;border:1px solid #d9d9d9;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:15px;transition:all .25s}.profile-setup-input:focus,.profile-setup-textarea:focus{background:#fff;border-color:#4a8bff;box-shadow:0 0 0 3px #4a8bff40}.profile-setup-textarea{resize:vertical;min-height:90px}.profile-setup-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4a8bff,#346bd6);border:none;border-radius:10px;margin-top:.5rem;padding:12px 16px;font-size:16px;font-weight:600;transition:all .25s}.profile-setup-btn:hover{background:linear-gradient(135deg,#5e9aff,#3d74e0);transform:translateY(-2px)}.profile-setup-btn:active{transform:translateY(0)}@media(max-width:480px){.profile-setup-wrapper{gap:1rem}.profile-setup-btn{padding:10px 14px;font-size:14px}}.toast-container{z-index:10000;pointer-events:none;flex-direction:column-reverse;gap:.625rem;max-width:26rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{pointer-events:auto;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.4;animation:.25s ease-out toast-slide-in;display:flex;box-shadow:0 4px 14px #00000026}.toast--error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.toast--info{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd}.toast__body{flex-direction:column;flex:1;gap:.125rem;display:flex}.toast__code{opacity:.7;font-size:.75rem;font-weight:600}.toast__message{word-break:break-word}.toast__close{all:unset;cursor:pointer;width:1.5rem;height:1.5rem;color:inherit;opacity:.6;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.toast__close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.ae-banner-host{top:var(--nav-h);z-index:10050;pointer-events:none;flex-direction:column;gap:0;display:flex;position:fixed;left:0;right:0}.ae-banner{color:#7c2d12;pointer-events:auto;background:#fff7ed;border-bottom:1px solid #fdba74;align-items:flex-start;gap:.75rem;padding:.75rem .5rem .75rem 1rem;font-size:.875rem;line-height:1.45;animation:.2s ease-out ae-banner-slide;display:flex;box-shadow:0 2px 12px #00000014}.ae-banner__body{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.ae-banner__title{font-weight:600}.ae-banner__code{opacity:.75;font-size:.75rem;font-weight:600}.ae-banner__details{opacity:.92;margin:0;padding-left:1.1rem;font-size:.8125rem}.ae-banner__details li{margin:.15rem 0}.ae-banner__close{all:unset;cursor:pointer;width:2rem;height:2rem;color:inherit;opacity:.65;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.ae-banner__close:hover{opacity:1}@keyframes ae-banner-slide{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.course-card{cursor:pointer;background:#fff;border:1px solid #ececec;border-radius:10px;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:14px;padding:18px 22px;transition:all .2s;display:flex}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000014}.course-title{margin-bottom:6px;font-size:18px;font-weight:600}.course-meta{align-items:center;gap:10px;margin-bottom:10px;display:flex}.course-date{color:#777;font-size:14px}.course-status{text-transform:uppercase;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:600}.badge-draft{color:#4e4cd1;background:#e8e8ff}.badge-published{color:#20a020;background:#e8ffe8}.badge-ongoing{color:#c47c00;background:#fff4d6}.badge-completed{color:#007acc;background:#e6f7ff}.badge-cancelled{color:#c00;background:#ffe5e5}.course-progress-wrapper{margin-top:6px}.course-progress-bar{background:#f1f1f1;border-radius:4px;width:200px;height:6px;overflow:hidden}.course-progress-bar-fill{background:#6a5acd;border-radius:4px;height:100%}.course-progress-text{color:#666;margin-top:4px;font-size:12px;display:block}.course-card-right{flex-direction:column;align-items:flex-end;gap:16px;display:flex}.course-branch{color:#555;background:#f3f3f3;border-radius:8px;padding:6px 12px;font-size:13px}.cancel-button{color:#fffdfd;background:#e85f5f;border-radius:8px;padding:6px 12px;font-size:13px}.start-button{color:#81ec71;background:#e85f5f;border-radius:8px;padding:6px 12px;font-size:13px}.complete-button{color:#81ec71;background:#e85fbf;border-radius:8px;padding:6px 12px;font-size:13px}.live-lecture-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px;display:flex;box-shadow:0 8px 24px #0000000d}.live-lecture-card__title{color:#111827;font-size:1.05rem;font-weight:700}.live-lecture-card__subtitle{color:#374151;margin-top:6px;font-size:.95rem}.live-lecture-card__meta{margin-top:10px}.pill{color:#111827;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;align-items:center;padding:6px 10px;font-size:.85rem;display:inline-flex}.live-lecture-card__error{color:#b91c1c;margin-top:10px;font-size:.9rem}.live-lecture-card__right{align-items:center;gap:10px;display:flex}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;font-weight:600}.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{z-index:200;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:16px;width:550px;max-height:90vh;padding:32px;overflow-y:auto}.modal-box h2{margin-bottom:20px}.form-section{flex-direction:column;margin-bottom:16px;display:flex}.form-section label{opacity:.6;margin-bottom:6px}.form-section input,.form-section select,.form-section textarea{border:1px solid #dcdcdc;border-radius:8px;padding:10px 12px;font-size:14px}textarea{resize:vertical;min-height:90px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.cancel{cursor:pointer;background:#e5e5e5;border:none;border-radius:8px;padding:10px 18px}.submit{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:10px 18px}.enrollment-widget{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden}.enrollment-header{border-bottom:1px solid #f1f1f1;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 8px;display:flex}.enrollment-title{align-items:center;gap:10px;display:flex}.enrollment-title h4{margin:0}.pill{background:#fafafa;border:1px solid #eee;border-radius:999px;padding:4px 8px;font-size:12px}.enrollment-actions button{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:10px;padding:8px 10px}.enrollment-error{color:#dc143c;border-bottom:1px solid #f1f1f1;padding:10px 12px}.enrollment-body{max-height:none;overflow:visible}.roster-list{scrollbar-gutter:stable;max-height:70vh;overflow:auto}.enrollment-empty{opacity:.7;padding:10px 2px}.student-list{flex-direction:column;gap:10px;display:flex}.student-card{border:1px solid #eee;border-radius:12px;gap:12px;padding:10px;display:flex}.avatar{object-fit:cover;border:1px solid #eee;border-radius:999px;width:44px;height:44px}.info{flex:1;min-width:0}.name-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.status{background:#fafafa;border:1px solid #eee;border-radius:999px;padding:4px 8px;font-size:12px}.status-enrolled{background:#eefbf0;border-color:#d6f3dc}.status-cancelled{background:#fff4e8;border-color:#ffe3c2}.status-returned{background:#eef3ff;border-color:#d8e4ff}.status-unknown{opacity:.7}.meta{opacity:.85;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px;display:flex}.buttons{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.buttons button{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:10px;padding:8px 10px}.buttons button.danger{background:#fff5f5;border-color:#ffd3d3}.enrollment-static-student{border:1px solid #eee;border-radius:12px;padding:10px}.enrollment-static-student__footer{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.enrollment-static-student__footer .danger{color:#b91c1c;cursor:pointer;background:#fff5f5;border:1px solid #ffd3d3;border-radius:10px;padding:8px 10px}.enrollment-static-student__footer .danger:disabled{opacity:.65;cursor:not-allowed}.enrollment-footer{border-top:1px solid #f1f1f1;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.page-pill{opacity:.8;font-size:12px}.roster-widget{width:100%;max-width:720px}.roster-header{border-bottom:1px solid #f3f3f3;justify-content:space-between;align-items:center;padding:14px 14px 10px;display:flex}.lecture-navbar{border-bottom:1px solid #eee;gap:2rem;padding:1rem;font-size:1.1rem;font-weight:600;display:flex}.lecture-navbar-item{cursor:pointer;color:#666;padding-bottom:.5rem}.lecture-navbar-item.active{color:#1a1a1a;border-bottom:3px solid #5b6dfe}.lecture-navbar{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem;display:flex}.lecture-navbar-left{gap:2rem;display:flex}.create-course-btn-small{color:#fff;cursor:pointer;background:#5b6dfe;border:none;border-radius:10px;padding:8px 16px;font-size:.95rem;font-weight:600;transition:all .2s}.create-course-btn-small:hover{background:#4b5be8;transform:translateY(-1px)}.create-course-btn-small:active{transform:translateY(0)}.student-hovercard{background:#fff;border:1px solid #eee;border-radius:12px;width:100%;padding:12px;box-shadow:0 10px 30px #0000001f}.shc-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.shc-avatar{object-fit:cover;border-radius:12px;width:48px;height:48px}.shc-name{font-weight:800}.shc-sub{opacity:.75;font-size:12px}.shc-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.shc-item{border:1px solid #f0f0f0;border-radius:10px;padding:8px}.shc-k{opacity:.65;margin-bottom:4px;font-size:11px}.shc-v{font-size:13px;font-weight:600}.student-row{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #eee;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;transition:box-shadow .15s;display:flex}.student-row:hover{box-shadow:0 10px 26px #0000001a}.sr-avatar{object-fit:cover;border:1px solid #f1f1f1;border-radius:14px;flex:none;width:52px;height:52px}.sr-main{flex:1;min-width:0}.sr-name-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.sr-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.sr-status{background:#fafafa;border:1px solid #eee;border-radius:999px;padding:5px 10px;font-size:12px}.sr-meta{opacity:.82;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;display:flex}.sr-actions{margin-top:10px}.sr-danger{color:#d11;cursor:pointer;background:#fff;border:1px solid #ff9f9f;border-radius:10px;padding:8px 12px;font-weight:700}.sr-popover{z-index:99999;pointer-events:auto;background:#fff;border:1px solid #eee;border-radius:14px;width:380px;max-width:78vw;position:fixed;overflow:hidden;box-shadow:0 16px 46px #00000029}.sr-popover-right:before,.sr-popover-left:before{content:"";background:#fff;border:1px solid #eee;width:12px;height:12px;position:absolute;top:18px;transform:rotate(45deg)}.sr-popover-right:before{border-top:0;border-right:0;left:-6px}.sr-popover-left:before{border-bottom:0;border-left:0;right:-6px}.subnavbar{border-bottom:1px solid #eee;gap:2rem;margin-top:1rem;padding:.5rem 1rem;display:flex}.subnavbar-item{cursor:pointer;color:#666;padding:.4rem 0}.subnavbar-item.active{color:#5b6dfe;border-bottom:2px solid #5b6dfe;font-weight:700}.syl-tracker{border:1px solid var(--gray-200);background:#fff;border-radius:14px;padding:16px}.syl-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.syl-title{margin:0;font-size:1.05rem}.syl-subtitle{color:var(--gray-600);margin:4px 0 0;font-size:.9rem}.syl-header__stats{gap:8px;display:flex}.syl-kpi{border:1px solid var(--gray-200);text-align:center;border-radius:10px;min-width:86px;padding:8px 10px}.syl-kpi__label{color:var(--gray-600);font-size:11px;display:block}.syl-kpi__value{margin-top:2px;display:block}.syl-lesson-select-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.syl-lesson-select{align-items:center;gap:8px;display:flex}.syl-lesson-select__label{color:var(--gray-600);font-size:.9rem}.syl-lesson-select select{border:1px solid var(--gray-200);border-radius:8px;padding:8px 10px;font-size:.9rem}.syl-lesson-select__hint{color:var(--gray-600);font-size:.82rem}.syl-info,.syl-empty,.syl-empty-small{border:1px dashed var(--gray-300);color:var(--gray-600);background:#fafafa;border-radius:10px}.syl-info,.syl-empty{padding:10px 12px}.syl-empty-small{padding:8px 10px}.syl-week-list{gap:10px;display:grid}.syl-week-card{border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.syl-week-card__header{cursor:pointer;background:#fff;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.syl-week-card__title-wrap{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.syl-week-card__title-wrap span{color:var(--gray-600);font-size:12px}.syl-week-card__progress{align-items:center;gap:8px;font-size:12px;display:flex}.syl-progress-track{background:var(--gray-100);border-radius:999px;width:120px;height:8px;overflow:hidden}.syl-progress-fill{background:var(--primary);border-radius:999px;height:100%}.syl-week-card__caret{color:var(--gray-600)}.syl-week-card__body{border-top:1px solid var(--gray-100);background:#fcfcfd;gap:10px;padding:10px;display:grid}.syl-subunit-card{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:10px}.syl-subunit-card__header h4{margin:0;font-size:.95rem}.syl-subunit-card__header p{color:var(--gray-600);margin:3px 0 0;font-size:.8rem}.syl-outcome-list{gap:8px;margin-top:8px;display:grid}.syl-outcome{border:1px solid var(--gray-200);text-align:left;cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:8px;padding:10px;display:flex}.syl-outcome:disabled{cursor:default}.syl-outcome.is-done{background:#eefbf2;border-color:#c9efd5}.syl-outcome__check{width:16px;color:var(--gray-600);font-weight:700}.syl-outcome.is-done .syl-outcome__check{color:#1f8f49}.syl-outcome__text{flex-direction:column;gap:2px;display:flex}.syl-outcome__text span{color:var(--gray-600);font-size:.84rem}.audio-preview-section{background:#0003;border-radius:12px;margin-bottom:16px;padding:16px}.audio-preview-header{color:#e2e8f0;align-items:center;gap:10px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.audio-preview-icon{color:#64748b;width:18px;height:18px}.audio-preview-error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.volume-level-container{align-items:center;gap:12px;margin-bottom:16px;display:flex}.volume-level-label{color:#94a3b8;white-space:nowrap;min-width:100px;font-size:13px}.volume-level-bar{background:#ffffff1a;border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.volume-level-fill{background:linear-gradient(90deg,#22c55e,#86efac);border-radius:4px;min-width:0;height:100%;transition:width .1s ease-out}.volume-level-fill.active{animation:.5s ease-in-out infinite alternate volume-pulse}@keyframes volume-pulse{0%{opacity:.8}to{opacity:1}}.volume-level-value{color:#64748b;text-align:right;min-width:40px;font-family:monospace;font-size:12px}.audio-test-btn{color:#fff;cursor:pointer;background:linear-gradient(145deg,#3b82f6,#2563eb);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.audio-test-btn:hover:not(:disabled){background:linear-gradient(145deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.audio-test-btn:active:not(:disabled){transform:translateY(0)}.audio-test-btn:disabled{opacity:.5;cursor:not-allowed}.audio-test-btn.recording{background:linear-gradient(145deg,#ef4444,#dc2626);animation:1s ease-in-out infinite recording-pulse}.audio-test-btn.recording:before{content:"";background:#fff;border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite recording-dot}@keyframes recording-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}@keyframes recording-dot{0%,to{opacity:1}50%{opacity:.5}}.audio-test-btn.playing{background:linear-gradient(145deg,#22c55e,#16a34a)}.audio-test-btn.playing:before{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #fff;width:0;height:0;margin-right:4px}.audio-test-btn.active{background:linear-gradient(145deg,#f59e0b,#d97706)}.audio-preview-hint{color:#64748b;margin:12px 0 0;font-size:12px;line-height:1.5}@media(max-width:480px){.audio-preview-section{margin-bottom:12px;padding:12px}.volume-level-container{flex-wrap:wrap;gap:8px}.volume-level-label{width:100%;min-width:auto}.volume-level-bar{flex:1;order:1}.volume-level-value{order:2}.audio-test-btn{padding:10px 16px;font-size:13px}}.camera-preview-wrapper{aspect-ratio:16/9;background:linear-gradient(145deg,#0f1318,#1a1f2e);border:1px solid #ffffff1a;border-radius:12px;width:100%;margin-bottom:16px;position:relative;overflow:hidden}.camera-preview-container{width:100%;height:100%;display:block}.camera-preview-player{object-fit:cover;width:100%;height:100%}.camera-preview-loading{color:#94a3b8;z-index:10;background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.camera-preview-spinner{border:3px solid #ffffff1a;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:1s linear infinite preview-spin}@keyframes preview-spin{to{transform:rotate(360deg)}}.camera-preview-error{color:#f87171;text-align:center;z-index:10;background:#ef44441a;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.camera-preview-placeholder{color:#64748b;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;display:flex}.camera-preview-section{flex-direction:column;gap:12px;display:flex}.camera-preview-toggle-row{background:#0003;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.camera-preview-toggle-label{color:#e2e8f0;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.camera-preview-toggle-label svg{color:#64748b;width:18px;height:18px}.camera-preview-toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.camera-preview-toggle-switch input{opacity:0;width:0;height:0}.camera-preview-toggle-slider{cursor:pointer;background:#ffffff1a;border-radius:24px;transition:all .25s;position:absolute;inset:0}.camera-preview-toggle-slider:before{content:"";background:#94a3b8;border-radius:50%;width:18px;height:18px;transition:all .25s;position:absolute;bottom:3px;left:3px}.camera-preview-toggle-switch input:checked+.camera-preview-toggle-slider{background:linear-gradient(145deg,#3b82f6,#2563eb)}.camera-preview-toggle-switch input:checked+.camera-preview-toggle-slider:before{background:#fff;transform:translate(20px)}.camera-preview-toggle-switch input:focus+.camera-preview-toggle-slider{box-shadow:0 0 0 3px #3b82f633}.camera-preview-info-banner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#94a3b8;z-index:15;white-space:nowrap;background:#000000bf;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:500;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.camera-preview-info-banner svg{color:#64748b;width:14px;height:14px}.camera-preview-disabled{color:#64748b;z-index:10;background:linear-gradient(145deg,#0f1318,#1a1f2e);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.camera-preview-disabled-icon{color:#475569;width:48px;height:48px}@media(max-width:480px){.camera-preview-wrapper{border-radius:10px;margin-bottom:12px}.camera-preview-toggle-row{padding:10px 12px}.camera-preview-toggle-label{gap:8px;font-size:13px}.camera-preview-info-banner{padding:6px 12px;font-size:11px}}.device-settings-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:6000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out overlay-fade-in;display:flex;position:fixed;inset:0}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.device-settings-modal{background:linear-gradient(145deg,#1a1f2e,#0f1318);border:1px solid #ffffff1a;border-radius:16px;width:95%;max-width:480px;max-height:90vh;animation:.25s ease-out modal-slide-up;overflow:hidden;box-shadow:0 24px 48px #00000080,0 0 0 1px #ffffff0d}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.device-settings-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.device-settings-title{color:#f0f4f8;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.device-settings-close{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.device-settings-close svg{width:20px;height:20px}.device-settings-close:hover{color:#f0f4f8;background:#ffffff1a}.device-settings-tabs{background:#0003;gap:4px;padding:12px 24px;display:flex}.device-settings-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.device-settings-tab svg{width:18px;height:18px}.device-settings-tab:hover{color:#94a3b8;background:#ffffff0d}.device-settings-tab.active{color:#fff;background:linear-gradient(145deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.device-settings-content{max-height:calc(90vh - 160px);padding:24px;overflow-y:auto}.device-settings-section{flex-direction:column;gap:24px;display:flex}.device-field{flex-direction:column;gap:10px;display:flex}.device-field-label{color:#e2e8f0;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.device-field-icon{color:#64748b;width:18px;height:18px}.device-field-hint{color:#64748b;margin:0;font-size:12px;line-height:1.5}.device-select{color:#f0f4f8;cursor:pointer;appearance:none;background:#0000004d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:12px 40px 12px 16px;font-family:inherit;font-size:14px;transition:all .15s}.device-select:hover{background-color:#0006;border-color:#fff3}.device-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f633}.device-select option{color:#f0f4f8;background:#1a1f2e;padding:8px}.toggle-row{align-items:center;gap:12px;display:flex}.toggle-switch{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#ffffff1a;border-radius:26px;transition:all .25s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#94a3b8;border-radius:50%;width:20px;height:20px;transition:all .25s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(145deg,#22c55e,#16a34a)}.toggle-switch input:checked+.toggle-slider:before{background:#fff;transform:translate(22px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #22c55e33}.toggle-label{color:#94a3b8;font-size:14px;font-weight:500}@media(max-width:480px){.device-settings-modal{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:85vh;position:fixed;bottom:0}.device-settings-header{padding:16px 20px 12px}.device-settings-title{font-size:18px}.device-settings-tabs{padding:10px 20px}.device-settings-tab{padding:10px 12px;font-size:13px}.device-settings-content{padding:20px}.device-select{padding:10px 14px}}.leave-confirm-content{display:block}.leave-confirm-warning{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.leave-confirm-warning .warning-icon{color:#f59e0b;font-size:2.5rem}.leave-confirm-message{color:#374151;margin:0;font-size:1rem;line-height:1.5}.leave-options{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.leave-option{cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;transition:all .2s;display:flex}.leave-option-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.leave-option-text{flex-direction:column;gap:.25rem;display:flex}.leave-option-title{font-size:1rem;font-weight:600}.leave-option-desc{opacity:.8;font-size:.85rem;line-height:1.4}.leave-option--leave{color:#374151;background:#f9fafb;border:2px solid #e5e7eb}.leave-option--leave:hover{background:#eff6ff;border-color:#3b82f6}.leave-option--leave .leave-option-icon{color:#6b7280;background:#e5e7eb}.leave-option--leave:hover .leave-option-icon{color:#3b82f6;background:#dbeafe}.leave-option--end-all{color:#991b1b;background:#fef2f2;border:2px solid #fecaca}.leave-option--end-all:hover{background:#fee2e2;border-color:#ef4444}.leave-option--end-all .leave-option-icon{color:#dc2626;background:#fecaca}.leave-option--end-all:hover .leave-option-icon{color:#b91c1c;background:#fca5a5}.leave-confirm-actions{border-top:1px solid #e5e7eb;justify-content:center;gap:.75rem;padding-top:.5rem;display:flex}.leave-confirm-btn{cursor:pointer;border-radius:8px;padding:.625rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .15s}.leave-confirm-btn--cancel{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.leave-confirm-btn--cancel:hover{background:#e5e7eb;border-color:#9ca3af}.ll-controls-bar{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#141920f2;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:8px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d}.ll-control-btn{cursor:pointer;color:#fff;background:#2a3441;border:none;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex;position:relative;overflow:hidden}.ll-control-btn svg{stroke-width:2px;width:20px;height:20px}.ll-control-btn:hover{transform:scale(1.08)}.ll-control-btn:active{transform:scale(.95)}.ll-control-with-menu{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.ll-control-button-group{border-radius:10px;transition:all .2s;display:flex;overflow:hidden}.ll-control-main{cursor:pointer;color:#fff;background:#2a3441;border:none;border-right:1px solid #ffffff1a;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.ll-control-main svg{stroke-width:2px;width:20px;height:20px}.ll-control-main:hover{background:#3a4451}.ll-control-arrow{cursor:pointer;color:#fff;background:#2a3441;border:none;justify-content:center;align-items:center;width:20px;height:42px;transition:all .2s;display:flex}.ll-control-arrow svg{stroke-width:2.5px;width:12px;height:12px;transition:transform .2s}.ll-control-arrow:hover{background:#3a4451}.ll-control-arrow.open svg{transform:rotate(180deg)}.ll-control-button-group.on{box-shadow:0 0 12px #22c55e4d}.ll-control-button-group.on .ll-control-main,.ll-control-button-group.on .ll-control-arrow{background:linear-gradient(145deg,#1e3a2f,#0f2620);border-color:#22c55e4d}.ll-control-button-group.on .ll-control-main:hover,.ll-control-button-group.on .ll-control-arrow:hover{background:linear-gradient(145deg,#245238,#153028)}.ll-control-button-group.off{box-shadow:0 0 12px #ef44444d}.ll-control-button-group.off .ll-control-main,.ll-control-button-group.off .ll-control-arrow{background:linear-gradient(145deg,#3a1e1e,#261010);border-color:#ef44444d}.ll-control-button-group.off .ll-control-main:hover,.ll-control-button-group.off .ll-control-arrow:hover{background:linear-gradient(145deg,#4a2525,#301515)}.ll-control-button-group.neutral .ll-control-main,.ll-control-button-group.neutral .ll-control-arrow{background:linear-gradient(145deg,#2d3748,#1a202c)}.ll-control-button-group.neutral .ll-control-main:hover,.ll-control-button-group.neutral .ll-control-arrow:hover{background:linear-gradient(145deg,#3d4858,#2a303c)}.ll-control-label{color:#a0aec0;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500}.ll-control-menu{background:var(--color-gray-100);z-index:1001;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff26;border-radius:12px;min-width:200px;padding:6px;animation:.15s ease-out menu-fade-in;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}@keyframes menu-fade-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ll-control-menu-item{width:100%;color:var(--color-gray-900);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:all .15s;display:flex}.ll-control-menu-item:hover{background:var(--color-gray-200)}.ll-control-menu-item.selected{color:var(--color-blue-700);background:#3b82f626}.ll-control-menu-item .menu-item-icon{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.ll-control-menu-item .menu-item-icon svg{width:16px;height:16px}.ll-control-menu-item .menu-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ll-control-menu-item .menu-item-check{color:#60a5fa;flex-shrink:0;width:16px;height:16px}.ll-control-btn.on{background:linear-gradient(145deg,#1e3a2f,#0f2620);border:1px solid #22c55e;box-shadow:0 0 12px #22c55e4d}.ll-control-btn.on:hover{background:linear-gradient(145deg,#245238,#153028);box-shadow:0 0 20px #22c55e66}.ll-control-btn.off{background:linear-gradient(145deg,#3a1e1e,#261010);border:1px solid #ef4444;box-shadow:0 0 12px #ef44444d}.ll-control-btn.off:hover{background:linear-gradient(145deg,#4a2525,#301515);box-shadow:0 0 20px #ef444466}.ll-control-btn.sharing{background:linear-gradient(145deg,#1e2e4a,#10182a);border:1px solid #3b82f6;animation:2s ease-in-out infinite pulse-share;box-shadow:0 0 12px #3b82f666}.ll-control-btn.sharing:hover{box-shadow:0 0 20px #3b82f680}@keyframes pulse-share{0%,to{box-shadow:0 0 12px #3b82f666}50%{box-shadow:0 0 24px #3b82f699}}.ll-view-toggle{background:linear-gradient(145deg,#2d3748,#1a202c);border:1px solid #4a5568}.ll-view-toggle:hover{background:linear-gradient(145deg,#3d4858,#2a303c);border-color:#718096;box-shadow:0 0 12px #7180964d}.ll-view-toggle.speaker{background:linear-gradient(145deg,#1e3a5f,#0f1f3a);border:1px solid #3b82f6;box-shadow:0 0 12px #3b82f64d}.ll-view-toggle.speaker:hover{background:linear-gradient(145deg,#254a6f,#15294a);box-shadow:0 0 16px #3b82f666}.ll-fullscreen-btn{background:linear-gradient(145deg,#2d3748,#1a202c);border:1px solid #4a5568}.ll-fullscreen-btn:hover{background:linear-gradient(145deg,#3d4858,#2a303c);border-color:#718096;box-shadow:0 0 12px #7180964d}.ll-fullscreen-btn.active{background:linear-gradient(145deg,#1e4a3a,#0f2a1f);border:1px solid #22c55e;box-shadow:0 0 12px #22c55e4d}.ll-fullscreen-btn.active:hover{background:linear-gradient(145deg,#255a4a,#153a2f);box-shadow:0 0 16px #22c55e66}.ll-leave-btn{letter-spacing:.5px;background:linear-gradient(145deg,#dc2626,#991b1b);border:1px solid #ef4444;border-radius:10px;gap:6px;width:auto;min-width:90px;height:42px;padding:0 16px;font-size:13px;font-weight:600}.ll-leave-btn svg{width:18px;height:18px}.ll-leave-btn span{font-size:14px}.ll-leave-btn:hover{background:linear-gradient(145deg,#ef4444,#b91c1c);box-shadow:0 0 20px #ef444480}.ll-controls-bar:before{content:"";background:#ffffff26;width:1px;position:absolute;top:10px;bottom:10px;right:110px}@media(max-width:640px){.ll-controls-bar{gap:6px;padding:8px 12px}.ll-control-btn{width:42px;height:42px}.ll-control-btn svg{width:18px;height:18px}.ll-control-main{width:42px;height:40px}.ll-control-main svg{width:18px;height:18px}.ll-control-arrow{width:20px;height:40px}.ll-control-arrow svg{width:12px;height:12px}.ll-control-label{font-size:10px}.ll-control-menu{min-width:180px}.ll-control-menu-item{padding:8px 10px;font-size:12px}.ll-leave-btn{gap:6px;min-width:80px;padding:0 14px}.ll-leave-btn svg{width:16px;height:16px}.ll-leave-btn span{font-size:12px}.ll-controls-bar:before{right:100px}}.ll-chat-btn{background:linear-gradient(145deg,#2d3748,#1a202c);border:1px solid #4a5568;position:relative}.ll-chat-btn:hover{background:linear-gradient(145deg,#3d4858,#2a303c);border-color:#718096;box-shadow:0 0 12px #7180964d}.ll-chat-btn.has-unread{background:linear-gradient(145deg,#1e3a5f,#0f1f3a);border:1px solid #3b82f6;animation:2s ease-in-out infinite chat-pulse;box-shadow:0 0 12px #3b82f64d}@keyframes chat-pulse{0%,to{box-shadow:0 0 12px #3b82f64d}50%{box-shadow:0 0 20px #3b82f680}}.chat-unread-badge{color:#fff;background:linear-gradient(145deg,#ef4444,#dc2626);border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;animation:.3s ease-out badge-pop;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #ef444466}@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.chat-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1100;background:#0f141cfa;border-left:1px solid #ffffff1a;flex-direction:column;width:360px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #00000080}.chat-panel.open{transform:translate(0)}.chat-panel-header{background:#141923cc;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-panel-title{color:#f0f4f8;letter-spacing:.3px;margin:0;font-size:18px;font-weight:600}.chat-panel-close{color:#a0aec0;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.chat-panel-close:hover{color:#f0f4f8;background:#ffffff26}.chat-panel-close svg{width:18px;height:18px}.chat-messages-container{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-messages-container::-webkit-scrollbar{width:6px}.chat-messages-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.chat-messages-container::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.chat-messages-container::-webkit-scrollbar-thumb:hover{background:#ffffff40}.chat-empty-state{color:#64748b;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.chat-empty-icon{color:#475569;width:48px;height:48px;margin-bottom:8px}.chat-empty-state p{color:#94a3b8;margin:0;font-size:15px;font-weight:500}.chat-empty-state span{color:#64748b;font-size:13px}.chat-message{background:#2d374899;border-radius:12px;max-width:85%;padding:10px 14px;animation:.2s ease-out message-slide-in}@keyframes message-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message.own-message{background:linear-gradient(145deg,#2563eb,#1d4ed8);border-bottom-right-radius:4px;align-self:flex-end}.chat-message.other-message{background:#2d3748cc;border-bottom-left-radius:4px;align-self:flex-start}.chat-message.private-message{background:#581c8740;border:1px solid #a855f766}.chat-message.private-message.own-message{background:linear-gradient(145deg,#9333eab3,#7e22ceb3)}.chat-message-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.chat-message-sender{color:#f0f4f8;font-size:12px;font-weight:600}.chat-message-private{color:#c084fc;align-items:center;gap:4px;font-size:11px;display:flex}.chat-message-private .private-icon{width:12px;height:12px}.chat-message-private .private-text{opacity:.9}.chat-message-time{color:#94a3b8;margin-left:auto;font-size:11px}.chat-message-content{color:#e2e8f0;word-wrap:break-word;white-space:pre-wrap;font-size:14px;line-height:1.5}.chat-input-area{background:#141923cc;border-top:1px solid #ffffff1a;flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.chat-recipient-selector{position:relative}.chat-recipient-button{color:#e2e8f0;cursor:pointer;background:#2d374880;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;transition:all .2s;display:flex}.chat-recipient-button:hover{background:#2d3748cc;border-color:#fff3}.recipient-icon{color:#3b82f6;justify-content:center;align-items:center;display:flex}.recipient-icon svg{width:16px;height:16px}.recipient-name{text-align:left;flex:1;font-size:13px;font-weight:500}.recipient-arrow{color:#94a3b8;width:16px;height:16px;transition:transform .2s}.recipient-arrow.open{transform:rotate(180deg)}.chat-recipient-dropdown{z-index:1200;background:#141923fa;border:1px solid #ffffff26;border-radius:10px;max-height:200px;padding:6px;animation:.15s ease-out dropdown-fade-in;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 -8px 24px #0006}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-recipient-option{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.chat-recipient-option:hover{background:#ffffff1a}.chat-recipient-option.selected{color:#60a5fa;background:#3b82f633}.recipient-option-icon{color:#64748b;justify-content:center;align-items:center;display:flex}.chat-recipient-option.selected .recipient-option-icon{color:#60a5fa}.recipient-option-icon svg{width:16px;height:16px}.recipient-option-name{flex:1;font-size:13px;font-weight:500}.recipient-option-private{color:#c084fc;font-size:11px;font-style:italic}.chat-input-wrapper{align-items:center;gap:8px;display:flex}.chat-input{color:#f0f4f8;background:#2d374880;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:all .2s}.chat-input::placeholder{color:#64748b}.chat-input:focus{background:#2d3748cc;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-send-button{color:#fff;cursor:pointer;background:linear-gradient(145deg,#2563eb,#1d4ed8);border:none;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.chat-send-button:hover:not(:disabled){background:linear-gradient(145deg,#3b82f6,#2563eb);transform:scale(1.05);box-shadow:0 0 12px #3b82f666}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}.chat-send-button svg{width:18px;height:18px}@media(max-width:480px){.chat-panel{width:100%}.chat-message{max-width:90%}}.controls-wrapper{flex-direction:column;align-items:center;gap:12px;margin-top:auto;padding:16px 0;display:flex}.controls-wrapper .ll-chat-btn{border-radius:12px;width:48px;height:48px}.controls-wrapper .ll-chat-btn svg{width:22px;height:22px}.controls-wrapper-buttons{align-items:center;gap:10px;display:flex}.chat-file-input{display:none}.chat-attach-button{color:#94a3b8;cursor:pointer;background:#2d374880;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.chat-attach-button:hover:not(:disabled){color:#3b82f6;background:#2d3748cc}.chat-attach-button:disabled{opacity:.5;cursor:not-allowed}.chat-attach-button svg{width:18px;height:18px}.chat-selected-file{background:#3b82f626;border:1px solid #3b82f64d;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;animation:.2s ease-out file-selected;display:flex}@keyframes file-selected{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.selected-file-icon{color:#3b82f6;flex-shrink:0}.selected-file-icon svg{width:16px;height:16px}.selected-file-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.selected-file-size{color:#94a3b8;flex-shrink:0;font-size:11px}.selected-file-clear{color:#ef4444;cursor:pointer;background:#ef444433;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.selected-file-clear:hover{background:#ef44444d}.selected-file-clear svg{width:14px;height:14px}.chat-file-message{background:#1e283799;border-radius:8px;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.chat-file-message.sent{background:#2563eb33;border:1px solid #3b82f633}.chat-file-message.received{background:#2d374899;border:1px solid #ffffff14}.chat-file-message.transferring{border-color:#3b82f666}.chat-file-message.failed{background:#ef44441a;border-color:#ef444466}.chat-file-message.cancelled{opacity:.7;border-color:#9ca3af66}.chat-file-icon{color:#3b82f6;background:#3b82f633;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chat-file-icon svg{width:18px;height:18px}.chat-file-message.failed .chat-file-icon{color:#ef4444;background:#ef444433}.chat-file-message.cancelled .chat-file-icon{color:#9ca3af;background:#9ca3af33}.chat-file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-file-name{color:#000;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.chat-file-size{color:#94a3b8;align-items:center;gap:4px;font-size:11px;display:flex}.chat-file-separator{color:#64748b}.chat-file-status-text{color:#3b82f6;font-weight:500}.chat-file-status-text.failed{color:#ef4444}.chat-file-status-text.cancelled{color:#9ca3af}.chat-file-progress-bar{background:#3b82f633;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.chat-file-progress-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);height:100%;transition:width .3s;animation:1.5s ease-in-out infinite progress-shine}@keyframes progress-shine{0%{background:linear-gradient(90deg,#3b82f6,#60a5fa)}50%{background:linear-gradient(90deg,#60a5fa,#93c5fd)}to{background:linear-gradient(90deg,#3b82f6,#60a5fa)}}.chat-file-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.chat-file-action-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.chat-file-action-btn svg{width:14px;height:14px}.chat-file-action-btn.cancel{color:#ef4444;background:#ef444433}.chat-file-action-btn.cancel:hover{background:#ef44444d;transform:scale(1.05)}.chat-file-action-btn.retry{color:#f59e0b;background:#f59e0b33}.chat-file-action-btn.retry:hover{background:#f59e0b4d;transform:scale(1.05)}.chat-file-action-btn.download{color:#22c55e;background:#22c55e33}.chat-file-action-btn.download:hover{background:#22c55e4d;transform:scale(1.05)}.chat-file-status-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.chat-file-status-icon svg{width:16px;height:16px}.chat-file-status-icon.success{color:#22c55e}.chat-file-status-icon.error{color:#ef4444}.chat-message.has-file{padding-bottom:8px}.chat-message.has-file .chat-message-content{margin-bottom:4px}.ll-participants-btn{background:linear-gradient(145deg,#2d3748,#1a202c);border:1px solid #4a5568;position:relative}.ll-participants-btn:hover{background:linear-gradient(145deg,#3d4858,#2a303c);border-color:#718096;box-shadow:0 0 12px #7180964d}.participants-count-badge{color:#fff;background:linear-gradient(145deg,#3b82f6,#2563eb);border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #3b82f666}.controls-wrapper .ll-participants-btn{border-radius:12px;width:48px;height:48px}.controls-wrapper .ll-participants-btn svg{width:22px;height:22px}.participants-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1100;background:#0f141cfa;border-left:1px solid #ffffff1a;flex-direction:column;width:360px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #00000080}.participants-panel.open{transform:translate(0)}.participants-panel-header{background:#141923cc;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.participants-panel-title{color:#f0f4f8;letter-spacing:.3px;margin:0;font-size:18px;font-weight:600}.participants-panel-close{color:#a0aec0;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.participants-panel-close:hover{color:#f0f4f8;background:#ffffff26}.participants-panel-close svg{width:18px;height:18px}.participants-session-count{color:#94a3b8;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #ffffff0f;padding:12px 20px;font-size:12px;font-weight:600}.participants-list{flex:1;padding:8px 12px;overflow-y:auto}.participants-list::-webkit-scrollbar{width:6px}.participants-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.participants-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.participants-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.participant-item{border-radius:10px;align-items:center;gap:12px;padding:10px 8px;transition:background .15s;display:flex}.participant-item:hover{background:#ffffff0d}.participant-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:600;display:flex}.participant-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.participant-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.participant-me-tag{color:#94a3b8;font-weight:400}.participant-host-badge{color:#f59e0b;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.participant-host-badge svg{width:12px;height:12px}.participant-status-icons{flex-shrink:0;align-items:center;gap:8px;display:flex}.participant-status-icon{color:#94a3b8;justify-content:center;align-items:center;display:flex}.participant-status-icon svg{width:18px;height:18px}.participant-status-icon.muted,.participant-status-icon.off{color:#ef4444}@media(max-width:480px){.participants-panel{width:100%}}.peer-video-slot{aspect-ratio:16/9;background:linear-gradient(145deg,var(--ll-bg-card,#1a2028),var(--ll-bg-dark,#0a0e14));border-radius:var(--ll-radius,12px);border:2px solid var(--ll-border,#2a3441);width:100%;max-width:560px;transition:all .2s;display:none;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000004d}.peer-video-slot.active{display:block}.peer-video-slot:hover{border-color:var(--ll-accent,#3b82f6);box-shadow:0 8px 24px #0006,0 0 12px var(--ll-accent-glow,#3b82f640);z-index:2}.peer-video-slot.speaking{border-color:var(--ll-success,#22c55e);animation:1.5s ease-in-out infinite slot-speaker-pulse;box-shadow:0 0 20px #22c55e80,0 0 40px #22c55e33}@keyframes slot-speaker-pulse{0%,to{box-shadow:0 0 20px #22c55e80,0 0 40px #22c55e33}50%{box-shadow:0 0 30px #22c55eb3,0 0 60px #22c55e4d}}.peer-video-container{background:#000;width:100%;height:100%}.peer-video-container video-player,.peer-video-container canvas,.peer-video-container video{object-fit:cover;width:100%;height:100%}.peer-video-slot .video-label{z-index:10;position:absolute;bottom:10px;left:10px}.peer-video-slot .video-off-placeholder{z-index:5;position:absolute;inset:0}.peer-video-slot.speaker-main{aspect-ratio:16/9;border-color:var(--ll-accent,#3b82f6);width:100%;max-width:100%;min-height:400px;box-shadow:0 8px 32px #0006,0 0 20px var(--ll-accent-glow,#3b82f640);flex:100%;order:-1}.peer-video-slot.speaker-main.speaking{border-color:var(--ll-success,#22c55e);box-shadow:0 0 24px #22c55e80,0 0 48px #22c55e40}.peer-video-slot.speaker-main:after{content:"Speaker";color:var(--ll-text,#e6edf3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px;z-index:10;background:#000000bf;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;position:absolute;bottom:12px;right:12px}.peers-grid.minimized .peer-video-slot{aspect-ratio:4/3;max-width:180px}.peers-grid.minimized .peer-video-slot .video-off-avatar{width:40px;height:40px;font-size:14px}.peers-grid.minimized .peer-video-slot .video-off-name{font-size:10px}.peers-grid.speaker-strip .peer-video-slot:not(.speaker-main){aspect-ratio:4/3;flex:none;order:0;min-width:140px;max-width:180px}@media(max-width:640px){.peer-video-slot.speaker-main{min-height:250px}.peers-grid.speaker-strip .peer-video-slot:not(.speaker-main){min-width:100px;max-width:120px}}.share-blocked-content{display:block}.share-blocked-warning{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.share-blocked-warning .warning-icon{color:#f59e0b;font-size:2.5rem}.share-blocked-message{color:#374151;margin:0;font-size:1rem;line-height:1.5}.share-blocked-options{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.share-blocked-option{cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;transition:all .2s;display:flex}.share-blocked-option-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.share-blocked-option-text{flex-direction:column;gap:.25rem;display:flex}.share-blocked-option-title{font-size:1rem;font-weight:600}.share-blocked-option-desc{opacity:.8;font-size:.85rem;line-height:1.4}.share-blocked-option--stop{color:#991b1b;background:#fef2f2;border:2px solid #fecaca}.share-blocked-option--stop:hover{background:#fee2e2;border-color:#ef4444}.share-blocked-option--stop .share-blocked-option-icon{color:#dc2626;background:#fecaca}.share-blocked-option--stop:hover .share-blocked-option-icon{color:#b91c1c;background:#fca5a5}.share-blocked-option--share-own{color:#1e40af;background:#eff6ff;border:2px solid #bfdbfe}.share-blocked-option--share-own:hover{background:#dbeafe;border-color:#3b82f6}.share-blocked-option--share-own .share-blocked-option-icon{color:#2563eb;background:#bfdbfe}.share-blocked-option--share-own:hover .share-blocked-option-icon{color:#1d4ed8;background:#93c5fd}.share-blocked-actions{border-top:1px solid #e5e7eb;justify-content:center;gap:.75rem;padding-top:.5rem;display:flex}.share-blocked-btn{cursor:pointer;border-radius:8px;padding:.625rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .15s}.share-blocked-btn--cancel{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.share-blocked-btn--cancel:hover{background:#e5e7eb;border-color:#9ca3af}.video-label{color:var(--ll-text,#e6edf3);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px;background:#000000bf;border-radius:6px;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:4px 10px;font-size:12px;font-weight:600;display:flex;position:absolute;bottom:10px;left:10px}.video-label-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.video-label-mic{flex-shrink:0;justify-content:center;align-items:center;display:flex}.video-label-mic svg{width:14px;height:14px}.video-label-mic svg[data-icon=mic-off],.video-label-mic .fi-mic-off{color:var(--ll-danger,#ef4444)}.video-label-mic svg[data-icon=mic],.video-label-mic .fi-mic{color:var(--ll-success,#22c55e)}.video-off-placeholder{background:linear-gradient(145deg,#1a2028,#0d1117);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;display:flex;position:relative}.video-off-avatar{color:#fff;text-transform:uppercase;letter-spacing:2px;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border:3px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:28px;font-weight:700;display:flex;box-shadow:0 8px 24px #3b82f64d}.video-off-name{color:#e2e8f0;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 4px #00000080;max-width:90%;font-size:14px;font-weight:600;overflow:hidden}.video-off-placeholder.minimized .video-off-avatar{width:48px;height:48px;font-size:16px}.video-off-placeholder.minimized .video-off-name{font-size:11px}.self-video-wrapper .video-off-placeholder{border-radius:var(--ll-radius-lg,16px)}.self-video-wrapper .video-off-avatar{background:linear-gradient(145deg,#22c55e,#16a34a);width:64px;height:64px;font-size:22px;box-shadow:0 8px 24px #22c55e4d}.peer-video.video-off-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:auto;display:flex}.pip-container{background:var(--ll-bg-dark,#0a0e14);width:100%;height:100vh;color:var(--ll-text,#e6edf3);box-sizing:border-box;flex-direction:column;font-family:inherit;display:flex;overflow:hidden}.pip-videos{flex:1;gap:4px;min-height:0;padding:4px;display:flex}.pip-video-wrapper{background:var(--ll-bg-panel,#131920);border-radius:8px;flex:1;min-width:0;position:relative;overflow:hidden}.pip-self-video-slot,.pip-peer-video-slot{width:100%;height:100%}.pip-self-video-slot video-player-container,.pip-peer-video-slot video-player-container{display:block;width:100%!important;height:100%!important}.pip-self-video-slot video-player,.pip-peer-video-slot video-player,.pip-self-video-slot canvas,.pip-peer-video-slot canvas,.pip-self-video-slot video,.pip-peer-video-slot video{object-fit:cover!important;width:100%!important;height:100%!important}.pip-label{z-index:10;color:#fff;pointer-events:none;background:#0000008c;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;bottom:6px;left:6px}.pip-video-off{z-index:5;color:var(--ll-text-muted,#7d8590);background:var(--ll-bg-card,#1a2028);justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex;position:absolute;inset:0}.pip-share-area{box-sizing:border-box;flex-shrink:0;height:40%;padding:0 4px;position:relative}.pip-share-slot{background:#000;border-radius:6px;width:100%;height:100%;overflow:hidden}.pip-share-slot video-player-container,.pip-share-slot video{display:block;object-fit:contain!important;width:100%!important;height:100%!important}.pip-container:has(.pip-share-area) .pip-videos{flex:none;height:55%}.pip-controls{flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:6px 4px;display:flex}.pip-stop-share-btn{color:#fff;background:var(--ll-danger,#ef4444);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.pip-stop-share-btn:hover{background:#dc2626}.pip-stop-share-btn:active{transform:scale(.97)}.ll-pip-btn.active{border:1px solid var(--ll-accent,#3b82f6);box-shadow:0 0 12px var(--ll-accent-glow,#3b82f640);background:linear-gradient(145deg,#1e2e4a,#10182a)}.ll-pip-btn.active:hover{box-shadow:0 0 20px #3b82f666}.wb-area{background:var(--ll-bg-panel);border-radius:var(--ll-radius-lg);border:1px solid var(--ll-border);display:none;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.wb-area.active{flex-direction:column;flex:1;min-height:400px;display:flex}.wb-canvas-container{border-radius:var(--ll-radius);background:#fff;flex:1;width:100%;height:100%}.wb-loading{color:#fff;z-index:10;border-radius:var(--ll-radius-lg);background:#0009;justify-content:center;align-items:center;font-size:1rem;font-weight:500;display:flex;position:absolute;inset:0}.lobby-wrapper{background:var(--ll-bg-dark);min-height:100vh;color:var(--ll-text);justify-content:center;align-items:flex-start;padding:32px 24px;display:flex}.lobby-page{flex-direction:column;gap:28px;width:100%;max-width:960px;display:flex}.lobby-header{text-align:center}.lobby-back-btn{border:1px solid var(--ll-border);color:var(--ll-text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;margin-bottom:20px;padding:8px 16px;font-size:14px;transition:all .2s;display:inline-flex}.lobby-back-btn:hover{background:var(--ll-bg-card);border-color:var(--ll-accent);color:var(--ll-accent)}.lobby-title{color:var(--ll-text);margin:0 0 8px;font-size:24px;font-weight:700}.lobby-subtitle{color:var(--ll-text-muted);margin:0;font-size:15px}.lobby-error{border-radius:var(--ll-radius);color:#f87171;text-align:center;background:#ef44441a;border:1px solid #ef44444d;padding:14px 18px;font-size:14px}.lobby-content{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.lobby-section{background:var(--ll-bg-panel);border:1px solid var(--ll-border);border-radius:var(--ll-radius-lg);flex-direction:column;gap:16px;padding:24px;display:flex}.lobby-section-header{align-items:center;gap:10px;display:flex}.lobby-section-header h2{color:var(--ll-text);margin:0;font-size:16px;font-weight:600}.lobby-section-icon{width:20px;height:20px;color:var(--ll-accent)}.lobby-audio-section{gap:24px}.lobby-audio-group{flex-direction:column;gap:12px;display:flex}.lobby-audio-group+.lobby-audio-group{border-top:1px solid var(--ll-border);padding-top:20px}.lobby-toggle-btn{border:1px solid var(--ll-border);background:var(--ll-bg-card);width:100%;color:var(--ll-text-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.lobby-toggle-btn:hover:not(:disabled){border-color:var(--ll-accent);color:var(--ll-text)}.lobby-toggle-btn.active{border-color:var(--ll-success);color:var(--ll-success);background:#22c55e1f}.lobby-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.lobby-device-field{flex-direction:column;gap:6px;display:flex}.lobby-device-label{color:var(--ll-text-muted);font-size:13px;font-weight:500}.lobby-device-select{background:var(--ll-bg-card);border:1px solid var(--ll-border);width:100%;color:var(--ll-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237d8590' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:8px;padding:10px 36px 10px 14px;font-size:14px;transition:border-color .2s}.lobby-device-select:hover{border-color:var(--ll-accent)}.lobby-device-select:focus{border-color:var(--ll-accent);box-shadow:0 0 0 3px var(--ll-accent-glow);outline:none}.lobby-device-select option{background:var(--ll-bg-card);color:var(--ll-text)}.lobby-device-select:disabled{opacity:.5;cursor:not-allowed}.lobby-camera-preview{aspect-ratio:16/9;background:var(--ll-bg-card);border-radius:var(--ll-radius);width:100%;position:relative;overflow:hidden}.lobby-camera-container{width:100%;height:100%;display:block}.lobby-camera-player{object-fit:cover;width:100%;height:100%;display:block}.lobby-camera-placeholder{width:100%;height:100%;color:var(--ll-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.lobby-camera-placeholder-icon{opacity:.4;width:48px;height:48px}.lobby-camera-placeholder span{font-size:14px}.lobby-camera-loading{z-index:2;color:var(--ll-text);background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.lobby-camera-spinner{border:3px solid #fff3;border-top-color:var(--ll-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite lobby-spin}@keyframes lobby-spin{to{transform:rotate(360deg)}}.lobby-camera-error{color:#f87171;z-index:2;background:#ef444414;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.lobby-footer{justify-content:center;padding-top:8px;display:flex}.lobby-join-btn{background:linear-gradient(145deg,var(--ll-accent),#2563eb);color:#fff;border-radius:var(--ll-radius);cursor:pointer;border:none;min-width:220px;padding:14px 48px;font-size:16px;font-weight:600;transition:all .2s}.lobby-join-btn:hover:not(:disabled){background:linear-gradient(145deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 24px #3b82f659}.lobby-join-btn:active:not(:disabled){transform:translateY(0)}.lobby-join-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.lobby-wrapper{padding:20px 16px}.lobby-content{grid-template-columns:1fr}.lobby-title{font-size:20px}.lobby-section{padding:18px}.lobby-join-btn{width:100%}}@media(max-width:480px){.lobby-wrapper{padding:16px 12px}.lobby-section{padding:14px}.lobby-title{font-size:18px}.lobby-join-btn{padding:12px 32px;font-size:15px}}.lst-panel{color:var(--gray-900);background:#fffffff7;border-radius:12px;width:100%;font-size:.82rem;overflow:hidden;box-shadow:0 2px 12px #0000001a}.lst-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.lst-title{color:var(--gray-900);white-space:nowrap;margin:0;font-size:.85rem;font-weight:600}.lst-badge{background:var(--primary);color:#fff;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:.68rem;font-weight:600;line-height:1.5}.lst-chevron{color:var(--gray-600);flex-shrink:0;margin-left:auto;transition:transform .25s}.lst-panel--expanded .lst-chevron{transform:rotate(180deg)}.lst-body{transition:max-height .3s;overflow:hidden}.lst-collapsed-content{padding:0 10px 10px}.lst-expanded-content{scrollbar-width:thin;max-height:340px;padding:0 10px 10px;overflow-y:auto}.lst-group{margin-bottom:2px}.lst-group-header{background:var(--gray-100);border-radius:8px;align-items:center;gap:6px;padding:7px 8px;font-size:.82rem;font-weight:600;display:flex}.lst-group-header--done{background:#eefbf2}.lst-group-index{color:var(--gray-600);min-width:16px}.lst-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lst-group-check{flex-shrink:0}.lst-outcome-row{cursor:pointer;text-align:left;width:100%;color:var(--gray-900);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 8px 6px 24px;font-size:.8rem;transition:background .15s;display:flex}.lst-outcome-row:hover{background:var(--gray-100)}.lst-outcome-row--disabled{pointer-events:none;opacity:.5}.lst-outcome-dot{color:var(--gray-600);flex-shrink:0;font-size:.7rem}.lst-outcome-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lst-checkbox{border:2px solid var(--gray-300);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.lst-checkbox--checked{background:var(--primary);border-color:var(--primary);color:#fff}.lst-checkbox--checked svg{width:12px;height:12px}.lst-spinner{border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite lst-spin}@keyframes lst-spin{to{transform:rotate(360deg)}}.lst-outcome-row--entering{animation:.35s ease-out lst-enter}@keyframes lst-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lst-outcome-row--exiting{animation:.4s ease-out 5s forwards lst-exit;overflow:hidden}@keyframes lst-exit{0%{opacity:1;max-height:40px}to{opacity:0;max-height:0;margin:0;padding-top:0;padding-bottom:0}}.lst-empty{color:var(--gray-600);text-align:center;padding:8px 12px;font-size:.8rem}.lst-loading{color:var(--gray-600);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:.8rem;display:flex}.lst-all-done{color:#1f8f49;text-align:center;padding:8px 12px;font-size:.8rem;font-weight:500}.lst-collapsed-content .lst-outcome-row{border:1px solid var(--gray-200);background:#fff;border-radius:8px;margin-bottom:4px;padding-left:8px}.lst-collapsed-content .lst-outcome-row:last-child{margin-bottom:0}.lst-collapsed-content .lst-outcome-row:hover{border-color:var(--primary)}:root{--c-border:#e2e8f0;--c-header-bg:#f8fafc;--c-text-main:#334155;--c-text-light:#94a3b8;--c-primary:#3b82f6;--c-success:#10b981;--c-danger:#ef4444;--c-busy:#6366f1;--slot-height:20px;--time-col-width:60px}.cal-container{-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;height:100%;max-height:75vh;font-family:inherit;display:flex}.cal-toolbar{border-bottom:1px solid var(--c-border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.cal-info h3{color:#1e293b;margin:0 0 4px;font-size:16px;font-weight:600}.cal-info p{color:#64748b;margin:0;font-size:13px}.highlight-text{color:var(--c-primary);font-weight:500}.highlight-text-red{color:var(--c-danger);font-weight:500}.cal-actions{gap:10px;display:flex}button{cursor:pointer;font-family:inherit}.cal-btn-primary{background:var(--c-text-main);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;box-shadow:0 1px 2px #0000001a}.cal-btn-primary:hover{background:#0f172a}.cal-btn-primary.danger{background:var(--c-danger)}.cal-btn-secondary{border:1px solid var(--c-border);color:var(--c-text-main);background:#fff;border-radius:6px;padding:8px 12px;font-size:13px}.cal-btn-secondary:hover{background:var(--c-header-bg)}.cal-btn-text{color:var(--c-text-light);background:0 0;border:none;font-size:13px}.cal-btn-text:hover{color:var(--c-text-main)}.cal-viewport{scrollbar-width:thin;contain:layout;flex:1;position:relative;overflow-y:auto}.cal-grid{grid-template-columns:var(--time-col-width) repeat(7,1fr);grid-template-rows:auto;width:100%;min-width:800px;display:grid}.cal-header-row{display:contents}.cal-corner-cell{border-bottom:1px solid var(--c-border);border-right:1px solid var(--c-border);background:#fff;height:50px;position:sticky;top:0}.cal-day-header{border-bottom:1px solid var(--c-border);border-right:1px solid var(--c-border);text-align:center;z-index:20;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:50px;padding:8px;font-size:13px;display:flex;position:sticky;top:0;bottom:10px}.cal-day-header.today{background:#eff6ff}.cal-day-name{text-transform:uppercase;color:var(--c-text-light);font-size:11px;font-weight:700}.cal-day-header.today .cal-day-name{color:var(--c-primary)}.cal-day-num{color:var(--c-text-main);font-size:18px;font-weight:600}.cal-day-header.today .cal-day-num{color:var(--c-primary)}.cal-row{display:contents}.cal-time-cell{border-right:1px solid var(--c-border);color:var(--c-text-light);text-align:right;z-index:10;background:#fff;padding-right:8px;font-size:11px;position:sticky;left:0}.cal-time-cell span{display:block;transform:translateY(-50%)}.cal-cell{height:var(--slot-height);cursor:pointer;z-index:1;background:#fff;border-bottom:1px solid #f8fafc;border-right:1px solid #f1f5f9;position:relative}.cal-cell:hover{background:#f8fafc}.cal-cell[data-hour-start=true]{border-top:1px solid #e2e8f0}.cal-cell.declared{border-left:3px solid var(--c-success);background:#10b98126}.cal-cell.pending-add{border-left:3px solid var(--c-primary);background:#3b82f626}.cal-cell.pending-del{border-left:3px solid var(--c-danger);background:repeating-linear-gradient(45deg,#ef44441a,#ef44441a 10px,#ffffff80 10px 20px)}.cal-cell.draft-add{background:#3b82f64d}.cal-cell.draft-del{background:#ef44444d}.cal-cell.read-only{cursor:default}.cal-cell.read-only.cal-cell--interactive{cursor:pointer}.cal-cell.read-only.cal-cell--interactive:hover{filter:brightness(.97)}.cal-cell.read-only.cal-cell--interactive:focus-visible{outline:2px solid var(--c-primary);outline-offset:-1px;z-index:2}.cal-cell.cell-busy{border-left:3px solid var(--c-busy);background:#6366f126}.cal-cell.cell-avail-ro{background:#10b98114}.cal-legend{background:var(--c-header-bg);border-top:1px solid var(--c-border);color:var(--c-text-main);flex-shrink:0;gap:24px;padding:12px 24px;font-size:12px;display:flex}.legend-item{align-items:center;gap:8px;display:flex}.dot{border-radius:2px;width:10px;height:10px}.dot.declared{background:var(--c-success)}.dot.pending{background:var(--c-primary)}.dot.delete{background:var(--c-danger)}.dot.avail-ro{background:#10b98166}.dot.empty{background:#fff;border:1px solid #cbd5e1}.cal-error{color:var(--c-danger);background:#fee2e2;padding:10px 24px}.cal-overlay{z-index:50;background:#ffffffb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cal-spinner{border:3px solid #e2e8f0;border-top-color:var(--c-text-main);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cell-request{background:#fff7e6;border-color:#ffe2b5}.cell-request-selected{outline:3px solid #ffaa0040}.dot.request{background:#ffcc80}.lrw{box-sizing:border-box;background:#fff;border:1px solid #eee;border-radius:12px;flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.lrw-header{border-bottom:1px solid #f1f1f1;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px 8px;display:flex}.lrw-header h3{margin:0;font-size:14px;line-height:1.25}.lrw-header p{color:#666;margin:4px 0 0;font-size:11px;line-height:1.35}.lrw-refresh{cursor:pointer;background:#fafafa;border:1px solid #eee;border-radius:8px;flex-shrink:0;height:32px;padding:0 8px;font-size:12px}.lrw-tabs{border-bottom:1px solid #f1f1f1;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 10px;display:flex}.lrw-tab{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #eee;border-radius:8px;padding:6px 8px;font-size:11px}.lrw-tab.active{background:#eef6ff;border-color:#cfe4ff}.lrw-error{color:#b42318;background:#fff4f4;border-bottom:1px solid #ffd7d7;padding:10px 12px;font-size:12px}.lrw-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px 10px 12px;display:flex;overflow:hidden auto}.lrw-empty{color:#666;text-align:center;padding:18px 8px;font-size:12px}.lrw-card{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:12px;padding:10px}.lrw-card.active{border-color:#cfe4ff;box-shadow:0 0 0 3px #0078ff14}.lrw-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.lrw-title{font-size:13px;font-weight:600;line-height:1.25}.lrw-pill{white-space:nowrap;background:#fafafa;border:1px solid #eee;border-radius:999px;padding:4px 8px;font-size:11px}.lrw-meta{color:#444;flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.lrw-meta-row{gap:8px;display:flex}.lrw-label{color:#777;min-width:52px}.lrw-actions{gap:8px;margin-top:10px;display:flex}.lrw-btn{cursor:pointer;border:1px solid #eee;border-radius:10px;flex:1;height:34px}.lrw-btn.approve{background:#eefaf0;border-color:#c9f0d1}.lrw-btn.reject{background:#fff4f4;border-color:#ffd7d7}.meet-link-panel{border:1px solid var(--sched-border-color,#e2e8f0);border-radius:var(--sched-radius,12px);background:var(--sched-bg-subtle,#f8fafc);padding:16px}.meet-link-title{color:var(--sched-text-main,#0f172a);margin:0 0 8px;font-size:16px;font-weight:600}.meet-link-desc{color:var(--sched-text-muted,#64748b);margin:0 0 16px;font-size:13px;line-height:1.45}.meet-link-empty{color:var(--sched-text-muted,#64748b);margin:0;font-size:13px}.meet-link-form{flex-direction:column;gap:12px;display:flex}.meet-link-field{flex-direction:column;gap:4px;display:flex}.meet-link-label{color:var(--sched-text-muted,#64748b);font-size:12px;font-weight:500}.meet-link-select,.meet-link-input{border:1px solid var(--sched-border-color,#e2e8f0);color:var(--sched-text-main,#0f172a);background:#fff;border-radius:8px;padding:8px 10px;font-size:14px}.meet-link-select:focus,.meet-link-input:focus{outline:2px solid var(--sched-primary,#2563eb);outline-offset:1px}.meet-link-submit{color:#fff;background:var(--sched-primary,#2563eb);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:10px 14px;font-size:14px;font-weight:600}.meet-link-submit:disabled{opacity:.55;cursor:not-allowed}.meet-link-submit:not(:disabled):hover{filter:brightness(1.05)}.meet-link-error{color:#b91c1c;margin:12px 0 0;font-size:13px}.meet-link-result{border-top:1px solid var(--sched-border-color,#e2e8f0);margin-top:16px;padding-top:16px}.meet-link-result-label{color:var(--sched-text-main,#0f172a);margin:0 0 8px;font-size:12px;font-weight:600}.meet-link-url-row{align-items:stretch;gap:8px;display:flex}.meet-link-url-input{border:1px solid var(--sched-border-color,#e2e8f0);min-width:0;color:var(--sched-text-main,#0f172a);background:#fff;border-radius:8px;flex:1;padding:8px 10px;font-size:12px}.meet-link-copy{color:var(--sched-primary,#2563eb);border:1px solid var(--sched-primary,#2563eb);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:600}.meet-link-copy:hover{background:#eff6ff}.meet-link-copy-hint{color:var(--sched-text-muted,#64748b);margin:8px 0 0;font-size:12px}.meet-link-meta{color:var(--sched-text-muted,#64748b);margin:10px 0 0;font-size:12px}.rcw-grid{grid-template-columns:70px repeat(7,1fr);gap:6px;display:grid}.rcw-row{display:contents}.rcw-time{color:#6b7280;padding-top:4px;font-size:12px}.rcw-day-header{padding:6px 0;font-weight:600}.rcw-corner{height:30px}.rcw-cell{background:#fff;border:1px solid #eef2f7;border-radius:6px;height:18px}.rcw-cell.availability{background:#10b9811a;border-color:#10b98133}.rcw-cell.busy{background:#6b728040;border-color:#6b728059}.rcw-legend{color:#6b7280;align-items:center;gap:14px;margin-top:10px;font-size:13px;display:flex}.dot{border-radius:999px;width:10px;height:10px;margin-right:6px;display:inline-block}.dot.avail{background:#10b9818c}.dot.busy{background:#6b72808c}.rcw-toolbar{align-items:center;gap:8px;display:flex}.rcw-btn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}.rcw-error{color:#991b1b;background:#ef444414;border:1px solid #ef444459;border-radius:10px;margin:10px 0;padding:10px 12px}.tca-panel{gap:16px;display:grid}.tca-panel__loading,.tca-panel__error,.tca-panel__empty{border-radius:10px;padding:12px;font-size:.9rem}.tca-panel__error{color:#b42318;background:#fff1f1;border:1px solid #f4c7c7}.tca-panel__toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tca-panel__toolbar label{color:var(--gray-600);align-items:center;gap:8px;font-size:.85rem;display:flex}.tca-panel__select{border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:6px 10px;font-size:.85rem}.tca-panel__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.tca-panel__metric{border:1px solid var(--gray-200);background:#fafafa;border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.tca-panel__metric span{color:var(--gray-600);font-size:.82rem}.tca-panel__metric strong{font-size:1.05rem}.tca-panel__metric small{color:var(--gray-500);font-size:.75rem}.tca-panel__topics{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:12px}.tca-panel__topics h4{margin:0 0 10px;font-size:.95rem}.tca-panel__topic-list{gap:8px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.tca-panel__topic-item{border:1px solid var(--gray-100);border-radius:8px;padding:8px 10px;font-size:.85rem}.tca-panel__topic-item p{color:var(--gray-800);margin:0}.tca-panel__topic-meta{color:var(--gray-500);margin-top:4px;font-size:.72rem}.tca-panel__load-more{border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:8px;margin-top:10px;padding:8px 14px;font-size:.85rem}.tca-panel__load-more:disabled{opacity:.6;cursor:default}.tca-panel__last{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:12px}.tca-panel__last h4{margin:0 0 8px;font-size:.95rem}.tca-panel__last-subheading{margin-top:16px}.tca-panel__last dl{gap:6px;margin:0;font-size:.85rem;display:grid}.tca-panel__last dt{color:var(--gray-600);font-size:.78rem;font-weight:600}.tca-panel__last dd{margin:0}.tca-panel__pill-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tca-panel__pill{background:var(--gray-100);color:var(--gray-700);border-radius:999px;padding:4px 8px;font-size:.78rem}.tca-panel__hw-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.82rem}.tca-panel__hw-table th,.tca-panel__hw-table td{text-align:left;border-bottom:1px solid var(--gray-100);padding:8px}.tca-panel__hw-table th{color:var(--gray-600);font-size:.78rem;font-weight:600}@media(max-width:1024px){.tca-panel__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.tca-panel__metrics{grid-template-columns:1fr}}.course-hero{background-color:#2c3e50;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:16px;align-items:flex-end;width:100%;min-height:360px;margin-bottom:30px;transition:background-image .3s ease-in-out;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000026}.course-hero-overlay{z-index:1;background:linear-gradient(90deg,#000000d9,#0009,#0000004d);position:absolute;inset:0}.course-hero-content{z-index:2;justify-content:space-between;align-items:flex-end;width:100%;padding:40px;display:flex;position:relative}.course-hero-left{flex-direction:column;gap:16px;max-width:60%;display:flex}.course-hero-right{flex-direction:column;flex:1;justify-content:flex-end;max-width:380px;display:flex}.banner-upload-section{z-index:10;position:absolute;top:0;right:40px}.upload-banner-btn{-webkit-backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 4px 10px #0000001a}.upload-banner-btn:before{content:"📷";font-size:1.1em}.upload-banner-btn:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 6px 15px #00000026}.upload-banner-btn:active{transform:translateY(0)}.course-title{color:#fff;text-shadow:0 4px 8px #0000004d;margin:0;font-size:3rem;font-weight:800;line-height:1.1}.teacher-row{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;border:1px solid #ffffff26;border-radius:50px;align-items:center;gap:12px;width:fit-content;padding:6px 16px 6px 6px;display:flex}.teacher-avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;width:42px;height:42px}.teacher-info{flex-direction:column;line-height:1.2;display:flex}.teacher-name{color:#fff;font-size:.95rem;font-weight:700}.teacher-rating{color:#f1c40f;font-size:.8rem}.course-tags{flex-wrap:wrap;gap:8px;display:flex}.course-hero .tag{color:#fff;letter-spacing:.5px;text-transform:uppercase;background:#fff3;border:1px solid #ffffff26;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600}.approval-box{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:12px;flex-direction:column;gap:10px;padding:15px;display:flex;box-shadow:0 8px 32px #0000001a}.approval-comment{resize:none;color:#333;background:#ffffffe6;border:none;border-radius:8px;outline:none;width:100%;min-height:80px;padding:12px;font-family:inherit;font-size:.9rem;transition:background .2s}.approval-comment:focus{background:#fff;box-shadow:0 0 0 2px #f1c40f80}.approval-button{color:#2c3e50;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#f1c40f;border:none;border-radius:8px;padding:10px;font-size:.8rem;font-weight:700;transition:all .2s;box-shadow:0 4px 6px #0000001a}.approval-button:hover{background:#f39c12;transform:translateY(-1px);box-shadow:0 5px 10px #00000026}.approval-button:active{transform:translateY(0)}.announcements-page{padding:24px}.announcements-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.announcement-list{flex-direction:column;gap:16px;display:flex}.announcement-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.announcement-card.pinned{background:#f8fbff;border-left:4px solid #3b82f6}.announcement-top{justify-content:space-between;align-items:center;display:flex}.pin{color:#2563eb;font-size:12px}.announcement-body{white-space:pre-wrap;margin:12px 0}.announcement-footer{color:#6b7280;justify-content:space-between;font-size:13px;display:flex}.ann-actions{gap:8px;display:flex}.ann-primary-btn{color:#fff;background:#2563eb;border:none;border-radius:6px;padding:8px 14px}.ann-secondary-btn{background:#e5e7eb;border:none;border-radius:6px;padding:8px 12px}.ann-danger-btn{color:#b91c1c;background:#fee2e2;border:none;border-radius:6px;padding:8px 12px}.ann-modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ann-modal{background:#fff;border-radius:12px;flex-direction:column;gap:12px;width:420px;padding:24px;display:flex}.ann-modal input,.ann-modal textarea{border:1px solid #d1d5db;border-radius:6px;padding:8px}.ann-checkbox{align-items:center;gap:8px;display:flex}.ann-modal-actions{justify-content:flex-end;gap:12px;display:flex}.teacher-materials-page{color:#111827;max-width:1200px;margin:0 auto;padding:24px;font-family:system-ui,-apple-system,sans-serif}.materials-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.materials-header h2{margin:0;font-size:1.5rem;font-weight:700}.teacher-materials-page button{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:14px;line-height:1}.teacher-materials-page button:hover:not(:disabled){background:#f9fafb}.teacher-materials-page button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:#fff!important;background:#2563eb!important;border:1px solid #2563eb!important}.btn-primary:hover:not(:disabled){background:#1d4ed8!important}.status-error{color:#b91c1c;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;margin-bottom:16px;padding:12px;font-weight:500}.status-loading{text-align:center;color:#6b7280;padding:40px}.teacher-materials-page>div[role=alert]{color:#b91c1c;margin-bottom:12px}.create-doc-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 1px 3px #0000000f}.create-doc-panel h3{margin:0 0 14px;font-size:1.1rem}.create-doc-panel input[type=text],.create-doc-panel input[type=number],.create-doc-panel input[type=datetime-local],.create-doc-panel input[type=file],.create-doc-panel select,.create-doc-panel input:not([type]){box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;min-width:0;padding:9px 11px;font-size:14px}.create-doc-panel label{color:#374151;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.create-doc-panel>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.create-doc-panel>div>div{width:100%}.doc-workspace{grid-template-columns:1.6fr 1fr;gap:20px;height:80vh;margin-bottom:32px;display:grid}.pdf-container{background:#f3f4f6;border:1px solid #d1d5db;border-radius:12px;min-height:420px;position:relative;overflow:hidden}.preview-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.side-panel{height:100%;overflow-y:auto}.info-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.submissions-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:20px}.table-wrapper{overflow-x:auto}.teacher-materials-page table{border-collapse:collapse;background:#fff;width:100%;font-size:14px}.teacher-materials-page th{text-align:left;color:#4b5563;border-bottom:2px solid #f3f4f6;padding:12px;font-weight:700}.teacher-materials-page td{border-bottom:1px solid #f3f4f6;padding:12px}.document-list{flex-direction:column;gap:12px;display:flex}.document-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:16px;transition:transform .1s,box-shadow .1s;display:flex}.document-card:hover{box-shadow:0 4px 12px #0000000d}.doc-info strong{color:#111827;font-size:16px}.doc-subtext{color:#6b7280;margin-top:4px;font-size:12px}.doc-warning{color:#dc2626;margin-top:4px;font-size:12px;font-weight:500}.action-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.document-card label{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;padding:7px 12px;font-size:14px;display:inline-flex}.document-card label:hover{background:#f9fafb}.btn-file-label{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px}.btn-file-label:hover{background:#f9fafb}.btn-delete{color:#dc2626!important}.hidden-input{display:none}@media(max-width:980px){.doc-workspace{grid-template-columns:1fr;height:auto}.side-panel{max-height:420px}.document-card{flex-direction:column;align-items:flex-start}.action-group{justify-content:flex-start}}:root{--ll-bg-dark:#0a0e14;--ll-bg-panel:#131920;--ll-bg-card:#1a2028;--ll-border:#2a3441;--ll-text:#e6edf3;--ll-text-muted:#7d8590;--ll-accent:#3b82f6;--ll-accent-glow:#3b82f640;--ll-success:#22c55e;--ll-danger:#ef4444;--ll-radius:12px;--ll-radius-lg:16px}.live-lecture-wrapper{background:var(--ll-bg-dark);box-sizing:border-box;width:100%;min-height:100vh;padding-top:0}.live-lecture-page{background:var(--ll-bg-dark);box-sizing:border-box;gap:16px;width:100%;height:100vh;padding:16px;display:flex}.lecture-stage{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex;overflow:hidden}.peer-screenshare-area{background:var(--ll-bg-panel);border-radius:var(--ll-radius-lg);border:1px solid var(--ll-border);display:none;overflow:hidden;box-shadow:0 8px 32px #0006}.peer-screenshare-area.active{flex:1;min-height:400px;display:flex}.peer-screenshare-player{border-radius:var(--ll-radius);background:#000;width:100%;height:100%}.peers-grid{background:var(--ll-bg-panel);border-radius:var(--ll-radius-lg);border:1px solid var(--ll-border);flex:1;justify-content:center;align-items:center;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.peers-grid.minimized{flex:0 0 140px;min-height:140px}.peers-container{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-content:center;justify-items:center;gap:16px;width:100%;height:100%;padding:16px;display:grid}.peers-grid.minimized .peers-container{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:8px}.peer-video{aspect-ratio:16/9;background:linear-gradient(145deg,var(--ll-bg-card),var(--ll-bg-dark));border-radius:var(--ll-radius);border:2px solid var(--ll-border);width:100%;max-width:560px;transition:all .2s;overflow:hidden;box-shadow:0 4px 16px #0000004d}.peer-video:hover{border-color:var(--ll-accent);box-shadow:0 8px 24px #0006,0 0 12px var(--ll-accent-glow);z-index:2}.peer-video.speaking{border-color:var(--ll-success);animation:1.5s ease-in-out infinite speaker-pulse;box-shadow:0 0 20px #22c55e80,0 0 40px #22c55e33}@keyframes speaker-pulse{0%,to{box-shadow:0 0 20px #22c55e80,0 0 40px #22c55e33}50%{box-shadow:0 0 30px #22c55eb3,0 0 60px #22c55e4d}}.peers-grid.minimized .peer-video{aspect-ratio:4/3;max-width:180px}.lecture-sidebar{flex-direction:column;flex-shrink:0;gap:12px;width:320px;display:flex}.self-video-wrapper{aspect-ratio:4/3;background:linear-gradient(145deg,var(--ll-bg-card),var(--ll-bg-panel));border-radius:var(--ll-radius-lg);border:2px solid var(--ll-accent);width:100%;box-shadow:0 8px 24px #0006,0 0 20px var(--ll-accent-glow);position:relative;overflow:hidden}.self-video-container{background:#000;width:100%;height:100%}.self-video{object-fit:cover;width:100%;height:100%}.self-screenshare-preview{aspect-ratio:16/9;background:linear-gradient(145deg,var(--ll-bg-card),var(--ll-bg-panel));border-radius:var(--ll-radius);border:2px solid var(--ll-success);width:100%;display:none;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000004d,0 0 16px #22c55e33}.self-screenshare-preview.active{display:block}.preview-label{background:var(--ll-success);color:#fff;z-index:10;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px}.self-screenshare-video{object-fit:contain;background:#000;width:100%;height:100%}.peers-container:empty:after{content:"Waiting for participants...";color:var(--ll-text-muted);text-align:center;padding:40px;font-size:14px;font-weight:500}.self-video-wrapper .video-off-placeholder{z-index:5;position:absolute;inset:0}.self-video-wrapper.video-off .self-label{z-index:10}.peer-video.video-off-placeholder{position:relative}.peers-grid.minimized .peer-video.video-off-placeholder .video-off-avatar{width:40px;height:40px;font-size:14px}.peers-grid.minimized .peer-video.video-off-placeholder .video-off-name{font-size:10px}.peers-grid.speaker-strip .peer-video.speaker-main.video-off-placeholder .video-off-avatar{width:100px;height:100px;font-size:36px}.peers-grid.speaker-strip .peer-video.speaker-main.video-off-placeholder .video-off-name{font-size:18px}.peers-grid.speaker-strip{flex-direction:column;gap:12px;display:flex}.peers-grid.speaker-strip .peers-container{flex-wrap:wrap;place-content:flex-start center;align-items:flex-start;gap:12px;padding:12px;display:flex}.peers-grid.speaker-strip .peer-video.speaker-main{aspect-ratio:16/9;border-color:var(--ll-accent);width:100%;max-width:100%;min-height:400px;box-shadow:0 8px 32px #0006,0 0 20px var(--ll-accent-glow);flex:100%;order:-1}.peers-grid.speaker-strip .peer-video:not(.speaker-main){aspect-ratio:4/3;flex:none;order:0;min-width:140px;max-width:180px}.peers-grid.speaker-strip .peer-video.speaker-main.speaking{border-color:var(--ll-success);box-shadow:0 0 24px #22c55e80,0 0 48px #22c55e40}.peer-video.speaker-main:after{content:"Speaker";color:var(--ll-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px;z-index:10;background:#000000bf;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;position:absolute;bottom:12px;left:12px}.peers-grid,.peers-container,.peer-video{transition:all .3s}.peer-video video,.peer-video canvas,.peer-video video-player{object-fit:cover;width:100%;height:100%;transition:all .3s}.peer-video *{transition:width .3s,height .3s,transform .3s}.peers-pagination{background:#0000004d;border-radius:8px;justify-content:center;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.pagination-btn{background:var(--ll-bg-card,#1a2028);width:36px;height:36px;color:var(--ll-text,#e6edf3);cursor:pointer;border:none;border:1px solid var(--ll-border,#2a3441);border-radius:8px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background:var(--ll-accent,#3b82f6);border-color:var(--ll-accent,#3b82f6)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:var(--ll-text-muted,#7d8590);text-align:center;min-width:60px;font-size:14px;font-weight:500}.self-video-wrapper .video-label,.self-video-wrapper.video-off .video-label{z-index:10}@media(max-width:1024px){.live-lecture-page{flex-direction:column}.lecture-sidebar{flex-flow:wrap;gap:12px;width:100%}.self-video-wrapper,.self-screenshare-preview{flex-shrink:0;width:200px}}@media(max-width:640px){.live-lecture-page{gap:8px;padding:8px}.lecture-sidebar{flex-direction:column}.self-video-wrapper,.self-screenshare-preview{width:100%}.peers-container{grid-template-columns:1fr}.peers-grid.speaker-strip .peer-video.speaker-main{min-height:250px}.peers-grid.speaker-strip .peer-video:not(.speaker-main){min-width:100px;max-width:120px}}.course-page{width:100%;max-width:1250px;margin:0 auto;padding:30px 20px}.tag{color:#5a61ff;background:#f0f3ff;border-radius:8px;padding:6px 12px;font-size:12px}.course-tabs{border-bottom:1px solid #e5e5e5;gap:32px;margin-bottom:30px;display:flex}.course-tab-item{cursor:pointer;padding:10px 4px;font-weight:500}.course-tab-item.active{color:#5a61ff;border-bottom:3px solid #5a61ff}.course-section{background:#fff;border:1px solid #ececec;border-radius:12px;margin-bottom:50px;padding:24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.edit-btn{color:#fff;cursor:pointer;background:#5a61ff;border:none;border-radius:8px;padding:8px 14px}.info-grid{grid-template-columns:repeat(2,1fr);gap:20px 30px;display:grid}.syllabus-week{border:1px solid #e6e6e6;border-radius:8px;margin-bottom:10px}.syllabus-week-header{background:#f9faff;border-bottom:1px solid #eee;justify-content:space-between;padding:14px 18px;font-weight:600;display:flex}.syllabus-item{justify-content:space-between;padding:6px 0;display:flex}.schedule-grid{grid-template-columns:repeat(7,1fr);gap:16px;display:grid}.schedule-day h4{margin-bottom:12px}.schedule-block{background:#f3f6ff;border-radius:8px;justify-content:space-between;margin-bottom:6px;padding:8px}.edit-actions{align-items:center;gap:12px;display:flex}.cancel-btn,.save-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;height:44px;padding:0 20px;font-size:15px;font-weight:500;line-height:1;display:flex}.cancel-btn{color:#222;background:#ececec}.save-btn{color:#fff;background:#4a6cf7}.info-edit-form{flex-direction:column;gap:20px;display:flex}.form-field{flex-direction:column;gap:6px;font-size:14px;display:flex}.form-field input,.form-field textarea,.form-field select{border:1px solid #dcdcdc;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.syllabus-loading-banner{color:#b26b00;background:#fff7e6;border-radius:6px;margin-bottom:10px;padding:8px 12px;font-size:13px}.syllabus-week{background:#fafafa;border:1px solid #ececec;border-radius:10px;margin-bottom:12px;overflow:hidden}.syllabus-week-header{cursor:pointer;justify-content:space-between;padding:10px 14px;font-weight:600;display:flex}.syllabus-items{padding:8px 10px 12px}.syllabus-item{background:#fff;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 8px;display:flex}.syllabus-item-actions{gap:6px;display:flex}.icon-btn{cursor:pointer;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:2px 6px;font-size:11px}.icon-btn:disabled{opacity:.4;cursor:default}.remove-btn{color:#c53030;cursor:pointer;background:#ffe6e6;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.modal-backdrop{z-index:40;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:900px;max-width:95vw;padding:16px 18px 14px;box-shadow:0 20px 40px #00000040}.modal-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-close{cursor:pointer;background:0 0;border:none;font-size:18px}.modal-body{grid-template-columns:2fr 2fr 1fr;gap:12px;margin-bottom:12px;display:grid}.modal-column h4{margin-bottom:6px}.modal-list{border:1px solid #eee;border-radius:6px;max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.modal-list-item{cursor:pointer;padding:6px 8px;font-size:14px}.modal-list-item:hover{background:#f0f3ff}.modal-list-item.selected{background:#e1e5ff;font-weight:600}.week-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:6px 8px}.modal-footer{justify-content:flex-end;gap:8px;display:flex}.primary-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:8px 14px;font-weight:500}.secondary-btn{color:#111827;cursor:pointer;background:#f3f4f6;border:none;border-radius:6px;padding:8px 14px}.syllabus-week{border:1px solid #eee;border-radius:10px;margin-bottom:14px;overflow:hidden}.syllabus-week-header{cursor:pointer;background:#f8f9fe;justify-content:space-between;padding:12px 16px;font-weight:600;display:flex}.syllabus-items-section{gap:20px;padding:16px;display:flex}.unit-picker,.subunit-picker,.current-items{flex:1}.unit-list,.subunit-list{border:1px solid #eee;border-radius:8px;flex:1;max-height:320px;padding:8px;overflow-y:auto}.unit-item,.subunit-item{cursor:pointer;border-radius:6px;margin-bottom:4px;padding:8px 10px}.unit-item:hover,.subunit-item:hover{background:#eef1ff}.unit-item.active,.subunit-item.selected{background:#dfe3ff;font-weight:600}.syllabus-item{background:#fff;border-radius:6px;justify-content:space-between;margin-bottom:6px;padding:8px 10px;display:flex}.syllabus-actions button{margin-left:4px}.modal.small{width:360px}.primary-btn,.secondary-btn,.remove-btn{cursor:pointer;border-radius:6px;padding:6px 12px}.move-btn{color:#4f46e5;cursor:pointer;background:#f3f4ff;border:1px solid #d8d8ff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:all .15s;display:flex}.move-btn:hover{background:#e7e8ff;border-color:#b8b8ff}.move-btn:active{background:#d9d9ff}.remove-btn{color:#d64545;cursor:pointer;background:#ffe6e6;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s}.remove-btn:hover{background:#ffd2d2}.remove-btn:active{background:#ffbaba}.week-move-select{cursor:pointer;background:#fff;border:1px solid #dcdcdc;border-radius:6px;outline:none;padding:6px 10px;font-size:13px;transition:border .15s}.week-mmove-select:hover,.week-mmove-select:focus{border-color:#4f46e5}.syllabus-actions{align-items:center;gap:6px;display:flex}.syllabus-col{background:#fff;border:1px solid #ececec;border-radius:10px;flex-direction:column;height:100%;padding:16px;display:flex}.add-week-btn{justify-self:flex-end;width:100%;margin-top:12px}.row-actions{align-items:center;gap:8px;display:flex}.syllabus-actions-top{align-items:center;gap:12px;display:flex}.toggle-btn,.delete-btn,.week-delete-btn{color:#4b52dd;cursor:pointer;background:#e8e9ff;border:none;border-radius:8px;padding:8px 14px;font-weight:500}.expand-icon{padding:8px 14px}.collapse-icon{cursor:pointer;margin-left:6px;font-size:20px;font-weight:700;display:inline-block}.view-subunits-tree{border-left:2px solid #eee;margin-left:12px;padding-left:12px}.subunit-tree-header{cursor:pointer;justify-content:space-between;padding:4px 0;font-weight:500;display:flex}.outcomes-list{margin-top:4px;margin-left:16px;padding:0;list-style:none}.outcome-item{padding:2px 0}.outcome-empty{opacity:.6;font-style:italic}.syllabus-grid{grid-gap:24px;display:grid}.syllabus-grid.edit-mode{grid-template-columns:1fr 1fr 1fr}.syllabus-grid.view-mode{grid-template-columns:1fr!important}.view-subunits-tree,.unit-group,.subunit-tree-block{width:100%}.unit-group-title{padding:8px 14px;font-size:20px}.schedule-add-row{gap:10px;margin-bottom:20px;display:flex}.schedule-add-panel{background:#f9f9ff;border:1px solid #ececec;border-radius:10px;margin-bottom:20px;padding:16px}.schedule-add-row{align-items:center;gap:12px;display:flex}.schedule-add-row select,.schedule-add-row input[type=time]{border:1px solid #ddd;border-radius:6px;padding:6px 10px}.schedule-editor-panel{background:#f8f9ff;border:1px solid #e3e3ff;border-radius:12px;margin-bottom:20px;padding:16px}.schedule-editor-row label{flex-direction:column;font-size:14px;display:flex}.schedule-actions{gap:6px;margin-left:auto;display:flex}.icon-btn{cursor:pointer;background:#fff;border:1px solid #dcdcec;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:14px;transition:all .15s;display:flex}.icon-btn:hover{background:#eef1ff;border-color:#b8b8ff}.icon-btn.edit{color:#4a6cf7}.icon-btn.delete{color:#d64545}.schedule-block{background:#eef2ff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px;display:flex}.schedule-block.active-edit{border:2px solid #4a6cf7}.schedule-editor-panel{background-color:#f9f9f9;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:15px}.schedule-editor-row{align-items:flex-end;gap:15px;display:flex}.form-field-group{flex-direction:column;gap:5px;display:flex}.form-field-group label{color:#555;font-size:.85rem;font-weight:600}.schedule-select{border:1px solid #ccc;border-radius:4px;min-width:100px;padding:8px}.schedule-block{background:#fff;border:1px solid #eee;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex;box-shadow:0 1px 3px #0000000d}.schedule-block.active-edit{background-color:#e3f2fd;border-color:#2196f3}.block-time{color:#333;font-weight:600}.schedule-actions{gap:5px;display:flex}.icon-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:1.1rem;transition:opacity .2s}.icon-btn:hover{opacity:1}.course-tab-badge{color:#fff;vertical-align:middle;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}:root{--lect-bg:#f6f7fb;--lect-panel:#fff;--lect-text:#0f172a;--lect-muted:#64748b;--lect-border:#0f172a14;--lect-shadow:0 10px 30px #0f172a14;--lect-shadow-soft:0 6px 18px #0f172a0f;--lect-radius-lg:18px;--lect-radius-md:14px;--lect-radius-sm:12px;--lect-blue:#3b82f6;--lect-blue-weak:#3b82f61f;--lect-green:#22c55e;--lect-green-weak:#22c55e1f;--lect-amber:#f59e0b;--lect-amber-weak:#f59e0b24;--lect-red:#ef4444;--lect-red-weak:#ef44441f;--lect-purple:#8b5cf6;--lect-purple-weak:#8b5cf61f;--lect-gray-weak:#94a3b81f;--lect-ring:0 0 0 4px #3b82f624}.my-lectures-page.v2{background:radial-gradient(1200px 600px at 12% -10%,#3b82f633,transparent 60%),radial-gradient(900px 480px at 88% 0%,#8b5cf62e,transparent 55%),var(--lect-bg);min-height:calc(100vh - 80px);color:var(--lect-text);font-family:var(--app-font);flex-direction:column;gap:18px;padding:28px;display:flex}.ml-btn{border:1px solid var(--lect-border);cursor:pointer;height:38px;color:var(--lect-text);background:#fffffff2;border-radius:12px;padding:0 14px;font-size:13px;transition:transform 80ms,box-shadow 80ms,background 80ms;box-shadow:0 1px #0f172a0a}.ml-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a1a}.ml-btn:disabled{opacity:.6;cursor:not-allowed}.ml-btn.primary{background:linear-gradient(135deg,#3b82f629,#8b5cf61f);border-color:#3b82f64d}.ml-section{border:1px solid var(--lect-border);border-radius:var(--lect-radius-lg);box-shadow:var(--lect-shadow);background:#fff;padding:16px}.ml-section-head{border-bottom:1px solid #0f172a0f;grid-template-columns:1fr auto;align-items:start;gap:12px;margin-bottom:12px;padding-bottom:12px;display:grid}.ml-section-head h3{letter-spacing:-.01em;margin:0;font-size:16px}.ml-section-head p{color:var(--lect-muted);margin:6px 0 0;font-size:12.5px;line-height:1.4}.ml-section-actions{align-items:center;gap:10px;display:flex}.ml-count{letter-spacing:-.01em;background:#0f172a0a;border:1px solid #0f172a0f;border-radius:999px;justify-content:center;align-items:center;min-width:40px;height:34px;font-weight:700;display:inline-flex}.ml-subsection{margin-top:14px}.ml-subhead{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.ml-subhead h4{color:#0f172adb;letter-spacing:-.01em;margin:0;font-size:13.5px}.ml-subcount{color:var(--lect-muted);background:#0f172a08;border:1px solid #0f172a14;border-radius:999px;padding:4px 10px;font-size:12px}.ml-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media(max-width:1100px){.ml-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.header-section,.ml-grid{grid-template-columns:1fr}}.ml-card{border-radius:var(--lect-radius-md);cursor:pointer;background:#eef6fa;border:1px solid #0f172a14;padding:12px;position:relative;overflow:hidden}.ml-card:before{content:"";opacity:.6;pointer-events:none;background:radial-gradient(600px 200px at 10% 10%,#3b82f61a,#0000 55%),radial-gradient(600px 200px at 90% 0,#8b5cf61a,#0000 55%);position:absolute;inset:-2px}.ml-card:hover{box-shadow:var(--lect-shadow);border-color:#3b82f638;transform:translateY(-2px)}.ml-card:active{transform:translateY(-1px)}.ml-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:relative}.ml-card-title{letter-spacing:-.01em;font-size:14px;font-weight:500;line-height:1.25;position:relative}.ml-card-sub{color:var(--lect-muted);margin-top:6px;font-size:12.5px;position:relative}.ml-card-foot{justify-content:space-between;align-items:center;margin-top:10px;display:flex;position:relative}.ml-card-hint{color:#64748be6;font-size:12px}.ml-card-student-info{align-items:center;gap:10px;min-width:0;display:flex}.ml-card-avatar{object-fit:cover;border:2px solid #3b82f62e;border-radius:50%;flex-shrink:0;width:36px;height:36px}.ml-card-avatar-placeholder{width:36px;height:36px;color:var(--lect-text);background:linear-gradient(135deg,#3b82f62e,#8b5cf624);border:2px solid #3b82f61f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.ml-card-details{color:var(--lect-muted);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;display:flex;position:relative}.ml-card-next-lesson{color:var(--lect-blue);font-size:12px;font-weight:500}.ml-filter-tabs{background:#0f172a08;border:1px solid #0f172a0f;border-radius:12px;gap:6px;margin-bottom:14px;padding:4px;display:flex}.ml-filter-tab{cursor:pointer;height:38px;color:var(--lect-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.ml-filter-tab:hover{color:var(--lect-text);background:#fff9}.ml-filter-tab.active{color:var(--lect-text);background:#fffffff2;border-color:#0f172a14;box-shadow:0 1px 3px #0f172a0f}.ml-filter-count{background:#0f172a0f;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600}.ml-filter-tab.active .ml-filter-count{background:var(--lect-blue-weak);color:var(--lect-blue)}@media(max-width:600px){.ml-filter-tabs{flex-direction:column}.ml-filter-tab{height:34px;font-size:12.5px}}.badge{white-space:nowrap;letter-spacing:-.01em;background:#0f172a0a;border:1px solid #0f172a14;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:650;position:relative}.badge.green{background:var(--lect-green-weak);color:#166534;border-color:#22c55e40}.badge.amber{background:var(--lect-amber-weak);color:#92400e;border-color:#f59e0b40}.badge.blue{background:var(--lect-blue-weak);color:#1e40af;border-color:#3b82f640}.badge.gray{background:var(--lect-gray-weak);color:#475569;border-color:#94a3b840}.badge.red{background:var(--lect-red-weak);color:#991b1b;border-color:#ef444440}.badge.purple{background:var(--lect-purple-weak);color:#4c1d95;border-color:#8b5cf640}.ml-empty{color:var(--lect-muted);border-radius:var(--lect-radius-md);background:#e7eff3;border:1px dashed #96f4cb24;padding:14px 12px;font-size:12.5px}.ml-calendar-wrap{min-width:0;margin-top:10px}.ml-calendar-wrap .cal-container{border-radius:var(--lect-radius-lg);box-shadow:var(--lect-shadow-soft);background:#cbdce5;border:1px solid #0f172a14}.ml-card:focus-visible,.ml-btn:focus-visible{box-shadow:var(--lect-ring);outline:none}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:500}.published-page,.unpublished-page{width:100%;padding:30px}.published-header,.unpublished-header{justify-content:space-between;align-items:center;margin-top:25px;display:flex}.create-btn{color:#fff;cursor:pointer;background:#6a5acd;border:none;border-radius:6px;padding:8px 14px}.create-btn:hover{background:#5847d1}.published-course-list,.unpublished-course-list{margin-top:20px}.empty-state{text-align:center;color:#777;padding:20px}.loading{text-align:center;padding:20px}.landing-root{color:#111827;width:100%;margin:0;padding:0;font-family:Inter,system-ui,sans-serif}.landing-root .btn-primary{color:#fff;cursor:pointer;background-color:#6366f1;border:none;border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:600;transition:background .2s}.landing-root .btn-primary:hover{background-color:#4f46e5}.landing-root .btn-secondary{color:#4f46e5;cursor:pointer;background-color:#fff;border:2px solid #6366f1;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .2s}.landing-root .btn-secondary:hover{background-color:#f3f4f6}.landing-root .hero{background:#f9fafb;justify-content:space-between;align-items:center;padding:80px 90px;display:flex}.landing-root .hero-content{max-width:480px}.landing-root .hero-title{margin-bottom:18px;font-size:2.8rem;font-weight:800;line-height:1.2}.landing-root .hero-subtitle{color:#4b5563;margin-bottom:32px;font-size:1.1rem}.landing-root .hero-buttons{gap:16px;display:flex}.landing-root .hero-image img{border-radius:12px;width:520px;box-shadow:0 8px 28px #00000014}.landing-root .features{text-align:center;padding:90px 60px}.landing-root .section-title{margin-bottom:60px;font-size:2rem;font-weight:700}.landing-root .features-grid{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}.landing-root .feature-card{background:#fff;border-radius:16px;padding:26px 20px;transition:transform .2s;box-shadow:0 4px 12px #0000000f}.landing-root .feature-card:hover{transform:translateY(-4px)}.landing-root .feature-icon{margin-bottom:12px;font-size:2rem}.landing-root .testimonials{background:#f9fafb;padding:90px 60px}.landing-root .testimonials-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.landing-root .testimonial-card{background:#fff;border-radius:16px;padding:26px;box-shadow:0 4px 12px #0000000f}.landing-root .testimonial-card h4{font-size:1.1rem;font-weight:700}.landing-root .role{color:#6b7280;margin-bottom:8px;font-size:.9rem;display:block}.landing-root .stars{color:#fbbf24;gap:4px;margin-bottom:12px;display:flex}.landing-root .testimonial-card p{color:#374151;line-height:1.5}.landing-root .cta{text-align:center;padding:100px 60px}.landing-root .cta h2{margin-bottom:16px;font-size:2rem;font-weight:700}.landing-root .cta p{color:#4b5563;margin-bottom:30px;font-size:1.1rem}.landing-root .footer{color:#6b7280;background:#fff;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:40px 60px;font-size:.9rem;display:flex}.landing-root .footer-links{gap:24px;display:flex}.landing-root .footer-links a{cursor:pointer;transition:color .2s}.landing-root .footer-links a:hover{color:#4f46e5}@media(max-width:1024px){.landing-root .hero{text-align:center;flex-direction:column;gap:40px}.landing-root .hero-content{max-width:100%}.landing-root .features-grid{grid-template-columns:repeat(2,1fr)}.landing-root .testimonials-grid{grid-template-columns:1fr}}@media(max-width:640px){.landing-root .features-grid{grid-template-columns:1fr}}.schedule-page{--sched-primary:#2563eb;--sched-bg-subtle:#f8fafc;--sched-border-color:#e2e8f0;--sched-text-main:#0f172a;--sched-text-muted:#64748b;--sched-radius:12px;max-width:1200px;margin:0 auto;padding:32px 24px;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif}.schedule-header{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.schedule-page .page-title{color:var(--sched-text-main);letter-spacing:-.5px;margin:0 0 6px;font-size:24px;font-weight:700}.schedule-page .page-subtitle{color:var(--sched-text-muted);max-width:52rem;margin:0;font-size:14px;line-height:1.5}.schedule-content{border:1px solid var(--sched-border-color);border-radius:var(--sched-radius);background:#fff;min-height:320px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.schedule-section{padding:20px 24px}.schedule-section--edit{border-bottom:1px solid var(--sched-border-color);background:var(--sched-bg-subtle)}.schedule-section--view{padding-top:24px}.schedule-section--unified{padding-top:20px}.schedule-split{align-items:stretch;gap:16px;display:flex}.schedule-left{flex:1;min-width:0}.schedule-left .cal-container--schedule-unified{--slot-height:22px;min-height:min(82vh,920px);max-height:none}.schedule-right{flex-direction:column;flex-shrink:0;align-self:stretch;gap:12px;width:260px;min-width:220px;max-width:280px;min-height:0;display:flex}.schedule-right .lrw{flex:1;min-height:0}.schedule-right .lrw-header{flex-direction:column;align-items:stretch}.schedule-right .lrw-refresh{align-self:flex-end}.schedule-right .meet-link-panel,.schedule-right .meet-link-form{font-size:13px}.schedule-right .meet-link-title{font-size:15px}.schedule-right .meet-link-desc{font-size:12px;line-height:1.45}.schedule-right .meet-link-field .meet-link-label{font-size:12px}.schedule-right .meet-link-select,.schedule-right .meet-link-input{padding:6px 10px;font-size:13px}.schedule-right .meet-link-submit{padding:8px 12px;font-size:13px}.cal-legend--wrap{flex-wrap:wrap;gap:8px 20px}@media(max-width:960px){.schedule-split{flex-direction:column}.schedule-right{width:100%;min-width:0;max-width:none}.schedule-left .cal-container--schedule-unified{min-height:60vh}}.tm-modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tm-modal{background:#fff;border-radius:12px;width:90%;max-width:1100px;overflow:hidden;box-shadow:0 20px 60px #0003}.tm-modal.wide{max-width:1100px}.tm-modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.tm-modal-header h3{margin:0;font-size:18px}.tm-icon-btn{cursor:pointer;background:0 0;border:none;font-size:20px}.tm-loading,.tm-empty{text-align:center;color:#666;padding:40px}.tm-table{border-collapse:collapse;width:100%}.tm-table th,.tm-table td{text-align:left;border-bottom:1px solid #f0f0f0;padding:12px 14px;font-size:14px}.tm-table th{background:#fafafa;font-weight:600}.tm-mono{font-family:monospace}.tm-badge{border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500}.tm-badge.success{color:#0f7a45;background:#e7f7ef}.tm-badge.muted{color:#666;background:#eee}.mat-page{color:#1f2937;max-width:1120px;min-height:100vh;margin:0 auto;padding:32px 24px 48px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.mat-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.mat-header__left{flex-direction:column;gap:4px;display:flex}.mat-header__title{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.mat-header__subtitle{color:#6b7280;margin:0;font-size:.8125rem}.mat-btn{cursor:pointer;color:#374151;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.mat-btn:hover{background:#f9fafb;border-color:#9ca3af}.mat-btn:disabled{opacity:.5;cursor:not-allowed}.mat-btn--primary{background:var(--primary,#4f46e5);border-color:var(--primary,#4f46e5);color:#fff}.mat-btn--primary:hover:not(:disabled){background:var(--primary-dark,#4338ca);border-color:var(--primary-dark,#4338ca)}.mat-btn--ghost{color:#6b7280;background:0 0;border-color:#0000}.mat-btn--ghost:hover{color:#374151;background:#f3f4f6}.mat-btn--outline{color:#374151;background:#fff;border-color:#d1d5db}.mat-btn--outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.mat-btn--sm{border-radius:6px;padding:4px 10px;font-size:.75rem}.mat-btn--danger-ghost{color:#9ca3af;background:0 0;border-color:#0000;padding:4px 10px;font-size:.75rem}.mat-btn--danger-ghost:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.mat-btn--file-label{cursor:pointer}.mat-alert{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.875rem}.mat-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.mat-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;font-size:.875rem;display:flex}.mat-loading--inline{padding:32px 20px}.mat-spinner{border:3px solid #e5e7eb;border-top-color:var(--primary,#4f46e5);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite mat-spin}@keyframes mat-spin{to{transform:rotate(360deg)}}.mat-empty{text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:64px 24px}.mat-empty__icon{color:#9ca3af;margin-bottom:12px}.mat-empty__text{color:#374151;margin:0 0 4px;font-size:1rem;font-weight:600}.mat-empty__hint{color:#9ca3af;margin:0;font-size:.8125rem}.mat-empty-text{color:#9ca3af;text-align:center;padding:20px 0;font-size:.875rem}.mat-upload-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 1px 3px #0000000f}.mat-upload-card__title{color:#111827;margin:0 0 16px;font-size:1.0625rem;font-weight:700}.mat-upload-card__drop-zone{margin-bottom:16px}.mat-upload-card__file-input{opacity:0;width:0;height:0;position:absolute}.mat-upload-card__file-label{cursor:pointer;color:#6b7280;border:2px dashed #d1d5db;border-radius:10px;justify-content:center;align-items:center;padding:24px;font-size:.875rem;transition:border-color .15s,background .15s;display:flex}.mat-upload-card__file-label:hover{border-color:var(--primary,#4f46e5);background:#f5f3ff}.mat-upload-card__file-name{color:#111827;font-weight:600}.mat-upload-card__actions{gap:8px;margin-top:16px;display:flex}.mat-form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.mat-form-field{flex-direction:column;gap:5px;display:flex}.mat-form-field--full{grid-column:1/-1}.mat-form-field__label{color:#374151;font-size:.8125rem;font-weight:600}.mat-input{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.mat-input:focus{border-color:var(--primary,#4f46e5);outline:none;box-shadow:0 0 0 3px #4f46e51a}.mat-course-picker{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;margin-top:4px;padding:14px}.mat-course-picker__label{color:#374151;margin:0 0 10px;font-size:.8125rem;font-weight:600}.mat-course-picker__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.mat-course-picker__item{color:#374151;cursor:pointer;align-items:center;gap:8px;font-size:.8125rem;display:flex}.mat-course-picker__item input[type=checkbox]{accent-color:var(--primary,#4f46e5)}.mat-list{flex-direction:column;gap:2px;display:flex}.mat-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:box-shadow .15s,border-color .15s;overflow:hidden}.mat-row:hover{border-color:#c7d2fe;box-shadow:0 2px 8px #0000000a}.mat-row--expanded{border-color:#c7d2fe}.mat-row__main{align-items:center;gap:14px;min-height:56px;padding:12px 16px;display:flex}.mat-row__file-badge{width:40px;height:40px;color:var(--primary,#4f46e5);letter-spacing:.03em;background:#eef2ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;font-weight:800;display:flex}.mat-row__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mat-row__filename{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.mat-row__meta{color:#9ca3af;font-size:.75rem}.mat-row__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.mat-row__toggle{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .15s,background .15s;display:flex}.mat-row__toggle:hover{color:#374151;background:#f3f4f6}.mat-row__details{background:#fafbfc;border-top:1px solid #f1f5f9;padding:0 16px 14px}.mat-row__section-label{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin:12px 0 10px;font-size:.6875rem;font-weight:700}.mat-row__no-attachments{color:#9ca3af;margin:12px 0 0;font-size:.8125rem;font-style:italic}.mat-viewer{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;height:calc(100vh - 120px);display:flex;overflow:hidden}.mat-viewer__header{background:#fafbfc;border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.mat-viewer__title{color:#111827;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.mat-viewer__header-actions{flex-shrink:0;gap:8px;display:flex}.mat-viewer__body{flex:1;position:relative;overflow:hidden}.mat-viewer__fallback{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;font-size:.9375rem;display:flex}.mat-attachment-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mat-attachment{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.mat-attachment:hover{border-color:#c7d2fe}.mat-attachment__info{flex-direction:column;gap:4px;min-width:0;display:flex}.mat-attachment__course{color:#374151;font-size:.8125rem;font-weight:600}.mat-attachment__tags{flex-wrap:wrap;gap:5px;display:flex}.mat-attachment__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;display:flex}.mat-tag{color:#6b7280;white-space:nowrap;background:#f3f4f6;border-radius:4px;padding:2px 7px;font-size:.6875rem;font-weight:500;display:inline-block}.mat-tag--type{color:#4338ca;background:#eef2ff}.mat-tag--deadline{color:#b45309;background:#fffbeb}.mat-tag--warning{color:#b91c1c;background:#fef2f2}.mat-overlay{z-index:1000;background:#0f172a66;place-items:center;padding:24px;animation:.15s ease-out mat-fade-in;display:grid;position:fixed;inset:0}@keyframes mat-fade-in{0%{opacity:0}to{opacity:1}}.mat-modal{background:#fff;border-radius:14px;width:min(520px,100%);max-height:85vh;animation:.2s ease-out mat-slide-up;overflow-y:auto;box-shadow:0 20px 60px #0000002e}.mat-modal--wide{width:min(720px,100%)}@keyframes mat-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mat-modal__header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.mat-modal__title{color:#111827;margin:0;font-size:1.0625rem;font-weight:700}.mat-modal__close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.25rem;line-height:1;transition:color .15s,background .15s}.mat-modal__close:hover{color:#374151;background:#f3f4f6}.mat-modal__body{padding:20px}.mat-modal__body .mat-form-field{margin-bottom:14px}.mat-modal__footer{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.mat-status-badge{border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.mat-status-badge--success{color:#065f46;background:#d1fae5}.mat-status-badge--pending{color:#92400e;background:#fef3c7}.mat-table-wrap{overflow-x:auto}.mat-table{border-collapse:collapse;width:100%;font-size:.8125rem}.mat-table th,.mat-table td{text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 12px}.mat-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.mat-table tbody tr:hover{background:#f9fafb}.mat-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.mat-filters__search{flex:1;min-width:200px;position:relative}.mat-filters__search-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.mat-filters__search-input{color:#1f2937;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:8px 12px 8px 36px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.mat-filters__search-input:focus{border-color:var(--primary,#4f46e5);outline:none;box-shadow:0 0 0 3px #4f46e51a}.mat-filters__select{min-width:150px}.answers-panel{padding:20px}.answers-panel-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.answers-panel-header button{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:background .15s;display:inline-flex}.answers-panel-header button:hover{background:#f3f4f6}.answers-panel label{color:#374151;flex-direction:column;gap:5px;margin-bottom:14px;font-size:.8125rem;font-weight:600;display:flex}.answers-panel input[type=number]{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:120px;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.answers-panel input[type=number]:focus{border-color:var(--primary,#4f46e5);outline:none;box-shadow:0 0 0 3px #4f46e51a}.panel-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:.8125rem}.panel-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:.8125rem}.answers-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;max-height:360px;margin-bottom:16px;padding:2px;display:grid;overflow-y:auto}.answer-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.8125rem;display:flex}.answer-row span{color:#374151;white-space:nowrap;min-width:52px;font-weight:600}.answer-row select{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:4px 8px;font-size:.8125rem}.answer-row select:focus{border-color:var(--primary,#4f46e5);outline:none}.panel-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.panel-actions button{cursor:pointer;border:1px solid var(--primary,#4f46e5);background:var(--primary,#4f46e5);color:#fff;border-radius:8px;align-items:center;padding:8px 20px;font-size:.8125rem;font-weight:600;transition:background .15s;display:inline-flex}.panel-actions button:hover:not(:disabled){background:var(--primary-dark,#4338ca)}.panel-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.mat-page{padding:20px 16px 40px}.mat-header{flex-direction:column;align-items:flex-start;gap:12px}.mat-filters{flex-direction:column}.mat-filters__search{min-width:0}.mat-form-grid{grid-template-columns:1fr}.mat-row__main{flex-wrap:wrap}.mat-row__actions{flex-wrap:wrap;order:1;width:100%}.mat-row__toggle{order:2}.mat-attachment{flex-direction:column;align-items:flex-start}.mat-attachment__actions{justify-content:flex-start;width:100%}.mat-viewer{height:calc(100vh - 100px)}}.auth{background:#f8fafc;width:100%;height:100vh;padding:5rem 2.5rem;font-family:Inter,sans-serif;overflow:hidden}.hero{background:#eef2ff url(/auth-illustration.svg) 50%/cover no-repeat;flex:1}@media(max-width:900px){.hero{display:none}}.auth .card{background:#fff;border-radius:16px;width:480px;max-width:100%;margin:auto;padding:3rem 2.5rem;animation:.4s fadeIn;box-shadow:0 6px 20px #00000014}.auth .card h2{color:#111827;text-align:center;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.auth .form{flex-direction:column;gap:1.6rem;display:flex}.auth .field{flex-direction:column;gap:1rem;display:flex}.auth .label{color:#374151;margin-bottom:.75rem;font-size:.95rem;font-weight:600}.auth .inputWrap{align-items:center;display:flex;position:relative}.auth .input{background:#f9fafb;border:1.5px solid #d1d5db;border-radius:10px;outline:none;width:100%;padding:.8rem 40px .8rem 1rem;font-size:1rem;transition:all .2s}.auth .input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f140}.auth .eyeBtn{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:4px;transition:all .2s;position:absolute;right:10px}.auth .eyeBtn:hover{color:#111827}.auth .helper{color:#6b7280;margin-top:.4rem;font-size:.8rem}.auth .btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:12px;width:100%;margin-top:.5rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;transition:background .2s}.auth .btn:hover{background:#4338ca}.auth .btn:disabled{cursor:not-allowed;background:#9ca3af}.auth .switch{text-align:center;color:#4b5563;margin-top:1rem;font-size:.9rem}.auth .switch-link{color:#4f46e5;margin-left:6px;font-weight:600;text-decoration:none;transition:all .2s}.auth .switch-link:hover{color:#4338ca;text-decoration:underline}.auth .message{color:#b91c1c;background:#fee2e2;border-left:4px solid #dc2626;border-radius:10px;margin-top:1rem;padding:.9rem 1rem;font-size:.9rem;animation:.25s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.verify-wrap{background:#f8fafc;justify-content:center;align-items:center;width:100%;height:100vh;padding:1rem;font-family:Inter,sans-serif;display:flex}.verify-card{background:#fff;border-radius:16px;width:420px;max-width:100%;padding:2.5rem 2rem;animation:.4s fadeIn;box-shadow:0 6px 20px #00000014}.verify-title{color:#111827;text-align:center;margin-bottom:.8rem;font-size:1.8rem;font-weight:700}.verify-sub{text-align:center;color:#4b5563;margin-bottom:1.5rem;font-size:.95rem;line-height:1.4}.verify-card .pill{color:#4338ca;background:#eef2ff;border-radius:.5rem;padding:.25rem .55rem;font-size:.85rem;font-weight:600}.verify-form{flex-direction:column;gap:1.3rem;display:flex}.verify-form .label{color:#374151;margin-bottom:-.3rem;font-size:.9rem;font-weight:600}.token-input{background:#f9fafb;border:1.5px solid #d1d5db;border-radius:10px;padding:.85rem 1rem;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}.token-input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f140}.verify-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:12px;width:100%;margin-top:.5rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;transition:background .2s}.verify-btn:hover{background:#4338ca}.verify-btn:disabled{cursor:not-allowed;background:#9ca3af}.mock-row{background:#f3f4f6;border-radius:10px;align-items:center;gap:.5rem;margin-top:.4rem;padding:.6rem .8rem;display:flex}.muted{color:#6b7280;font-size:.85rem}.code{background:#e5e7eb;border-radius:6px;padding:.2rem .4rem;font-family:monospace;font-size:.85rem}.link-btn{color:#4f46e5;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.link-btn:hover{text-decoration:underline}.verify-card .message{color:#b91c1c;background:#fee2e2;border-left:4px solid #dc2626;border-radius:10px;margin-top:1rem;padding:.9rem 1rem;font-size:.9rem;animation:.25s slideUp}.profile-page{max-width:900px;margin:0 auto;padding:2rem 1rem 4rem;animation:.3s fadeIn}.profile-header{flex-direction:row;justify-content:center;align-items:flex-start;gap:3rem;margin-bottom:3rem;display:flex}.profile-info-over{text-align:center;margin-bottom:1rem}.profile-info-over h1{margin:0;font-size:1.8rem;font-weight:700}.profile-info-over p{color:#666;margin:4px 0 0;font-size:1rem}.profile-pic-wrapper{width:150px;height:150px;position:relative}.profile-pic-label{cursor:pointer;width:100%;height:100%;display:block;position:relative}.profile-pic{object-fit:cover;background:#f3f4f7;border:4px solid #e5e8ef;border-radius:50%;width:100%;height:100%;transition:transform .25s;box-shadow:0 4px 10px #00000014,0 1px 3px #0000000a}.profile-pic-column{flex-direction:column;align-items:center;display:flex;position:relative}.profile-pic-overlay{opacity:0;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000007a;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;transition:opacity .25s;display:flex;position:absolute;inset:0}.profile-pic-wrapper:hover .profile-pic-overlay{opacity:1}.profile-file-input{display:none}.profile-sections{flex-direction:column;gap:2.5rem;display:flex}.profile-section h2{color:#333;margin-bottom:1rem;font-size:1.35rem;font-weight:600}.profile-section--notif-prefs{border-top:1px solid #e8e8e8;padding-top:.5rem}.profile-notif-prefs-intro{color:#6b7280;margin:0 0 1rem;font-size:.9rem;line-height:1.5}.profile-notif-prefs-error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.profile-notif-prefs-retry{color:#9f1239;cursor:pointer;background:#fff;border:1px solid #fda4af;border-radius:8px;padding:.35rem .65rem;font-size:.8125rem;font-weight:600}.profile-notif-prefs-retry:hover{background:#ffe4e6}.profile-notif-prefs-loading,.profile-notif-prefs-empty{color:#6b7280;margin:0 0 1rem;font-size:.9rem}.profile-notif-prefs-list{flex-direction:column;gap:1.25rem;margin-bottom:1.25rem;display:flex}.profile-notif-prefs-category{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;padding:1rem 1.1rem}.profile-notif-prefs-category-title{color:#333;margin:0 0 .65rem;font-size:1rem;font-weight:600}.profile-notif-prefs-channels{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.profile-notif-prefs-channel{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.profile-notif-prefs-channel input{accent-color:#4a8bff;cursor:pointer;width:1rem;height:1rem}.profile-notif-prefs-save{z-index:1;color:#346bd6;cursor:pointer;background:#fff;border:1px solid #346bd6;border-radius:12px;padding:12px 18px;font-size:.95rem;font-weight:600;transition:all .2s;position:relative}.profile-notif-prefs-save:hover:not(:disabled){background:#eff6ff}.profile-notif-prefs-save:disabled{opacity:.55;cursor:not-allowed}.profile-form{flex-direction:column;gap:1rem;display:flex}.profile-form input,.profile-form textarea{background:#fafafa;border:1px solid #dcdcdc;border-radius:12px;padding:12px 14px;font-size:15px;transition:all .25s}.profile-form input:focus,.profile-form textarea:focus{background:#fff;border-color:#4a8bff;box-shadow:0 0 0 3px #4a8bff40}.profile-form textarea{resize:vertical;min-height:100px}.form-label{color:#333;margin-bottom:2px;font-size:.95rem;font-weight:600;display:block}.form-hint{color:#6b7280;margin-bottom:8px;font-size:.85rem;line-height:1.4;display:block}.label-desc{color:#6b7280;font-size:.85rem}.profile-save-btn{z-index:1;color:#fff;cursor:pointer;background:linear-gradient(135deg,#4a8bff,#346bd6);border:none;border-radius:12px;padding:15px;font-size:17px;font-weight:600;transition:all .25s;position:relative}.profile-save-btn:hover{background:linear-gradient(135deg,#5e9aff,#3d74e0);transform:translateY(-2px)}.profile-save-btn:active{transform:translateY(0)}.profile-loading{text-align:center;color:#444;padding:3rem 1rem;font-size:1.2rem}@media(max-width:700px){.profile-header{text-align:center;flex-direction:column;align-items:center}.profile-info-right,.verification-box{width:100%}}.profile-select{background:#fafafa;border:1px solid #dcdcdc;border-radius:12px;padding:12px 14px;font-size:15px;transition:all .25s}.profile-select:focus{background:#fff;border-color:#4a8bff;outline:none;box-shadow:0 0 0 3px #4a8bff40}.profile-approval-textarea{resize:vertical;background:#fafafa;border:1px solid #ccc;border-radius:12px;width:100%;min-height:80px;padding:12px 14px}.profile-info-right{flex-direction:column;gap:1.5rem;width:320px;display:flex}.verification-box{background:#f5f7fc;border:1px solid #dfe3ee;border-radius:12px;width:100%;padding:1.2rem}.verification-header{margin-bottom:.5rem;font-size:1rem;font-weight:600}.status-badge{border-radius:8px;padding:5px 10px;font-size:.9rem;font-weight:600}.status-badge.pending{color:#856404;background:#fff3cd}.status-badge.approved{color:#155724;background:#d4edda}.status-badge.rejected{color:#721c24;background:#f8d7da}.status-badge.neutral{color:#383d41;background:#e2e3e5}.verification-comment{resize:vertical;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;height:70px;margin-top:10px;padding:8px}.verification-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:10px;width:100%;margin-top:10px;padding:10px;font-weight:600}.verification-message{color:#444;margin-top:8px;font-size:.9rem}.subbranch-section{background:#f7f9fc;border:1px solid #e3e7ef;border-radius:12px;margin-top:1rem;padding:1rem}.subbranch-section h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.subbranch-list{grid-template-columns:1fr 1fr;gap:6px;max-height:180px;display:grid;overflow-y:auto}.subbranch-item{cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:flex}.level-block{background:#fafbff;border:1px solid #e1e4eb;border-radius:10px;margin-bottom:1rem;padding:.5rem 1rem}.level-toggle summary{cursor:pointer;padding:.5rem 0;font-size:1.1rem;font-weight:600}.subbranch-list{flex-direction:column;gap:6px;margin-top:.5rem;display:flex}.subbranch-item{align-items:center;gap:8px;font-size:.95rem;display:flex}.profile-tabs{border-bottom:2px solid #e5e8ef;gap:0;margin-bottom:2rem;display:flex}.profile-tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:color .2s,border-color .2s}.profile-tab-btn:hover{color:#4a8bff}.profile-tab-btn.active{color:#4a8bff;border-bottom-color:#4a8bff}.profile-tab-content{animation:.25s fadeIn}.tab-loading{text-align:center;color:#6b7280;padding:3rem 1rem;font-size:1.1rem}.tab-error{text-align:center;color:#dc2626;padding:2rem 1rem;font-size:1rem}.tab-empty{text-align:center;color:#9ca3af;padding:3rem 1rem;font-size:1rem}.teacher-videos-tab{flex-direction:column;gap:2rem;display:flex}.video-upload-section{background:linear-gradient(165deg,#fff,#f4f7fd);border:1px solid #e1e7f2;border-radius:14px;padding:1.35rem 1.5rem 1.5rem;box-shadow:0 1px 2px #0f172a0a}.video-upload-section h3{color:#1e293b;letter-spacing:-.01em;margin:0 0 6px;font-size:1.125rem;font-weight:650}.video-upload-section .form-hint{color:#64748b;max-width:52rem;margin:0;font-size:.9rem;line-height:1.5}.video-upload-row{flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:1rem;display:flex}.video-type-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #d8dee9;border-radius:10px;min-width:9.5rem;padding:11px 14px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.video-type-select:hover:not(:disabled){border-color:#b8c4d9}.video-type-select:focus{border-color:#4a8bff;outline:none;box-shadow:0 0 0 3px #4a8bff33}.video-type-select:disabled{opacity:.55;cursor:not-allowed;background:#f1f5f9}.video-file-field{flex:200px;min-width:min(100%,220px);position:relative}.video-file-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.video-file-label{cursor:pointer;background:#fafbfd;border:1px dashed #b4c2dc;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;min-height:3rem;padding:10px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.video-file-label:hover:not(.is-disabled){background:#f5f8ff;border-color:#4a8bff;box-shadow:0 0 0 1px #4a8bff1f}.video-file-input:focus-visible+.video-file-label{border-color:#4a8bff;outline:none;box-shadow:0 0 0 3px #4a8bff38}.video-file-label.is-disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.video-file-label-action{color:#4a8bff;font-size:.8125rem;font-weight:600}.video-file-name{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.video-upload-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4a8bff,#346bd6);border:none;border-radius:10px;align-self:center;padding:11px 24px;font-size:.875rem;font-weight:600;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 2px 6px #346bd659}.video-upload-btn:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 4px 12px #346bd666}.video-upload-btn:active:not(:disabled){transform:translateY(0)}.video-upload-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.video-upload-progress{margin-top:1rem}.video-upload-progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.video-upload-progress-fill{background:linear-gradient(90deg,#4a8bff,#6366f1);border-radius:999px;height:100%;transition:width .2s ease-out}@keyframes tv-upload-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.video-upload-progress-fill.is-indeterminate{width:40%;transition:none;animation:1.1s ease-in-out infinite tv-upload-indeterminate}@media(prefers-reduced-motion:reduce){.video-upload-progress-fill{transition:none}.video-upload-progress-fill.is-indeterminate{opacity:.45;width:100%;animation:none}}.video-upload-progress-caption{color:#64748b;margin:8px 0 0;font-size:.8125rem}.video-list{flex-direction:column;gap:1rem;display:flex}.video-card{background:#fff;border:1px solid #e3e7ef;border-radius:12px;padding:1.2rem;transition:box-shadow .2s}.video-card:hover{box-shadow:0 2px 8px #0000000f}.video-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.video-type-badge{color:#4a8bff;background:#eef2ff;border-radius:8px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}.video-date{color:#9ca3af;font-size:.85rem}.video-card-meta{color:#6b7280;flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:.85rem;display:flex}.video-filename{color:#374151;font-weight:500}.video-card-actions{gap:8px;display:flex}.video-play-btn,.video-delete-btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.video-play-btn{color:#4a8bff;background:#eef2ff}.video-play-btn:hover:not(:disabled){background:#dbe6ff}.video-delete-btn{color:#dc2626;background:#fef2f2}.video-delete-btn:hover{background:#fee2e2}.video-player-wrapper{background:#000;border-radius:10px;margin-top:12px;overflow:hidden}.video-player{width:100%;max-height:400px;display:block}.teacher-labels-tab{flex-direction:column;gap:1rem;display:flex}.teacher-labels-tab h3{margin:0;font-size:1.2rem;font-weight:600}.label-grid{background:#f7f9fc;border:1px solid #e3e7ef;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;max-height:400px;padding:1rem;display:grid;overflow-y:auto}.label-item{cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 4px;font-size:.9rem;transition:background .15s;display:flex}.label-item:hover{background:#eef2ff}.label-name{font-weight:500}.label-description{color:#6b7280;font-size:.82rem}.labels-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4a8bff,#346bd6);border:none;border-radius:10px;align-self:flex-start;padding:12px 28px;font-size:15px;font-weight:600;transition:all .2s}.labels-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#5e9aff,#3d74e0);transform:translateY(-1px)}.labels-save-btn:disabled{opacity:.55;cursor:not-allowed}.teacher-reviews-tab{flex-direction:column;gap:1.5rem;display:flex}.reviews-summary{background:#f7f9fc;border:1px solid #e3e7ef;border-radius:12px;align-items:center;gap:1.5rem;padding:1.2rem;display:flex}.reviews-score-box{flex-direction:column;align-items:center;gap:2px;display:flex}.reviews-big-score{color:#111827;font-size:2.2rem;font-weight:700;line-height:1}.reviews-stars{color:#f59e0b;letter-spacing:1px;font-size:1.1rem}.reviews-count{color:#6b7280;font-size:.95rem}.reviews-list{flex-direction:column;gap:1rem;display:flex}.review-card{background:#fff;border:1px solid #e3e7ef;border-radius:12px;padding:1.2rem}.review-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review-author{color:#111827;font-size:.95rem;font-weight:600}.review-score{color:#f59e0b;letter-spacing:1px;font-size:1rem}.review-text{color:#374151;margin:0 0 8px;font-size:.92rem;line-height:1.5}.review-card-footer{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.review-date{color:#9ca3af}.review-moderation{border-radius:6px;padding:3px 8px;font-size:.78rem;font-weight:600}.review-moderation.approved{color:#155724;background:#d4edda}.review-moderation.pending{color:#856404;background:#fff3cd}.reviews-pagination{justify-content:center;align-items:center;gap:1rem;display:flex}.reviews-page-btn{cursor:pointer;background:#fff;border:1px solid #dcdcdc;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.reviews-page-btn:hover:not(:disabled){background:#f3f4f6}.reviews-page-btn:disabled{opacity:.5;cursor:not-allowed}.reviews-page-info{color:#6b7280;font-size:.9rem}@media(max-width:600px){.profile-tabs{overflow-x:auto}.profile-tab-btn{white-space:nowrap;padding:10px 16px;font-size:.85rem}.label-grid{grid-template-columns:1fr}.video-upload-row{flex-direction:column;align-items:stretch}.reviews-summary{text-align:center;flex-direction:column}}.home-page{max-width:1240px;font-family:var(--app-font);flex-direction:column;gap:16px;margin:0 auto;padding:24px;display:flex}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.home-header h1{color:var(--gray-900);margin:0}.home-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.home-dropdown{position:relative}.home-header-actions>.home-secondary-button,.home-header-actions .home-dropdown-trigger{border-radius:12px;min-height:42px;padding:0 14px;font-size:.92rem;font-weight:600;line-height:1;transition:all .18s}.home-primary-button,.home-secondary-button,.home-select,.home-link-button,.home-availability-chip{border:1px solid var(--gray-200);color:var(--gray-900);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px}.home-primary-button{background:var(--primary);color:#fff;border-color:var(--primary)}.home-dropdown-trigger{text-align:left;justify-content:space-between;align-items:center;gap:10px;min-width:170px;display:inline-flex}.home-dropdown-caret{color:var(--gray-700);transform-origin:50%;flex:none;font-size:1.2rem;font-weight:700;line-height:1;transition:transform .18s}.home-dropdown-trigger.open .home-dropdown-caret{transform:rotate(180deg)}.home-dropdown-menu{border:1px solid var(--gray-200);z-index:12;background:#fff;border-radius:10px;min-width:100%;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 24px #0f172a1a}.home-dropdown-item{width:100%;color:var(--gray-900);text-align:left;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:8px 10px}.home-dropdown-item:hover,.home-dropdown-item.active{background:var(--gray-100)}.home-header-actions>.home-secondary-button,.home-header-actions .home-dropdown-trigger{color:var(--gray-900);background:#fff;border-color:#d5dbe6}.home-header-actions>.home-secondary-button:hover,.home-header-actions .home-dropdown-trigger:hover{background:#f8fafc;border-color:#c3ccdb}.home-header-actions .home-dropdown-trigger.open{background:#f4f7fb;border-color:#a7b3c7}.home-header-actions>.home-secondary-button:active,.home-header-actions .home-dropdown-trigger:active{transform:translateY(0)}.home-header-actions>.home-secondary-button:focus-visible,.home-header-actions .home-dropdown-trigger:focus-visible,.home-dropdown-item:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f133}.home-main-grid{grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.home-main-grid>.home-card{flex-direction:column;min-width:0;min-height:0;display:flex}.home-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;width:100%;padding:16px}.home-card--intro{flex-direction:column;min-height:0;display:flex}.home-intro-card-body{flex:1;min-height:0;margin-right:-4px;padding-right:4px;overflow:hidden auto}.home-card--calendar{flex-direction:column;min-height:0;display:flex}.home-card--calendar .home-calendar-scroll{flex:1;min-height:0;overflow:auto}.home-card-title-row{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.home-card-title-row h2{margin:0;font-size:1rem}.home-title-actions{align-items:center;gap:.5rem;display:flex}.home-muted-text{color:var(--gray-600);font-size:.9rem}.home-request-list{flex-direction:column;gap:10px;display:flex}.home-request-item{text-align:left;border:1px solid var(--gray-200);background:var(--gray-100);cursor:pointer;border-radius:10px;padding:12px}.home-request-item p,.home-request-item small{color:var(--gray-600);margin:4px 0;display:block}.home-private-item{cursor:default}.home-student-inline{align-items:center;gap:8px;display:inline-flex}.home-student-avatar{object-fit:cover;border:1px solid var(--gray-200);border-radius:50%;width:32px;height:32px}.home-request-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.home-request-foot-row{color:var(--gray-600);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:.86rem;display:flex}.home-status-badge{border:1px solid var(--gray-200);background:#fff;border-radius:999px;padding:2px 10px}.home-status-badge.done{background:var(--gray-100)}.home-request-actions{gap:8px;margin-top:8px;display:flex}.home-request-actions button{border:1px solid var(--gray-200);font:inherit;cursor:pointer;background:#fff;border-radius:7px;padding:6px 10px}.home-request-actions button:disabled{opacity:.55;cursor:not-allowed}.home-accept-btn{border-color:var(--primary);color:var(--primary)}.home-reject-btn{color:var(--gray-600)}.home-private-manage{position:relative}.home-private-menu{border:1px solid var(--gray-200);z-index:9;background:#fff;border-radius:10px;width:160px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.home-private-menu button{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:7px 8px}.home-private-menu button:hover{background:var(--gray-100)}.home-calendar-actions{flex-wrap:wrap;gap:8px;display:flex}.home-calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr));gap:10px;min-width:760px;display:grid}.home-calendar-scroll{padding-bottom:2px;overflow-x:auto}.home-calendar-column{border:1px solid var(--gray-200);background:var(--gray-100);border-radius:12px;min-height:220px;padding:10px}.home-calendar-day{margin-bottom:8px;font-weight:600}.home-calendar-events{flex-direction:column;gap:6px;display:flex}.home-event{border:1px solid var(--gray-200);border-left:3px solid var(--primary);text-align:left;box-sizing:border-box;background:#fff;border-radius:8px;flex-direction:column;gap:3px;width:100%;padding:8px;display:flex;position:relative}button.home-event{appearance:none;font:inherit;margin:0}.home-event--clickable{cursor:pointer}.home-event--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f140}.home-event span,.home-event .home-event-title{color:var(--gray-600);font-size:.85rem}.home-event .home-event-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-event-details{border:1px solid var(--gray-200);border-left:3px solid var(--primary);z-index:10;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:8px;padding:10px;position:absolute;inset:-1px}.home-event-details p{color:var(--gray-600);margin:4px 0 0;font-size:.85rem}.home-event:hover .home-event-details,.home-event:focus-within .home-event-details{opacity:1;visibility:visible}.home-combined{flex-direction:column;gap:16px;display:flex}.home-subsection{border-top:1px solid var(--gray-200);padding-top:4px}.home-combined .home-subsection:first-child{border-top:none;padding-top:0}h3.home-subsection-head,.home-subsection-head{color:var(--gray-700);letter-spacing:0;margin:0 0 8px;font-size:.875rem;font-weight:600}.home-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.home-pager-meta{color:var(--gray-600);text-align:center;min-width:4.5rem;font-size:.85rem;font-weight:600}.home-widget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-widget-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:14px}.home-widget-card h3,.home-widget-card span,.home-widget-card p{margin:0}.home-widget-value{margin:4px 0;font-size:1.5rem;font-weight:700}.home-student-table-wrapper{overflow-x:auto}.home-student-table{border-collapse:collapse;width:100%}.home-student-table th,.home-student-table td{text-align:left;border-bottom:1px solid var(--gray-200);padding:10px}.home-link-button{padding:6px 10px}.home-student-actions{gap:8px;display:flex}.home-availability-section{margin-top:16px}.home-availability-list{flex-wrap:wrap;gap:8px;display:flex}.home-availability-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.home-empty{color:var(--gray-600);padding:12px 0;font-size:.95rem}.home-empty--error{color:var(--color-danger,#e53e3e)}@media(max-width:960px){.home-main-grid,.home-widget-grid{grid-template-columns:1fr}}@media(max-width:760px){.home-page{padding:16px}.home-calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr))}.home-dropdown-trigger{min-width:100%}.home-header-actions>.home-secondary-button,.home-header-actions .home-dropdown,.home-header-actions .home-dropdown-trigger{width:100%}}.home-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.home-modal{background:var(--white,#fff);border-radius:12px;flex-direction:column;gap:12px;width:90%;max-width:420px;padding:24px;display:flex;box-shadow:0 8px 32px #0000002e}.home-modal h3{color:var(--gray-900,#1a1a1a);margin:0}.home-modal-textarea{border:1px solid var(--gray-300,#d1d5db);resize:vertical;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:.95rem}.home-modal-textarea:focus{border-color:var(--primary,#6366f1);outline:none;box-shadow:0 0 0 2px #6366f126}.home-modal-actions{justify-content:flex-end;gap:8px;display:flex}.student-analysis-page{max-width:1240px;margin:0 auto;padding:24px}.student-analysis-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.student-analysis-header button{border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px}.student-analysis-header h1{margin:0;font-size:1.2rem}.student-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-analysis-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:16px}.student-analysis-card h2,.student-analysis-card p{margin:0}.student-analysis-card p{margin-top:8px;font-size:1.4rem;font-weight:700}.student-analysis-card h3{color:var(--gray-600);margin:0;font-size:.85rem;font-weight:600}.student-analysis-status,.student-analysis-muted{color:var(--gray-600);font-size:.9rem}.student-analysis-error{color:#b42318;background:#fff1f1;border:1px solid #f4c7c7;border-radius:8px;padding:12px}.student-analysis-section{margin-bottom:24px}.student-analysis-section-title{margin:0 0 12px;font-size:1rem}.student-analysis-dl{grid-template-columns:160px 1fr;gap:8px 16px;margin:0;font-size:.9rem;display:grid}.student-analysis-dl dt{color:var(--gray-600);font-weight:600}.student-analysis-dl dd{margin:0}.student-analysis-grid--discipline{grid-template-columns:repeat(4,minmax(0,1fr))}.student-analysis-lesson-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.student-analysis-lesson-item{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:10px 12px}.student-analysis-lesson-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.student-analysis-lesson-time{font-size:.88rem}.student-analysis-lesson-status{color:var(--gray-700);font-size:.82rem;font-weight:600}@media(max-width:760px){.student-analysis-grid,.student-analysis-grid--discipline,.student-analysis-dl{grid-template-columns:1fr}}.back-button{color:#374151;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 14px;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.back-button:hover{background:#f9fafb;border-color:#d1d5db}.back-button svg{font-size:1rem}.student-profile-page{max-width:800px;margin:0 auto;padding:24px}.sp-loading,.sp-error{text-align:center;color:#6b7280;padding:48px 0}.sp-error{color:#ef4444}.sp-header{align-items:center;gap:20px;margin-bottom:28px;display:flex}.sp-avatar{object-fit:cover;border:3px solid #e5e7eb;border-radius:50%;width:80px;height:80px}.sp-avatar--placeholder{background:linear-gradient(135deg,#a5b4fc,#6366f1)}.sp-header-info h1{color:#111827;margin:0;font-size:1.5rem}.sp-badge{color:#4338ca;background:#eef2ff;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.sp-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.sp-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.sp-card h3{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.85rem}.sp-card p{color:#111827;margin:0;font-size:1.1rem;font-weight:600}.sp-actions{gap:12px;display:flex}.sp-btn-primary{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:background .15s}.sp-btn-primary:hover{background:#4f46e5}.analytics-page{max-width:960px;margin:0 auto;padding:24px}.analytics-header h1{margin:0 0 4px}.analytics-subtitle{color:#6b7280;margin:0 0 24px}.analytics-status{color:#6b7280;margin:0 0 16px;font-size:.9rem}.analytics-error{color:#b42318;background:#fff1f1;border:1px solid #f4c7c7;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:.9rem}.analytics-controls{background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:14px;margin-bottom:20px;padding:16px 20px;display:grid}.analytics-control-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.analytics-control-label{color:#4b5563;min-width:64px;font-size:.85rem;font-weight:600}.analytics-control-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;min-width:200px;max-width:420px;padding:8px 10px;font-size:.88rem}.analytics-toolbar-actions{gap:10px;display:flex}.analytics-refresh-btn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:.88rem;font-weight:600}.analytics-refresh-btn:disabled{opacity:.55;cursor:default}.analytics-panel-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.analytics-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.analytics-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.analytics-card h3{color:#6b7280;margin:0 0 8px;font-size:.85rem}.analytics-value{color:#111827;margin:0 0 4px;font-size:1.5rem;font-weight:700}.analytics-trend{font-size:.8rem;font-weight:500}.analytics-trend.positive{color:#059669}.analytics-trend.neutral{color:#6b7280}.analytics-chart-placeholder{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.analytics-chart-placeholder h2{margin:0 0 16px;font-size:1.1rem}.analytics-mock-chart{align-items:flex-end;gap:12px;height:160px;display:flex}.analytics-bar{background:linear-gradient(#a5b4fc,#6366f1);border-radius:6px 6px 0 0;flex:1;justify-content:center;align-items:flex-end;min-width:0;display:flex}.analytics-bar span{color:#fff;padding:6px 0;font-size:.75rem;font-weight:600}.analytics-mock-line{height:80px}.analytics-line-svg{width:100%;height:100%}.wallet-page{max-width:800px;margin:0 auto;padding:24px}.wallet-header h1{margin:0 0 4px}.wallet-subtitle{color:#6b7280;margin:0 0 24px}.wallet-balance-card{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:16px;margin-bottom:24px;padding:28px}.wallet-balance-label{opacity:.8;font-size:.9rem}.wallet-balance-amount{margin:8px 0 16px;font-size:2rem}.wallet-balance-actions{gap:12px;display:flex}.wallet-btn-primary{color:#4f46e5;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:10px 20px;font-weight:600}.wallet-btn-secondary{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;padding:10px 20px;font-weight:500}.wallet-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.wallet-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.wallet-card h3{color:#6b7280;margin:0 0 8px;font-size:.85rem}.wallet-value{color:#111827;margin:0 0 4px;font-size:1.4rem;font-weight:700}.wallet-trend{font-size:.8rem;font-weight:500}.wallet-trend.positive{color:#059669}.wallet-trend.neutral{color:#6b7280}.wallet-transactions h2{margin:0 0 12px;font-size:1.1rem}.wallet-tx-list{border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.wallet-tx-row{background:#fff;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.wallet-tx-row:last-child{border-bottom:none}.wallet-tx-row div{flex-direction:column;gap:2px;display:flex}.wallet-tx-date{color:#9ca3af;font-size:.8rem}.wallet-tx-amount{font-size:1rem;font-weight:700}.wallet-tx--income .wallet-tx-amount{color:#059669}.wallet-tx--withdrawal .wallet-tx-amount{color:#ef4444}.wallet-pricing-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:28px;padding:24px}.wallet-pricing-card h2{margin:0 0 6px;font-size:1.1rem}.wallet-pricing-desc{color:#6b7280;margin:0 0 16px;font-size:.9rem;line-height:1.5}.wallet-pricing-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wallet-pricing-input-wrap{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;flex:1;align-items:center;min-width:200px;max-width:320px;padding:0 12px;display:flex}.wallet-pricing-currency{color:#374151;margin-right:6px;font-size:1.1rem;font-weight:700}.wallet-pricing-input{color:#111827;background:0 0;border:none;outline:none;width:100%;padding:10px 4px;font-size:1.1rem;font-weight:600}.wallet-pricing-unit{color:#9ca3af;white-space:nowrap;margin-left:4px;font-size:.85rem}.wallet-pricing-preview{color:#374151;margin:12px 0 0;font-size:.9rem}.progress-page{gap:16px;padding:16px;display:grid}.progress-page__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-page__header h2{margin:0}.progress-page__header p{color:var(--gray-600);margin:4px 0 0}.progress-page__refresh{border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px}.progress-page__refresh:disabled{opacity:.7;cursor:default}.progress-page__overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.progress-page__overview-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;flex-direction:column;gap:5px;padding:12px;display:flex}.progress-page__overview-card span{color:var(--gray-600);font-size:.85rem}.progress-page__overview-card strong{font-size:1.25rem}.progress-page__overview-card small{color:var(--gray-600)}.progress-page__tracker-section,.progress-page__analysis-section{border:1px solid var(--gray-200);background:#fff;border-radius:14px;padding:14px}.progress-page__section-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.progress-page__section-header h3{margin:0}.progress-page__section-header span{color:var(--gray-600);font-size:.82rem}.progress-page__metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.progress-page__metric-card{border:1px solid var(--gray-200);border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.progress-page__metric-card span{color:var(--gray-600);font-size:.82rem}.progress-page__metric-card strong{font-size:1.1rem}.progress-page__metric-card small{color:#1f8f49;font-weight:600}.progress-page__trend-card{border:1px solid var(--gray-200);border-radius:10px;padding:12px}.progress-page__trend-card h4{margin:0 0 8px}.progress-page__trend-bars{gap:8px;display:grid}.progress-page__trend-row{grid-template-columns:70px 1fr 36px;align-items:center;gap:8px;display:grid}.progress-page__trend-row>span{color:var(--gray-600);font-size:.82rem}.progress-page__trend-track{background:var(--gray-100);border-radius:999px;height:8px;overflow:hidden}.progress-page__trend-fill{background:var(--primary);border-radius:999px;height:100%}.progress-page__trend-row strong{text-align:right;font-size:.82rem}.progress-page__student-table-wrap{overflow:auto}.progress-page__student-table{border-collapse:collapse;width:100%}.progress-page__student-table th,.progress-page__student-table td{text-align:left;border-bottom:1px solid var(--gray-100);padding:10px}.progress-page__student-table th{color:var(--gray-600);font-size:.8rem;font-weight:600}.progress-page__risk-tag{border:1px solid var(--gray-200);background:#f8fafc;border-radius:999px;padding:4px 8px;font-size:.78rem}.progress-page__risk-tag--düşük{color:#1f8f49;background:#eefbf2;border-color:#c9efd5}.progress-page__risk-tag--orta{color:#9a6700;background:#fff8e8;border-color:#f6e2b7}.progress-page__risk-tag--yüksek{color:#b42318;background:#fff1f1;border-color:#f4c7c7}.progress-page__analytics-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.progress-page__analytics-label{color:var(--gray-600);font-size:.85rem;font-weight:600}.progress-page__analytics-select{border:1px solid var(--gray-200);background:#fff;border-radius:8px;min-width:200px;padding:8px 10px;font-size:.88rem}.progress-page__empty,.progress-page__error{padding:16px}.progress-page__error{color:#b42318}@media(max-width:1024px){.progress-page__overview-grid,.progress-page__metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.progress-page__header{flex-direction:column;align-items:flex-start}.progress-page__overview-grid,.progress-page__metrics-grid{grid-template-columns:1fr}}.course-chat-section{border:1px solid var(--gray-200);background:#fff;border-radius:12px;flex-direction:column;margin-top:24px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000f}.course-chat-header{border-bottom:1px solid var(--gray-200);background:#fafafa;padding:16px 20px}.course-chat-title{color:var(--gray-900);margin:0;font-size:1rem;font-weight:700}.course-chat-messages{background:#f9fafb;flex-direction:column;gap:8px;min-height:280px;max-height:420px;padding:16px 20px;display:flex;overflow-y:auto}.course-chat-state{text-align:center;color:var(--gray-600);margin:auto;padding:24px 0;font-size:.875rem}.course-chat-message{flex-direction:column;gap:2px;max-width:70%;display:flex}.course-chat-message.me{align-self:flex-end;align-items:flex-end}.course-chat-message.them{align-self:flex-start;align-items:flex-start}.course-chat-bubble{word-break:break-word;border-radius:16px;padding:10px 14px;font-size:.9rem;line-height:1.45}.course-chat-message.me .course-chat-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.course-chat-message.them .course-chat-bubble{background:var(--gray-200);color:var(--gray-900);border-bottom-left-radius:4px}.course-chat-time{color:var(--gray-600);padding:0 4px;font-size:.72rem}.course-chat-seen{color:var(--primary);font-weight:600}.course-chat-error{color:#b91c1c;background:#fef2f2;border-top:1px solid #fee2e2;padding:8px 20px;font-size:.85rem}.course-chat-input-row{border-top:1px solid var(--gray-200);background:#fff;align-items:center;gap:10px;padding:12px 20px;display:flex}.course-chat-input{border:1px solid var(--gray-300);color:var(--gray-900);background:#fff;border-radius:8px;outline:none;flex:1;padding:9px 14px;font-size:.9rem;transition:border-color .15s}.course-chat-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.course-chat-input:disabled{opacity:.6;cursor:not-allowed}.course-chat-send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s,transform .1s;display:flex}.course-chat-send-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.course-chat-send-btn:active:not(:disabled){transform:translateY(0)}.course-chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.course-chat-bubble-row{align-items:center;gap:6px;display:flex}.course-chat-message.me .course-chat-bubble-row{flex-direction:row-reverse}.course-chat-delete-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s;display:flex}.course-chat-delete-btn:hover{background:#ef444440}.course-chat-delete-btn:disabled{opacity:.45;cursor:not-allowed}.course-chat-bubble.deleted{border:1px dashed var(--gray-300);color:var(--gray-600);font-size:.82rem;font-style:italic;background:0 0!important}.messages-page{box-sizing:border-box;grid-template-columns:320px minmax(0,1fr);gap:16px;height:calc(100vh - 84px);padding:20px;display:grid}.messages-sidebar,.messages-chat-pane{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden}.messages-sidebar{flex-direction:column;display:flex}.messages-sidebar-title{border-bottom:1px solid var(--gray-200);margin:0;padding:14px 16px;font-size:1rem;font-weight:700}.messages-conversation-list{overflow-y:auto}.messages-conversation-item{text-align:left;border:none;border-bottom:1px solid var(--gray-100);cursor:pointer;background:#fff;width:100%;padding:12px 14px}.messages-conversation-item:hover,.messages-conversation-item.active{background:#f8fafc}.messages-conversation-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.messages-student-meta{align-items:center;gap:8px;min-width:0;display:flex}.messages-student-avatar{object-fit:cover;border:1px solid var(--gray-200);border-radius:50%;flex-shrink:0;width:28px;height:28px}.messages-student-avatar--placeholder{background:var(--gray-200);color:var(--gray-600);justify-content:center;align-items:center;font-size:.74rem;font-weight:700;display:inline-flex}.messages-conversation-name{color:var(--gray-900);font-size:.9rem;font-weight:600}.messages-conversation-preview{color:var(--gray-600);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:.82rem;overflow:hidden}.messages-conversation-course{color:var(--gray-600);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.74rem;overflow:hidden}.messages-conversation-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.messages-chat-pane{flex-direction:column;display:flex}.messages-chat-header{border-bottom:1px solid var(--gray-200);padding:14px 16px}.messages-chat-title{color:var(--gray-900);font-size:1rem;font-weight:700}.messages-header-meta{align-items:center;gap:10px;display:flex}.messages-student-avatar--header{width:32px;height:32px}.messages-chat-subtitle{color:var(--gray-600);margin-top:2px;font-size:.76rem}.messages-chat-body{background:#f9fafb;flex-direction:column;flex:1;gap:8px;padding:14px 16px;display:flex;overflow-y:auto}.messages-row{flex-direction:column;max-width:72%;display:flex}.messages-row.me{align-self:flex-end;align-items:flex-end}.messages-row.them{align-self:flex-start;align-items:flex-start}.messages-bubble-wrap{align-items:center;gap:6px;display:flex}.messages-row.me .messages-bubble-wrap{flex-direction:row-reverse}.messages-bubble{word-break:break-word;border-radius:16px;padding:10px 12px;font-size:.9rem;line-height:1.4}.messages-row.me .messages-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.messages-row.them .messages-bubble{background:var(--gray-200);color:var(--gray-900);border-bottom-left-radius:4px}.messages-bubble.deleted{border:1px dashed var(--gray-300);color:var(--gray-600);font-style:italic;background:0 0!important}.messages-time{color:var(--gray-600);margin-top:2px;font-size:.72rem}.messages-seen{color:var(--primary);font-weight:600}.messages-delete-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.messages-delete-btn:disabled{opacity:.45;cursor:not-allowed}.messages-chat-input-row{border-top:1px solid var(--gray-200);gap:8px;padding:10px 12px;display:flex}.messages-chat-input{border:1px solid var(--gray-300);border-radius:8px;flex:1;padding:9px 12px;font-size:.9rem}.messages-send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.messages-send-btn:disabled{opacity:.45;cursor:not-allowed}.messages-state{color:var(--gray-600);text-align:center;padding:24px}.messages-error{color:#b91c1c;background:#fef2f2;border-top:1px solid #fee2e2;padding:8px 12px;font-size:.82rem}.notif-page{background:linear-gradient(180deg,var(--gray-100,#f3f4f6) 0%,#f8fafc 32%,#fff 100%);min-height:calc(100vh - 5rem);padding:0 1rem 2.5rem}.notif-page-inner{max-width:44rem;margin:0 auto;padding-top:.25rem}.notif-hero{border:1px solid var(--gray-200,#e5e7eb);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.35rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.notif-hero-text{align-items:flex-start;gap:1rem;min-width:0;display:flex}.notif-hero-icon{width:3rem;height:3rem;color:var(--primary,#4f46e5);background:linear-gradient(145deg,#eef2ff,#e0e7ff);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.35rem;display:flex}.notif-title{letter-spacing:-.02em;color:var(--gray-900,#111827);margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.notif-subtitle{color:var(--gray-600,#4b5563);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0 0;font-size:.875rem;line-height:1.45;display:flex}.notif-unread-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--primary,#4f46e5);background:#eef2ff;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.notif-mark-all{color:var(--primary,#4f46e5);cursor:pointer;background:#fff;border:1px solid #c7d2fe;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.notif-mark-all:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc;box-shadow:0 2px 8px #4f46e51f}.notif-mark-all:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.notif-mark-all-icon{flex-shrink:0;font-size:1rem}.notif-mark-all-icon--spin{animation:.85s linear infinite notif-spin}@keyframes notif-spin{to{transform:rotate(360deg)}}.notif-feed{border:1px solid var(--gray-200,#e5e7eb);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.notif-feed--loading{padding:1.25rem}.notif-banner{border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.875rem;display:flex}.notif-banner-text{flex:1;min-width:12rem;margin:0}.notif-banner--error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.notif-banner-retry{color:#9f1239;cursor:pointer;background:#fff;border:1px solid #fda4af;border-radius:8px;padding:.4rem .75rem;font-size:.8125rem;font-weight:600}.notif-banner-retry:hover{background:#ffe4e6}.notif-skeleton-list{flex-direction:column;gap:.85rem;display:flex}.notif-skeleton-row{background:linear-gradient(90deg,var(--gray-100,#f3f4f6) 0%,#e5e7eb 50%,var(--gray-100,#f3f4f6) 100%);background-size:200% 100%;border-radius:10px;height:4.5rem;animation:1.2s ease-in-out infinite notif-shimmer}.notif-skeleton-row--short{width:70%;height:3.5rem}@keyframes notif-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.notif-empty{text-align:center;border:1px solid var(--gray-200,#e5e7eb);background:#fff;border-radius:14px;padding:2.75rem 1.5rem 3rem;box-shadow:0 1px 3px #0f172a0d}.notif-empty-icon{background:var(--gray-100,#f3f4f6);width:4.5rem;height:4.5rem;color:var(--gray-600,#4b5563);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;font-size:2rem;display:flex}.notif-empty-title{color:var(--gray-900,#111827);margin:0;font-size:1.125rem;font-weight:700}.notif-empty-desc{max-width:22rem;color:var(--gray-600,#4b5563);margin:.6rem auto 0;font-size:.875rem;line-height:1.55}.notif-list{margin:0;padding:0;list-style:none}.notif-list>li:not(:last-child) .notif-row{border-bottom:1px solid var(--gray-100,#f3f4f6)}.notif-row{text-align:left;cursor:pointer;background:#fff;border:none;align-items:flex-start;gap:.65rem;width:100%;padding:1rem 1rem 1rem .85rem;transition:background .15s,box-shadow .15s;display:flex}.notif-row:hover:not(:disabled){background:#fafafa}.notif-row:focus-visible{outline:2px solid var(--primary,#4f46e5);outline-offset:-2px}.notif-row:disabled{opacity:.7;cursor:wait}.notif-row--unseen{background:linear-gradient(90deg,#f5f3ff,#fff 18%)}.notif-row--unseen:hover:not(:disabled){background:linear-gradient(90deg,#ede9fe,#fafafa 22%)}.notif-row-dot{background:var(--primary,#4f46e5);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.45rem;box-shadow:0 0 0 3px #4f46e533}.notif-row-dot--read{background:var(--gray-300,#d1d5db);box-shadow:none}.notif-row-icon-wrap{background:var(--gray-100,#f3f4f6);width:2.25rem;height:2.25rem;color:var(--gray-600,#4b5563);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;font-size:1rem;display:flex}.notif-row--unseen .notif-row-icon-wrap{color:var(--primary,#4f46e5);background:#e0e7ff}.notif-row-main{flex:1;min-width:0}.notif-row-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.notif-row-title{color:var(--gray-900,#111827);font-size:.9375rem;font-weight:600;line-height:1.35}.notif-row-time{color:var(--gray-600,#4b5563);white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:500}.notif-row-body{color:var(--gray-600,#4b5563);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.notif-row-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.55rem;display:flex}.notif-chip{text-transform:uppercase;letter-spacing:.03em;color:var(--gray-600,#4b5563);background:var(--gray-100,#f3f4f6);border-radius:6px;padding:.15rem .45rem;font-size:.6875rem;font-weight:600;display:inline-flex}.notif-row-hint{color:var(--primary,#4f46e5);font-size:.75rem;font-weight:600}.notif-row-chevron{color:var(--gray-300,#d1d5db);flex-shrink:0;align-self:center;margin-left:.15rem;font-size:1.15rem}.notif-row:hover:not(:disabled) .notif-row-chevron{color:var(--primary,#4f46e5)}.notif-row-chevron--spin{color:var(--primary,#4f46e5);animation:.85s linear infinite notif-spin}@media(max-width:520px){.notif-hero{flex-direction:column;align-items:stretch}.notif-mark-all{width:100%}.notif-row-top{flex-direction:column;align-items:flex-start;gap:.25rem}.notif-row-time{white-space:normal}}:root{--radius:.75rem;--background:#fff;--foreground:#3a3a3f;--primary:#6b3fec;--primary-foreground:#fff;--secondary:#edeeff;--secondary-foreground:#6b3fec;--muted:#e5e6e8;--muted-foreground:#81838f;--accent:#edeeff;--accent-foreground:#6b3fec;--card:#fff;--card-foreground:#3a3a3f;--popover:#fff;--popover-foreground:#3a3a3f;--border:#cecfd3;--input:#cecfd3;--ring:#6b3fec;--destructive:#f43f67;--destructive-foreground:#fff;--chart-1:#6b3fec;--chart-2:#3bac5e;--chart-3:#408eff;--chart-4:#ffc72e;--chart-5:#f43f67;--sidebar-background:#fff;--sidebar-foreground:#3a3a3f;--sidebar-primary:#6b3fec;--sidebar-primary-foreground:#fff;--sidebar-accent:#edeeff;--sidebar-accent-foreground:#6b3fec;--sidebar-border:#cecfd3;--sidebar-ring:#6b3fec}@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-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}@property --tw-ease{syntax:"*";inherits:false}
