@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#d9531e80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-left-\[10px\]{left:-10px}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-\[22px\]{top:-22px}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[90\]{z-index:90}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.h-0{height:0}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-36{height:9rem}.h-4{height:1rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\.5{width:.375rem}.w-1\/3{width:33.3333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-auto{width:auto}.w-full{width:100%}.min-w-\[800px\]{min-width:800px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:1s infinite bounce}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(249 250 251/var(--tw-divide-opacity,1))}.divide-slate-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(248 250 252/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-l-\[24px\]{border-left-width:24px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-\[24px\]{border-top-width:24px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(255 230 213/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(255 200 163/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(217 83 30/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-100\/50{border-color:#f3f4f680}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(255 230 213/var(--tw-border-opacity,1))}.border-indigo-100\/40{border-color:#ffe6d566}.border-indigo-100\/50{border-color:#ffe6d580}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(217 83 30/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/20{border-color:#fff3}.border-l-blue-400{--tw-border-opacity:1;border-left-color:rgb(255 128 56/var(--tw-border-opacity,1))}.border-l-emerald-400{--tw-border-opacity:1;border-left-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-l-gray-300{--tw-border-opacity:1;border-left-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:#0000}.border-t-blue-500{--tw-border-opacity:1;border-top-color:rgb(217 83 30/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/10{background-color:#fffbeb1a}.bg-amber-50\/40{background-color:#fffbeb66}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(255 230 213/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(255 245 239/var(--tw-bg-opacity,1))}.bg-blue-50\/20{background-color:#fff5ef33}.bg-blue-50\/50{background-color:#fff5ef80}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/30{background-color:#f9fafb4d}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/70{background-color:#f9fafbb3}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(255 230 213/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(255 245 239/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:#fff5ef4d}.bg-indigo-50\/40{background-color:#fff5ef66}.bg-indigo-50\/70{background-color:#fff5efb3}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(217 83 30/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900\/60{background-color:#0f172a99}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-white\/60{background-color:#fff9}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-blue-50,.from-indigo-50{--tw-gradient-from:#fff5ef var(--tw-gradient-from-position);--tw-gradient-to:#fff5ef00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from:#c2410c var(--tw-gradient-from-position);--tw-gradient-to:#c2410c00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:#fef2f200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-slate-50{--tw-gradient-to:#f8fafc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #f8fafc var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-violet-600{--tw-gradient-to:#7c3aed00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-indigo-50{--tw-gradient-to:#fff5ef var(--tw-gradient-to-position)}.to-indigo-700{--tw-gradient-to:#a23205 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-violet-50{--tw-gradient-to:#f5f3ff var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-12{padding-right:3rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(255 128 56/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(217 83 30/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(162 50 5/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(124 36 2/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:rgb(255 230 213/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(255 200 163/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(255 128 56/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(217 83 30/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(162 50 5/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-amber-200{--tw-shadow-color:#fde68a;--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-100{--tw-shadow-color:#ffe6d5;--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-200{--tw-shadow-color:#ffc8a3;--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-100{--tw-shadow-color:#d1fae5;--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-500\/10{--tw-shadow-color:#10b9811a;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-100{--tw-shadow-color:#ffe6d5;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-200{--tw-shadow-color:#ffc8a3;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/20{--tw-shadow-color:#d9531e33;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/30{--tw-shadow-color:#d9531e4d;--tw-shadow:var(--tw-shadow-colored)}.shadow-red-100{--tw-shadow-color:#fee2e2;--tw-shadow:var(--tw-shadow-colored)}.shadow-rose-500\/20{--tw-shadow-color:#f43f5e33;--tw-shadow:var(--tw-shadow-colored)}.shadow-violet-500\/20{--tw-shadow-color:#8b5cf633;--tw-shadow:var(--tw-shadow-colored)}.shadow-yellow-200{--tw-shadow-color:#fef08a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(217 83 30/var(--tw-ring-opacity,1))}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 230 213/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-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-filter{-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--primary:#d9531e;--primary-dark:#c2410c;--primary-light:#fff5ef;--primary-ring:#d9531e1f;--success:#16a34a;--success-light:#dcfce7;--warning:#f59e0b;--warning-light:#fef9c3;--danger:#dc2626;--danger-light:#fee2e2;--info:#0ea5e9;--info-light:#e0f2fe;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--border-subtle:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--sidebar-w:248px;--topbar-h:56px;--radius:6px;--radius-md:8px;--radius-lg:12px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #00000012, 0 1px 2px -1px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--role-admin:#d9531e;--role-teacher:#c2410c;--role-student:#d9531e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}h1,h2,h3,h4,h5{color:var(--text-primary);font-weight:600;line-height:1.3}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.export-btn-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.export-n3-group{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:5px;padding:4px 8px;display:inline-flex}.btn-export-type{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:4px;padding:4px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.btn-export-type:hover{color:#fff;background:#d9531e;border-color:#d9531e}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(255 164 107/var(--tw-border-opacity,1))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgb(255 230 213/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(255 200 163/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-50\/30:hover{background-color:#fffbeb4d}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(255 230 213/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(255 245 239/var(--tw-bg-opacity,1))}.hover\:bg-blue-50\/50:hover{background-color:#fff5ef80}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(162 50 5/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-50\/50:hover{background-color:#f9fafb80}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(255 230 213/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(255 245 239/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/30:hover{background-color:#fff5ef4d}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(162 50 5/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-50\/30:hover{background-color:#f8fafc4d}.hover\:bg-slate-50\/50:hover{background-color:#f8fafc80}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(162 50 5/var(--tw-text-opacity,1))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgb(124 36 2/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(217 83 30/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 83 30/var(--tw-ring-opacity,1))}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 230 213/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.md\:w-56{width:14rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:pb-0{padding-bottom:0}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}[data-v-68ec0a55],[data-v-68ec0a55]:before,[data-v-68ec0a55]:after{box-sizing:border-box;margin:0;padding:0}.page-wrapper[data-v-68ec0a55]{background:#fff;width:100vw;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.left-panel[data-v-68ec0a55]{background:#fbfbfc;border-right:1px solid #f1f5f9;flex-direction:column;flex:0 0 52%;display:flex;position:relative;overflow:hidden}.panel-bg[data-v-68ec0a55]{pointer-events:none;position:absolute;inset:0}.mesh-circle[data-v-68ec0a55]{filter:blur(80px);opacity:.25;border-radius:50%;animation:12s ease-in-out infinite alternate drift-68ec0a55;position:absolute}.c1[data-v-68ec0a55]{background:#ffdcd0;width:500px;height:500px;animation-delay:0s;top:-120px;left:-80px}.c2[data-v-68ec0a55]{background:#fed;width:400px;height:400px;animation-delay:-4s;bottom:-100px;right:-60px}.c3[data-v-68ec0a55]{background:#fff2eb;width:350px;height:350px;animation-delay:-8s;top:40%;left:30%}@keyframes drift-68ec0a55{0%{transform:translate(0)scale(1)}to{transform:translate(30px,20px)scale(1.08)}}.left-panel[data-v-68ec0a55]:before{content:"";z-index:1;background-image:linear-gradient(#d9531e05 1px,#0000 1px),linear-gradient(90deg,#d9531e05 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.panel-topbar[data-v-68ec0a55]{z-index:10;justify-content:space-between;align-items:center;padding:28px 40px;display:flex;position:relative}.brand[data-v-68ec0a55]{align-items:center;gap:14px;display:flex}.brand-logo[data-v-68ec0a55]{color:#fff;background:linear-gradient(135deg,#d9531e,#ff7a45);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 14px #d9531e33}.brand-logo svg[data-v-68ec0a55]{width:22px;height:22px}.brand-info[data-v-68ec0a55]{flex-direction:column;gap:2px;display:flex}.brand-name[data-v-68ec0a55]{color:#0f172a;letter-spacing:-.02em;font-size:18px;font-weight:800}.brand-tag[data-v-68ec0a55]{color:#d9531e;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.panel-badge[data-v-68ec0a55]{color:#d9531e;background:#d9531e14;border:1px solid #d9531e26;border-radius:100px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.dot[data-v-68ec0a55]{background:#d9531e;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-dot-68ec0a55}@keyframes pulse-dot-68ec0a55{0%,to{opacity:1;box-shadow:0 0 #d9531e66}50%{opacity:.8;box-shadow:0 0 0 6px #d9531e00}}.slide-area[data-v-68ec0a55]{z-index:10;flex:1;align-items:center;padding:0 48px;display:flex;position:relative;overflow:hidden}.slide-content[data-v-68ec0a55]{width:100%;max-width:500px}.slide-tag[data-v-68ec0a55]{text-transform:uppercase;letter-spacing:.1em;color:#d9531e;background:#d9531e0d;border:1px solid #d9531e;border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-flex}.slide-tag[data-v-68ec0a55]:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.slide-title[data-v-68ec0a55]{color:#0f172a;letter-spacing:-.03em;margin-bottom:20px;font-size:38px;font-weight:900;line-height:1.15}.slide-desc[data-v-68ec0a55]{color:#475569;max-width:420px;margin-bottom:40px;font-size:16px;line-height:1.7}.slide-stats[data-v-68ec0a55]{align-items:center;gap:32px;margin-bottom:40px;display:flex}.stat-card[data-v-68ec0a55]{flex-direction:column;gap:4px;display:flex}.stat-value[data-v-68ec0a55]{letter-spacing:-.04em;font-size:32px;font-weight:900;line-height:1}.stat-label[data-v-68ec0a55]{color:#64748b;font-size:13px;font-weight:500}.stat-divider[data-v-68ec0a55]{background:#e2e8f0;width:1px;height:40px}.icon-card[data-v-68ec0a55]{justify-content:center;align-items:center;display:inline-flex}.icon-bg[data-v-68ec0a55]{color:#d9531e;background:#d9531e0f;border:1px solid #d9531e1f;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;transition:background .5s;display:flex}.icon-bg svg[data-v-68ec0a55]{width:36px;height:36px}.slide-controls[data-v-68ec0a55]{z-index:10;justify-content:center;align-items:center;gap:16px;padding:24px 48px;display:flex;position:relative}.ctrl-btn[data-v-68ec0a55]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000005}.ctrl-btn[data-v-68ec0a55]:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.ctrl-btn svg[data-v-68ec0a55]{width:16px;height:16px}.dots[data-v-68ec0a55]{align-items:center;gap:8px;display:flex}.dot-btn[data-v-68ec0a55]{cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;width:8px;height:8px;transition:all .3s}.dot-btn.active[data-v-68ec0a55]{background:#d9531e;border-radius:4px;width:24px}.demo-pills[data-v-68ec0a55]{z-index:10;flex-wrap:wrap;align-items:center;gap:10px;padding:20px 48px 36px;display:flex;position:relative}.demo-pills-label[data-v-68ec0a55]{color:#475569;margin-right:4px;font-size:12px;font-weight:600}.demo-pill[data-v-68ec0a55]{cursor:pointer;border:1px solid;border-radius:100px;align-items:center;gap:7px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.demo-pill .pill-dot[data-v-68ec0a55]{background:currentColor;border-radius:50%;width:6px;height:6px}.demo-pill.admin[data-v-68ec0a55]{color:#b91c1c;background:#ef444414;border-color:#ef444426}.demo-pill.admin[data-v-68ec0a55]:hover{background:#ef44441f}.demo-pill.teacher[data-v-68ec0a55]{color:#b45309;background:#f59e0b14;border-color:#f59e0b26}.demo-pill.teacher[data-v-68ec0a55]:hover{background:#f59e0b1f}.demo-pill.student[data-v-68ec0a55]{color:#065f46;background:#10b98114;border-color:#10b98126}.demo-pill.student[data-v-68ec0a55]:hover{background:#10b9811f}.right-panel[data-v-68ec0a55]{background:#fff;border-left:1px solid #f1f5f9;flex-direction:column;flex:1;display:flex;position:relative}.right-panel[data-v-68ec0a55]:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#d9531e0d 0%,#0000 70%);position:absolute;inset:0}.form-topbar[data-v-68ec0a55]{z-index:10;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:28px 48px;display:flex;position:relative}.form-topbar-brand[data-v-68ec0a55]{color:#d9531e;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.form-topbar-brand svg[data-v-68ec0a55]{width:18px;height:18px}.form-topbar-switch[data-v-68ec0a55]{color:#64748b;align-items:center;gap:10px;font-size:13px;display:flex}.form-topbar-switch button[data-v-68ec0a55]{color:#d9531e;cursor:pointer;background:#d9531e14;border:1px solid #d9531e26;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.form-topbar-switch button[data-v-68ec0a55]:hover{color:#c2410c;background:#d9531e26}.form-center[data-v-68ec0a55]{z-index:10;flex:1;justify-content:center;align-items:center;padding:32px 48px;display:flex;position:relative}.form-card[data-v-68ec0a55]{width:100%;max-width:440px}.form-header[data-v-68ec0a55]{margin-bottom:36px}.form-icon-wrap[data-v-68ec0a55]{color:#d9531e;background:linear-gradient(135deg,#d9531e1a,#f59e0b1a);border:1px solid #d9531e26;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:24px;display:flex;box-shadow:0 8px 20px #d9531e0f}.form-icon-wrap svg[data-v-68ec0a55]{width:26px;height:26px}.form-icon-wrap.register-icon[data-v-68ec0a55]{color:#d9531e;background:linear-gradient(135deg,#d9531e14,#f59e0b14);border-color:#d9531e1f;box-shadow:0 8px 20px #d9531e0d}.form-title[data-v-68ec0a55]{color:#0f172a;letter-spacing:-.03em;margin-bottom:8px;font-size:30px;font-weight:900}.form-sub[data-v-68ec0a55]{color:#64748b;font-size:14px;line-height:1.6}.auth-form[data-v-68ec0a55]{flex-direction:column;gap:18px;display:flex}.field[data-v-68ec0a55]{flex-direction:column;gap:8px;display:flex}.field label[data-v-68ec0a55]{color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.label-row[data-v-68ec0a55]{justify-content:space-between;align-items:center;display:flex}.forgot-link[data-v-68ec0a55]{color:#d9531e;font-size:12px;font-weight:500;text-decoration:none;transition:color .2s}.forgot-link[data-v-68ec0a55]:hover{color:#c2410c}.input-row[data-v-68ec0a55]{align-items:center;display:flex;position:relative}.input-icon[data-v-68ec0a55]{color:#94a3b8;pointer-events:none;display:flex;position:absolute;left:16px}.input-icon svg[data-v-68ec0a55]{width:17px;height:17px}.input-row input[data-v-68ec0a55]{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:14px 48px 14px 46px;font-family:inherit;font-size:14px;transition:all .2s}.input-row input[data-v-68ec0a55]::placeholder{color:#94a3b8}.input-row input[data-v-68ec0a55]:hover{background:#f1f5f9;border-color:#cbd5e1}.input-row input[data-v-68ec0a55]:focus{background:#fff;border-color:#d9531e;box-shadow:0 0 0 3px #d9531e26}.eye-btn[data-v-68ec0a55]{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:14px}.eye-btn[data-v-68ec0a55]:hover{color:#64748b}.eye-btn svg[data-v-68ec0a55]{width:17px;height:17px}.error-alert[data-v-68ec0a55]{color:#b91c1c;background:#ef44440f;border:1px solid #ef444426;border-radius:10px;align-items:center;gap:10px;padding:13px 16px;font-size:13px;font-weight:500;display:flex}.error-alert svg[data-v-68ec0a55]{flex-shrink:0;width:16px;height:16px}.btn-primary[data-v-68ec0a55]{color:#fff;cursor:pointer;letter-spacing:-.01em;background:linear-gradient(135deg,#d9531e,#ff7a45);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;height:52px;margin-top:4px;padding:15px 24px;font-size:15px;font-weight:700;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #d9531e40}.btn-primary[data-v-68ec0a55]:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:60%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary[data-v-68ec0a55]:hover:not(:disabled):before{left:150%}.btn-primary[data-v-68ec0a55]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #d9531e73}.btn-primary[data-v-68ec0a55]:active{transform:translateY(0)}.btn-primary[data-v-68ec0a55]:disabled{opacity:.6;cursor:not-allowed}.btn-primary span[data-v-68ec0a55]{align-items:center;gap:10px;display:flex}.btn-primary svg[data-v-68ec0a55]{width:17px;height:17px}.register-btn[data-v-68ec0a55]{background:linear-gradient(135deg,#c2410c,#d9531e);box-shadow:0 4px 14px #c2410c40}.register-btn[data-v-68ec0a55]:hover:not(:disabled){box-shadow:0 8px 24px #c2410c66}.spinner[data-v-68ec0a55]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin-68ec0a55}@keyframes spin-68ec0a55{to{transform:rotate(360deg)}}.divider[data-v-68ec0a55]{align-items:center;gap:16px;margin:6px 0;display:flex}.divider[data-v-68ec0a55]:before,.divider[data-v-68ec0a55]:after{content:"";background:#e2e8f0;flex:1;height:1px}.divider span[data-v-68ec0a55]{color:#94a3b8;white-space:nowrap;font-size:12px;font-weight:500}.quick-logins[data-v-68ec0a55]{flex-direction:column;gap:8px;display:flex}.quick-btn[data-v-68ec0a55]{cursor:pointer;text-align:left;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;transition:all .2s;display:flex}.quick-btn[data-v-68ec0a55]:hover{background:#f8fafc;border-color:#cbd5e1;transform:translate(2px)}.quick-btn svg[data-v-68ec0a55]{color:#94a3b8;flex-shrink:0;width:16px;height:16px;margin-left:auto}.quick-avatar[data-v-68ec0a55]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:flex}.admin-avatar[data-v-68ec0a55]{color:#b91c1c;background:linear-gradient(135deg,#fee2e2,#fca5a5)}.teacher-avatar[data-v-68ec0a55]{color:#b45309;background:linear-gradient(135deg,#fef3c7,#fde68a)}.student-avatar[data-v-68ec0a55]{color:#065f46;background:linear-gradient(135deg,#d1fae5,#6ee7b7)}.quick-info[data-v-68ec0a55]{flex-direction:column;gap:2px;display:flex}.quick-role[data-v-68ec0a55]{color:#334155;font-size:13px;font-weight:600}.quick-cred[data-v-68ec0a55]{color:#64748b;font-family:monospace;font-size:11px}.field-row[data-v-68ec0a55]{gap:14px;display:flex}.field-row .field[data-v-68ec0a55]{flex:1}.agree-text[data-v-68ec0a55]{color:#64748b;text-align:center;font-size:12px;line-height:1.6}.agree-text a[data-v-68ec0a55]{color:#d9531e;text-decoration:none}.agree-text a[data-v-68ec0a55]:hover{text-decoration:underline}.success-state[data-v-68ec0a55]{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.success-icon[data-v-68ec0a55]{color:#10b981;background:#10b9811a;border:2px solid #10b981;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;animation:.4s cubic-bezier(.34,1.56,.64,1) pop-in-68ec0a55;display:flex}.success-icon svg[data-v-68ec0a55]{width:32px;height:32px}.success-state h3[data-v-68ec0a55]{color:#0f172a;font-size:20px;font-weight:800}.success-state p[data-v-68ec0a55]{color:#64748b;font-size:14px}@keyframes pop-in-68ec0a55{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.form-footer[data-v-68ec0a55]{color:#94a3b8;z-index:10;border-top:1px solid #f1f5f9;justify-content:center;align-items:center;gap:12px;padding:20px 48px;font-size:12px;display:flex;position:relative}.footer-sep[data-v-68ec0a55]{color:#cbd5e1}.form-footer a[data-v-68ec0a55]{color:#64748b;text-decoration:none;transition:color .2s}.form-footer a[data-v-68ec0a55]:hover{color:#d9531e}.slide-next-enter-active[data-v-68ec0a55],.slide-next-leave-active[data-v-68ec0a55],.slide-prev-enter-active[data-v-68ec0a55],.slide-prev-leave-active[data-v-68ec0a55]{transition:all .5s cubic-bezier(.4,0,.2,1)}.slide-next-enter-from[data-v-68ec0a55]{opacity:0;transform:translate(40px)scale(.98)}.slide-next-leave-to[data-v-68ec0a55],.slide-prev-enter-from[data-v-68ec0a55]{opacity:0;transform:translate(-40px)scale(.98)}.slide-prev-leave-to[data-v-68ec0a55]{opacity:0;transform:translate(40px)scale(.98)}.fade-form-enter-active[data-v-68ec0a55],.fade-form-leave-active[data-v-68ec0a55]{transition:all .35s cubic-bezier(.4,0,.2,1)}.fade-form-enter-from[data-v-68ec0a55]{opacity:0;transform:translateY(16px)}.fade-form-leave-to[data-v-68ec0a55]{opacity:0;transform:translateY(-16px)}.shake-enter-active[data-v-68ec0a55]{animation:.4s shake-68ec0a55}@keyframes shake-68ec0a55{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media (width<=900px){.left-panel[data-v-68ec0a55]{display:none}.right-panel[data-v-68ec0a55]{flex:1}.form-center[data-v-68ec0a55]{padding:24px}.form-topbar[data-v-68ec0a55]{padding:20px 24px}.form-footer[data-v-68ec0a55]{padding:16px 24px}}@media (width<=480px){.form-card[data-v-68ec0a55]{max-width:100%}.field-row[data-v-68ec0a55]{flex-direction:column}}.dash-wrapper[data-v-532d04f8]{max-width:1400px;margin:0 auto}.dash-header[data-v-532d04f8]{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.dash-title[data-v-532d04f8]{color:#0f172a;font-size:20px;font-weight:700}.dash-subtitle[data-v-532d04f8]{color:#64748b;margin-top:3px;font-size:13px}.dash-header-actions[data-v-532d04f8]{gap:8px;display:flex}.dash-btn-outline[data-v-532d04f8]{color:#374151;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:background .15s;display:flex}.dash-btn-outline[data-v-532d04f8]:hover{background:#f8fafc}.dash-loading[data-v-532d04f8]{color:#64748b;justify-content:center;align-items:center;gap:10px;padding:80px 0;font-size:14px;display:flex}.dash-spinner[data-v-532d04f8]{border:2px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin-532d04f8}@keyframes spin-532d04f8{to{transform:rotate(360deg)}}.dash-kpi-grid[data-v-532d04f8]{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.dash-kpi-card[data-v-532d04f8]{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #0000;border-radius:8px;align-items:flex-start;gap:14px;padding:16px;transition:box-shadow .15s;display:flex}.dash-kpi-card[data-v-532d04f8]:hover{box-shadow:0 2px 8px #0000000f}.dash-kpi-card.blue[data-v-532d04f8]{border-left-color:#2563eb}.dash-kpi-card.red[data-v-532d04f8]{border-left-color:#dc2626}.dash-kpi-card.green[data-v-532d04f8]{border-left-color:#16a34a}.dash-kpi-card.orange[data-v-532d04f8]{border-left-color:#f59e0b}.kpi-icon-wrap[data-v-532d04f8]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.blue-bg[data-v-532d04f8]{color:#2563eb;background:#eff6ff}.red-bg[data-v-532d04f8]{color:#dc2626;background:#fef2f2}.green-bg[data-v-532d04f8]{color:#16a34a;background:#f0fdf4}.orange-bg[data-v-532d04f8]{color:#f59e0b;background:#fffbeb}.kpi-content[data-v-532d04f8]{flex:1;min-width:0}.kpi-label[data-v-532d04f8]{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.kpi-value[data-v-532d04f8]{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:20px;font-weight:700;line-height:1.2;overflow:hidden}.kpi-trend[data-v-532d04f8]{margin-top:4px;font-size:11px;font-weight:500}.kpi-trend.up[data-v-532d04f8]{color:#16a34a}.kpi-trend.down[data-v-532d04f8]{color:#dc2626}.kpi-sub[data-v-532d04f8]{color:#94a3b8;margin-top:4px;font-size:11px}.dash-content-grid[data-v-532d04f8]{grid-template-columns:1fr 320px;gap:16px;display:grid}.dash-col-main[data-v-532d04f8],.dash-col-side[data-v-532d04f8]{flex-direction:column;display:flex}.dash-card[data-v-532d04f8]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.dash-card-header[data-v-532d04f8]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.dash-card-title[data-v-532d04f8]{color:#0f172a;font-size:14px;font-weight:600}.dash-link[data-v-532d04f8]{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:12px;font-weight:500}.dash-link[data-v-532d04f8]:hover{text-decoration:underline}.dash-quick-actions[data-v-532d04f8]{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;display:grid}.qa-btn[data-v-532d04f8]{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:16px 8px;transition:all .15s;display:flex}.qa-btn[data-v-532d04f8]:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 6px #0000000f}.qa-icon[data-v-532d04f8]{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.qa-green[data-v-532d04f8]{color:#16a34a;background:#f0fdf4}.qa-blue[data-v-532d04f8]{color:#2563eb;background:#eff6ff}.qa-purple[data-v-532d04f8]{color:#7c3aed;background:#f5f3ff}.qa-red[data-v-532d04f8]{color:#dc2626;background:#fef2f2}.qa-label[data-v-532d04f8]{color:#334155;text-align:center;font-size:12px;font-weight:500}.dash-table[data-v-532d04f8]{border-collapse:collapse;width:100%}.dash-table th[data-v-532d04f8]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 16px;font-size:10px;font-weight:700}.dash-table td[data-v-532d04f8]{border-bottom:1px solid #f1f5f9;padding:12px 16px;font-size:13px}.dash-table tr:last-child td[data-v-532d04f8]{border-bottom:none}.dash-table tr:hover td[data-v-532d04f8]{background:#fafafa}.dash-user-cell[data-v-532d04f8]{align-items:center;gap:8px;display:flex}.dash-avatar[data-v-532d04f8]{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.dash-text-secondary[data-v-532d04f8]{color:#64748b}.dash-badge[data-v-532d04f8]{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.dash-badge.badge-warning[data-v-532d04f8]{color:#854d0e;background:#fef9c3}.dash-badge.badge-success[data-v-532d04f8]{color:#166534;background:#dcfce7}.dash-empty[data-v-532d04f8]{text-align:center;color:#94a3b8;padding:24px;font-size:13px}.fin-chart-wrap[data-v-532d04f8]{flex-direction:column;align-items:center;gap:10px;padding:20px 16px 12px;display:flex}.fin-circular-chart[data-v-532d04f8]{width:110px;height:110px}.fin-circle-bg[data-v-532d04f8]{fill:none;stroke:#f1f5f9;stroke-width:4px}.fin-circle[data-v-532d04f8]{fill:none;stroke:#16a34a;stroke-width:3.5px;stroke-linecap:round;animation:1.2s ease-out forwards fin-progress-532d04f8}@keyframes fin-progress-532d04f8{0%{stroke-dasharray:0 100}}.fin-pct[data-v-532d04f8]{fill:#0f172a;text-anchor:middle;font-family:Inter,sans-serif;font-size:.55em;font-weight:700}.fin-chart-label[data-v-532d04f8]{text-align:center}.fin-chart-title[data-v-532d04f8]{color:#334155;font-size:13px;font-weight:600}.fin-chart-sub[data-v-532d04f8]{color:#94a3b8;margin-top:2px;font-size:11px}.fin-row[data-v-532d04f8]{border-top:1px solid #f1f5f9;grid-template-columns:1fr 1fr;display:grid}.fin-item[data-v-532d04f8]{padding:12px 16px}.fin-item[data-v-532d04f8]:first-child{border-right:1px solid #f1f5f9}.fin-item-label[data-v-532d04f8]{color:#94a3b8;font-size:11px;font-weight:500}.fin-item-value[data-v-532d04f8]{margin-top:2px;font-size:13px;font-weight:700}.fin-item-value.success[data-v-532d04f8]{color:#16a34a}.fin-item-value.danger[data-v-532d04f8]{color:#dc2626}.course-bars[data-v-532d04f8]{flex-direction:column;gap:14px;padding:12px 16px;display:flex}.course-bar-header[data-v-532d04f8]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.course-bar-name[data-v-532d04f8]{color:#334155;font-size:12.5px;font-weight:500}.course-bar-pct[data-v-532d04f8]{font-size:12px;font-weight:700}.course-bar-track[data-v-532d04f8]{background:#f1f5f9;border-radius:3px;height:6px;overflow:hidden}.course-bar-fill[data-v-532d04f8]{border-radius:3px;height:100%;transition:width 1s ease-out}@media (width<=1200px){.dash-kpi-grid[data-v-532d04f8]{grid-template-columns:repeat(2,1fr)}.dash-content-grid[data-v-532d04f8]{grid-template-columns:1fr}}.course-icon-wrap[data-v-bbba89b2]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s;display:flex}.course-icon-wrap[data-v-bbba89b2]:hover{transform:scale(1.1)}.course-icon-emoji[data-v-bbba89b2]{font-size:1.3rem;line-height:1}.course-icon-wrap-lg[data-v-bbba89b2]{border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.level-badge[data-v-bbba89b2]{letter-spacing:.02em;border-radius:99px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.level-beginner[data-v-bbba89b2]{color:#1e40af;background:#dbeafe}.level-intermediate[data-v-bbba89b2]{color:#065f46;background:#dcfce7}.level-advanced[data-v-bbba89b2]{color:#92400e;background:#fef3c7}.level-default[data-v-bbba89b2]{color:#4b5563;background:#f3f4f6}.pag-btn[data-v-bbba89b2]{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.pag-num[data-v-bbba89b2]{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.pag-active[data-v-bbba89b2]{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 8px #2563eb4d}.view-toggle-btn[data-v-bfd54e71]{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:10px;align-items:center;padding:6px 12px;font-size:.75rem;transition:all .2s;display:flex}.view-toggle-btn.active[data-v-bfd54e71]{color:#2563eb;background:#fff;box-shadow:0 1px 4px #00000014}.view-toggle-btn[data-v-bfd54e71]:not(.active):hover{color:#374151}.pag-btn[data-v-bfd54e71]{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.pag-num[data-v-bfd54e71]{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.pag-active[data-v-bfd54e71]{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 8px #2563eb4d}.schedule-title[data-v-64487eee]{color:#1a1a2e;letter-spacing:-.01em;font-size:1.2rem;font-weight:600}.schedule-title-italic[data-v-64487eee]{color:#1d4ed8;font-style:italic;font-weight:700}.week-nav-btn[data-v-64487eee]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;transition:all .2s;display:flex}.week-nav-btn[data-v-64487eee]:hover{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.schedule-table-wrapper[data-v-64487eee]{background:#fff;border:1px solid #f1f0f0;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005}.schedule-table[data-v-64487eee]{border-collapse:collapse;table-layout:fixed;width:100%}.schedule-th[data-v-64487eee]{text-align:center;color:#6b7280;background:#fafafa;border-bottom:1px solid #f0f0f0;border-right:1px solid #f5f5f5;padding:14px 8px;font-size:.8rem;font-weight:700;transition:background .2s}.schedule-th[data-v-64487eee]:last-child{border-right:none}.schedule-th-ca[data-v-64487eee]{color:#9ca3af;width:90px;font-size:.75rem;font-weight:600}.today-col[data-v-64487eee]{background:#eff6ff!important}.th-date[data-v-64487eee]{color:#9ca3af;margin-top:2px;font-size:.7rem;font-weight:500}.today-date[data-v-64487eee]{color:#2563eb;font-weight:700}.today-badge[data-v-64487eee]{color:#2563eb;text-transform:uppercase;background:#dbeafe;border-radius:6px;margin-top:3px;padding:1px 6px;font-size:.6rem;font-weight:800;display:inline-block}.schedule-row[data-v-64487eee]{border-bottom:1px solid #f5f5f5}.schedule-row[data-v-64487eee]:last-child{border-bottom:none}.schedule-td-time[data-v-64487eee]{text-align:center;vertical-align:middle;background:#fefefe;border-right:1px solid #f0f0f0;padding:18px 12px}.time-label-slot[data-v-64487eee]{color:#9ca3af;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:800}.time-label[data-v-64487eee]{color:#6b7280;font-size:.82rem;font-weight:600;line-height:1.6}.schedule-td-cell[data-v-64487eee]{vertical-align:middle;text-align:center;border-right:1px solid #f5f5f5;height:100px;min-height:90px;padding:10px 7px;transition:background .2s}.schedule-td-cell[data-v-64487eee]:last-child{border-right:none}.today-cell[data-v-64487eee]{background:#f8fafc}.schedule-card[data-v-64487eee]{cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:64px;padding:10px 6px;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.schedule-card[data-v-64487eee]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.card-course-name[data-v-64487eee]{margin-bottom:2px;font-size:.72rem;font-weight:700;line-height:1.3}.card-room[data-v-64487eee]{opacity:.75;margin-top:2px;font-size:.7rem;font-weight:600}.card-blue[data-v-64487eee]{color:#1e40af;background:#dbeafe;border-left:3px solid #2563eb}.card-green[data-v-64487eee]{color:#065f46;background:#d1fae5;border-left:3px solid #059669}.card-yellow[data-v-64487eee]{color:#854d0e;background:#fef9c3;border-left:3px solid #ca8a04}.card-cyan[data-v-64487eee]{color:#155e75;background:#cffafe;border-left:3px solid #0891b2}.card-pink[data-v-64487eee]{color:#9d174d;background:#fce7f3;border-left:3px solid #db2777}.card-purple[data-v-64487eee]{color:#6b21a8;background:#e9d5ff;border-left:3px solid #9333ea}.card-orange[data-v-64487eee]{color:#9a3412;background:#ffedd5;border-left:3px solid #ea580c}.conflict-card[data-v-64487eee]{color:#991b1b;background:#fee2e2;border-left:3px solid #dc2626;animation:1.5s ease-in-out infinite pulse-conflict-64487eee}@keyframes pulse-conflict-64487eee{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 4px #dc262600}}.schedule-legend[data-v-64487eee]{flex-wrap:wrap;gap:20px;padding:4px 8px;display:flex}.legend-item[data-v-64487eee]{align-items:center;gap:8px;display:flex}.legend-dot[data-v-64487eee]{border-radius:4px;flex-shrink:0;width:13px;height:13px}.legend-text[data-v-64487eee]{color:#4b5563;font-size:.82rem;font-weight:500}.legend-card-blue[data-v-64487eee]{background:#3b82f6}.legend-card-green[data-v-64487eee]{background:#10b981}.legend-card-yellow[data-v-64487eee]{background:#f59e0b}.legend-card-cyan[data-v-64487eee]{background:#06b6d4}.legend-card-pink[data-v-64487eee]{background:#ec4899}.legend-card-purple[data-v-64487eee]{background:#a855f7}.legend-card-orange[data-v-64487eee]{background:#f97316}.month-day-card[data-v-64487eee]{background:#fff;border:1px solid #f0f0f0;border-radius:20px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #00000008}.month-day-card[data-v-64487eee]:hover{border-color:#dbeafe;box-shadow:0 4px 16px #2563eb0f}.today-day-card[data-v-64487eee]{background:linear-gradient(to bottom right,#fff,#eff6ff);border-color:#bfdbfe}.month-day-header[data-v-64487eee]{background:#fafafa;border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.today-day-header[data-v-64487eee]{background:linear-gradient(90deg,#eff6ff,#f8fafc)}.month-day-num[data-v-64487eee]{color:#374151;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:800;display:flex}.today-day-num[data-v-64487eee]{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb4d}.month-day-body[data-v-64487eee]{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.session-section[data-v-64487eee]{flex-direction:column;gap:8px;display:flex}.session-label[data-v-64487eee]{text-transform:uppercase;letter-spacing:.08em;border-radius:8px;align-items:center;width:fit-content;padding:4px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.session-morning[data-v-64487eee]{color:#92400e;background:#fef3c7}.session-afternoon[data-v-64487eee]{color:#1e40af;background:#dbeafe}.session-evening[data-v-64487eee]{color:#6b21a8;background:#e9d5ff}.session-items[data-v-64487eee]{flex-wrap:wrap;gap:10px;padding-left:4px;display:flex}.month-card[data-v-64487eee]{cursor:pointer;border-radius:14px;flex-direction:column;flex:1;min-width:180px;padding:12px 16px;transition:all .2s;display:flex}.month-card[data-v-64487eee]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.month-card-time[data-v-64487eee]{opacity:.7;margin-bottom:4px;font-size:.72rem;font-weight:600}.month-card-name[data-v-64487eee]{margin-bottom:3px;font-size:.88rem;font-weight:700;line-height:1.3}.month-card-sub[data-v-64487eee]{opacity:.65;font-size:.7rem;font-weight:600}@keyframes modalIn-64487eee{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-modal-in[data-v-64487eee]{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards modalIn-64487eee}.animate-shake[data-v-64487eee]{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake-64487eee}@keyframes shake-64487eee{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.gcal-btn[data-v-64487eee]{color:#1a73e8;background:linear-gradient(135deg,#fff 0%,#f0f7ff 100%);border:1.5px solid #d1e3ff;text-decoration:none;box-shadow:0 2px 8px #1a73e81a}.gcal-btn[data-v-64487eee]:hover{background:linear-gradient(135deg,#e8f0fe 0%,#d2e3fc 100%);border-color:#1a73e8;transform:translateY(-1px);box-shadow:0 4px 16px #1a73e833}@keyframes modalIn-905fc91c{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-modal-in[data-v-905fc91c]{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards modalIn-905fc91c}.pag-btn[data-v-905fc91c]{color:#9ca3af;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.pag-num[data-v-905fc91c]{border-radius:8px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.pag-active[data-v-905fc91c]{color:#fff;background:#3b82f6;box-shadow:0 2px 6px #3b82f64d}.modal-fade-enter-active[data-v-905fc91c],.modal-fade-leave-active[data-v-905fc91c]{transition:opacity .2s}.modal-fade-enter-from[data-v-905fc91c],.modal-fade-leave-to[data-v-905fc91c]{opacity:0}.toast-enter-active[data-v-905fc91c]{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-905fc91c]{transition:all .2s}.toast-enter-from[data-v-905fc91c]{opacity:0;transform:translate(60px)scale(.9)}.toast-leave-to[data-v-905fc91c]{opacity:0;transform:translate(30px)}.page-container[data-v-968b182a]{max-width:1400px;margin:0 auto}.page-header-premium[data-v-968b182a]{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.page-title[data-v-968b182a]{color:#0f172a;margin-bottom:2px;font-size:20px;font-weight:700}.page-desc[data-v-968b182a]{color:#64748b;font-size:13px}.header-actions[data-v-968b182a]{gap:8px;display:flex}.btn-icon-text[data-v-968b182a]{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-primary[data-v-968b182a]{color:#fff;background:#2563eb;border:none}.btn-primary[data-v-968b182a]:hover{background:#1d4ed8}.btn-secondary[data-v-968b182a]{color:#374151;background:#fff;border:1px solid #e2e8f0}.btn-secondary[data-v-968b182a]:hover{background:#f8fafc;border-color:#cbd5e1}.stat-cards-premium[data-v-968b182a]{gap:16px;margin-bottom:20px;display:grid}.stat-cards-premium.cols-4[data-v-968b182a]{grid-template-columns:repeat(4,1fr)}.stat-card[data-v-968b182a]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:14px;padding:16px;display:flex}.stat-icon[data-v-968b182a]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.blue-bg[data-v-968b182a]{color:#2563eb;background:#eff6ff}.green-bg[data-v-968b182a]{color:#16a34a;background:#f0fdf4}.purple-bg[data-v-968b182a]{color:#7c3aed;background:#f5f3ff}.orange-bg[data-v-968b182a]{color:#f59e0b;background:#fffbeb}.stat-label[data-v-968b182a]{color:#64748b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:11px;font-weight:600}.stat-value[data-v-968b182a]{color:#0f172a;font-size:22px;font-weight:700}.premium-card[data-v-968b182a]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px}.filter-section[data-v-968b182a]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:14px 16px;display:flex}.filter-group[data-v-968b182a]{flex:1;gap:12px;display:flex}.filter-item[data-v-968b182a]{flex-direction:column;gap:4px;display:flex}.filter-item label[data-v-968b182a]{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.filter-select[data-v-968b182a]{color:#334155;appearance:none;background:#fff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") right 8px center/14px no-repeat;border:1px solid #e2e8f0;border-radius:6px;outline:none;min-width:180px;padding:7px 30px 7px 10px;font-family:Inter,sans-serif;font-size:13px}.filter-select[data-v-968b182a]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.search-group[data-v-968b182a]{min-width:260px}.search-input-wrapper[data-v-968b182a]{align-items:center;display:flex;position:relative}.search-icon[data-v-968b182a]{color:#94a3b8;pointer-events:none;position:absolute;left:10px}.search-input[data-v-968b182a]{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:7px 12px 7px 34px;font-family:Inter,sans-serif;font-size:13px}.search-input[data-v-968b182a]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.table-card[data-v-968b182a]{overflow:hidden}.table-responsive[data-v-968b182a]{width:100%;overflow-x:auto}.premium-table[data-v-968b182a]{border-collapse:collapse;width:100%}.premium-table th[data-v-968b182a]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 16px;font-size:10px;font-weight:700}.premium-table td[data-v-968b182a]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 16px;font-size:13.5px}.table-row:hover td[data-v-968b182a]{background:#f8fafc}.user-profile[data-v-968b182a]{cursor:pointer;align-items:center;gap:10px;display:flex}.user-avatar[data-v-968b182a]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.user-name[data-v-968b182a]{color:#0f172a;font-size:13.5px;font-weight:600}.user-profile:hover .user-name[data-v-968b182a]{color:#2563eb}.user-code[data-v-968b182a]{color:#94a3b8;font-size:11px}.course-name[data-v-968b182a]{color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 8px;font-size:12.5px}.attendance-indicator[data-v-968b182a]{align-items:center;gap:8px;display:flex}.progress-track[data-v-968b182a]{background:#e2e8f0;border-radius:3px;width:64px;height:5px;overflow:hidden}.progress-fill[data-v-968b182a]{border-radius:3px;height:100%}.attendance-value[data-v-968b182a]{border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.status-indicator[data-v-968b182a]{align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:inline-flex}.status-dot[data-v-968b182a]{border-radius:50%;width:6px;height:6px}.status-active .status-dot[data-v-968b182a]{background:#16a34a}.status-done .status-dot[data-v-968b182a]{background:#7c3aed}.action-buttons[data-v-968b182a]{justify-content:flex-end;gap:4px;display:flex}.btn-action[data-v-968b182a]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .12s;display:flex}.btn-action[data-v-968b182a]:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.empty-state[data-v-968b182a]{text-align:center;padding:48px 20px}.empty-icon[data-v-968b182a]{opacity:.4;margin-bottom:12px;font-size:36px}.empty-title[data-v-968b182a]{color:#0f172a;margin-bottom:4px;font-size:15px;font-weight:600}.empty-desc[data-v-968b182a]{color:#64748b;font-size:13px}.table-footer[data-v-968b182a]{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.table-info[data-v-968b182a]{color:#64748b;font-size:12.5px}.pagination[data-v-968b182a]{gap:4px;display:flex}.page-btn[data-v-968b182a]{color:#374151;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:all .12s;display:flex}.page-btn[data-v-968b182a]:hover:not(:disabled){background:#f1f5f9}.page-btn.active[data-v-968b182a]{color:#fff;background:#2563eb;border-color:#2563eb}.page-btn[data-v-968b182a]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-968b182a]{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-968b182a]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001f}.profile-modal[data-v-968b182a]{max-width:760px}.form-modal[data-v-968b182a]{max-width:560px}.modal-header[data-v-968b182a]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title[data-v-968b182a]{color:#0f172a;font-size:16px;font-weight:600}.close-btn[data-v-968b182a]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px}.close-btn[data-v-968b182a]:hover{color:#dc2626;background:#fef2f2}.modal-body[data-v-968b182a]{padding:20px;overflow-y:auto}.modal-footer[data-v-968b182a]{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.profile-banner[data-v-968b182a]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.profile-avatar[data-v-968b182a]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:700;display:flex}.profile-name[data-v-968b182a]{color:#0f172a;margin-bottom:2px;font-size:18px;font-weight:700}.profile-code[data-v-968b182a]{color:#64748b;margin-bottom:8px;font-size:13px}.profile-badges[data-v-968b182a]{gap:6px;display:flex}.profile-actions[data-v-968b182a]{gap:6px;margin-left:auto;display:flex}.btn-icon[data-v-968b182a]{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.btn-edit[data-v-968b182a]:hover{color:#2563eb;background:#eff6ff}.btn-delete[data-v-968b182a]:hover{color:#dc2626;background:#fef2f2}.detail-grid[data-v-968b182a]{grid-template-columns:1fr 1fr;gap:20px;display:grid}.section-title[data-v-968b182a]{color:#0f172a;text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px;font-size:13px;font-weight:700}.info-list[data-v-968b182a]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.info-item[data-v-968b182a]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.info-item.full-width[data-v-968b182a]{grid-column:1/-1}.info-icon[data-v-968b182a]{font-size:16px}.info-label[data-v-968b182a]{color:#94a3b8;text-transform:uppercase;margin-bottom:1px;font-size:10px;font-weight:600}.info-value[data-v-968b182a]{color:#0f172a;font-size:13.5px;font-weight:500}.course-card[data-v-968b182a]{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:12px;padding:12px;display:flex}.course-icon[data-v-968b182a]{font-size:20px}.course-name[data-v-968b182a]{color:#1e40af;margin-bottom:2px;font-size:13.5px;font-weight:600}.course-date[data-v-968b182a]{color:#60a5fa;font-size:11px}.attendance-card[data-v-968b182a]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px}.attendance-header[data-v-968b182a]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.attendance-label[data-v-968b182a]{color:#475569;font-size:12px;font-weight:600}.attendance-percent[data-v-968b182a]{font-size:18px;font-weight:800}.progress-bar-wrapper[data-v-968b182a]{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.progress-bar-fill[data-v-968b182a]{border-radius:3px;height:100%}.attendance-status[data-v-968b182a]{font-size:11px;font-weight:600}.note-card[data-v-968b182a]{background:#fef9c3;border:1px solid #fde047;border-radius:6px;margin-top:12px;padding:10px 12px}.note-title[data-v-968b182a]{color:#854d0e;margin-bottom:3px;font-size:11px;font-weight:700}.note-content[data-v-968b182a]{color:#a16207;font-size:12.5px}.form-grid[data-v-968b182a]{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group.full-width[data-v-968b182a]{grid-column:1/-1}.form-group label[data-v-968b182a]{color:#475569;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.required[data-v-968b182a]{color:#dc2626}.form-input[data-v-968b182a]{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .15s}.form-input[data-v-968b182a]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.form-textarea[data-v-968b182a]{resize:vertical;min-height:70px}.fade-enter-active[data-v-968b182a],.fade-leave-active[data-v-968b182a]{transition:opacity .2s}.fade-enter-from[data-v-968b182a],.fade-leave-to[data-v-968b182a]{opacity:0}.page-container[data-v-2bbd4fed]{max-width:1400px;margin:0 auto}.page-header-premium[data-v-2bbd4fed]{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.page-title[data-v-2bbd4fed]{color:#0f172a;margin-bottom:2px;font-size:20px;font-weight:700}.page-desc[data-v-2bbd4fed]{color:#64748b;margin:0;font-size:13px}.mb-6[data-v-2bbd4fed]{margin-bottom:16px}.btn-icon-text[data-v-2bbd4fed]{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-primary[data-v-2bbd4fed]{color:#fff;background:#2563eb}.btn-primary[data-v-2bbd4fed]:hover{background:#1d4ed8}.btn-secondary[data-v-2bbd4fed]{color:#374151;background:#fff;border:1px solid #e2e8f0}.btn-secondary[data-v-2bbd4fed]:hover{background:#f8fafc}.courses-scroll-container[data-v-2bbd4fed]{width:100%;padding-bottom:8px;overflow-x:auto}.course-cards-wrapper[data-v-2bbd4fed]{gap:12px;min-width:max-content;display:flex}.course-card-mini[data-v-2bbd4fed]{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:280px;padding:14px;transition:all .15s}.course-card-mini[data-v-2bbd4fed]:hover{border-color:#bfdbfe}.course-card-mini.active-filter[data-v-2bbd4fed]{background:#eff6ff;border-color:#2563eb}.c-card-header[data-v-2bbd4fed]{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.c-name[data-v-2bbd4fed]{color:#0f172a;padding-right:8px;font-size:13.5px;font-weight:600;line-height:1.3}.c-badge[data-v-2bbd4fed]{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700}.c-card-body[data-v-2bbd4fed]{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.c-detail[data-v-2bbd4fed]{color:#475569;align-items:center;gap:6px;font-size:12px;display:flex}.c-card-footer[data-v-2bbd4fed]{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.installment-tag[data-v-2bbd4fed]{color:#854d0e;background:#fef9c3;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.reg-count[data-v-2bbd4fed]{color:#2563eb;font-size:12px;font-weight:600}.premium-card[data-v-2bbd4fed]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.card-header[data-v-2bbd4fed]{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.border-bottom[data-v-2bbd4fed]{border-bottom:1px solid #e2e8f0}.card-title[data-v-2bbd4fed]{color:#0f172a;margin:0;font-size:15px;font-weight:600}.filtered-course-name[data-v-2bbd4fed]{color:#2563eb}.search-input-wrapper[data-v-2bbd4fed]{align-items:center;min-width:240px;display:flex;position:relative}.search-icon[data-v-2bbd4fed]{color:#94a3b8;pointer-events:none;position:absolute;left:10px}.search-input[data-v-2bbd4fed]{color:#334155;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:7px 12px 7px 34px;font-family:Inter,sans-serif;font-size:13px}.search-input[data-v-2bbd4fed]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.table-responsive[data-v-2bbd4fed]{width:100%;overflow-x:auto}.premium-table[data-v-2bbd4fed]{border-collapse:collapse;width:100%}.premium-table th[data-v-2bbd4fed]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-size:10px;font-weight:700}.premium-table td[data-v-2bbd4fed]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:13px}.table-row:hover td[data-v-2bbd4fed]{background:#f8fafc}.text-center[data-v-2bbd4fed]{text-align:center}.text-right[data-v-2bbd4fed]{text-align:right}.text-muted[data-v-2bbd4fed]{color:#94a3b8;font-size:12px}.user-profile[data-v-2bbd4fed]{align-items:center;gap:10px;display:flex}.user-avatar[data-v-2bbd4fed]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.user-avatar.blue[data-v-2bbd4fed]{background:#2563eb}.user-name[data-v-2bbd4fed]{color:#0f172a;font-size:13px;font-weight:600}.user-code[data-v-2bbd4fed]{color:#94a3b8;font-size:11px}.course-pill[data-v-2bbd4fed]{color:#334155;background:#f1f5f9;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.date-text[data-v-2bbd4fed]{color:#475569;font-size:12.5px}.payment-badge[data-v-2bbd4fed]{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.pay-full[data-v-2bbd4fed]{color:#166534;background:#dcfce7}.pay-part[data-v-2bbd4fed]{color:#854d0e;background:#fef9c3}.pay-none[data-v-2bbd4fed]{color:#991b1b;background:#fee2e2}.status-indicator[data-v-2bbd4fed]{border-radius:10px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.status-dot[data-v-2bbd4fed]{border-radius:50%;width:6px;height:6px}.status-done[data-v-2bbd4fed]{color:#166534;background:#dcfce7}.status-done .status-dot[data-v-2bbd4fed]{background:#16a34a}.status-pending[data-v-2bbd4fed]{color:#854d0e;background:#fef9c3}.status-pending .status-dot[data-v-2bbd4fed]{background:#f59e0b}.status-reject[data-v-2bbd4fed]{color:#991b1b;background:#fee2e2}.status-reject .status-dot[data-v-2bbd4fed]{background:#dc2626}.action-group[data-v-2bbd4fed]{justify-content:flex-end;gap:6px;display:flex}.btn-act[data-v-2bbd4fed]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;height:28px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .12s;display:flex}.btn-check[data-v-2bbd4fed]{color:#fff;background:#16a34a;padding:0 10px}.btn-check[data-v-2bbd4fed]:hover{background:#15803d}.btn-times[data-v-2bbd4fed]{color:#dc2626;background:#fff;border:1px solid #dc2626;width:28px;padding:0}.btn-times[data-v-2bbd4fed]:hover{background:#fef2f2}.btn-undo[data-v-2bbd4fed]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:500}.btn-undo[data-v-2bbd4fed]:hover{background:#f8fafc}.empty-cell[data-v-2bbd4fed]{color:#94a3b8;text-align:center;padding:32px;font-size:13px}.modal-overlay[data-v-2bbd4fed]{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-2bbd4fed]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001f}.form-modal[data-v-2bbd4fed]{max-width:560px}.modal-header[data-v-2bbd4fed]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title[data-v-2bbd4fed]{color:#0f172a;font-size:16px;font-weight:600}.close-btn[data-v-2bbd4fed]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px}.close-btn[data-v-2bbd4fed]:hover{color:#dc2626;background:#fef2f2}.modal-body[data-v-2bbd4fed]{padding:20px;overflow-y:auto}.modal-footer[data-v-2bbd4fed]{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.form-grid[data-v-2bbd4fed]{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group[data-v-2bbd4fed]{flex-direction:column;gap:4px;display:flex}.form-group.full-width[data-v-2bbd4fed]{grid-column:1/-1}.form-group label[data-v-2bbd4fed]{color:#475569;font-size:12px;font-weight:600}.required[data-v-2bbd4fed]{color:#dc2626}.form-input[data-v-2bbd4fed]{color:#334155;border:1px solid #e2e8f0;border-radius:6px;outline:none;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .15s}.form-input[data-v-2bbd4fed]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.form-textarea[data-v-2bbd4fed]{resize:vertical;min-height:72px}.checkbox-group[data-v-2bbd4fed]{align-items:center;gap:8px;margin-top:4px;flex-direction:row!important}.checkbox-group input[type=checkbox][data-v-2bbd4fed]{accent-color:#2563eb;width:16px;height:16px}.checkbox-label[data-v-2bbd4fed]{cursor:pointer;margin:0!important;font-size:13px!important;font-weight:500!important}.fade-enter-active[data-v-2bbd4fed],.fade-leave-active[data-v-2bbd4fed]{transition:opacity .2s}.fade-enter-from[data-v-2bbd4fed],.fade-leave-to[data-v-2bbd4fed]{opacity:0}.page-container[data-v-50f09d60]{max-width:1400px;margin:0 auto;animation:.3s ease-out fadeIn-50f09d60}@keyframes fadeIn-50f09d60{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-50f09d60]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-50f09d60]{color:#0f172a;letter-spacing:-.5px;margin-bottom:4px;font-size:26px;font-weight:800}.page-desc[data-v-50f09d60]{color:#64748b;margin:0;font-size:14px}.mb-6[data-v-50f09d60]{margin-bottom:24px}.control-panel[data-v-50f09d60]{background:linear-gradient(90deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:24px;padding:20px 24px;display:flex}.control-group[data-v-50f09d60]{flex-direction:column;gap:8px;display:flex}.control-label[data-v-50f09d60]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.control-divider[data-v-50f09d60]{background:#e2e8f0;width:1px;height:40px;margin:0 12px}.input-hint[data-v-50f09d60]{color:#94a3b8;margin-top:2px;font-size:11px;font-weight:600}.select-wrapper[data-v-50f09d60]{position:relative}.filter-select[data-v-50f09d60]{appearance:none;color:#0f172a;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:10px;outline:none;min-width:220px;padding:10px 40px 10px 16px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 1px 2px #0000000d}.large-select[data-v-50f09d60]{min-width:280px;font-size:16px}.filter-select[data-v-50f09d60]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.control-input[data-v-50f09d60]{color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:10px 16px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:inset 0 1px 2px #00000005}.control-input[data-v-50f09d60]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.session-input-wrapper[data-v-50f09d60]{align-items:center;gap:8px;display:flex}.small-input[data-v-50f09d60]{text-align:center;width:70px;padding:10px}.muted-input[data-v-50f09d60]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.session-divider[data-v-50f09d60]{color:#94a3b8;font-size:18px;font-weight:300}.read-only-badge[data-v-50f09d60]{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;align-items:center;padding:10px 18px;font-size:13px;font-weight:700;display:flex}.mr-1[data-v-50f09d60]{margin-right:6px}.disabled-control[data-v-50f09d60]{pointer-events:none;opacity:.85}.grid-layout[data-v-50f09d60]{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}.premium-card[data-v-50f09d60]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.card-header[data-v-50f09d60]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title-group[data-v-50f09d60]{align-items:center;gap:12px;display:flex}.card-title[data-v-50f09d60]{color:#0f172a;margin:0;font-size:18px;font-weight:700}.summary-bar[data-v-50f09d60]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;gap:16px;margin-bottom:20px;padding:12px 16px;display:flex}.summary-item[data-v-50f09d60]{color:#475569;align-items:center;gap:6px;font-size:13px;display:flex}.summary-item strong[data-v-50f09d60]{color:#0f172a;font-size:15px}.dot[data-v-50f09d60]{border-radius:50%;width:8px;height:8px}.green .dot[data-v-50f09d60]{background:#10b981}.red .dot[data-v-50f09d60]{background:#ef4444}.yellow .dot[data-v-50f09d60]{background:#f59e0b}.gray .dot[data-v-50f09d60]{background:#94a3b8}.table-responsive[data-v-50f09d60]{width:100%;overflow-x:auto}.premium-table[data-v-50f09d60]{border-collapse:separate;border-spacing:0;width:100%}.premium-table th[data-v-50f09d60]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-size:12px;font-weight:600}.premium-table td[data-v-50f09d60]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 16px;transition:background-color .2s}.text-center[data-v-50f09d60]{text-align:center}.row-present td[data-v-50f09d60]{background:#dcfce74d}.row-absent td[data-v-50f09d60]{background:#fee2e24d}.row-late td[data-v-50f09d60]{background:#fef9c34d}.user-profile[data-v-50f09d60]{align-items:center;gap:12px;display:flex}.user-avatar-sm[data-v-50f09d60]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.user-name[data-v-50f09d60]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:600}.user-code[data-v-50f09d60]{color:#64748b;font-size:12px}.segmented-control[data-v-50f09d60]{background:#f1f5f9;border-radius:8px;width:max-content;padding:4px;display:flex}.segment-btn[data-v-50f09d60]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.segment-btn[data-v-50f09d60]:hover{color:#334155}.btn-p.active[data-v-50f09d60]{color:#10b981;background:#fff;border:1px solid #86efac;box-shadow:0 1px 3px #0000001a}.btn-l.active[data-v-50f09d60]{color:#d97706;background:#fff;border:1px solid #fde047;box-shadow:0 1px 3px #0000001a}.btn-a.active[data-v-50f09d60]{color:#ef4444;background:#fff;border:1px solid #fca5a5;box-shadow:0 1px 3px #0000001a}.note-input[data-v-50f09d60]{color:#334155;background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:13px;transition:all .2s}.note-input[data-v-50f09d60]:not(:-moz-placeholder-shown){background:#fff;border-color:#cbd5e1;box-shadow:inset 0 1px 2px #0000000d}.note-input[data-v-50f09d60]:focus,.note-input[data-v-50f09d60]:not(:placeholder-shown){background:#fff;border-color:#cbd5e1;box-shadow:inset 0 1px 2px #0000000d}.panel-title[data-v-50f09d60]{color:#0f172a;align-items:center;gap:8px;margin-top:0;margin-bottom:20px;font-size:16px;font-weight:700;display:flex}.overall-progress[data-v-50f09d60]{border-bottom:1px solid #f1f5f9;margin-bottom:24px;padding-bottom:20px}.progress-header[data-v-50f09d60]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-label[data-v-50f09d60]{color:#475569;font-size:13px;font-weight:600}.progress-value[data-v-50f09d60]{color:#2563eb;font-size:24px;font-weight:800}.progress-track-lg[data-v-50f09d60]{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.progress-fill-lg[data-v-50f09d60]{background:#3b82f6;border-radius:4px;height:100%;transition:width .5s}.stats-table[data-v-50f09d60]{border-collapse:collapse;width:100%;margin-bottom:20px}.stats-table th[data-v-50f09d60]{text-align:left;color:#94a3b8;border-bottom:1px solid #e2e8f0;padding:0 0 12px;font-size:11px;font-weight:600}.stats-table td[data-v-50f09d60]{border-bottom:1px solid #f1f5f9;padding:12px 0;font-size:13px}.stat-name[data-v-50f09d60]{color:#334155;font-weight:600}.text-right[data-v-50f09d60]{text-align:right}.text-green[data-v-50f09d60]{color:#10b981;font-weight:600}.text-red[data-v-50f09d60]{color:#ef4444;font-weight:600}.mx-1[data-v-50f09d60]{margin:0 4px}.stat-badge[data-v-50f09d60]{border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.info-alert[data-v-50f09d60]{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:12px;padding:12px;display:flex}.info-icon[data-v-50f09d60]{font-size:16px}.info-text[data-v-50f09d60]{color:#1e40af;font-size:13px;line-height:1.4}.mt-6[data-v-50f09d60]{margin-top:24px}.status-badge[data-v-50f09d60]{text-transform:uppercase;border-radius:9999px;padding:4px 10px;font-size:11px;font-weight:700}.status-badge.pending[data-v-50f09d60]{color:#d97706;background:#fef3c7}.status-badge.approved[data-v-50f09d60]{color:#166534;background:#dcfce7}.status-badge.rejected[data-v-50f09d60]{color:#991b1b;background:#fee2e2}.action-buttons-flex[data-v-50f09d60]{justify-content:center;gap:8px;display:flex}.btn-approve-sm[data-v-50f09d60]{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:700;transition:background .2s}.btn-approve-sm[data-v-50f09d60]:hover{background:#059669}.btn-reject-sm[data-v-50f09d60]{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:700;transition:background .2s}.btn-reject-sm[data-v-50f09d60]:hover{background:#dc2626}.font-semibold[data-v-50f09d60]{font-weight:600}.font-medium[data-v-50f09d60]{font-weight:500}.text-blue-600[data-v-50f09d60]{color:#2563eb}.text-xs[data-v-50f09d60]{font-size:12px}.page-container[data-v-7470f9b3]{max-width:1400px;margin:0 auto;animation:.3s ease-out fadeIn-7470f9b3}@keyframes fadeIn-7470f9b3{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-7470f9b3]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-7470f9b3]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.page-desc[data-v-7470f9b3]{color:#64748b;font-size:14px}.header-actions[data-v-7470f9b3]{align-items:center;gap:12px;display:flex}.select-wrapper[data-v-7470f9b3]{position:relative}.filter-select[data-v-7470f9b3]{appearance:none;color:#334155;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:10px;outline:none;min-width:220px;padding:10px 40px 10px 16px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 1px 2px #0000000d}.filter-select[data-v-7470f9b3]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-icon-text[data-v-7470f9b3]{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-primary[data-v-7470f9b3]{color:#fff;background:#2563eb;border:none;box-shadow:0 4px 6px -1px #2563eb33}.btn-primary[data-v-7470f9b3]:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 8px -1px #2563eb4d}.btn-secondary[data-v-7470f9b3]{color:#334155;background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #0000000d}.btn-secondary[data-v-7470f9b3]:hover{background:#f8fafc;border-color:#94a3b8}.toast-success[data-v-7470f9b3]{z-index:1000;background:#fff;border:1px solid #86efac;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.toast-icon[data-v-7470f9b3]{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.toast-title[data-v-7470f9b3]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:700}.toast-message[data-v-7470f9b3]{color:#64748b;font-size:13px}.slide-down-enter-active[data-v-7470f9b3],.slide-down-leave-active[data-v-7470f9b3]{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-down-enter-from[data-v-7470f9b3],.slide-down-leave-to[data-v-7470f9b3]{opacity:0;transform:translate(-50%,-20px)}.premium-card[data-v-7470f9b3]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.main-card[data-v-7470f9b3]{flex-direction:column;min-height:500px;display:flex;overflow:hidden}.tabs-container[data-v-7470f9b3]{background:#fafafa;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;padding:0 24px;position:relative}.tabs[data-v-7470f9b3]{gap:24px;display:flex}.tab-btn[data-v-7470f9b3]{color:#64748b;cursor:pointer;z-index:2;background:0 0;border:none;align-items:center;gap:8px;padding:16px 0;font-size:14px;font-weight:600;transition:color .2s;display:flex;position:relative}.tab-btn[data-v-7470f9b3]:hover{color:#334155}.tab-btn.active[data-v-7470f9b3]{color:#2563eb}.tab-indicator[data-v-7470f9b3]{z-index:3;background:#2563eb;height:2px;transition:all .3s;position:absolute;bottom:-1px}.indicator-midterm[data-v-7470f9b3]{width:120px;left:24px}.indicator-final[data-v-7470f9b3]{width:120px;left:168px}.indicator-summary[data-v-7470f9b3]{width:100px;left:312px}.tab-content-area[data-v-7470f9b3]{flex:1;padding:24px}.fade-enter-active[data-v-7470f9b3],.fade-leave-active[data-v-7470f9b3]{transition:opacity .2s,transform .2s}.fade-enter-from[data-v-7470f9b3],.fade-leave-to[data-v-7470f9b3]{opacity:0;transform:translateY(5px)}.info-bar[data-v-7470f9b3]{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.info-icon[data-v-7470f9b3]{font-size:16px}.mb-4[data-v-7470f9b3]{margin-bottom:16px}.mb-6[data-v-7470f9b3]{margin-bottom:24px}.table-responsive[data-v-7470f9b3]{width:100%;overflow-x:auto}.premium-table[data-v-7470f9b3]{border-collapse:separate;border-spacing:0;width:100%}.premium-table th[data-v-7470f9b3]{color:#475569;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-size:12px;font-weight:600}.premium-table th.text-left[data-v-7470f9b3]{text-align:left}.premium-table th.text-center[data-v-7470f9b3]{text-align:center}.premium-table th.text-right[data-v-7470f9b3]{text-align:right}.premium-table td[data-v-7470f9b3]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 16px;transition:background-color .2s}.table-row:hover td[data-v-7470f9b3]{background-color:#f8fafc}.highlight-col[data-v-7470f9b3]{background:#f8fafc;border-left:1px solid #e2e8f0}.highlight-col-main[data-v-7470f9b3]{background:#eff6ff;border-left:1px solid #bfdbfe;border-right:1px solid #bfdbfe}.table-row:hover .highlight-col[data-v-7470f9b3]{background:#f1f5f9}.table-row:hover .highlight-col-main[data-v-7470f9b3]{background:#dbeafe}.user-profile[data-v-7470f9b3]{align-items:center;gap:12px;display:flex}.user-avatar-sm[data-v-7470f9b3]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.user-name[data-v-7470f9b3]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:600}.user-code[data-v-7470f9b3]{color:#64748b;font-size:12px}.input-score[data-v-7470f9b3]{text-align:center;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:60px;padding:8px;font-size:14px;font-weight:600;transition:all .2s}.input-score[data-v-7470f9b3]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.avg-score[data-v-7470f9b3]{font-size:20px;font-weight:800}.avg-score-sm[data-v-7470f9b3]{color:#475569;font-size:16px;font-weight:700}.score-text[data-v-7470f9b3]{color:#334155;font-size:15px;font-weight:600}.text-green[data-v-7470f9b3]{color:#10b981}.text-blue[data-v-7470f9b3]{color:#2563eb}.text-orange[data-v-7470f9b3]{color:#f59e0b}.text-red[data-v-7470f9b3]{color:#ef4444}.grade-badge[data-v-7470f9b3]{border-radius:20px;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.grade-xs[data-v-7470f9b3]{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.grade-g[data-v-7470f9b3]{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.grade-k[data-v-7470f9b3]{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.grade-tb[data-v-7470f9b3]{color:#854d0e;background:#fef9c3;border:1px solid #fef08a}.grade-y[data-v-7470f9b3]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.status-badge[data-v-7470f9b3]{border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-pass[data-v-7470f9b3]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.status-pass .status-dot[data-v-7470f9b3]{background:#10b981}.status-fail[data-v-7470f9b3]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.status-fail .status-dot[data-v-7470f9b3]{background:#ef4444}.status-dot[data-v-7470f9b3]{border-radius:50%;width:6px;height:6px}.stat-cards-premium[data-v-7470f9b3]{gap:20px;display:grid}.stat-cards-premium.cols-3[data-v-7470f9b3]{grid-template-columns:repeat(3,1fr)}.stat-card[data-v-7470f9b3]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000d}.stat-icon[data-v-7470f9b3]{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.teal-bg[data-v-7470f9b3]{color:#0d9488;background:#f0fdfa}.stat-label[data-v-7470f9b3]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px;font-weight:600}.stat-value[data-v-7470f9b3]{font-size:24px;font-weight:800}.text-teal[data-v-7470f9b3]{color:#0f766e}@media print{.sidebar,.topbar{display:none!important}.main-content,.page-content{background:#fff!important;margin:0!important;padding:0!important}button[data-v-677a0473],select[data-v-677a0473],input[data-v-677a0473],.filter-bar[data-v-677a0473],.modal-footer[data-v-677a0473]{display:none!important}.modal-overlay[data-v-677a0473]{position:absolute;top:0;left:0;background:0 0!important}.modal-content[data-v-677a0473]{box-shadow:none!important;border:none!important}}.n3-nav-item[data-v-677a0473]{text-align:left;border-radius:.75rem;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;font-size:.875rem;font-weight:700;line-height:1.25rem;transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.n3-nav-active[data-v-677a0473]{--tw-bg-opacity:1;background-color:rgb(255 245 239/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.n3-nav-idle[data-v-677a0473]{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.n3-nav-idle[data-v-677a0473]:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.animate-fade[data-v-677a0473]{animation:.35s fadeUp-677a0473}@keyframes fadeUp-677a0473{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-slide-enter-active[data-v-677a0473],.toast-slide-leave-active[data-v-677a0473]{transition:all .35s cubic-bezier(.175,.885,.32,1.275)}.toast-slide-enter-from[data-v-677a0473],.toast-slide-leave-to[data-v-677a0473]{opacity:0;transform:translateY(-30px)}.modal-fade-enter-active[data-v-677a0473],.modal-fade-leave-active[data-v-677a0473]{transition:all .25s}.modal-fade-enter-from[data-v-677a0473],.modal-fade-leave-to[data-v-677a0473]{opacity:0;transform:scale(.95)}.page-container[data-v-8f30aa0d]{max-width:1100px;margin:0 auto;animation:.3s fadeIn-8f30aa0d}@keyframes fadeIn-8f30aa0d{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header[data-v-8f30aa0d]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-8f30aa0d]{color:#0f172a;margin-bottom:4px;font-size:24px;font-weight:800}.page-desc[data-v-8f30aa0d]{color:#64748b;font-size:13px}.mb-5[data-v-8f30aa0d]{margin-bottom:20px}.token-panel[data-v-8f30aa0d]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:24px;padding:18px 24px;box-shadow:0 2px 4px #00000008}.token-label[data-v-8f30aa0d]{color:#475569;margin-bottom:10px;font-size:13px;font-weight:700}.token-row[data-v-8f30aa0d]{gap:10px;margin-bottom:8px;display:flex}.token-input[data-v-8f30aa0d]{border:1px solid #cbd5e1;border-radius:9px;outline:none;flex:1;padding:10px 14px;font-family:monospace;font-size:13px}.token-input[data-v-8f30aa0d]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.token-note[data-v-8f30aa0d]{color:#94a3b8;font-size:12px}.token-note code[data-v-8f30aa0d]{background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:11px}.btn-save[data-v-8f30aa0d]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600}.summary-row[data-v-8f30aa0d]{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.summary-card[data-v-8f30aa0d]{background:#fff;border:1px solid #f1f5f9;border-top:3px solid;border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex;box-shadow:0 2px 4px #00000008}.svc-name[data-v-8f30aa0d]{letter-spacing:-.5px;font-size:22px;font-weight:900}.svc-base[data-v-8f30aa0d]{color:#94a3b8;word-break:break-all;font-family:monospace;font-size:11px}.svc-stats[data-v-8f30aa0d]{gap:10px;font-size:14px;font-weight:600;display:flex}.stat-ok[data-v-8f30aa0d]{color:#10b981}.stat-err[data-v-8f30aa0d]{color:#ef4444}.stat-tot[data-v-8f30aa0d]{color:#94a3b8}.btn-svc[data-v-8f30aa0d]{color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.btn-svc[data-v-8f30aa0d]:hover{opacity:.85}.group-header[data-v-8f30aa0d]{background:#f8fafc;border-left:4px solid;border-radius:0 8px 8px 0;align-items:center;gap:16px;margin-bottom:12px;padding:10px 14px;display:flex}.group-title[data-v-8f30aa0d]{color:#0f172a;font-size:15px;font-weight:800}.group-url[data-v-8f30aa0d]{color:#64748b;font-family:monospace;font-size:12px}.endpoint-list[data-v-8f30aa0d]{flex-direction:column;gap:8px;display:flex}.endpoint-card[data-v-8f30aa0d]{background:#fff;border:1px solid #f1f5f9;border-radius:12px;transition:all .2s;overflow:hidden}.endpoint-card[data-v-8f30aa0d]:hover{border-color:#cbd5e1}.endpoint-card.ok[data-v-8f30aa0d]{border-left:3px solid #10b981}.endpoint-card.error[data-v-8f30aa0d]{border-left:3px solid #ef4444}.endpoint-card.loading[data-v-8f30aa0d]{border-left:3px solid #f59e0b}.ep-main[data-v-8f30aa0d]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.status-dot-wrap[data-v-8f30aa0d]{flex-shrink:0;justify-content:center;align-items:center;width:14px;display:flex}.dot[data-v-8f30aa0d]{border-radius:50%;width:10px;height:10px}.dot-gray[data-v-8f30aa0d]{background:#cbd5e1}.dot-green[data-v-8f30aa0d]{background:#10b981}.dot-red[data-v-8f30aa0d]{background:#ef4444}.dot-spin[data-v-8f30aa0d]{border:2px solid #cbd5e1;border-top-color:#f59e0b;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin-8f30aa0d}@keyframes spin-8f30aa0d{to{transform:rotate(360deg)}}.method-badge[data-v-8f30aa0d]{color:#1e40af;background:#dbeafe;border-radius:5px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.ep-label[data-v-8f30aa0d]{color:#334155;flex:1;font-family:monospace;font-size:14px;font-weight:600}.ep-meta[data-v-8f30aa0d]{align-items:center;gap:8px;margin-right:8px;display:flex}.latency[data-v-8f30aa0d]{border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.lat-fast[data-v-8f30aa0d]{color:#166534;background:#dcfce7}.lat-warn[data-v-8f30aa0d]{color:#854d0e;background:#fef9c3}.lat-slow[data-v-8f30aa0d]{color:#991b1b;background:#fee2e2}.count-badge[data-v-8f30aa0d]{color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.err-badge[data-v-8f30aa0d]{color:#ef4444;text-overflow:ellipsis;white-space:nowrap;background:#fee2e2;border-radius:6px;max-width:220px;padding:2px 8px;font-size:11px;overflow:hidden}.btn-retry[data-v-8f30aa0d]{cursor:pointer;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;flex-shrink:0;padding:4px 10px;font-size:14px}.btn-retry[data-v-8f30aa0d]:hover{background:#f1f5f9}.chevron[data-v-8f30aa0d]{color:#94a3b8;flex-shrink:0;font-size:11px}.ep-detail[data-v-8f30aa0d]{background:#fafafa;border-top:1px solid #f1f5f9;flex-direction:column;gap:12px;padding:16px 20px;display:flex}.detail-row[data-v-8f30aa0d]{align-items:center;gap:10px;display:flex}.detail-label[data-v-8f30aa0d]{color:#475569;min-width:80px;font-size:13px;font-weight:700}.detail-url[data-v-8f30aa0d]{color:#2563eb;word-break:break-all;background:#eff6ff;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:12px}.code-block[data-v-8f30aa0d]{color:#e2e8f0;white-space:pre-wrap;background:#1e293b;border-radius:10px;margin:4px 0;padding:14px;font-family:monospace;font-size:12px;overflow-x:auto}.error-block[data-v-8f30aa0d]{color:#fca5a5;background:#1e293b}.hint[data-v-8f30aa0d]{color:#854d0e;background:#fef9c3;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;font-size:13px}.hint code[data-v-8f30aa0d]{background:#fef3c7;border-radius:4px;padding:1px 6px;font-family:monospace;font-size:11px}.expand-enter-active[data-v-8f30aa0d],.expand-leave-active[data-v-8f30aa0d]{transition:all .25s}.expand-enter-from[data-v-8f30aa0d],.expand-leave-to[data-v-8f30aa0d]{opacity:0;max-height:0}.expand-enter-to[data-v-8f30aa0d],.expand-leave-from[data-v-8f30aa0d]{opacity:1;max-height:800px}.btn-run[data-v-8f30aa0d]{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;transition:all .15s}.btn-run[data-v-8f30aa0d]:hover:not(:disabled){background:#1e293b}.btn-run[data-v-8f30aa0d]:disabled{opacity:.5;cursor:not-allowed}.form-group[data-v-09ccc4a0]{flex-direction:column;display:flex}.form-label[data-v-09ccc4a0]{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;margin-left:2px;font-size:.7rem;font-weight:700;display:block}.form-input[data-v-09ccc4a0]{color:#1f2937;background:#f9fafb;border:1.5px solid #f0f0f0;border-radius:12px;outline:none;width:100%;padding:10px 14px;font-size:.875rem;transition:all .2s}.form-input[data-v-09ccc4a0]:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}@keyframes modalIn-09ccc4a0{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-modal-in[data-v-09ccc4a0]{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards modalIn-09ccc4a0}@keyframes shake-09ccc4a0{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.conflict-banner[data-v-09ccc4a0]{animation:.4s shake-09ccc4a0}.page-container[data-v-ed70e397]{max-width:1000px;margin:0 auto;animation:.3s ease-out fadeIn-ed70e397}@keyframes fadeIn-ed70e397{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-ed70e397]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-ed70e397]{color:#0f172a;letter-spacing:-.5px;margin-bottom:4px;font-size:26px;font-weight:800}.page-desc[data-v-ed70e397]{color:#64748b;font-size:14px}.btn-primary[data-v-ed70e397]{color:#fff;cursor:pointer;background:#ea580c;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 6px -1px #ea580c33}.btn-primary[data-v-ed70e397]:hover{background:#d97706;transform:translateY(-1px)}.control-panel[data-v-ed70e397]{background:linear-gradient(90deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:24px;padding:20px 24px;display:flex}.control-group[data-v-ed70e397]{flex-direction:column;gap:8px;display:flex}.control-label[data-v-ed70e397]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.control-divider[data-v-ed70e397]{background:#e2e8f0;width:1px;height:40px;margin:0 12px}.input-hint[data-v-ed70e397]{color:#94a3b8;margin-top:2px;font-size:11px;font-weight:600}.select-wrapper[data-v-ed70e397]{position:relative}.filter-select[data-v-ed70e397]{appearance:none;color:#0f172a;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:10px;outline:none;min-width:220px;padding:10px 40px 10px 16px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 1px 2px #0000000d}.large-select[data-v-ed70e397]{min-width:280px;font-size:16px}.filter-select[data-v-ed70e397]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.control-input[data-v-ed70e397]{color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:10px 16px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:inset 0 1px 2px #00000005}.control-input[data-v-ed70e397]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.session-input-wrapper[data-v-ed70e397]{align-items:center;gap:8px;display:flex}.small-input[data-v-ed70e397]{text-align:center;width:70px;padding:10px}.muted-input[data-v-ed70e397]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.session-divider[data-v-ed70e397]{color:#94a3b8;font-size:18px;font-weight:300}.btn-icon-text[data-v-ed70e397]{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-outline[data-v-ed70e397]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-weight:600;transition:all .2s;display:flex}.btn-outline[data-v-ed70e397]:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.btn-reset[data-v-ed70e397]{padding:10px}.toast-success[data-v-ed70e397]{z-index:1000;background:#fff;border:1px solid #86efac;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 15px -3px #0000001a}.toast-icon[data-v-ed70e397]{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.toast-title[data-v-ed70e397]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:700}.toast-message[data-v-ed70e397]{color:#64748b;font-size:13px}.slide-down-enter-active[data-v-ed70e397],.slide-down-leave-active[data-v-ed70e397]{transition:all .3s}.slide-down-enter-from[data-v-ed70e397],.slide-down-leave-to[data-v-ed70e397]{opacity:0;transform:translate(-50%,-20px)}.premium-card[data-v-ed70e397]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.card-header[data-v-ed70e397]{background:#fafafa;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.class-summary[data-v-ed70e397]{gap:12px;display:flex}.summary-box[data-v-ed70e397]{border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.box-val[data-v-ed70e397]{font-size:24px;font-weight:800;line-height:1.2}.box-label[data-v-ed70e397]{text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:11px;font-weight:600}.green[data-v-ed70e397]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.yellow[data-v-ed70e397]{color:#854d0e;background:#fef9c3;border-color:#fef08a}.red[data-v-ed70e397]{color:#991b1b;background:#fef2f2;border-color:#fecaca}.gray[data-v-ed70e397]{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.quick-actions[data-v-ed70e397]{gap:8px;display:flex}.table-responsive[data-v-ed70e397]{width:100%;overflow-x:auto}.premium-table[data-v-ed70e397]{border-collapse:collapse;width:100%}.premium-table th[data-v-ed70e397]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 24px;font-size:12px;font-weight:600}.premium-table td[data-v-ed70e397]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 24px;transition:background-color .2s}.text-center[data-v-ed70e397]{text-align:center}.row-p td[data-v-ed70e397]{background:#f0fdf466}.row-l td[data-v-ed70e397]{background:#fef9c366}.row-a td[data-v-ed70e397]{background:#fee2e266}.table-row:hover td[data-v-ed70e397]{background-color:#f8fafc}.row-p:hover td[data-v-ed70e397]{background:#f0fdf4cc}.row-l:hover td[data-v-ed70e397]{background:#fef9c3cc}.row-a:hover td[data-v-ed70e397]{background:#fee2e2cc}.user-profile[data-v-ed70e397]{align-items:center;gap:12px;display:flex}.user-avatar[data-v-ed70e397]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.user-name[data-v-ed70e397]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:600}.user-code[data-v-ed70e397]{color:#64748b;font-size:12px}.segmented-control[data-v-ed70e397]{background:#f1f5f9;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.segment-btn[data-v-ed70e397]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.icon-circle[data-v-ed70e397]{color:#fff;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:all .2s;display:flex}.segment-btn[data-v-ed70e397]:hover{color:#334155}.btn-p.active[data-v-ed70e397]{color:#10b981;background:#fff;box-shadow:0 2px 4px #0000000d}.btn-p.active .icon-circle[data-v-ed70e397]{background:#10b981}.btn-l.active[data-v-ed70e397]{color:#d97706;background:#fff;box-shadow:0 2px 4px #0000000d}.btn-l.active .icon-circle[data-v-ed70e397]{background:#f59e0b}.btn-a.active[data-v-ed70e397]{color:#ef4444;background:#fff;box-shadow:0 2px 4px #0000000d}.btn-a.active .icon-circle[data-v-ed70e397]{background:#ef4444}.lock-banner[data-v-ed70e397]{background:#fffbeb;border:1px solid #fef08a;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.lock-banner-content[data-v-ed70e397]{align-items:flex-start;gap:12px;display:flex}.lock-icon[data-v-ed70e397]{font-size:20px}.lock-title[data-v-ed70e397]{color:#854d0e;margin-bottom:2px;font-size:14px;font-weight:700}.lock-desc[data-v-ed70e397]{color:#a16207;font-size:12px}.btn-unlock-req[data-v-ed70e397]{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;transition:background .2s}.btn-unlock-req[data-v-ed70e397]:hover{background:#b45309}.unlock-banner[data-v-ed70e397]{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:16px;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.unlock-icon[data-v-ed70e397]{font-size:20px}.unlock-title[data-v-ed70e397]{color:#065f46;margin-bottom:2px;font-size:14px;font-weight:700}.unlock-desc[data-v-ed70e397]{color:#047857;font-size:12px}.premium-modal-overlay[data-v-ed70e397]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;animation:.2s ease-out fadeIn-ed70e397;display:flex;position:fixed;inset:0}.premium-modal-card[data-v-ed70e397]{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:500px;animation:.2s ease-out slideUp-ed70e397;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp-ed70e397{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-ed70e397]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-title[data-v-ed70e397]{color:#0f172a;font-size:16px;font-weight:700}.btn-close-modal[data-v-ed70e397]{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:24px}.btn-close-modal[data-v-ed70e397]:hover{color:#475569}.modal-body[data-v-ed70e397]{flex-direction:column;gap:16px;padding:24px;display:flex}.form-group-premium[data-v-ed70e397]{flex-direction:column;gap:6px;display:flex}.premium-label[data-v-ed70e397]{color:#64748b;font-size:12px;font-weight:600}.premium-input[data-v-ed70e397]{border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;font-size:14px;transition:border-color .2s}.premium-textarea[data-v-ed70e397]{resize:none;border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.premium-textarea[data-v-ed70e397]:focus{border-color:#3b82f6;outline:none}.muted-input[data-v-ed70e397]{color:#64748b;cursor:not-allowed;background:#f8fafc}.modal-footer[data-v-ed70e397]{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.btn-secondary-modal[data-v-ed70e397]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s}.btn-secondary-modal[data-v-ed70e397]:hover{background:#f1f5f9}.btn-primary-modal[data-v-ed70e397]{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s}.btn-primary-modal[data-v-ed70e397]:hover{background:#2563eb}.btn-primary-modal[data-v-ed70e397]:disabled{cursor:not-allowed;background:#93c5fd}.disabled-segment[data-v-ed70e397]{opacity:.6;cursor:not-allowed!important}.page-container[data-v-eaa59125]{max-width:1400px;margin:0 auto;animation:.3s ease-out fadeIn-eaa59125}@keyframes fadeIn-eaa59125{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-eaa59125]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-eaa59125]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.page-desc[data-v-eaa59125]{color:#64748b;font-size:14px}.header-actions[data-v-eaa59125]{align-items:center;gap:12px;display:flex}.select-wrapper[data-v-eaa59125]{position:relative}.filter-select[data-v-eaa59125]{appearance:none;color:#0f172a;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:10px;outline:none;min-width:220px;padding:10px 40px 10px 16px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 1px 2px #0000000d}.filter-select[data-v-eaa59125]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.select-icon[data-v-eaa59125]{min-width:240px;padding-left:16px}.btn-icon-text[data-v-eaa59125]{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-primary[data-v-eaa59125]{color:#fff;background:#7c3aed;border:none;box-shadow:0 4px 6px -1px #7c3aed33}.btn-primary[data-v-eaa59125]:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 8px -1px #7c3aed4d}.toast-success[data-v-eaa59125]{z-index:1000;background:#fff;border:1px solid #86efac;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 15px -3px #0000001a}.toast-icon[data-v-eaa59125]{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.toast-title[data-v-eaa59125]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:700}.toast-message[data-v-eaa59125]{color:#64748b;font-size:13px}.slide-down-enter-active[data-v-eaa59125],.slide-down-leave-active[data-v-eaa59125]{transition:all .3s}.slide-down-enter-from[data-v-eaa59125],.slide-down-leave-to[data-v-eaa59125]{opacity:0;transform:translate(-50%,-20px)}.stat-cards-premium[data-v-eaa59125]{gap:20px;margin-bottom:24px;display:grid}.stat-cards-premium.cols-3[data-v-eaa59125]{grid-template-columns:repeat(3,1fr)}.stat-card[data-v-eaa59125]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;align-items:center;gap:16px;padding:20px;transition:transform .2s;display:flex;box-shadow:0 4px 6px -1px #0000000d}.stat-card[data-v-eaa59125]:hover{transform:translateY(-3px);box-shadow:0 10px 15px -3px #00000014}.stat-icon[data-v-eaa59125]{border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.purple-bg[data-v-eaa59125]{color:#8b5cf6;background:#f5f3ff}.green-bg[data-v-eaa59125]{color:#10b981;background:#f0fdf4}.red-bg[data-v-eaa59125]{color:#ef4444;background:#fef2f2}.stat-label[data-v-eaa59125]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:14px;font-weight:600}.stat-value[data-v-eaa59125]{font-size:28px;font-weight:800}.text-purple[data-v-eaa59125]{color:#7c3aed}.premium-card[data-v-eaa59125]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.card-header[data-v-eaa59125]{background:#fafafa;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.class-title[data-v-eaa59125]{color:#0f172a;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.formula-badge[data-v-eaa59125]{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.formula-icon[data-v-eaa59125]{font-family:serif;font-size:16px;font-style:italic}.table-responsive[data-v-eaa59125]{width:100%;overflow-x:auto}.premium-table[data-v-eaa59125]{border-collapse:separate;border-spacing:0;width:100%}.premium-table th[data-v-eaa59125]{text-align:left;color:#475569;text-transform:uppercase;background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 12px;font-size:12px;font-weight:700}.premium-table td[data-v-eaa59125]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px;transition:background-color .2s}.text-center[data-v-eaa59125]{text-align:center!important}.table-row:hover td[data-v-eaa59125]{background-color:#f8fafc}.highlight-col-l[data-v-eaa59125]{background:#eff6ff4d;border-left:1px solid #e2e8f0}.highlight-col-r[data-v-eaa59125]{background:#f0fdf44d;border-left:1px solid #e2e8f0}.highlight-col-w[data-v-eaa59125]{background:#f5f3ff4d;border-left:1px solid #e2e8f0}.highlight-col-s[data-v-eaa59125]{background:#fff7ed4d;border-left:1px solid #e2e8f0}.highlight-col-main[data-v-eaa59125]{background:#fafafa;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.table-row:hover .highlight-col-l[data-v-eaa59125]{background:#eff6ff99}.table-row:hover .highlight-col-r[data-v-eaa59125]{background:#f0fdf499}.table-row:hover .highlight-col-w[data-v-eaa59125]{background:#f5f3ff99}.table-row:hover .highlight-col-s[data-v-eaa59125]{background:#fff7ed99}.table-row:hover .highlight-col-main[data-v-eaa59125]{background:#f1f5f9}.user-profile[data-v-eaa59125]{align-items:center;gap:12px;display:flex}.user-avatar[data-v-eaa59125]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.user-name[data-v-eaa59125]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:600}.user-code[data-v-eaa59125]{color:#64748b;font-size:12px}.input-score[data-v-eaa59125]{text-align:center;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:64px;padding:8px;font-size:15px;font-weight:700;transition:all .2s}.input-score.blue[data-v-eaa59125]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-score.green[data-v-eaa59125]:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.input-score.purple[data-v-eaa59125]:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.input-score.orange[data-v-eaa59125]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.avg-score[data-v-eaa59125]{font-size:22px;font-weight:800}.text-green[data-v-eaa59125]{color:#10b981}.text-blue[data-v-eaa59125]{color:#2563eb}.text-orange[data-v-eaa59125]{color:#f59e0b}.text-red[data-v-eaa59125]{color:#ef4444}.grade-badge[data-v-eaa59125]{border-radius:20px;justify-content:center;align-items:center;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.grade-xs[data-v-eaa59125]{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.grade-g[data-v-eaa59125]{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.grade-k[data-v-eaa59125]{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.grade-tb[data-v-eaa59125]{color:#854d0e;background:#fef9c3;border:1px solid #fef08a}.grade-y[data-v-eaa59125]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.schedule-title[data-v-b75ce1a1]{color:#1a1a2e;letter-spacing:-.01em;font-size:1.2rem;font-weight:600}.schedule-title-italic[data-v-b75ce1a1]{font-style:italic;font-weight:700}.week-nav-btn[data-v-b75ce1a1]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;transition:all .2s;display:flex}.week-nav-btn[data-v-b75ce1a1]:hover{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.schedule-table-wrapper[data-v-b75ce1a1]{background:#fff;border:1px solid #f1f0f0;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005}.schedule-table[data-v-b75ce1a1]{border-collapse:collapse;table-layout:fixed;width:100%}.schedule-th[data-v-b75ce1a1]{text-align:center;color:#6b7280;letter-spacing:.02em;background:#fafafa;border-bottom:1px solid #f0f0f0;border-right:1px solid #f5f5f5;padding:14px 8px;font-size:.8rem;font-weight:700;transition:background .2s}.schedule-th[data-v-b75ce1a1]:last-child{border-right:none}.schedule-th-ca[data-v-b75ce1a1]{color:#9ca3af;width:90px;font-size:.75rem;font-weight:600}.today-col[data-v-b75ce1a1]{background:#eef2ff!important}.th-date[data-v-b75ce1a1]{color:#9ca3af;margin-top:2px;font-size:.7rem;font-weight:500}.today-date[data-v-b75ce1a1]{color:#4f46e5;font-weight:700}.today-badge[data-v-b75ce1a1]{color:#4f46e5;text-transform:uppercase;letter-spacing:.05em;background:#e0e7ff;border-radius:6px;margin-top:3px;padding:1px 6px;font-size:.6rem;font-weight:800;display:inline-block}.schedule-row[data-v-b75ce1a1]{border-bottom:1px solid #f5f5f5}.schedule-row[data-v-b75ce1a1]:last-child{border-bottom:none}.schedule-td-time[data-v-b75ce1a1]{text-align:center;vertical-align:middle;background:#fefefe;border-right:1px solid #f0f0f0;padding:18px 12px}.time-label-slot[data-v-b75ce1a1]{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.7rem;font-weight:800}.time-label[data-v-b75ce1a1]{color:#6b7280;font-size:.82rem;font-weight:600;line-height:1.6}.schedule-td-cell[data-v-b75ce1a1]{vertical-align:middle;text-align:center;border-right:1px solid #f5f5f5;height:100px;min-height:90px;padding:10px 7px;transition:background .2s}.schedule-td-cell[data-v-b75ce1a1]:last-child{border-right:none}.today-cell[data-v-b75ce1a1]{background:#f5f3ff}.schedule-card[data-v-b75ce1a1]{cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:64px;padding:12px 8px;transition:all .2s;display:inline-flex}.schedule-card[data-v-b75ce1a1]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.card-course-name[data-v-b75ce1a1]{margin-bottom:4px;font-size:.78rem;font-weight:700;line-height:1.3}.card-room[data-v-b75ce1a1]{opacity:.75;font-size:.72rem;font-weight:600}.card-blue[data-v-b75ce1a1]{color:#1e40af;background:#dbeafe}.card-green[data-v-b75ce1a1]{color:#065f46;background:#d1fae5}.card-yellow[data-v-b75ce1a1]{color:#854d0e;background:#fef9c3}.card-cyan[data-v-b75ce1a1]{color:#155e75;background:#cffafe}.card-pink[data-v-b75ce1a1]{color:#9d174d;background:#fce7f3}.card-purple[data-v-b75ce1a1]{color:#6b21a8;background:#e9d5ff}.card-orange[data-v-b75ce1a1]{color:#9a3412;background:#ffedd5}.schedule-legend[data-v-b75ce1a1]{flex-wrap:wrap;gap:20px;margin-top:18px;padding:4px 8px;display:flex}.legend-item[data-v-b75ce1a1]{align-items:center;gap:8px;display:flex}.legend-dot[data-v-b75ce1a1]{border-radius:4px;flex-shrink:0;width:13px;height:13px}.legend-text[data-v-b75ce1a1]{color:#4b5563;font-size:.82rem;font-weight:500}.legend-card-blue[data-v-b75ce1a1]{background:#dbeafe}.legend-card-green[data-v-b75ce1a1]{background:#d1fae5}.legend-card-yellow[data-v-b75ce1a1]{background:#fef9c3}.legend-card-cyan[data-v-b75ce1a1]{background:#cffafe}.legend-card-pink[data-v-b75ce1a1]{background:#fce7f3}.legend-card-purple[data-v-b75ce1a1]{background:#e9d5ff}.legend-card-orange[data-v-b75ce1a1]{background:#ffedd5}.month-day-card[data-v-b75ce1a1]{background:#fff;border:1px solid #f0f0f0;border-radius:20px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #00000008}.month-day-card[data-v-b75ce1a1]:hover{border-color:#e0e7ff;box-shadow:0 4px 16px #4f46e50f}.today-day-card[data-v-b75ce1a1]{background:linear-gradient(to bottom right,#fff,#f5f3ff);border-color:#c7d2fe}.month-day-header[data-v-b75ce1a1]{background:#fafafa;border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.today-day-header[data-v-b75ce1a1]{background:linear-gradient(90deg,#eef2ff,#f5f3ff)}.month-day-num[data-v-b75ce1a1]{color:#374151;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:800;display:flex}.today-day-num[data-v-b75ce1a1]{color:#fff;background:#4f46e5;box-shadow:0 4px 12px #4f46e54d}.month-day-body[data-v-b75ce1a1]{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.session-section[data-v-b75ce1a1]{flex-direction:column;gap:8px;display:flex}.session-label[data-v-b75ce1a1]{text-transform:uppercase;letter-spacing:.08em;border-radius:8px;align-items:center;width:fit-content;padding:4px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.session-morning[data-v-b75ce1a1]{color:#92400e;background:#fef3c7}.session-afternoon[data-v-b75ce1a1]{color:#1e40af;background:#dbeafe}.session-evening[data-v-b75ce1a1]{color:#6b21a8;background:#e9d5ff}.session-items[data-v-b75ce1a1]{flex-wrap:wrap;gap:10px;padding-left:4px;display:flex}.month-card[data-v-b75ce1a1]{cursor:pointer;border-radius:14px;flex-direction:column;flex:1;min-width:180px;padding:12px 16px;transition:all .2s;display:flex}.month-card[data-v-b75ce1a1]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.month-card-time[data-v-b75ce1a1]{opacity:.7;margin-bottom:4px;font-size:.72rem;font-weight:600}.month-card-name[data-v-b75ce1a1]{margin-bottom:3px;font-size:.88rem;font-weight:700;line-height:1.3}.month-card-sub[data-v-b75ce1a1]{opacity:.65;font-size:.7rem;font-weight:600}@keyframes modalIn-b75ce1a1{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-modal-in[data-v-b75ce1a1]{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards modalIn-b75ce1a1}.page-container[data-v-d39668d0]{max-width:1400px;margin:0 auto;animation:.3s ease-out fadeIn-d39668d0}@keyframes fadeIn-d39668d0{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-d39668d0]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-d39668d0]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.page-desc[data-v-d39668d0]{color:#64748b;font-size:14px}.header-actions[data-v-d39668d0]{align-items:center;gap:12px;display:flex}.pending-badge[data-v-d39668d0]{color:#ea580c;background:#fff7ed;border:1px solid #ffedd5;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:flex}.pulse-dot[data-v-d39668d0]{background:#f97316;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-d39668d0}@keyframes pulse-d39668d0{0%{box-shadow:0 0 #f9731666}70%{box-shadow:0 0 0 6px #f9731600}to{box-shadow:0 0 #f9731600}}.premium-card[data-v-d39668d0]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000000d}.filter-section[data-v-d39668d0]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:20px;display:flex}.filter-group[data-v-d39668d0]{flex:1;gap:16px;display:flex}.filter-item[data-v-d39668d0]{flex-direction:column;gap:6px;display:flex}.filter-item label[data-v-d39668d0]{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.filter-select[data-v-d39668d0]{appearance:none;color:#334155;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:10px;outline:none;min-width:200px;padding:10px 36px 10px 14px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 1px 2px #0000000d}.filter-select[data-v-d39668d0]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.search-input-wrapper[data-v-d39668d0]{align-items:center;min-width:300px;display:flex;position:relative}.search-icon[data-v-d39668d0]{color:#94a3b8;position:absolute;left:14px}.search-input[data-v-d39668d0]{color:#334155;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:10px 16px 10px 40px;font-size:14px;transition:all .2s}.search-input[data-v-d39668d0]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.request-grid[data-v-d39668d0]{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;display:grid}.request-card[data-v-d39668d0]{flex-direction:column;margin-bottom:0;transition:transform .2s,box-shadow .2s;display:flex}.request-card[data-v-d39668d0]:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.card-pending[data-v-d39668d0]{border-top:4px solid #f59e0b}.card-header[data-v-d39668d0]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.user-profile[data-v-d39668d0]{align-items:center;gap:12px;display:flex}.user-avatar[data-v-d39668d0]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.user-name[data-v-d39668d0]{color:#0f172a;margin-bottom:4px;font-size:15px;font-weight:700}.user-meta[data-v-d39668d0]{color:#64748b;font-size:12px;font-weight:500}.status-badge[data-v-d39668d0]{white-space:nowrap;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.badge-green[data-v-d39668d0]{color:#166534;background:#dcfce7}.badge-yellow[data-v-d39668d0]{color:#854d0e;background:#fef9c3}.badge-red[data-v-d39668d0]{color:#991b1b;background:#fee2e2}.card-body[data-v-d39668d0]{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex}.info-row[data-v-d39668d0]{justify-content:space-between;align-items:center;display:flex}.info-label[data-v-d39668d0]{color:#64748b;font-size:13px;font-weight:500}.info-value[data-v-d39668d0]{color:#334155;font-size:14px;font-weight:600}.date-highlight[data-v-d39668d0]{color:#7c3aed;background:#f5f3ff;border-radius:6px;padding:4px 10px}.reason-box[data-v-d39668d0]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;margin-top:4px;padding:12px}.reason-label[data-v-d39668d0]{color:#94a3b8;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.reason-text[data-v-d39668d0]{color:#334155;font-size:14px;font-style:italic;line-height:1.5}.reply-box[data-v-d39668d0]{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:auto;padding:12px}.reply-label[data-v-d39668d0]{color:#ef4444;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.reply-text[data-v-d39668d0]{color:#991b1b;font-size:14px;line-height:1.5}.card-footer[data-v-d39668d0]{background:#fafafa;border-top:1px solid #f1f5f9;border-radius:0 0 16px 16px;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.btn-act[data-v-d39668d0]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-approve[data-v-d39668d0]{color:#fff;background:#10b981;box-shadow:0 2px 4px #10b98133}.btn-approve[data-v-d39668d0]:hover{background:#059669;transform:translateY(-1px)}.btn-reject[data-v-d39668d0]{color:#ef4444;background:#fff;border:1px solid #ef4444}.btn-reject[data-v-d39668d0]:hover{background:#fef2f2}.btn-undo[data-v-d39668d0]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-undo[data-v-d39668d0]:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.empty-state[data-v-d39668d0]{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;grid-column:1/-1;padding:60px 20px}.empty-icon[data-v-d39668d0]{opacity:.5;margin-bottom:16px;font-size:48px}.empty-title[data-v-d39668d0]{color:#0f172a;margin-bottom:8px;font-size:18px;font-weight:600}.empty-desc[data-v-d39668d0]{color:#64748b;font-size:14px}.list-enter-active[data-v-d39668d0],.list-leave-active[data-v-d39668d0]{transition:all .3s}.list-enter-from[data-v-d39668d0],.list-leave-to[data-v-d39668d0]{opacity:0;transform:scale(.95)}.list-leave-active[data-v-d39668d0]{position:absolute}.page-container[data-v-3f81f79d]{max-width:1400px;margin:0 auto;animation:.3s ease-out fadeIn-3f81f79d}@keyframes fadeIn-3f81f79d{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-3f81f79d]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-3f81f79d]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.page-desc[data-v-3f81f79d]{color:#64748b;font-size:14px}.header-actions[data-v-3f81f79d]{align-items:center;gap:12px;display:flex}.select-wrapper[data-v-3f81f79d]{position:relative}.filter-select[data-v-3f81f79d]{appearance:none;color:#0f172a;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:10px;outline:none;min-width:220px;padding:10px 40px 10px 16px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 1px 2px #0000000d}.filter-select[data-v-3f81f79d]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-icon-text[data-v-3f81f79d]{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-secondary[data-v-3f81f79d]{color:#334155;background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #0000000d}.btn-secondary[data-v-3f81f79d]:hover{background:#f8fafc;border-color:#94a3b8}.premium-card[data-v-3f81f79d]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.filter-section[data-v-3f81f79d]{background:#fafafa;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.class-info[data-v-3f81f79d]{gap:12px;display:flex}.info-badge[data-v-3f81f79d]{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.search-input-wrapper[data-v-3f81f79d]{align-items:center;min-width:260px;display:flex;position:relative}.search-icon[data-v-3f81f79d]{color:#94a3b8;position:absolute;left:12px}.search-input[data-v-3f81f79d]{color:#334155;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:10px 16px 10px 40px;font-size:14px;transition:all .2s}.search-input[data-v-3f81f79d]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.table-responsive[data-v-3f81f79d]{width:100%;overflow-x:auto}.premium-table[data-v-3f81f79d]{border-collapse:collapse;width:100%}.premium-table th[data-v-3f81f79d]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 24px;font-size:12px;font-weight:600}.premium-table td[data-v-3f81f79d]{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 24px;transition:background-color .2s}.text-center[data-v-3f81f79d]{text-align:center!important}.text-right[data-v-3f81f79d]{text-align:right!important}.table-row[data-v-3f81f79d]:hover{background-color:#f8fafc}.user-profile[data-v-3f81f79d]{align-items:center;gap:12px;display:flex}.user-avatar[data-v-3f81f79d]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.user-name[data-v-3f81f79d]{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:600}.user-code[data-v-3f81f79d]{color:#64748b;font-size:12px}.contact-info[data-v-3f81f79d]{flex-direction:column;gap:4px;display:flex}.contact-item[data-v-3f81f79d]{color:#475569;align-items:center;gap:6px;font-size:13px;display:flex}.contact-item .icon[data-v-3f81f79d]{font-size:12px}.attendance-indicator[data-v-3f81f79d]{align-items:center;gap:12px;display:flex}.progress-track[data-v-3f81f79d]{background:#e2e8f0;border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill[data-v-3f81f79d]{border-radius:3px;height:100%}.attendance-value[data-v-3f81f79d]{text-align:center;border-radius:12px;min-width:44px;padding:2px 8px;font-size:12px;font-weight:700}.score-badge[data-v-3f81f79d]{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:inline-flex}.btn-action[data-v-3f81f79d]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:inline-flex}.btn-action[data-v-3f81f79d]:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.page-container[data-v-889b91a6]{max-width:1200px;margin:0 auto;animation:.4s ease-out fadeIn-889b91a6}@keyframes fadeIn-889b91a6{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.profile-banner[data-v-889b91a6]{color:#fff;background:linear-gradient(135deg,#d9531e 0%,#f97316 100%);border-radius:24px;margin-bottom:32px;padding:32px 40px;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #d9531e66}.banner-decor[data-v-889b91a6]{background:#ffffff14;border-radius:50%;position:absolute}.decor-1[data-v-889b91a6]{width:300px;height:300px;top:-100px;right:-50px}.decor-2[data-v-889b91a6]{width:150px;height:150px;bottom:-40px;right:200px}.banner-content[data-v-889b91a6]{z-index:2;flex-wrap:wrap;align-items:center;gap:24px;display:flex;position:relative}.avatar-wrapper[data-v-889b91a6]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff80;border-radius:24px;justify-content:center;align-items:center;width:88px;height:88px;transition:transform .3s;display:flex;transform:rotate(-3deg);box-shadow:0 8px 16px #0000001a}.profile-banner:hover .avatar-wrapper[data-v-889b91a6]{transform:rotate(0)}.avatar-text[data-v-889b91a6]{text-shadow:0 2px 4px #0003;font-size:32px;font-weight:800}.student-info[data-v-889b91a6]{flex:1;min-width:250px}.student-name[data-v-889b91a6]{text-shadow:0 2px 4px #0000001a;margin:0 0 8px;font-size:28px;font-weight:800}.student-meta[data-v-889b91a6]{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.meta-item[data-v-889b91a6]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000026;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.graduation-pill[data-v-889b91a6]{color:#d9531e;background:#ffffffe6;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:700;display:inline-block;box-shadow:0 4px 6px #0000001a}.quick-stats-glass[data-v-889b91a6]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000000d}.q-stat[data-v-889b91a6]{text-align:center;border-right:1px solid #fff3;padding:16px 24px}.q-stat.no-border[data-v-889b91a6]{border-right:none}.q-val[data-v-889b91a6]{text-shadow:0 2px 4px #0000001a;font-size:24px;font-weight:800;line-height:1.2}.q-label[data-v-889b91a6]{opacity:.9;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:12px;font-weight:500}.dashboard-grid[data-v-889b91a6]{grid-template-columns:1.2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.dashboard-grid[data-v-889b91a6]{grid-template-columns:1fr}}.premium-card[data-v-889b91a6]{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px -2px #0000000d}.premium-card[data-v-889b91a6]:hover{transform:translateY(-2px);box-shadow:0 12px 25px -5px #00000014}.mb-6[data-v-889b91a6]{margin-bottom:24px}.mb-4[data-v-889b91a6]{margin-bottom:16px}.full-height[data-v-889b91a6]{flex-direction:column;height:100%;display:flex}.card-header[data-v-889b91a6]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title[data-v-889b91a6]{color:#0f172a;margin:0;font-size:18px;font-weight:800}.small-title[data-v-889b91a6]{margin-bottom:16px;font-size:15px}.week-badge[data-v-889b91a6]{background:var(--primary-light);color:var(--primary);border:1px solid #ffe4d6;border-radius:12px;padding:6px 14px;font-size:13px;font-weight:700}.schedule-list[data-v-889b91a6]{flex-direction:column;gap:12px;display:flex}.schedule-item[data-v-889b91a6]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;transition:all .2s;display:flex}.schedule-item.is-today[data-v-889b91a6]{background:var(--primary-light);border-color:#fed7aa;box-shadow:0 4px 12px #d9531e0d}.schedule-item[data-v-889b91a6]:hover{transform:translate(4px)}.schedule-main[data-v-889b91a6]{align-items:center;gap:16px;display:flex}.status-dot[data-v-889b91a6]{border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 4px #fff}.dot-today[data-v-889b91a6]{background:var(--primary);animation:2s infinite pulse-brand-889b91a6;box-shadow:0 0 0 4px #ffe4d6}.dot-done[data-v-889b91a6]{background:#10b981}.dot-upcoming[data-v-889b91a6]{background:#cbd5e1}@keyframes pulse-brand-889b91a6{0%{box-shadow:0 0 #d9531e66}70%{box-shadow:0 0 0 6px #d9531e00}to{box-shadow:0 0 #d9531e00}}.course-title[data-v-889b91a6]{color:#0f172a;margin-bottom:4px;font-size:15px;font-weight:700}.course-meta[data-v-889b91a6]{color:#64748b;font-size:13px;font-weight:500}.status-badge[data-v-889b91a6]{border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.badge-teal[data-v-889b91a6]{background:var(--primary);color:#fff}.badge-gray[data-v-889b91a6]{color:#64748b;background:#f1f5f9}.grade-pill[data-v-889b91a6]{border-radius:20px;padding:6px 16px;font-size:14px;font-weight:800}.badge-green[data-v-889b91a6]{color:#166534;background:#dcfce7}.badge-blue[data-v-889b91a6]{color:#1e40af;background:#dbeafe}.badge-yellow[data-v-889b91a6]{color:#854d0e;background:#fef9c3}.badge-red[data-v-889b91a6]{color:#991b1b;background:#fee2e2}.skills-chart[data-v-889b91a6]{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.skill-row[data-v-889b91a6]{flex-direction:column;gap:8px;display:flex}.skill-header[data-v-889b91a6]{justify-content:space-between;align-items:flex-end;display:flex}.skill-label[data-v-889b91a6]{color:#475569;font-size:14px;font-weight:600}.skill-score[data-v-889b91a6]{font-size:16px;font-weight:800}.max-score[data-v-889b91a6]{color:#94a3b8;font-size:12px;font-weight:500}.skill-track[data-v-889b91a6]{background:#f1f5f9;border-radius:4px;height:8px;overflow:hidden}.skill-fill[data-v-889b91a6]{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.total-score-box[data-v-889b91a6]{background:linear-gradient(135deg, var(--primary-light) 0%, #ffe4d6 100%);border:1px solid #fed7aa;border-radius:16px;justify-content:space-between;align-items:center;padding:20px;display:flex}.total-label[data-v-889b91a6]{color:var(--primary-dark);font-size:15px;font-weight:700}.total-val[data-v-889b91a6]{color:var(--primary);text-shadow:0 2px 4px #d9531e33;font-size:32px;font-weight:900}.notifications-list[data-v-889b91a6]{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.notif-item[data-v-889b91a6]{border-radius:12px;align-items:flex-start;gap:16px;padding:16px;transition:transform .2s;display:flex}.notif-item[data-v-889b91a6]:hover{transform:translate(4px)}.notif-icon-wrap[data-v-889b91a6]{background:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex;box-shadow:0 2px 4px #0000000d}.notif-content[data-v-889b91a6]{flex:1}.notif-text[data-v-889b91a6]{color:#0f172a;margin-bottom:4px;font-size:14px;font-weight:600;line-height:1.4}.notif-time[data-v-889b91a6]{color:#64748b;font-size:12px;font-weight:500}.reminders-section[data-v-889b91a6]{border-top:1px solid #f1f5f9;margin-top:auto;padding-top:24px}.reminder-list[data-v-889b91a6]{flex-direction:column;gap:10px;display:flex}.reminder-item[data-v-889b91a6]{border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:transform .2s;display:flex}.reminder-item[data-v-889b91a6]:hover{transform:scale(1.02)}.reminder-icon[data-v-889b91a6]{font-size:16px}.reminder-text[data-v-889b91a6]{font-size:13px;font-weight:600;line-height:1.4}.badge-amber[data-v-934d9739]{color:#d97706;background:#fef3c7}.badge-red[data-v-934d9739]{color:#dc2626;background:#fee2e2}.page-container[data-v-3839d360]{max-width:1200px;margin:0 auto;animation:.4s ease-out fadeIn-3839d360}@keyframes fadeIn-3839d360{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-3839d360]{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.page-title[data-v-3839d360]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:800}.page-desc[data-v-3839d360]{color:#64748b;margin:0;font-size:15px}.select-wrapper[data-v-3839d360]{position:relative}.filter-select[data-v-3839d360]{appearance:none;color:#0f172a;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;border:1px solid #cbd5e1;border-radius:12px;outline:none;min-width:320px;padding:12px 48px 12px 20px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 6px -1px #0000000d}.filter-select[data-v-3839d360]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.dashboard-grid[data-v-3839d360]{grid-template-columns:400px 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.dashboard-grid[data-v-3839d360]{grid-template-columns:1fr}}.premium-card[data-v-3839d360]{background:#fff;border:1px solid #f1f5f9;border-radius:20px;overflow:hidden;box-shadow:0 10px 25px -5px #0000000d,0 4px 10px -5px #00000005}.overview-card[data-v-3839d360]{background:linear-gradient(#fff 0%,#f8fafc 100%);padding:32px}.course-meta[data-v-3839d360]{align-items:center;gap:16px;margin-bottom:32px;display:flex}.course-icon[data-v-3839d360]{background:var(--primary-light);border:1px solid #ffe4d6;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;font-size:36px;display:flex;box-shadow:0 4px 6px #d9531e1a}.course-name[data-v-3839d360]{color:#0f172a;margin:0 0 4px;font-size:18px;font-weight:800;line-height:1.3}.course-dates[data-v-3839d360]{color:#64748b;margin:0;font-size:13px;font-weight:500}.rate-circle-container[data-v-3839d360]{width:180px;height:180px;margin:0 auto 32px;position:relative}.rate-circle[data-v-3839d360]{width:100%;height:100%}.circle-bg[data-v-3839d360]{fill:none;stroke:#e2e8f0;stroke-width:3px}.circle-path[data-v-3839d360]{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linecap:round;animation:1.5s ease-out forwards progress-3839d360}@keyframes progress-3839d360{0%{stroke-dasharray:0 100}}.rate-text[data-v-3839d360]{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rate-val[data-v-3839d360]{color:#0f172a;font-size:36px;font-weight:900}.rate-label[data-v-3839d360]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.stats-boxes[data-v-3839d360]{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat-box[data-v-3839d360]{text-align:center;border:1px solid #0000;border-radius:16px;padding:16px}.stat-num[data-v-3839d360]{margin-bottom:4px;font-size:24px;font-weight:800}.stat-lbl[data-v-3839d360]{opacity:.8;text-transform:uppercase;font-size:12px;font-weight:600}.box-p[data-v-3839d360]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.box-l[data-v-3839d360]{color:#854d0e;background:#fef9c3;border-color:#fef08a}.box-a[data-v-3839d360]{color:#991b1b;background:#fef2f2;border-color:#fecaca}.mt-4[data-v-3839d360]{margin-top:24px}.alert-box[data-v-3839d360]{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;gap:12px;padding:16px;display:flex}.alert-text[data-v-3839d360]{color:#92400e;font-size:13px;font-weight:500;line-height:1.5}.card-header[data-v-3839d360]{padding:24px}.border-bottom[data-v-3839d360]{border-bottom:1px solid #f1f5f9}.card-title[data-v-3839d360]{color:#0f172a;margin:0;font-size:18px;font-weight:800}.history-list[data-v-3839d360]{flex-direction:column;display:flex}.history-item[data-v-3839d360]{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;padding:20px 24px;transition:background-color .2s;display:flex}.history-item[data-v-3839d360]:hover{background-color:#f8fafc}.history-item[data-v-3839d360]:last-child{border-bottom:none}.history-left[data-v-3839d360]{align-items:center;gap:16px;display:flex}.session-badge[data-v-3839d360]{color:#475569;text-align:center;background:#f1f5f9;border-radius:8px;min-width:80px;padding:6px 12px;font-size:14px;font-weight:700}.session-date[data-v-3839d360]{color:#0f172a;font-size:15px;font-weight:600}.history-right[data-v-3839d360]{align-items:center;gap:16px;display:flex}.history-note[data-v-3839d360]{font-size:14px;font-style:italic}.status-pill[data-v-3839d360]{border-radius:20px;justify-content:center;align-items:center;gap:6px;min-width:110px;padding:8px 16px;font-size:13px;font-weight:700;display:inline-flex}.pill-icon[data-v-3839d360]{background:#ffffff80;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;display:flex}.status-p[data-v-3839d360]{color:#166534;background:#dcfce7}.status-l[data-v-3839d360]{color:#854d0e;background:#fef08a}.status-a[data-v-3839d360]{color:#991b1b;background:#fee2e2}.empty-state[data-v-3839d360]{text-align:center;padding:60px 20px}.empty-icon[data-v-3839d360]{opacity:.5;margin-bottom:16px;font-size:48px}.empty-desc[data-v-3839d360]{color:#64748b;font-size:15px;font-weight:500}.faculty-container[data-v-64b012b0]{max-width:1200px;margin:0 auto;animation:.4s ease-out fadeIn-64b012b0}@keyframes fadeIn-64b012b0{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.faculty-header[data-v-64b012b0]{color:#fff;background:linear-gradient(135deg,#d9531e 0%,#c2410c 100%);border-radius:16px;margin-bottom:24px;padding:24px;box-shadow:0 4px 15px -3px #d9531e4d}.header-content[data-v-64b012b0]{align-items:center;gap:16px;display:flex}.icon-badge-wrap[data-v-64b012b0]{background:#fffffff2;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 10px #00000026}.title-main[data-v-64b012b0]{color:#fff;margin:0;font-size:22px;font-weight:800}.title-sub[data-v-64b012b0]{opacity:.85;margin:4px 0 0;font-size:13px}.loading-state[data-v-64b012b0]{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 0;display:flex}.spinner[data-v-64b012b0]{border:3px solid #e2e8f0;border-top-color:#d9531e;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-64b012b0}@keyframes spin-64b012b0{to{transform:rotate(360deg)}}.faculty-grid[data-v-64b012b0]{grid-template-columns:420px 1fr;align-items:start;gap:24px;display:grid}@media (width<=960px){.faculty-grid[data-v-64b012b0]{grid-template-columns:1fr}}.teacher-list-panel[data-v-64b012b0]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 2px 10px #00000008}.panel-section-title[data-v-64b012b0]{color:#1e293b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:700}.cards-stack[data-v-64b012b0]{flex-direction:column;gap:10px;max-height:580px;padding-right:4px;display:flex;overflow-y:auto}.teacher-card-item[data-v-64b012b0]{cursor:pointer;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;align-items:center;gap:14px;padding:12px;transition:all .2s;display:flex;position:relative}.teacher-card-item[data-v-64b012b0]:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translate(3px)}.teacher-card-item.active[data-v-64b012b0]{background:var(--primary-light);border-color:#fed7aa;box-shadow:0 4px 10px #d9531e0d}.avatar-circle[data-v-64b012b0]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 5px #0000001a}.card-brief[data-v-64b012b0]{flex:1;min-width:0}.card-name-row[data-v-64b012b0]{justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-name-label[data-v-64b012b0]{color:#0f172a;font-size:14px;font-weight:700}.my-teacher-badge[data-v-64b012b0]{color:#c2410c;white-space:nowrap;background:#fff5ef;border-radius:12px;padding:2px 6px;font-size:10px;font-weight:700}.teacher-specialty-label[data-v-64b012b0]{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.card-tags-row[data-v-64b012b0]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.mini-tag[data-v-64b012b0]{color:#475569;background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.arrow-icon[data-v-64b012b0]{color:#cbd5e1;font-size:12px;transition:transform .2s}.teacher-card-item:hover .arrow-icon[data-v-64b012b0],.teacher-card-item.active .arrow-icon[data-v-64b012b0]{color:var(--primary);transform:translate(2px)}.teacher-detail-panel[data-v-64b012b0]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-height:520px;padding:24px;box-shadow:0 2px 10px #00000008}.detail-card[data-v-64b012b0]{animation:.3s ease-out fadeInDetail-64b012b0}@keyframes fadeInDetail-64b012b0{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.detail-hero[data-v-64b012b0]{text-align:center;border-bottom:1px solid #f1f5f9;margin-bottom:20px;padding-bottom:20px}.hero-avatar[data-v-64b012b0]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 14px;font-size:26px;font-weight:800;display:flex;box-shadow:0 4px 10px #00000026}.detail-name[data-v-64b012b0]{color:#0f172a;margin:0;font-size:18px;font-weight:800}.detail-spec[data-v-64b012b0]{color:#64748b;margin:4px 0 12px;font-size:13px}.tech-pills[data-v-64b012b0]{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tech-pill-badge[data-v-64b012b0]{background:var(--primary-light);color:var(--primary-dark);border:1px solid #ffe4d6;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.stats-row[data-v-64b012b0]{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-box[data-v-64b012b0]{text-align:center;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:14px}.stat-value[data-v-64b012b0]{font-size:20px;font-weight:800}.stat-value.text-purple[data-v-64b012b0]{color:#7c3aed}.stat-value.text-blue[data-v-64b012b0]{color:var(--primary)}.stat-value.text-amber[data-v-64b012b0]{color:#f59e0b}.stat-label[data-v-64b012b0]{color:#64748b;margin-top:4px;font-size:11px;font-weight:500}.profile-details-section[data-v-64b012b0]{border-top:1px solid #f1f5f9;padding-top:20px}.section-subtitle[data-v-64b012b0]{color:#1e293b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:700}.info-table[data-v-64b012b0]{flex-direction:column;gap:14px;display:flex}.info-row-item[data-v-64b012b0]{background:#fafafa;border-left:3px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.info-icon-cell[data-v-64b012b0]{text-align:center;width:20px;margin-top:2px}.info-content-cell[data-v-64b012b0]{flex-direction:column;gap:2px;display:flex}.info-row-label[data-v-64b012b0]{color:#94a3b8;font-size:11px;font-weight:600}.info-row-value[data-v-64b012b0]{color:#334155;font-size:13px;font-weight:700}.link-text[data-v-64b012b0]{color:var(--primary);text-decoration:none;transition:color .15s}.link-text[data-v-64b012b0]:hover{color:var(--primary-dark);text-decoration:underline}.empty-state-panel[data-v-64b012b0]{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:100px 0;display:flex}.empty-icon[data-v-64b012b0]{opacity:.3;font-size:48px}.loading-spinner[data-v-cdcf1ecd]{border:4px solid #f3f3f3;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin:0 auto;animation:1s linear infinite spin-cdcf1ecd}@keyframes spin-cdcf1ecd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.schedule-title[data-v-a1f26c63]{color:#1a1a2e;letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.schedule-title-italic[data-v-a1f26c63]{font-style:italic;font-weight:700}.week-nav-btn[data-v-a1f26c63]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;transition:all .2s;display:flex}.week-nav-btn[data-v-a1f26c63]:hover{color:#059669;background:#f0fdf4;border-color:#6ee7b7}.schedule-table-wrapper[data-v-a1f26c63]{background:#fff;border:1px solid #f1f0f0;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005}.schedule-table[data-v-a1f26c63]{border-collapse:collapse;table-layout:fixed;width:100%}.schedule-th[data-v-a1f26c63]{text-align:center;color:#6b7280;letter-spacing:.02em;background:#fafafa;border-bottom:1px solid #f0f0f0;border-right:1px solid #f5f5f5;padding:14px 8px;font-size:.8rem;font-weight:700;transition:background .2s}.schedule-th[data-v-a1f26c63]:last-child{border-right:none}.schedule-th-ca[data-v-a1f26c63]{color:#9ca3af;width:90px;font-size:.75rem;font-weight:600}.today-col[data-v-a1f26c63]{background:#f0fdf4!important}.th-date[data-v-a1f26c63]{color:#9ca3af;margin-top:2px;font-size:.7rem;font-weight:500}.today-date[data-v-a1f26c63]{color:#059669;font-weight:700}.today-badge[data-v-a1f26c63]{color:#059669;text-transform:uppercase;letter-spacing:.05em;background:#d1fae5;border-radius:6px;margin-top:3px;padding:1px 6px;font-size:.6rem;font-weight:800;display:inline-block}.schedule-row[data-v-a1f26c63]{border-bottom:1px solid #f5f5f5}.schedule-row[data-v-a1f26c63]:last-child{border-bottom:none}.schedule-td-time[data-v-a1f26c63]{text-align:center;vertical-align:middle;background:#fefefe;border-right:1px solid #f0f0f0;padding:18px 12px}.time-label-slot[data-v-a1f26c63]{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.7rem;font-weight:800}.time-label[data-v-a1f26c63]{color:#6b7280;font-size:.82rem;font-weight:600;line-height:1.6}.schedule-td-cell[data-v-a1f26c63]{vertical-align:middle;text-align:center;border-right:1px solid #f5f5f5;height:105px;min-height:90px;padding:10px 7px;transition:background .2s}.schedule-td-cell[data-v-a1f26c63]:last-child{border-right:none}.today-cell[data-v-a1f26c63]{background:#f9fefb}.schedule-card[data-v-a1f26c63]{cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:68px;padding:10px 8px;transition:all .18s;display:inline-flex}.schedule-card[data-v-a1f26c63]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.card-course-name[data-v-a1f26c63]{font-size:.78rem;font-weight:700;line-height:1.3}.card-meta[data-v-a1f26c63]{opacity:.6;font-size:.65rem;font-weight:600}.card-room[data-v-a1f26c63]{opacity:.75;font-size:.68rem;font-weight:600}.card-emerald[data-v-a1f26c63]{color:#065f46;background:#d1fae5}.card-blue[data-v-a1f26c63]{color:#1e40af;background:#dbeafe}.card-violet[data-v-a1f26c63]{color:#5b21b6;background:#ede9fe}.card-yellow[data-v-a1f26c63]{color:#854d0e;background:#fef9c3}.card-pink[data-v-a1f26c63]{color:#9d174d;background:#fce7f3}.card-cyan[data-v-a1f26c63]{color:#155e75;background:#cffafe}.card-orange[data-v-a1f26c63]{color:#9a3412;background:#ffedd5}.schedule-legend[data-v-a1f26c63]{flex-wrap:wrap;gap:20px;margin-top:18px;padding:4px 8px;display:flex}.legend-item[data-v-a1f26c63]{align-items:center;gap:7px;display:flex}.legend-dot[data-v-a1f26c63]{border-radius:4px;flex-shrink:0;width:13px;height:13px}.legend-text[data-v-a1f26c63]{color:#4b5563;font-size:.82rem;font-weight:500}.legend-card-emerald[data-v-a1f26c63]{background:#d1fae5}.legend-card-blue[data-v-a1f26c63]{background:#dbeafe}.legend-card-violet[data-v-a1f26c63]{background:#ede9fe}.legend-card-yellow[data-v-a1f26c63]{background:#fef9c3}.legend-card-pink[data-v-a1f26c63]{background:#fce7f3}.legend-card-cyan[data-v-a1f26c63]{background:#cffafe}.legend-card-orange[data-v-a1f26c63]{background:#ffedd5}.month-day-card[data-v-a1f26c63]{background:#fff;border:1px solid #f0f0f0;border-radius:20px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #00000008}.month-day-card[data-v-a1f26c63]:hover{border-color:#d1fae5;box-shadow:0 4px 16px #0596690f}.today-day-card[data-v-a1f26c63]{background:linear-gradient(to bottom right,#fff,#f0fdf4);border-color:#a7f3d0}.month-day-header[data-v-a1f26c63]{background:#fafafa;border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.today-day-header[data-v-a1f26c63]{background:linear-gradient(90deg,#f0fdf4,#ecfdf5)}.month-day-num[data-v-a1f26c63]{color:#374151;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:800;display:flex}.today-day-num[data-v-a1f26c63]{color:#fff;background:#059669;box-shadow:0 4px 12px #0596694d}.month-day-body[data-v-a1f26c63]{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.session-section[data-v-a1f26c63]{flex-direction:column;gap:8px;display:flex}.session-label[data-v-a1f26c63]{text-transform:uppercase;letter-spacing:.08em;border-radius:8px;align-items:center;width:fit-content;padding:4px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.session-morning[data-v-a1f26c63]{color:#92400e;background:#fef3c7}.session-afternoon[data-v-a1f26c63]{color:#1e40af;background:#dbeafe}.session-evening[data-v-a1f26c63]{color:#6b21a8;background:#e9d5ff}.session-items[data-v-a1f26c63]{flex-wrap:wrap;gap:10px;padding-left:4px;display:flex}.month-card[data-v-a1f26c63]{cursor:pointer;border-radius:14px;flex-direction:column;flex:1;min-width:180px;padding:12px 16px;transition:all .2s;display:flex}.month-card[data-v-a1f26c63]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.month-card-time[data-v-a1f26c63]{opacity:.7;margin-bottom:4px;font-size:.72rem;font-weight:600}.month-card-name[data-v-a1f26c63]{margin-bottom:3px;font-size:.88rem;font-weight:700;line-height:1.3}.month-card-sub[data-v-a1f26c63]{opacity:.65;font-size:.7rem;font-weight:600}.page-container[data-v-956013c8]{max-width:1000px;margin:0 auto;animation:.3s ease-out fadeIn-956013c8}@keyframes fadeIn-956013c8{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-956013c8]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-956013c8]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.page-desc[data-v-956013c8]{color:#64748b;font-size:14px}.header-actions[data-v-956013c8]{align-items:center;gap:16px;display:flex}.leave-quota[data-v-956013c8]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:12px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.quota-item[data-v-956013c8]{align-items:center;gap:4px;display:flex}.quota-val[data-v-956013c8]{color:#059669;font-size:16px;font-weight:800}.quota-val.used[data-v-956013c8]{color:#dc2626}.quota-divider[data-v-956013c8]{color:#86efac}.btn-icon-text[data-v-956013c8]{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-primary[data-v-956013c8]{background:var(--primary);color:#fff;box-shadow:0 4px 6px -1px #d9531e33}.btn-primary[data-v-956013c8]:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 8px -1px #d9531e4d}.premium-card[data-v-956013c8]{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px;box-shadow:0 4px 6px -1px #0000000d}.card-header[data-v-956013c8]{border-bottom:1px solid #f1f5f9;margin-bottom:24px;padding-bottom:16px}.card-title[data-v-956013c8]{color:#0f172a;margin:0;font-size:18px;font-weight:700}.request-list[data-v-956013c8]{flex-direction:column;gap:16px;display:flex}.request-item[data-v-956013c8]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:16px;justify-content:space-between;align-items:flex-start;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.request-item[data-v-956013c8]:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d}.request-main[data-v-956013c8]{flex:1;gap:20px;display:flex}.date-box[data-v-956013c8]{border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;box-shadow:inset 0 2px 4px #ffffff80}.date-green[data-v-956013c8]{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.date-yellow[data-v-956013c8]{color:#854d0e;background:#fef9c3;border:1px solid #fef08a}.date-red[data-v-956013c8]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.day[data-v-956013c8]{font-size:26px;font-weight:800;line-height:1}.month-year[data-v-956013c8]{text-transform:uppercase;opacity:.8;margin-top:4px;font-size:11px;font-weight:700}.request-info[data-v-956013c8]{flex-direction:column;gap:6px;padding-top:4px;display:flex}.request-reason[data-v-956013c8]{color:#334155;font-size:16px;font-style:italic;font-weight:600}.request-meta[data-v-956013c8]{color:#94a3b8;font-size:13px;font-weight:500}.teacher-reply[data-v-956013c8]{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 14px;font-size:13px;display:inline-flex}.reply-icon[data-v-956013c8]{font-size:14px}.status-badge[data-v-956013c8]{border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.status-dot[data-v-956013c8]{border-radius:50%;width:8px;height:8px}.status-approved[data-v-956013c8]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.status-approved .status-dot[data-v-956013c8]{background:#10b981}.status-pending[data-v-956013c8]{color:#c2410c;background:#fff7ed;border:1px solid #ffedd5}.status-pending .status-dot[data-v-956013c8]{background:#f97316}.status-rejected[data-v-956013c8]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.status-rejected .status-dot[data-v-956013c8]{background:#ef4444}.request-actions-status[data-v-956013c8]{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.btn-delete-request[data-v-956013c8]{color:#ef4444;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.btn-delete-request[data-v-956013c8]:hover{background:#fef2f2;border-color:#ef4444}.empty-state[data-v-956013c8]{text-align:center;padding:60px 20px}.empty-icon[data-v-956013c8]{opacity:.5;margin-bottom:16px;font-size:48px}.empty-title[data-v-956013c8]{color:#0f172a;margin-bottom:8px;font-size:18px;font-weight:600}.empty-desc[data-v-956013c8]{color:#64748b;font-size:14px}.modal-overlay[data-v-956013c8]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-956013c8]{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-height:90vh;animation:.3s ease-out slideUp-956013c8;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.form-modal[data-v-956013c8]{max-width:500px}@keyframes slideUp-956013c8{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header[data-v-956013c8]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title[data-v-956013c8]{color:#0f172a;font-size:18px;font-weight:700}.close-btn[data-v-956013c8]{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:20px;transition:color .2s}.close-btn[data-v-956013c8]:hover{color:#ef4444}.modal-body[data-v-956013c8]{padding:24px;overflow-y:auto}.modal-footer[data-v-956013c8]{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.info-alert[data-v-956013c8]{background:var(--primary-light);color:var(--primary-dark);border:1px solid #ffe4d6;border-radius:10px;gap:12px;padding:12px;font-size:13px;line-height:1.4;display:flex}.form-grid[data-v-956013c8]{grid-template-columns:1fr;gap:16px;display:grid}.form-group label[data-v-956013c8]{color:#475569;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.required[data-v-956013c8]{color:#ef4444}.form-input[data-v-956013c8]{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-size:14px;transition:all .2s}.form-input[data-v-956013c8]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-textarea[data-v-956013c8]{resize:vertical;min-height:100px}.btn-secondary[data-v-956013c8]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 20px;font-weight:600;transition:all .2s}.btn-secondary[data-v-956013c8]:hover{background:#f8fafc}.fade-enter-active[data-v-956013c8],.fade-leave-active[data-v-956013c8]{transition:opacity .3s}.fade-enter-from[data-v-956013c8],.fade-leave-to[data-v-956013c8]{opacity:0}.list-enter-active[data-v-956013c8],.list-leave-active[data-v-956013c8]{transition:all .4s cubic-bezier(.4,0,.2,1)}.list-enter-from[data-v-956013c8],.list-leave-to[data-v-956013c8]{opacity:0;transform:scale(.95)translateY(-20px)}.list-leave-active[data-v-956013c8]{position:absolute}.animate-fade[data-v-9e9dcdbb]{animation:.3s fadeIn-9e9dcdbb}@keyframes fadeIn-9e9dcdbb{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-container[data-v-d88098d7]{max-width:1200px;margin:0 auto;animation:.4s ease-out fadeIn-d88098d7}@keyframes fadeIn-d88098d7{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.page-header-premium[data-v-d88098d7]{margin-bottom:24px}.page-title[data-v-d88098d7]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:32px;font-weight:800}.page-desc[data-v-d88098d7]{color:#64748b;margin:0;font-size:15px}.category-filters[data-v-d88098d7]{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.cat-btn[data-v-d88098d7]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:20px;padding:8px 20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #00000005}.cat-btn[data-v-d88098d7]:hover{background:#f8fafc;border-color:#94a3b8}.cat-btn.active[data-v-d88098d7]{color:#fff;background:#0f172a;border-color:#0f172a;box-shadow:0 4px 6px #0f172a33}.courses-grid[data-v-d88098d7]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.course-card[data-v-d88098d7]{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:20px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 10px 20px -5px #0000000d}.course-card[data-v-d88098d7]:hover{transform:translateY(-6px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-top[data-v-d88098d7]{justify-content:flex-end;align-items:flex-start;height:100px;padding:20px;display:flex;position:relative}.cat-badge[data-v-d88098d7]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;letter-spacing:.5px;background:#fff3;border:1px solid #fff6;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:700}.card-content[data-v-d88098d7]{flex-direction:column;flex:1;padding:24px;display:flex}.c-title[data-v-d88098d7]{color:#0f172a;margin:0 0 8px;font-size:20px;font-weight:800;line-height:1.3}.c-target[data-v-d88098d7]{color:#64748b;flex:1;margin:0 0 20px;font-size:13px;line-height:1.5}.c-meta-list[data-v-d88098d7]{gap:16px;margin-bottom:24px;display:flex}.meta-item[data-v-d88098d7]{color:#334155;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.c-footer[data-v-d88098d7]{border-top:1px dashed #e2e8f0;justify-content:space-between;align-items:center;padding-top:20px;display:flex}.c-price[data-v-d88098d7]{color:#0f172a;font-size:20px;font-weight:800}.btn-view[data-v-d88098d7]{cursor:pointer;background:0 0;border:2px solid;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:700;transition:background .2s}.course-card:hover .btn-view[data-v-d88098d7]{background:#0000000d}.modal-overlay[data-v-d88098d7]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-d88098d7]{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp-d88098d7;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0000004d}.detailed-modal[data-v-d88098d7]{max-width:900px}@keyframes scaleUp-d88098d7{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header[data-v-d88098d7]{background:#fafafa;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.modal-title[data-v-d88098d7]{color:#0f172a;margin:0;font-size:24px;font-weight:800}.close-btn[data-v-d88098d7]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:all .2s;display:flex}.close-btn[data-v-d88098d7]:hover{color:#fff;background:#ef4444;transform:rotate(90deg)}.modal-body[data-v-d88098d7]{flex:1;display:flex;overflow-y:auto}.split-layout[data-v-d88098d7]{flex-direction:row}@media (width<=768px){.split-layout[data-v-d88098d7]{flex-direction:column}}.info-section[data-v-d88098d7]{border-right:1px solid #f1f5f9;flex:3;padding:32px}.reg-section[data-v-d88098d7]{background:#fafafa;flex-direction:column;flex:2;padding:32px;display:flex}.course-banner[data-v-d88098d7]{border-radius:16px;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.banner-icon[data-v-d88098d7]{font-size:32px}.banner-label[data-v-d88098d7]{text-transform:uppercase;letter-spacing:.5px;opacity:.8;margin-bottom:4px;font-size:12px;font-weight:700}.banner-target[data-v-d88098d7]{font-size:16px;font-weight:700;line-height:1.4}.course-desc[data-v-d88098d7]{color:#475569;margin-bottom:24px;font-size:15px;line-height:1.6}.detail-grid[data-v-d88098d7]{gap:24px;margin-bottom:32px;display:flex}.d-item[data-v-d88098d7]{color:#334155;align-items:center;gap:8px;font-size:14px;display:flex}.d-icon[data-v-d88098d7]{font-size:18px}.section-title[data-v-d88098d7]{color:#0f172a;margin:0 0 16px;font-size:16px;font-weight:800}.syllabus-list[data-v-d88098d7]{color:#334155;margin:0;padding-left:20px;font-size:14px;line-height:1.8}.syllabus-list li[data-v-d88098d7]{margin-bottom:8px;padding-left:8px}.syllabus-list li[data-v-d88098d7]::marker{color:var(--primary);font-weight:700}.reg-title[data-v-d88098d7]{color:#0f172a;margin:0 0 24px;font-size:20px;font-weight:800}.price-box[data-v-d88098d7]{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:24px;padding:20px;box-shadow:0 4px 6px -1px #0000000d}.price-label[data-v-d88098d7]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600}.price-value[data-v-d88098d7]{color:#0f172a;font-size:32px;font-weight:900}.form-group[data-v-d88098d7]{margin-bottom:24px}.form-group label[data-v-d88098d7]{color:#0f172a;margin-bottom:12px;font-size:14px;font-weight:700;display:block}.radio-list[data-v-d88098d7]{flex-direction:column;gap:10px;display:flex}.radio-item[data-v-d88098d7]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;transition:all .2s;display:flex}.radio-item[data-v-d88098d7]:hover{border-color:#94a3b8}.radio-item input:checked+.radio-text[data-v-d88098d7]{color:var(--primary);font-weight:700}.radio-item input[data-v-d88098d7]:checked{accent-color:var(--primary)}.radio-text[data-v-d88098d7]{color:#475569;font-size:14px}.payment-options[data-v-d88098d7]{flex-direction:column;gap:12px;display:flex}.pay-option[data-v-d88098d7]{cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:12px;align-items:flex-start;gap:16px;padding:16px;transition:all .2s;display:flex}.pay-option input[data-v-d88098d7]{accent-color:var(--primary);margin-top:4px;transform:scale(1.2)}.pay-option.active[data-v-d88098d7]{border-color:var(--primary);background:var(--primary-light)}.pay-title[data-v-d88098d7]{color:#0f172a;margin-bottom:4px;font-size:15px;font-weight:700}.pay-desc[data-v-d88098d7]{color:#64748b;font-size:13px;line-height:1.4}.no-installment[data-v-d88098d7]{color:#ef4444;padding-left:8px;font-size:12px;font-style:italic;font-weight:500}.btn-submit[data-v-d88098d7]{color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:auto;padding:16px;font-size:16px;font-weight:800;transition:all .2s;box-shadow:0 4px 12px #00000026}.btn-submit[data-v-d88098d7]:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}.tuition-page[data-v-c83ea942]{max-width:900px;margin:0 auto;animation:.35s fadeUp-c83ea942}@keyframes fadeUp-c83ea942{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-header-row[data-v-c83ea942]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-c83ea942]{color:#0f172a;align-items:center;gap:10px;margin-bottom:4px;font-size:26px;font-weight:800;display:flex}.title-icon[data-v-c83ea942]{color:#d9531e;font-size:28px}.page-desc[data-v-c83ea942]{color:#64748b;font-size:13px}.btn-refresh[data-v-c83ea942]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-refresh[data-v-c83ea942]:hover{color:#d9531e;background:#f8fafc;border-color:#d9531e}.alert-banner[data-v-c83ea942]{border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 18px;font-size:13px;font-weight:600;display:flex}.alert-warning[data-v-c83ea942]{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.alert-warning .material-icons[data-v-c83ea942]{color:#d9531e}.alert-info[data-v-c83ea942]{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.spin[data-v-c83ea942]{animation:.8s linear infinite spin-c83ea942}@keyframes spin-c83ea942{to{transform:rotate(360deg)}}.summary-grid[data-v-c83ea942]{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-card[data-v-c83ea942]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;align-items:center;gap:16px;padding:20px;transition:box-shadow .2s;display:flex;box-shadow:0 2px 8px #0000000a}.summary-card[data-v-c83ea942]:hover{box-shadow:0 4px 16px #00000014}.card-icon-wrap[data-v-c83ea942]{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.card-icon-wrap .material-icons[data-v-c83ea942]{font-size:24px}.card-total .card-icon-wrap[data-v-c83ea942]{color:#d9531e;background:#fff5ef}.card-paid .card-icon-wrap[data-v-c83ea942]{color:#166534;background:#dcfce7}.card-debt .card-icon-wrap[data-v-c83ea942]{color:#991b1b;background:#fee2e2}.card-clear .card-icon-wrap[data-v-c83ea942]{color:#166534;background:#dcfce7}.card-total[data-v-c83ea942]{border-top:3px solid #d9531e}.card-paid[data-v-c83ea942]{border-top:3px solid #16a34a}.card-debt[data-v-c83ea942]{border-top:3px solid #ef4444}.card-clear[data-v-c83ea942]{border-top:3px solid #16a34a}.card-label[data-v-c83ea942]{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.card-value[data-v-c83ea942]{color:#0f172a;margin:4px 0 2px;font-size:20px;font-weight:800}.card-sub[data-v-c83ea942]{color:#16a34a;font-size:11px;font-weight:600}.tab-bar[data-v-c83ea942]{border-bottom:2px solid #e2e8f0;gap:6px;margin-bottom:16px;display:flex}.tab-btn[data-v-c83ea942]{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 20px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.tab-btn .material-icons[data-v-c83ea942]{font-size:17px}.tab-btn[data-v-c83ea942]:hover{color:#d9531e}.tab-btn.active[data-v-c83ea942]{color:#d9531e;border-bottom-color:#d9531e;font-weight:700}.tab-count[data-v-c83ea942]{color:#d9531e;background:#fff5ef;border-radius:20px;padding:1px 7px;font-size:11px;font-weight:700}.tab-btn.active .tab-count[data-v-c83ea942]{color:#fff;background:#d9531e}.content-card[data-v-c83ea942]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.invoice-row[data-v-c83ea942]{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;transition:background .15s;display:flex}.invoice-row[data-v-c83ea942]:last-child{border:none}.invoice-row[data-v-c83ea942]:hover{background:#f8fafc}.inv-left[data-v-c83ea942]{align-items:center;gap:16px;display:flex}.status-icon-wrap[data-v-c83ea942]{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.status-icon-wrap .material-icons[data-v-c83ea942]{font-size:24px}.icon-paid[data-v-c83ea942]{color:#166534;background:#dcfce7}.icon-partial[data-v-c83ea942]{color:#854d0e;background:#fef9c3}.icon-unpaid[data-v-c83ea942]{color:#991b1b;background:#fee2e2}.inv-number[data-v-c83ea942]{color:#0f172a;margin-bottom:4px;font-family:monospace;font-size:13px;font-weight:700}.inv-course[data-v-c83ea942]{color:#475569;margin-bottom:4px;font-size:13px}.inv-due[data-v-c83ea942]{color:#94a3b8;align-items:center;gap:3px;font-size:12px;display:flex}.inv-due .material-icons[data-v-c83ea942]{color:#cbd5e1}.inv-right[data-v-c83ea942]{align-items:center;gap:24px;display:flex}.inv-amounts[data-v-c83ea942]{text-align:right;flex-direction:column;gap:4px;display:flex}.amt-line[data-v-c83ea942]{justify-content:flex-end;align-items:center;gap:12px;display:flex}.amt-lbl[data-v-c83ea942]{color:#94a3b8;white-space:nowrap;font-size:11px}.amt-val[data-v-c83ea942]{color:#0f172a;font-size:13px;font-weight:700}.amt-val.green[data-v-c83ea942]{color:#10b981}.amt-val.red[data-v-c83ea942]{color:#ef4444}.status-badge[data-v-c83ea942]{white-space:nowrap;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:700}.badge-green[data-v-c83ea942]{color:#166534;background:#dcfce7}.badge-yellow[data-v-c83ea942]{color:#854d0e;background:#fef9c3}.badge-red[data-v-c83ea942]{color:#991b1b;background:#fee2e2}.badge-gray[data-v-c83ea942]{color:#64748b;background:#f1f5f9}.receipt-row[data-v-c83ea942]{border-bottom:1px solid #f8fafc;align-items:center;gap:16px;padding:18px 24px;transition:background .15s;display:flex}.receipt-row[data-v-c83ea942]:last-child{border:none}.receipt-row[data-v-c83ea942]:hover{background:#f8fafc}.rec-icon-wrap[data-v-c83ea942]{color:#d9531e;background:#fff5ef;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.rec-icon-wrap .material-icons[data-v-c83ea942]{font-size:22px}.rec-info[data-v-c83ea942]{flex:1}.rec-num[data-v-c83ea942]{color:#0f172a;margin-bottom:4px;font-family:monospace;font-size:13px;font-weight:700}.rec-meta[data-v-c83ea942]{color:#475569;align-items:center;gap:4px;margin-bottom:2px;font-size:12px;display:flex}.rec-meta .material-icons[data-v-c83ea942]{color:#cbd5e1}.rec-sep[data-v-c83ea942]{color:#cbd5e1;margin:0 2px}.rec-txn[data-v-c83ea942]{color:#d9531e;align-items:center;gap:3px;margin-bottom:2px;font-size:11px;font-weight:600;display:flex}.rec-by[data-v-c83ea942]{color:#94a3b8;align-items:center;gap:3px;font-size:11px;display:flex}.rec-amount[data-v-c83ea942]{color:#16a34a;white-space:nowrap;font-size:18px;font-weight:800}.empty-state[data-v-c83ea942]{flex-direction:column;align-items:center;gap:12px;padding:56px 20px;display:flex}.empty-icon[data-v-c83ea942]{color:#e2e8f0;font-size:48px}.empty-text[data-v-c83ea942]{color:#94a3b8;font-size:14px;font-weight:500}.btn-pay[data-v-c83ea942]{color:#fff;cursor:pointer;background:#d9531e;border:none;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 4px #d9531e33}.btn-pay[data-v-c83ea942]:hover{background:#c2410c;transform:translateY(-1px);box-shadow:0 4px 8px #d9531e4d}.btn-pay[data-v-c83ea942]:active{transform:translateY(0)}.payment-modal-overlay[data-v-c83ea942]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn-c83ea942;display:flex;position:fixed;inset:0}@keyframes fadeIn-c83ea942{0%{opacity:0}to{opacity:1}}.payment-modal-card[data-v-c83ea942]{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;width:100%;max-width:500px;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp-c83ea942;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes scaleUp-c83ea942{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header[data-v-c83ea942]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title[data-v-c83ea942]{color:#0f172a;font-size:16px;font-weight:800}.modal-subtitle[data-v-c83ea942]{color:#d9531e;margin-top:2px;font-family:monospace;font-size:11px;font-weight:700}.btn-close-modal[data-v-c83ea942]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;font-size:18px;transition:all .15s}.btn-close-modal[data-v-c83ea942]:hover{color:#475569;background:#f1f5f9}.modal-body[data-v-c83ea942]{max-height:80vh;padding:24px;overflow-y:auto}.invoice-summary-box[data-v-c83ea942]{background:#fff5ef;border:1px solid #ffe4d6;border-radius:16px;flex-direction:column;gap:8px;margin-bottom:20px;padding:14px 18px;display:flex}.summary-row[data-v-c83ea942]{justify-content:space-between;align-items:center;display:flex}.summary-row .lbl[data-v-c83ea942]{color:#64748b;font-size:12px;font-weight:600}.summary-row .val[data-v-c83ea942]{color:#1e293b;font-size:13px}.price-highlight[data-v-c83ea942]{color:#d9531e;font-weight:950;font-size:18px!important}.payment-amount-field[data-v-c83ea942]{border-top:1px dashed #fed7aa;flex-direction:column;gap:7px;padding-top:12px;display:flex}.payment-amount-field label[data-v-c83ea942]{color:#475569;font-size:12px;font-weight:700}.amount-input-row[data-v-c83ea942]{gap:8px;display:flex}.amount-input[data-v-c83ea942]{color:#0f172a;background:#fff;border:1px solid #fed7aa;border-radius:10px;outline:none;flex:1;min-width:0;height:40px;padding:0 12px;font-family:inherit;font-size:15px;font-weight:800}.amount-input[data-v-c83ea942]:focus{border-color:#d9531e;box-shadow:0 0 0 3px #d9531e1f}.amount-input[data-v-c83ea942]:disabled{color:#94a3b8;background:#f8fafc}.btn-pay-all[data-v-c83ea942]{color:#fff;cursor:pointer;white-space:nowrap;background:#d9531e;border:none;border-radius:10px;height:40px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:800}.btn-pay-all[data-v-c83ea942]:hover:not(:disabled){background:#c2410c}.btn-pay-all[data-v-c83ea942]:disabled{cursor:not-allowed;background:#cbd5e1}.amount-error[data-v-c83ea942]{color:#dc2626;font-size:11.5px;font-weight:700}.amount-helper[data-v-c83ea942]{color:#64748b;font-size:11.5px;font-weight:700}.method-selector[data-v-c83ea942]{margin-bottom:20px}.selector-label[data-v-c83ea942]{color:#475569;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:700}.selector-options[data-v-c83ea942]{flex-direction:column;gap:10px;display:flex}.method-option[data-v-c83ea942]{cursor:pointer;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:14px;padding:14px 18px;transition:all .2s;display:flex}.method-option[data-v-c83ea942]:hover{background:#f8fafc;border-color:#cbd5e1}.method-option.active[data-v-c83ea942]{background:#fffdfc;border-color:#d9531e}.option-icon[data-v-c83ea942]{color:#64748b;font-size:24px;transition:color .2s}.method-option.active .option-icon[data-v-c83ea942]{color:#d9531e}.option-details[data-v-c83ea942]{flex:1}.option-title[data-v-c83ea942]{color:#1e293b;font-size:13px;font-weight:700}.option-desc[data-v-c83ea942]{color:#64748b;margin-top:1px;font-size:11px}.select-indicator[data-v-c83ea942]{color:#cbd5e1;opacity:0;font-size:20px;transition:all .2s}.method-option.active .select-indicator[data-v-c83ea942]{color:#d9531e;opacity:1}.vietqr-panel[data-v-c83ea942]{flex-direction:column;align-items:center;animation:.25s fadeIn-c83ea942;display:flex}.qr-container[data-v-c83ea942]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;width:180px;height:180px;margin-bottom:18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.qr-container.qr-disabled[data-v-c83ea942]{background:#f8fafc;border-style:dashed}.qr-placeholder[data-v-c83ea942]{color:#94a3b8;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.qr-placeholder .material-icons[data-v-c83ea942]{color:#cbd5e1;font-size:28px}.qr-image[data-v-c83ea942]{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.qr-scanner-line[data-v-c83ea942]{background:#d9531e;height:2px;animation:2.5s ease-in-out infinite scan-c83ea942;position:absolute;left:0;right:0;box-shadow:0 0 8px #d9531e}@keyframes scan-c83ea942{0%{top:0%}50%{top:100%}to{top:0%}}.qr-instructions[data-v-c83ea942]{background:#f8fafc;border-radius:16px;width:100%;margin-bottom:18px;padding:14px 18px}.instruction-title[data-v-c83ea942]{color:#334155;margin-bottom:6px;font-size:12px;font-weight:700}.instruction-list[data-v-c83ea942]{color:#64748b;padding-left:16px;font-size:11.5px;line-height:1.6}.qr-status-box[data-v-c83ea942]{color:#475569;background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px;font-size:12px;font-weight:700;display:flex}.spin-loading[data-v-c83ea942]{margin-right:8px;font-size:16px;animation:1s linear infinite spin-c83ea942}.status-waiting[data-v-c83ea942]{color:#64748b;align-items:center;gap:8px;display:flex}.status-waiting .material-icons[data-v-c83ea942]{color:#d9531e;font-size:18px}.status-verifying[data-v-c83ea942]{color:#d97706;align-items:center;display:flex}.status-success[data-v-c83ea942]{color:#16a34a;background:#dcfce7;border-radius:16px;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn-c83ea942;display:flex}@keyframes popIn-c83ea942{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-icon[data-v-c83ea942]{color:#16a34a;margin-right:6px;font-size:20px}.success-text[data-v-c83ea942]{color:#166534}.btn-confirm-transfer[data-v-c83ea942]{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;width:100%;min-height:42px;margin-top:12px;font-family:inherit;font-size:12px;font-weight:800;transition:all .15s}.btn-confirm-transfer[data-v-c83ea942]:hover:not(:disabled){background:#15803d;transform:translateY(-1px)}.btn-confirm-transfer[data-v-c83ea942]:disabled{color:#64748b;cursor:not-allowed;background:#cbd5e1}.cash-panel[data-v-c83ea942]{text-align:center;flex-direction:column;align-items:center;padding:16px 0;animation:.25s fadeIn-c83ea942;display:flex}.cash-icon-decor[data-v-c83ea942]{background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;display:flex}.cash-instructions[data-v-c83ea942]{color:#475569;max-width:400px;font-size:12.5px;line-height:1.6}.cash-instructions strong[data-v-c83ea942]{color:#0f172a}.cash-info-box[data-v-c83ea942]{color:#64748b;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:4px;margin-top:14px;padding:10px 14px;font-size:11.5px;display:flex}.modal-footer[data-v-c83ea942]{border-top:1px solid #f1f5f9;justify-content:flex-end;padding:16px 24px;display:flex}.btn-secondary[data-v-c83ea942]{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;padding:9px 18px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.btn-secondary[data-v-c83ea942]:hover{color:#1e293b;background:#e2e8f0}.modal-fade-enter-active[data-v-c83ea942],.modal-fade-leave-active[data-v-c83ea942]{transition:opacity .25s}.modal-fade-enter-from[data-v-c83ea942],.modal-fade-leave-to[data-v-c83ea942]{opacity:0}.page-container[data-v-d470c296]{max-width:1200px;margin:0 auto}.page-header-premium[data-v-d470c296]{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-title[data-v-d470c296]{color:#0f172a;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.page-desc[data-v-d470c296]{color:#64748b;font-size:14px}.mb-6[data-v-d470c296]{margin-bottom:24px}.stat-cards-premium[data-v-d470c296]{gap:20px;display:grid}.stat-cards-premium.cols-3[data-v-d470c296]{grid-template-columns:repeat(3,1fr)}.stat-card[data-v-d470c296]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000d}.stat-icon[data-v-d470c296]{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.teal-bg[data-v-d470c296]{background:var(--primary-light);color:var(--primary)}.purple-bg[data-v-d470c296]{color:#6d28d9;background:#f5f3ff}.stat-label[data-v-d470c296]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px;font-weight:600}.stat-value[data-v-d470c296]{font-size:24px;font-weight:800}.text-teal[data-v-d470c296]{color:var(--primary-dark)}.premium-card[data-v-d470c296]{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px;box-shadow:0 4px 20px -2px #0000000d}.card-header[data-v-d470c296]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.card-title[data-v-d470c296]{color:#0f172a;margin:0;font-size:18px;font-weight:800}.skills-chart[data-v-d470c296]{flex-direction:column;gap:18px;margin-bottom:28px;display:flex}.skill-row[data-v-d470c296]{flex-direction:column;gap:8px;display:flex}.skill-header[data-v-d470c296]{justify-content:space-between;align-items:flex-end;display:flex}.skill-label[data-v-d470c296]{color:#475569;font-size:14px;font-weight:600}.skill-score[data-v-d470c296]{font-size:16px;font-weight:800}.max-score[data-v-d470c296]{color:#94a3b8;font-size:12px;font-weight:500}.skill-track[data-v-d470c296]{background:#f1f5f9;border-radius:4px;height:8px;overflow:hidden}.skill-fill[data-v-d470c296]{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.total-score-box[data-v-d470c296]{background:linear-gradient(135deg, var(--primary-light) 0%, #ffe4d6 100%);border:1px solid #fed7aa;border-radius:16px;justify-content:space-between;align-items:center;padding:20px;display:flex}.total-label[data-v-d470c296]{color:var(--primary-dark);font-size:15px;font-weight:700}.total-val[data-v-d470c296]{color:var(--primary);text-shadow:0 2px 4px #d9531e33;font-size:32px;font-weight:900}.text-blue[data-v-d470c296]{color:var(--primary)}.text-green[data-v-d470c296]{color:#10b981}.text-orange[data-v-d470c296]{color:#f59e0b}.grade-badge[data-v-d470c296]{border-radius:20px;justify-content:center;align-items:center;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex}.grade-xs[data-v-d470c296]{background:var(--primary-light);color:var(--primary-dark);border:1px solid #ffe4d6}.grade-g[data-v-d470c296]{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.grade-k[data-v-d470c296]{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.grade-tb[data-v-d470c296]{color:#854d0e;background:#fef9c3;border:1px solid #fef08a}.grade-y[data-v-d470c296]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.status-badge[data-v-d470c296]{border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.status-pass[data-v-d470c296]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.status-pass .status-dot[data-v-d470c296]{background:#10b981}.status-fail[data-v-d470c296]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.status-fail .status-dot[data-v-d470c296]{background:#ef4444}.status-dot[data-v-d470c296]{border-radius:50%;width:6px;height:6px}.final-note[data-v-d470c296]{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;font-size:13px}.animate-fade[data-v-d470c296]{animation:.35s fadeUp-d470c296}@keyframes fadeUp-d470c296{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.stat-cards-premium.cols-3[data-v-d470c296]{grid-template-columns:1fr}}*{box-sizing:border-box;margin:0;padding:0}body{color:#334155;background:#f8fafc;font-family:Inter,sans-serif}.app-layout{min-height:100vh;display:flex}.sidebar{z-index:100;background:#d9531e;border-right:none;flex-direction:column;width:260px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid #ffffff26;align-items:center;gap:10px;padding:20px;display:flex}.brand-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex;color:#d9531e!important;background:#fff!important}.brand-name{color:#fff;font-size:18px;font-weight:700}.pro-badge{color:#fff;background:#ffffff40;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.role-badge{color:#fff;background:#ffffff40;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.nav-group-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;padding:16px 20px 6px;font-size:11px;font-weight:600}.nav-item{cursor:pointer;color:#ffffffd9;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 20px;font-size:14px;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{font-weight:600;color:#d9531e!important;background:#fff!important;border-left-color:#0000!important}.nav-icon{text-align:center;width:20px;font-size:18px}.nav-label{flex:1}.nav-badge{color:#d9531e;background:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.nav-tag{color:#d9531e;background:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff26;padding:12px 16px}.user-role{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;max-width:140px;margin-top:2px;font-size:12px;overflow:hidden}.user-info{align-items:center;gap:10px;padding:8px 0;display:flex}.user-avatar{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;color:#d9531e!important;background:#fff!important}.user-name{color:#fff;font-size:13px;font-weight:600}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;display:flex}.topbar{z-index:50;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:10px 28px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.breadcrumb-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.role-admin .breadcrumb-icon,.role-teacher .breadcrumb-icon,.role-student .breadcrumb-icon{background:var(--primary-light);color:var(--primary)}.breadcrumb-main{color:#0f172a;font-size:15px;font-weight:700;line-height:1.2}.breadcrumb-sub{color:#94a3b8;font-size:11px;font-weight:500}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-btn-leave{color:#b91c1c;cursor:pointer;white-space:nowrap;background:#fee2e2;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.topbar-btn-leave:hover{background:#fecaca}.btn-logout{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-weight:600}.btn-logout:hover{color:#ef4444;background:#fee2e2;border-color:#fecaca}.page-content{background:#f8fafc;flex:1;padding:24px 32px;overflow-y:auto}.card{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #0000000a}.card-title{color:#0f172a;margin-bottom:4px;font-size:16px;font-weight:700}.card-subtitle{color:#94a3b8;font-size:13px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-title{color:#0f172a;font-size:22px;font-weight:700}.page-desc{color:#94a3b8;margin-top:4px;font-size:13px}.btn-actions{gap:10px;display:flex}.btn-primary{cursor:pointer;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .15s}.role-admin .btn-primary{background:var(--role-admin)}.role-teacher .btn-primary{background:var(--role-teacher)}.role-student .btn-primary{background:var(--role-student)}.btn-outline{cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:500}table.data-table{border-collapse:collapse;width:100%}table.data-table th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:11px;font-weight:600}table.data-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}.avatar.blue{background:#3b82f6}.avatar.green{background:#10b981}.avatar.purple{background:#8b5cf6}.avatar.orange{background:#f59e0b}.avatar.red{background:#ef4444}.avatar.teal{background:#0d9488}.user-cell{align-items:center;gap:10px;display:flex}.user-cell .name{color:#0f172a;font-size:14px;font-weight:600}.user-cell .code{color:#94a3b8;font-size:12px}.badge{white-space:nowrap;border-radius:16px;padding:4px 10px;font-size:11px;font-weight:600}.badge-green{color:#166534;background:#dcfce7}.badge-yellow{color:#854d0e;background:#fef9c3}.badge-red{color:#991b1b;background:#fee2e2}.badge-blue{color:#1e40af;background:#dbeafe}.badge-purple{color:#6d28d9;background:#ede9fe}.badge-orange{color:#c2410c;background:#ffedd5}.badge-teal{color:#0d9488;background:#ccfbf1}.badge-gray{color:#64748b;background:#f1f5f9}.progress-row{align-items:center;gap:8px;display:flex}.progress-bar{background:#e2e8f0;border-radius:3px;flex:1;min-width:60px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .3s}.progress-fill.green{background:#10b981}.progress-fill.blue{background:#3b82f6}.progress-fill.orange{background:#f59e0b}.progress-fill.red{background:#ef4444}.progress-fill.purple{background:#8b5cf6}.progress-fill.teal{background:#0d9488}.progress-text{min-width:36px;font-size:13px;font-weight:500}.stat-cards{gap:16px;margin-bottom:24px;display:grid}.stat-cards.cols-4{grid-template-columns:repeat(4,1fr)}.stat-cards.cols-3{grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border-top:3px solid #0000;border-radius:12px;padding:20px}.stat-card .label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.stat-card .value{color:#0f172a;margin-top:4px;font-size:28px;font-weight:700}.stat-card .sub{color:#94a3b8;margin-top:2px;font-size:12px}.stat-card.blue{border-top-color:#3b82f6}.stat-card.green{border-top-color:#10b981}.stat-card.orange{border-top-color:#f59e0b}.stat-card.red{border-top-color:#ef4444}.stat-card.purple{border-top-color:#8b5cf6}.stat-card.teal{border-top-color:#0d9488}.grid-2{grid-template-columns:2fr 1fr;gap:20px;display:grid}.grid-2-equal,.grid-2x2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.toggle-group{gap:6px;display:flex}.toggle-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:36px;height:32px;font-size:13px;font-weight:700;transition:all .15s}.toggle-btn:hover{background:#f1f5f9}.toggle-btn.active-p{color:#10b981;background:#dcfce7;border-color:#10b981}.toggle-btn.active-a{color:#ef4444;background:#fee2e2;border-color:#ef4444}.toggle-btn.active-l{color:#eab308;background:#fef9c3;border-color:#eab308}.btn-approve{color:#166534;cursor:pointer;background:#dcfce7;border:1px solid #10b981;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600}.btn-reject{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #ef4444;border-radius:6px;margin-left:6px;padding:6px 12px;font-size:12px;font-weight:600}.input-score{text-align:center;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:52px;padding:6px;font-size:14px}.input-score:focus{border-color:#3b82f6}.input-ghost{color:#64748b;background:0 0;border:none;outline:none;width:100%;font-size:13px}.tabs{border-bottom:2px solid #e2e8f0;gap:0;margin-bottom:20px;display:flex}.tab{color:#64748b;cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.role-teacher .tab.active{color:var(--role-teacher);border-bottom-color:var(--role-teacher)}.role-student .tab.active{color:var(--role-student);border-bottom-color:var(--role-student)}.text-muted{color:#94a3b8;font-size:13px}.text-bold{color:#0f172a;font-weight:600}.text-green{color:#10b981}.text-red{color:#ef4444}.text-orange{color:#f59e0b}.text-blue{color:#2563eb}.money{font-size:15px;font-weight:700}.money.green{color:#10b981}.money.red{color:#ef4444}.money.orange{color:#f59e0b}.filter-bar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-bar select,.filter-bar input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:8px 12px;font-size:13px}.filter-bar input{min-width:220px}.filter-bar .spacer{flex:1}.legend{color:#94a3b8;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.session-expired-banner{z-index:99999;color:#fff;background:linear-gradient(90deg,#dc2626,#ea580c);justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:15px;font-weight:600;animation:.3s slideDown;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}
