*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::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: rgb(59 130 246 / .5);--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-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Courier New,Courier,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.z-50{z-index:50}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.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-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-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))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-white\/20{border-color:#fff3}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-white\/95{background-color:#fffffff2}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-cyan-50{--tw-gradient-to: #ecfeff var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.pr-3{padding-right:.75rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.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-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-blue-100{--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / 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-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--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)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}@media(min-width:1024px){.lg\:flex{display:flex}.lg\:w-1\/2{width:50%}}.book-animation-container{position:relative;height:200px;width:200px;align-items:center;justify-content:space-between;flex-direction:column;display:flex;align-self:center;justify-self:center;pointer-events:none}.book-svg{transform:translate(10%) translateY(10%) rotate(45deg)}.pages-container{transform-origin:120px 105px}.page{transform-origin:120px 145px;animation-duration:5s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.4,0,.2,1)}.page-1{animation-name:fanOpen1}.page-2{animation-name:fanOpen2}.page-3{animation-name:fanOpen3}.page-4{animation-name:fanOpen4}@keyframes fanOpen1{0%,to{transform:rotate(0);opacity:.7}30%{transform:rotate(-45deg);opacity:1}70%{transform:rotate(-45deg);opacity:1}}@keyframes fanOpen2{0%,to{transform:rotate(0);opacity:.7}30%{transform:rotate(-15deg);opacity:1}70%{transform:rotate(-15deg);opacity:1}}@keyframes fanOpen3{0%,to{transform:rotate(0);opacity:.7}30%{transform:rotate(15deg);opacity:1}70%{transform:rotate(15deg);opacity:1}}@keyframes fanOpen4{0%,to{transform:rotate(0);opacity:.7}30%{transform:rotate(45deg);opacity:1}70%{transform:rotate(45deg);opacity:1}}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-dots{display:flex;gap:.5rem;align-items:center}.dot{width:8px;height:8px;background:var(--color-primary-500);border-radius:50%;animation:dotPulse 1.5s cubic-bezier(.4,0,.2,1) infinite}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.4);opacity:1}}@media(max-width:768px){.book-svg{width:240px;height:195px}.book-animation-container{gap:2rem}}@media(max-width:480px){.book-svg{width:200px;height:162px}}.fade-in{opacity:0;transition:opacity var(--fade-duration, .6s) ease-out var(--fade-delay, 0s),transform var(--fade-duration, .6s) ease-out var(--fade-delay, 0s)}.fade-in-up{transform:translateY(30px)}.fade-in-down{transform:translateY(-30px)}.fade-in-left{transform:translate(30px)}.fade-in-right{transform:translate(-30px)}.fade-in-none{transform:none}.fade-in-visible{opacity:1;transform:translate(0)}.fade-in-stagger-1{--fade-delay: .1s}.fade-in-stagger-2{--fade-delay: .2s}.fade-in-stagger-3{--fade-delay: .3s}.fade-in-stagger-4{--fade-delay: .4s}.fade-in-stagger-5{--fade-delay: .5s}.fade-in-stagger-6{--fade-delay: .6s}:root{--color-primary-50: #ecfeff;--color-primary-100: #cffafe;--color-primary-200: #a5f3fc;--color-primary-300: #67e8f9;--color-primary-400: #22d3ee;--color-primary-500: #3abff0;--color-primary-600: #06b6d4;--color-primary-700: #0891b2;--color-primary-800: #0e7490;--color-primary-900: #155e75;--color-primary-950: #083344;--color-secondary-50: #fff7ed;--color-secondary-100: #ffedd5;--color-secondary-200: #fed7aa;--color-secondary-300: #fdba74;--color-secondary-400: #fb923c;--color-secondary-500: #f97316;--color-secondary-600: #ea580c;--color-secondary-700: #c2410c;--color-secondary-800: #9a3412;--color-secondary-900: #7c2d12;--color-secondary-950: #431407;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-warning-50: #fefce8;--color-warning-100: #fef9c3;--color-warning-500: #eab308;--color-warning-600: #ca8a04;--color-warning-700: #a16207;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-info-50: #f0f9ff;--color-info-100: #e0f2fe;--color-info-500: #06b6d4;--color-info-600: #0891b2;--color-info-700: #0e7490;--color-brand-pink: #ff246d;--color-brand-cyan: #4A90E2;--color-brand-green: #8af21a;--color-brand-yellow: #f2f523;--color-brand-orange: #ff9d13;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--bg-primary: #ffffff;--bg-secondary: var(--color-gray-50);--bg-tertiary: var(--color-gray-100);--bg-dark: var(--color-gray-900);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-tertiary: var(--color-gray-500);--text-inverse: #ffffff;--border-light: var(--color-gray-200);--border-medium: var(--color-gray-300);--border-dark: var(--color-gray-400);--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-full: 9999px;--shadow-sm: rgba(9, 30, 66, .25) 0px 4px 8px -2px, rgba(9, 30, 66, .08) 0px 0px 0px 1px;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: rgba(9, 30, 66, .25) 0px 4px 8px -2px, rgba(9, 30, 66, .08) 0px 0px 0px 1px;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-base: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-heading: "Segoe UI", system-ui, -apple-system, sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.border-light{border-color:var(--border-light)}.shadow-card{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base) ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-700) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:linear-gradient(135deg,var(--color-secondary-500) 0%,var(--color-secondary-600) 100%);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-secondary-600) 0%,var(--color-secondary-700) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-outline-primary{background:transparent;color:var(--color-primary-600);border:2px solid var(--color-primary-600)}.btn-outline-primary:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary-700);color:var(--color-primary-700)}.btn-outline-secondary{background:transparent;color:var(--color-secondary-600);border:2px solid var(--color-secondary-600)}.btn-outline-secondary:hover:not(:disabled){background:var(--color-secondary-50);border-color:var(--color-secondary-700);color:var(--color-secondary-700)}.btn-sm{padding:.5rem 1rem;font-size:var(--font-size-sm)}.btn-lg{padding:.875rem 1.75rem;font-size:var(--font-size-lg)}.input{width:100%;padding:.625rem 1rem;font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);transition:all var(--transition-base) ease;outline:none}.input::-moz-placeholder{color:var(--text-tertiary)}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3abff01a}.input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.input-primary:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3abff026}.input-secondary:focus{border-color:var(--color-secondary-500);box-shadow:0 0 0 3px #f9731626}.input-error{border-color:var(--color-error-500)}.input-error:focus{border-color:var(--color-error-600);box-shadow:0 0 0 3px #ef444426}.input-success{border-color:var(--color-success-500)}.input-success:focus{border-color:var(--color-success-600);box-shadow:0 0 0 3px #22c55e26}.input-sm{padding:.5rem .75rem;font-size:var(--font-size-sm)}.input-lg{padding:.875rem 1.25rem;font-size:var(--font-size-lg)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.input-helper{font-size:var(--font-size-xs);color:var(--text-tertiary)}.input-error-message{font-size:var(--font-size-xs);color:var(--color-error-600);font-weight:var(--font-weight-medium)}.irregular-shape{position:relative;padding:3rem 2rem;overflow:hidden;color:#fff}.irregular-shape-card{background:var(--color-brand-orange);clip-path:polygon(2% 3%,100% 3%,92% 99%,2% 96%);transform:rotate(-1.5deg);box-shadow:var(--shadow-lg)}.irregular-shape-animated{animation:irregularFloat 6s ease-in-out infinite}@keyframes irregularFloat{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-10px) rotate(1deg)}}.ghost-mockup{position:relative;display:block;background:linear-gradient(115deg,var(--color-gray-200) 20%,var(--color-gray-100) 40%,var(--color-gray-200) 60%);background-size:300% 100%;border-radius:var(--radius-md);animation:ghostMockupShimmer 1.8s ease-in-out infinite}.ghost-mockup-bisel{box-shadow:inset 0 1px 2px #fff9,inset 0 -1px 2px #0f172a14}@keyframes ghostMockupShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}html,body,*{scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.noscroll{overflow:hidden;width:100%;height:100%;position:absolute;top:0;left:0;pointer-events:none}.loading{opacity:1;transition:opacity .3s ease}.intro{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.gridMotion-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:2rem;opacity:1}.row{display:flex;gap:1rem;will-change:transform;transform:translateZ(0)}.row:nth-child(2n){justify-content:flex-end}.row__item{flex:0 0 auto;width:12rem;height:12rem;overflow:hidden;transition:transform .3s ease}.row__item.rounded-sm{border-radius:.25rem}.row__item.rounded-md{border-radius:.5rem}.row__item.rounded-lg{border-radius:.75rem}.row__item.rounded-xl{border-radius:1rem}.row__item.rounded-2xl{border-radius:1.5rem}.row__item.shape-circle{border-radius:50%}.row__item.shape-hexagon{clip-path:polygon(30% 0%,70% 0%,100% 50%,70% 100%,30% 100%,0% 50%)}.row__item.shape-triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.row__item.shape-diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.row__item.shape-octagon{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.row__item-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:inherit;overflow:hidden;position:relative}.row__item-inner.brand-pink{background:linear-gradient(135deg,var(--color-brand-pink) 0%,#e0568a 100%)}.row__item-inner.brand-red{background:linear-gradient(135deg,var(--color-brand-pink) 0%,#e63946 100%)}.row__item-inner.brand-blue{background:linear-gradient(135deg,var(--color-brand-cyan) 0%,#357abd 100%)}.row__item-inner.brand-cyan{background:linear-gradient(135deg,var(--color-brand-cyan) 0%,#4aafce 100%)}.row__item-inner.brand-green{background:linear-gradient(135deg,var(--color-brand-green) 0%,#6bbf1c 100%)}.row__item-inner.brand-lime{background:linear-gradient(135deg,var(--color-brand-green) 0%,#93cc52 100%)}.row__item-inner.brand-yellow{background:linear-gradient(135deg,var(--color-brand-yellow) 0%,#e0951e 100%)}.row__item-inner.brand-orange{background:linear-gradient(135deg,var(--color-brand-orange) 0%,#f0b730 100%)}.row__item-img{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.row__item-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:500;color:#fffc;text-align:center;padding:1rem}.fullview{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}@media(max-width:1024px){.row__item{width:10rem;height:7rem}.gridMotion-container{gap:.75rem;padding:1.5rem}.row{gap:.75rem}}@media(max-width:768px){.row__item{width:8rem;height:6rem}.gridMotion-container{gap:.5rem;padding:1rem;opacity:.3}.row{gap:.5rem}}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--border-light);transition:width var(--transition-slow) ease;z-index:var(--z-sticky);display:flex;flex-direction:column;flex-shrink:0}.sidebar.open{width:260px}.sidebar.closed{width:80px}.sidebar-overlay{display:none}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-light)}.sidebar-logo{display:flex;align-items:center;gap:.75rem}.logo-icon{font-size:2rem;flex-shrink:0}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-600);white-space:nowrap}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-base);cursor:pointer;border-left:3px solid transparent;position:relative}.sidebar-item:hover{background:var(--color-primary-50);color:var(--color-primary-700);border-left-color:var(--color-primary-600)}.sidebar-item:hover .item-icon{color:var(--item-color, var(--color-primary-600));transform:scale(1.1)}.sidebar-item.active{color:var(--text-primary);border-left-color:var(--item-color, var(--color-primary-600));font-weight:var(--font-weight-semibold)}.sidebar-item.active .item-icon{color:var(--item-color, var(--color-primary-600))}.item-icon{font-size:1.5rem;flex-shrink:0;width:2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.item-icon svg{width:1.5rem;height:1.5rem;transition:inherit}.item-label{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;flex:1}.item-badge{background:var(--color-secondary-500);color:#fff;font-size:.75rem;font-weight:var(--font-weight-semibold);padding:.125rem .5rem;border-radius:9999px;min-width:1.5rem;text-align:center}.sidebar.closed .item-label,.sidebar.closed .item-badge{display:none}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);z-index:var(--z-fixed)}.sidebar.open{transform:translate(0);width:260px}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-fixed) - 1)}}.notification-list{width:400px;max-height:600px;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:var(--shadow-xl);overflow:hidden}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,var(--color-primary-50),var(--color-secondary-50))}.notification-header-left{display:flex;align-items:center;gap:.5rem}.notification-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.unread-badge{background:var(--color-secondary-500);color:#fff;font-size:.75rem;font-weight:var(--font-weight-bold);padding:.125rem .5rem;border-radius:9999px;min-width:1.25rem;text-align:center}.notification-actions{display:flex;gap:.5rem}.action-btn{font-size:.75rem;padding:.25rem .75rem;border:none;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:6px;cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-weight-medium)}.action-btn:hover{background:var(--color-primary-200);transform:translateY(-1px)}.action-btn.danger{background:var(--color-secondary-100);color:var(--color-secondary-700)}.action-btn.danger:hover{background:var(--color-secondary-200)}.notification-body{flex:1;overflow-y:auto;max-height:500px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;color:var(--text-secondary)}.empty-icon{font-size:4rem;color:var(--color-primary-300);margin-bottom:1rem}.empty-state p{font-size:var(--font-size-base);margin:0}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);transition:all var(--transition-base);cursor:pointer;position:relative}.notification-item:hover{background:var(--color-primary-50)}.notification-item.unread{background:linear-gradient(90deg,var(--color-primary-50) 0%,transparent 100%);border-left:3px solid var(--color-primary-500)}.notification-item.read{opacity:.7}.notification-content{flex:1;display:flex;gap:.75rem;align-items:flex-start}.notification-icon{font-size:1.5rem;flex-shrink:0;margin-top:.125rem}.notification-icon.success{color:var(--color-brand-green)}.notification-icon.error{color:var(--color-brand-red)}.notification-icon.warning{color:var(--color-brand-orange)}.notification-icon.info{color:var(--color-brand-cyan)}.notification-text{flex:1;min-width:0}.notification-text h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 .25rem}.notification-text p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 .25rem;line-height:1.4}.notification-time{font-size:.75rem;color:var(--text-tertiary)}.notification-action{display:inline-block;font-size:.75rem;color:var(--color-primary-600);font-weight:var(--font-weight-semibold);margin-top:.5rem;text-decoration:none;transition:color var(--transition-base)}.notification-action:hover{color:var(--color-primary-700);text-decoration:underline}.delete-btn{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);border-radius:4px;cursor:pointer;transition:all var(--transition-base);opacity:0}.notification-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--color-secondary-100);color:var(--color-secondary-600)}@media(max-width:640px){.notification-list{width:100vw;max-width:100vw;max-height:80vh;border-radius:12px 12px 0 0}.notification-header{position:sticky;top:0;z-index:10}.action-btn{font-size:.7rem;padding:.2rem .6rem}}.user-menu-container{display:flex;align-items:center;gap:1rem;position:relative}.notification-button{position:relative;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-primary-50);color:var(--color-primary-600);border-radius:50%;cursor:pointer;transition:all var(--transition-base)}.notification-button:hover{background:var(--color-primary-100);transform:scale(1.05)}.notification-button svg{width:1.25rem;height:1.25rem}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--color-secondary-500);color:#fff;font-size:.7rem;font-weight:var(--font-weight-bold);padding:.125rem .375rem;border-radius:9999px;min-width:1.25rem;text-align:center;box-shadow:0 2px 4px #0003}.notification-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:var(--z-dropdown);animation:slideDown .2s ease-out}.user-menu-wrapper{position:relative}.user-avatar-button{display:flex;align-items:center;gap:.75rem;padding:.375rem;border:none;background:transparent;cursor:pointer;border-radius:50px;transition:all var(--transition-base)}.user-avatar-button:hover{background:var(--color-primary-50)}.user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-500),var(--color-secondary-500));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);flex-shrink:0;box-shadow:var(--shadow-md)}.user-info-compact{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.user-name-compact{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.2}.user-role-compact{font-size:.75rem;color:var(--text-secondary);line-height:1.2}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:var(--shadow-xl);overflow:hidden;z-index:var(--z-dropdown);animation:slideDown .2s ease-out}.user-menu-header{padding:1.25rem;background:linear-gradient(135deg,var(--color-primary-50),var(--color-secondary-50));display:flex;align-items:center;gap:1rem}.user-avatar-large{width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-500),var(--color-secondary-500));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:1.5rem;flex-shrink:0;box-shadow:var(--shadow-lg)}.user-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.user-name-large{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1.2}.user-role-large{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.2}.user-menu-divider{height:1px;background:var(--border-light);margin:0}.user-menu-items{padding:.5rem}.user-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:8px;transition:all var(--transition-base);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;font-size:var(--font-size-sm)}.user-menu-item:hover{background:var(--color-primary-50);color:var(--color-primary-700)}.user-menu-item svg{width:1.25rem;height:1.25rem;flex-shrink:0}.user-menu-item.logout{color:var(--color-secondary-600)}.user-menu-item.logout:hover{background:var(--color-secondary-50);color:var(--color-secondary-700)}@media(max-width:640px){.user-info-compact{display:none}.user-menu-dropdown{right:-1rem;width:calc(100vw - 2rem);max-width:320px}.notification-panel{right:-1rem;left:auto}}.header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:var(--z-sticky);-webkit-position:sticky;will-change:transform}@media(max-width:768px){.header{padding:.75rem 1rem;position:sticky;top:0}}.header-left{display:flex;align-items:center;gap:1rem}.menu-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-base)}.menu-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.menu-button svg{width:1.5rem;height:1.5rem}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.back-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.back-button svg{width:1.5rem;height:1.5rem}.back-text{display:inline}@media(max-width:640px){.back-text{display:none}.back-button{padding:.5rem}}.header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;transition:all .4s ease-in-out;white-space:nowrap;transform:translate(0);opacity:1;max-width:300px}.header-title.header-title-hidden{transform:translate(-100%);opacity:0;max-width:0;margin-right:0;overflow:hidden}@media(max-width:768px){.header-title.header-title-desktop{display:none}}.header-breadcrumbs{display:flex;align-items:center;gap:0;max-width:100%;overflow:hidden;flex:1;min-width:0}@media(max-width:768px){.header-breadcrumbs{flex:1;min-width:0}}.breadcrumb-path{display:flex;align-items:center;gap:0;overflow:hidden;white-space:nowrap;cursor:copy;padding:.7rem .5rem;border-radius:var(--radius-md);transition:all var(--transition-base)}.breadcrumb-path:hover{overflow:visible;background-color:var(--color-gray-100)}.breadcrumb-item{display:flex;align-items:center;gap:0;animation:slideInFromRight .3s ease-out forwards;transform-origin:left center;max-width:0;transform:translate(-30px);overflow:hidden}.breadcrumb-item.removing{animation:slideOutToRight .3s ease-out forwards}.breadcrumb-item:nth-child(1){animation-delay:0ms}.breadcrumb-item:nth-child(2){animation-delay:50ms}.breadcrumb-item:nth-child(3){animation-delay:.1s}.breadcrumb-item:nth-child(4){animation-delay:.15s}.breadcrumb-item:nth-child(5){animation-delay:.2s}.breadcrumb-separator{color:var(--text-tertiary);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);cursor:copy;-webkit-user-select:none;-moz-user-select:none;user-select:none}.breadcrumb-link{background:transparent;border:none;padding:.25rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:all var(--transition-base);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;position:relative}.breadcrumb-link:hover:not(.no-link):not(:disabled){background:var(--color-primary-100);color:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.breadcrumb-link.no-link,.breadcrumb-link:disabled{cursor:default;color:var(--text-primary);opacity:.7}@media(max-width:768px){.breadcrumb-link{max-width:120px}}@keyframes slideInFromRight{0%{transform:translate(-30px);max-width:0}to{transform:translate(0);max-width:300px}}@keyframes slideOutToRight{0%{transform:translate(0);max-width:300px}to{transform:translate(-30px);max-width:0}}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.header-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-details{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.user-role{font-size:var(--font-size-xs);color:var(--text-tertiary)}.user-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}@media(max-width:768px){.header{padding:1rem}.header-title{font-size:var(--font-size-lg)}.user-details{display:none}.header-right{gap:1rem}}.searchable-input-container{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm)}.searchable-input-container.has-error .searchable-input{border-color:var(--color-error-500)}.searchable-selected-items{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.searchable-selected-item{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:var(--text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm);animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.selected-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.selected-item-remove{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;color:var(--text-inverse);width:1rem;height:1rem;border-radius:var(--radius-sm);transition:all var(--transition-fast) ease;flex-shrink:0}.selected-item-remove:hover:not(:disabled){background:#fff3;transform:scale(1.1)}.selected-item-remove:active:not(:disabled){transform:scale(.95)}.selected-item-remove:disabled{cursor:not-allowed;opacity:.5}.selected-item-remove svg{width:.875rem;height:.875rem;stroke-width:2.5}.searchable-input-wrapper{position:relative;display:flex;align-items:center}.searchable-input-icon{position:absolute;right:1rem;width:1.25rem;height:1.25rem;color:var(--text-tertiary);pointer-events:none}.searchable-input{padding-left:2.75rem;padding-right:2.5rem}.searchable-spinner{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.searchable-spinner .spinner-icon{width:1.25rem;height:1.25rem;color:var(--color-primary-500);animation:spin 1s linear infinite}.searchable-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:1000;animation:dropdownSlideDown .2s ease-out}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.searchable-hint,.searchable-loading,.searchable-no-results{padding:var(--spacing-md);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.searchable-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--color-primary-600)}.searchable-no-results{color:var(--text-secondary)}.searchable-results{display:flex;flex-direction:column;padding:var(--spacing-xs)}.searchable-result-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast) ease;text-align:left;width:100%;color:var(--text-primary);font-size:var(--font-size-base)}.searchable-result-item:hover:not(:disabled){background:var(--bg-secondary)}.searchable-result-item.selected{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-weight-medium)}.searchable-result-item:disabled{cursor:not-allowed;opacity:.5}.result-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-item-check{width:1.25rem;height:1.25rem;color:var(--color-primary-600);flex-shrink:0}.searchable-dropdown::-webkit-scrollbar{width:8px}.searchable-dropdown::-webkit-scrollbar-track{background:transparent}.searchable-dropdown::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.searchable-dropdown::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}@media(max-width:768px){.selected-item-label{max-width:150px}.searchable-dropdown{max-height:250px}}.formulario-dinamico{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-info-box{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-info-50);border:1px solid var(--color-info-500);border-radius:var(--radius-md);color:var(--color-info-700);font-size:var(--font-size-sm)}.form-info-box svg{flex-shrink:0;width:1.25rem;height:1.25rem;color:var(--color-info-500)}.form-info-box p{margin:0;line-height:1.5}.form-group-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-light)}.form-fields-container{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group-full{grid-column:span 12}.form-group-half{grid-column:span 6}.form-group-third{grid-column:span 4}.form-group-quarter{grid-column:span 3}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-label .required{color:var(--color-error-500);font-weight:var(--font-weight-semibold)}.form-input{width:100%;padding:.625rem 1rem;font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);transition:all var(--transition-base) ease;outline:none}.form-input::-moz-placeholder{color:var(--text-tertiary)}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3abff01a}.form-input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.form-input.error{border-color:var(--color-error-500)}.form-input.error:focus{border-color:var(--color-error-600);box-shadow:0 0 0 3px #ef444426}.form-textarea{resize:vertical;min-height:100px;font-family:var(--font-family-base)}select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-input:disabled{cursor:not-allowed}select.form-input[multiple]{background-image:none;padding-right:1rem;height:auto}select.form-input[multiple] option{padding:.5rem;border-radius:var(--radius-sm)}select.form-input[multiple] option:checked{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:var(--text-inverse)}.form-checkbox-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-md);border-radius:var(--radius-md);transition:background-color var(--transition-base) ease;position:relative}.form-checkbox-label:hover{background-color:var(--bg-secondary)}.form-checkbox{position:relative;width:1.25rem;height:1.25rem;border:2px solid var(--border-dark);border-radius:var(--radius-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all var(--transition-base) ease;background-color:var(--bg-primary);flex-shrink:0}.form-checkbox:checked{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);border-color:var(--color-primary-600)}.form-checkbox:focus{outline:none;box-shadow:0 0 0 3px #3abff01a}.form-checkbox:disabled{cursor:not-allowed;opacity:.5;background-color:var(--bg-secondary)}.checkbox-text{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-icon{width:.875rem;height:.875rem;color:var(--text-inverse);position:absolute;left:calc(var(--spacing-md) + .1875rem);top:50%;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity var(--transition-fast) ease}.form-checkbox:checked~.checkbox-icon{opacity:1}.form-radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-radio-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-md);border-radius:var(--radius-md);transition:background-color var(--transition-base) ease;border:1px solid var(--border-light)}.form-radio-label:hover{background-color:var(--bg-secondary);border-color:var(--border-medium)}.form-radio-label input[type=radio]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-primary-500);flex-shrink:0}.form-radio-label input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.form-radio-label span{font-size:var(--font-size-base);color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-error{font-size:var(--font-size-xs);color:var(--color-error-600);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.form-error:before{content:"⚠";font-size:var(--font-size-sm)}.form-help-text{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.4;margin-top:var(--spacing-xs)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light);margin-top:var(--spacing-md)}.form-actions .btn{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.form-actions .btn svg{width:1rem;height:1rem}.spinner-icon{animation:spin 1s linear infinite}.icon-xs{width:.875rem;height:.875rem}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}@media(max-width:768px){.form-fields-container{grid-template-columns:1fr}.form-group-full,.form-group-half,.form-group-third,.form-group-quarter{grid-column:span 1}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.form-actions .btn{width:100%;justify-content:center}.form-info-box{padding:var(--spacing-sm);font-size:var(--font-size-xs)}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999999;padding:1rem;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-container{background:#fff;clip-path:border-box;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;z-index:10000;border-radius:var(--radius-md)}.modal-small{width:400px}.modal-medium{width:600px}.modal-large{width:900px}.modal-fullscreen{width:100%;height:100%;max-height:100vh;border-radius:0}.modal-header{display:flex;color:var(--text-primary);align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border);flex-shrink:0;background:#fff;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border-light)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.modal-close-btn{width:2rem;height:2rem;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.modal-close-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-close-btn:active{transform:scale(.95)}.modal-close-btn svg{width:1.25rem;height:1.25rem}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;overscroll-behavior:contain;background:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.modal-overlay{padding:0}.modal-container:not(.modal-fullscreen){width:100%;height:100%;max-height:100vh;border-radius:0;animation:slideUpMobile .3s ease-out}.modal-header{padding:1rem;position:sticky;top:0;background:#fff;z-index:1}.modal-body{padding:1rem}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.documentos-section{margin-top:1rem}.documentos-section-loading,.documentos-section-error{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.documentos-section-error p{color:var(--error);font-size:.95rem}.documentos-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.documentos-header-actions{display:flex;align-items:center;gap:.75rem}.btn-subir-documento{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--color-primary-600);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000001a}.btn-subir-documento:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-subir-documento:active{transform:translateY(0)}.btn-subir-documento .icon-sm{width:16px;height:16px}.btn-toggle-filtros{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;position:relative}.btn-toggle-filtros:hover{border-color:var(--primary);background-color:var(--primary-light);transform:translateY(-1px)}.btn-toggle-filtros.active{background-color:var(--primary);color:var(--color-primary-500);border-color:var(--color-primary-600)}.btn-toggle-filtros.has-filters{border-color:var(--primary);background-color:var(--primary-light)}.btn-toggle-filtros.has-filters.active{background-color:var(--primary);color:var(--color-primary-500)}.filtros-badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .35rem;background-color:#fff;color:var(--primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:700}.btn-toggle-filtros.active .filtros-badge{background-color:#ffffffe6;color:var(--primary)}.documentos-filtros{background-color:var(--bg-secondary);padding:1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid var(--border-color);animation:slideDown .3s ease-out}.filtros-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.filtros-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);font-size:.95rem}.icon-xs{width:16px;height:16px}.btn-limpiar-filtros{display:flex;align-items:center;gap:.35rem;padding:.4rem .8rem;background-color:transparent;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-limpiar-filtros:hover{background-color:var(--primary);color:orange}.filtro-grupo{margin-bottom:1.25rem}.filtro-grupo:last-child{margin-bottom:0}.filtro-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem;margin-bottom:.75rem}.filtro-input{width:100%;padding:.6rem .9rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);background-color:var(--bg-primary);transition:all .2s}.filtro-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 59, 130, 246),.1)}.filtro-input::-moz-placeholder{color:var(--text-secondary);opacity:.7}.filtro-input::placeholder{color:var(--text-secondary);opacity:.7}.filtro-fechas{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fecha-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.fecha-sublabel{font-size:.8rem;color:var(--text-secondary);font-weight:500}.fecha-input{padding:.5rem .75rem}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.tag-filter{display:flex;align-items:center;gap:.35rem;padding:.4rem .8rem;background-color:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;font-size:.85rem;transition:all .2s}.tag-filter:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.tag-filter.active{background-color:var(--primary);color:var(--color-primary-500);border-color:var(--color-primary-600)}.tag-check{width:14px;height:14px}.documentos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.documento-card{display:flex;gap:1rem;padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s;position:relative;border:2px solid var(--border-light)}.documento-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.documento-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;min-width:60px;height:70px;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);border-radius:var(--radius-md);color:var(--text-secondary);position:relative}.formato-icon{width:32px;height:32px;margin-bottom:.25rem}.documento-formato{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.documento-info{flex:1;min-width:0}.documento-nombre{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.documento-descripcion{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.documento-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.8rem;color:var(--text-secondary)}.documento-fecha{display:flex;align-items:center;gap:.35rem}.documento-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.documento-tag{padding:.2rem .5rem;background-color:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:.7rem;font-weight:500}.documento-descargar{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;opacity:0}.documento-card:hover .documento-descargar{opacity:1}.documento-descargar:hover{background-color:var(--primary-dark);transform:scale(1.1)}.documento-descargar svg{width:18px;height:18px}.documentos-vacio{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.icon-lg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.documentos-vacio p{font-size:.95rem;line-height:1.6}@media(max-width:768px){.documentos-grid{grid-template-columns:1fr}.documentos-header{flex-direction:column;align-items:stretch}.btn-toggle-filtros{justify-content:center}.filtros-header{flex-direction:column;align-items:flex-start;gap:.75rem}.filtro-fechas{grid-template-columns:1fr}.documento-card{flex-direction:column}.documento-icon{width:100%;height:60px;flex-direction:row;justify-content:flex-start;padding-left:1rem;gap:.75rem}.documento-formato{font-size:.75rem}.documento-descargar{opacity:1}}.estudiante-detail{height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow:hidden}.estudiante-detail-loading,.estudiante-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.estudiante-detail-error h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.estudiante-detail-error p{color:var(--text-secondary);margin-bottom:1.5rem}.estudiante-detail-header{position:relative;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-bottom:1px solid var(--border-light);padding:2rem;color:#fff}.detail-close-btn{position:absolute;top:1rem;right:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#ffffff1a;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all .2s;z-index:10}.estudiante-detail-profile{display:flex;gap:1.5rem;align-items:center}.estudiante-detail-avatar{width:96px;height:96px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:4px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0003}.estudiante-detail-info{flex:1}.estudiante-detail-name{font-size:1.75rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary)}.estudiante-detail-rut{color:var(--text-primary);font-size:.9rem;margin-bottom:.5rem}.estudiante-detail-curso{display:flex;align-items:center;gap:.5rem;color:var(--color-primary-600);font-size:.95rem;margin-bottom:1rem;background:none;border:none;padding:.5rem .75rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.estudiante-detail-curso:hover{background-color:#ffffff26;transform:translate(4px)}.estudiante-detail-curso .icon-sm{transition:transform .2s}.estudiante-detail-curso:hover .icon-sm{transform:scale(1.1)}.estudiante-detail-badges{display:flex;gap:.5rem;flex-wrap:wrap}.estudiante-detail-badges .badge{background-color:#fff3;border:1px solid rgba(255,255,255,.3)}.estudiante-detail-content{flex:1;overflow-y:auto;padding:1.5rem}@media(max-width:768px){.estudiante-detail-header{padding:1.5rem}.estudiante-detail-profile{flex-direction:column;text-align:center}.estudiante-detail-avatar{width:80px;height:80px}.estudiante-detail-name{font-size:1.5rem}.estudiante-detail-curso,.estudiante-detail-badges{justify-content:center}.estudiante-detail-content,.detail-section{padding:1rem}.detail-info-grid{grid-template-columns:1fr}}.profesor-detail{height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow:hidden}.profesor-detail-loading,.profesor-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.profesor-detail-error h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.profesor-detail-error p{color:var(--text-secondary);margin-bottom:1.5rem}.btn-error-close{padding:.5rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.profesor-detail-header{position:relative;background:linear-gradient(135deg,#2563eb,#1e40af);border-bottom:1px solid var(--border-light);padding:2rem;color:#fff}.profesor-detail-profile{display:flex;gap:1.5rem;align-items:center}.profesor-detail-avatar-container{display:flex;align-items:center;justify-content:center}.profesor-detail-avatar{width:96px;height:96px;border-radius:50%;background:#fff3;border:4px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center;color:#fff}.profesor-detail-avatar svg{width:56px;height:56px}.profesor-detail-info{flex:1}.profesor-detail-name{font-size:1.75rem;font-weight:700;margin:0 0 .25rem;color:#fff}.profesor-detail-rut{color:#ffffffe6;font-size:.9rem;margin-bottom:.25rem}.profesor-detail-titulo{color:#fffffff2;font-size:1rem;margin-bottom:.75rem;font-weight:500}.profesor-detail-curso-jefe{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.95rem;margin-bottom:1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);padding:.5rem .75rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.profesor-detail-curso-jefe:hover{background-color:#ffffff40;transform:translate(4px)}.profesor-detail-curso-jefe .icon-sm{width:18px;height:18px;transition:transform .2s}.profesor-detail-curso-jefe:hover .icon-sm{transform:scale(1.1)}.profesor-detail-badges{display:flex;gap:.5rem;flex-wrap:wrap}.profesor-detail-badges .badge{background-color:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.badge-icon{width:16px;height:16px}.badge.carga-laboral.baja{background-color:#22c55e33;border-color:#22c55e66}.badge.carga-laboral.media{background-color:#fbbf2433;border-color:#fbbf2466}.badge.carga-laboral.alta{background-color:#ef444433;border-color:#ef444466}.profesor-detail-content{flex:1;overflow-y:auto;padding:1.5rem}.detail-section-title svg{width:20px;height:20px;color:var(--primary)}.info-item-full{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.info-value.carga-baja{color:#22c55e}.info-value.carga-media{color:#f59e0b}.info-value.carga-alta{color:#ef4444}.especialidades-list{display:flex;flex-wrap:wrap;gap:.5rem}.especialidad-badge{padding:.375rem .75rem;background-color:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.cursos-list{display:flex;flex-direction:column;gap:.5rem}.curso-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.curso-item:hover{background-color:var(--primary-light);border-color:var(--primary);transform:translate(4px)}.curso-item.jefe{background-color:#2563eb0d;border-color:var(--primary)}.curso-item.jefe:hover{background-color:#2563eb1a}.curso-item-info{display:flex;align-items:center;gap:.75rem;flex:1}.curso-nombre{font-weight:600;color:var(--text-primary)}.curso-jefe-badge{padding:.25rem .5rem;background-color:var(--primary);color:var(--color-primary-500);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.curso-item svg{width:18px;height:18px;color:var(--text-secondary);transition:transform .2s}.curso-item:hover svg{color:var(--primary);transform:translate(4px)}.observaciones-text{color:var(--text-primary);line-height:1.6;white-space:pre-wrap}@media(max-width:768px){.profesor-detail-header{padding:1.5rem}.profesor-detail-profile{flex-direction:column;text-align:center}.profesor-detail-avatar{width:80px;height:80px}.profesor-detail-avatar svg{width:48px;height:48px}.profesor-detail-name{font-size:1.5rem}.profesor-detail-curso-jefe,.profesor-detail-badges{justify-content:center}.profesor-detail-content,.detail-section{padding:1rem}.detail-info-grid{grid-template-columns:1fr}}.curso-detail{height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow:hidden}.curso-detail-loading,.curso-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.error-icon{width:64px;height:64px;color:var(--error);margin-bottom:1rem}.error-icon svg{width:100%;height:100%}.curso-detail-error h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.curso-detail-error p{color:var(--text-secondary);margin-bottom:1.5rem}.btn-error-close{padding:.5rem 1.5rem;background-color:var(--primary);color:var(--text-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.btn-error-close:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.curso-detail-header{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;color:#fff}.detail-close-btn{position:absolute;top:1rem;right:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#ffffff1a;border:none;border-radius:var(--radius-md);cursor:pointer;color:#fff;transition:all .2s;z-index:10}.detail-close-btn:hover{background-color:#fff3;transform:scale(1.05)}.detail-close-btn svg{width:20px;height:20px}.curso-detail-profile{display:flex;gap:1.5rem;align-items:center;margin-bottom:1.5rem}.curso-detail-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:#ffffff26;border-radius:var(--radius-lg);border:3px solid rgba(255,255,255,.3)}.curso-detail-icon svg{width:48px;height:48px;color:#fff}.curso-detail-info{flex:1}.curso-detail-name{font-size:1.875rem;font-weight:700;margin:0 0 .25rem;color:#fff}.curso-detail-year{color:#ffffffe6;font-size:.9rem;margin-bottom:.5rem}.curso-detail-profesor{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.95rem;margin-bottom:1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);padding:.5rem .75rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.curso-detail-profesor:hover{background-color:#ffffff40;transform:translate(4px)}.curso-detail-profesor .icon-sm{width:18px;height:18px;transition:transform .2s}.curso-detail-profesor:hover .icon-sm{transform:scale(1.1)}.curso-detail-badges{display:flex;gap:.5rem;flex-wrap:wrap}.curso-detail-badges .badge{background-color:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff}.curso-detail-ocupacion{background-color:#ffffff1a;border-radius:var(--radius-md);padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ocupacion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ocupacion-label{font-size:.875rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em}.ocupacion-stats{font-size:.875rem;color:#fffffff2;font-weight:500}.ocupacion-bar{height:8px;background-color:#fff3;border-radius:999px;overflow:hidden;position:relative}.ocupacion-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.ocupacion-fill.success{background:linear-gradient(90deg,#10b981,#059669)}.ocupacion-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.ocupacion-fill.error{background:linear-gradient(90deg,#ef4444,#dc2626)}.ocupacion-fill.info{background:linear-gradient(90deg,#3b82f6,#2563eb)}.curso-detail-content{flex:1;overflow-y:auto;padding:1.5rem}.detail-section{background-color:#fff;border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.detail-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.detail-section-title svg{width:20px;height:20px;color:#667eea}.detail-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.info-value{font-size:1rem;color:var(--text-primary);font-weight:600}.curso-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:2rem;padding:1.25rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.stat-icon svg{width:28px;height:28px;stroke-width:2}.stat-icon.students{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.subjects{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-icon.capacity{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.detail-placeholder{color:var(--text-secondary);font-style:italic;line-height:1.6}@media(max-width:768px){.curso-detail-header{padding:1.5rem}.curso-detail-profile{flex-direction:column;text-align:center}.curso-detail-icon{width:64px;height:64px}.curso-detail-icon svg{width:36px;height:36px}.curso-detail-name{font-size:1.5rem}.curso-detail-profesor,.curso-detail-badges{justify-content:center}.curso-detail-content,.detail-section{padding:1rem}.detail-info-grid,.curso-stats-grid{grid-template-columns:1fr}.ocupacion-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.detail-panel{position:sticky;top:0;right:0;width:30%;height:100vh;z-index:10000;background-color:var(--bg-primary);animation:slideInRight .3s ease-out;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;border-left:1px solid var(--border-light)}.detail-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:col-resize;display:flex;align-items:center;justify-content:center;z-index:10;transition:background-color .2s}.detail-resize-handle:hover{background-color:var(--color-primary-100)}.detail-resize-handle:active{background-color:#0000001a}.detail-resize-indicator{width:2px;height:40px;background-color:var(--color-primary-600);border-radius:2px;transition:background-color .2s,height .2s}.detail-resize-handle:hover .detail-resize-indicator{background-color:var(--primary);height:60px}.detail-overlay{display:none}.detail-container{height:100%;display:flex;flex-direction:column;overflow:hidden}.detail-placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;background-color:var(--bg-primary)}.detail-placeholder-content h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.detail-placeholder-content p{color:var(--text-secondary);margin-bottom:1.5rem}.btn-close-placeholder{padding:.5rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.btn-close-placeholder:hover{background-color:var(--primary-dark);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:768px){.detail-panel{position:fixed;inset:0;width:100%!important;height:100vh;z-index:10000;animation:slideInUp .3s ease-out;border-left:none}.detail-resize-handle{display:none}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media(min-width:769px)and (max-width:1024px){.detail-panel{width:60%}}@media(min-width:1400px){.detail-panel{width:40%}}.toast{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:300px;max-width:500px;z-index:10000;animation:slideInRight .3s ease-out;border-left:4px solid}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{width:1.5rem;height:1.5rem;flex-shrink:0}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.4}.toast-close{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast) ease;color:var(--text-tertiary);flex-shrink:0}.toast-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.toast-close svg{width:1rem;height:1rem}.toast-success{border-left-color:var(--color-success-500)}.toast-success .toast-icon{color:var(--color-success-500)}.toast-error{border-left-color:var(--color-error-500)}.toast-error .toast-icon{color:var(--color-error-500)}.toast-warning{border-left-color:var(--color-warning-500)}.toast-warning .toast-icon{color:var(--color-warning-500)}.toast-info{border-left-color:var(--color-info-500)}.toast-info .toast-icon{color:var(--color-info-500)}@media(max-width:768px){.toast{bottom:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);min-width:auto;max-width:none}}.estudiantes-controls{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);top:93px;position:sticky;z-index:100;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);align-items:center;flex-wrap:wrap}.search-container-estudiantes{flex:1;position:relative;min-width:280px}.search-icon-estudiantes{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 3rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.search-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.search-input::-moz-placeholder{color:var(--text-tertiary)}.search-input::placeholder{color:var(--text-tertiary)}.filters-row{display:flex;gap:var(--spacing-md);align-items:center;width:100%}.filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);white-space:nowrap}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);min-width:150px}.filter-select:hover{border-color:var(--color-primary-500)}.estudiantes-section{margin-bottom:var(--spacing-2xl)}.estudiantes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.estudiantes-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.estudiante-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-light);transition:all var(--transition-base);cursor:pointer;animation:fadeInUp var(--transition-slow) ease-out}.estudiante-card:hover{border-color:var(--color-primary-400);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.estudiante-card.active{border:2px solid var(--color-primary-600);box-shadow:0 4px 12px #2563eb33}.estudiante-header{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.estudiante-avatar{width:3.5rem;height:3.5rem;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;border:2px solid var(--color-primary-200);flex-shrink:0}.estudiante-title{flex:1;min-width:0}.estudiante-nombre{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;color:var(--text-primary);font-family:var(--font-family-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estudiante-curso{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-xs)}.estudiante-info{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.estudiante-badges{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.badge.activo{background:var(--color-success-100);color:var(--color-success-700)}.badge.inactivo{background:var(--color-warning-100);color:var(--color-warning-700)}.badge.retirado{background:var(--color-error-100);color:var(--color-error-700)}.badge.graduado{background:var(--color-info-100);color:var(--color-info-700)}.badge.pie{background:var(--color-purple-100);color:var(--color-purple-700)}.badge-icon{width:.875rem;height:.875rem}.estudiantes-list .estudiante-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--spacing-lg);align-items:center;padding:var(--spacing-md) var(--spacing-lg)}.estudiantes-list .estudiante-header{border-bottom:none;padding-bottom:0;margin-bottom:0}.estudiantes-list .estudiante-info{flex:1}.pagination-info{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);padding:0 var(--spacing-md)}.pagination-info strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.pagination-page{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.pagination-page:hover{background:var(--color-primary-100);border-color:var(--color-primary-300)}.pagination-page.active{background:var(--color-primary-500);border-color:var(--color-primary-600);color:var(--text-inverse);box-shadow:var(--shadow-md)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--text-tertiary);font-weight:var(--font-weight-bold)}@media(max-width:768px){.estudiantes-controls,.filters-row{flex-direction:column;align-items:stretch}.filter-select{width:100%}.estudiantes-grid{grid-template-columns:1fr}.estudiantes-list .estudiante-card{grid-template-columns:1fr;gap:var(--spacing-md)}.pagination-pages{flex-wrap:wrap}}.profesores-controls{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);top:93px;position:sticky;z-index:100;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);align-items:center;flex-wrap:wrap}.search-container-profesores{flex:1;position:relative;min-width:280px}.search-icon-profesores{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-secondary);pointer-events:none}.search-input-profesores{width:100%;padding:.75rem 3rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all .2s;background-color:#fff}.search-input-profesores:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.clear-search-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;background:none;border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{color:var(--error);transform:translateY(-50%) scale(1.1)}.clear-search-btn svg{width:100%;height:100%}.search-spinner{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.search-spinner .spinner-icon{width:20px;height:20px;animation:spin 1s linear infinite;color:var(--primary)}.filters-row{display:flex;gap:1rem;align-items:center;justify-content:space-between}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.filter-select{padding:.5rem 2rem .5rem .75rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background-color:#fff;cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.25rem}.filter-select:hover{border-color:var(--primary-light)}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.view-controls{display:flex;gap:.5rem;margin-left:auto}.view-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);background-color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;color:var(--text-secondary)}.view-btn svg{width:18px;height:18px}.view-btn:hover{border-color:var(--primary-light);background-color:var(--primary-light);color:var(--primary)}.results-info{margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.searching-badge{padding:.25rem .5rem;background-color:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.profesores-section{margin-bottom:2rem}.profesores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.profesores-list{display:flex;flex-direction:column;gap:.75rem}.profesores-list .profesor-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-light);transition:all var(--transition-base);cursor:pointer;animation:fadeInUp var(--transition-slow) ease-out}.profesor-card:hover{border-color:var(--color-primary-400);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.profesor-card.active{border:2px solid var(--color-primary-600);box-shadow:0 4px 12px #2563eb33}.profesores-list .profesor-card-avatar{width:48px;height:48px;flex-shrink:0}.profesores-list .profesor-card-info{flex:1;display:flex;flex-direction:row;align-items:center;gap:1rem;flex-wrap:wrap}.profesores-list .profesor-card-name{font-size:1rem;margin:0;flex:1;min-width:200px}.profesores-list .profesor-card-titulo{font-size:.875rem;margin:0;flex:1;min-width:150px}.profesores-list .profesor-card-rut{margin:0;min-width:120px}.profesores-list .profesor-card-stats{flex-direction:row;gap:1rem}.profesores-list .profesor-card-badges{justify-content:flex-start}.profesor-card{background-color:#fff;border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.profesor-card.active{border-color:var(--primary);background-color:var(--primary-light);box-shadow:var(--shadow-md)}.profesor-card-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1e40af);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.profesor-card-avatar svg{width:36px;height:36px}.profesor-card-info{display:flex;flex-direction:column;gap:.5rem}.profesor-card-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.profesor-card-titulo{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.profesor-card-rut{font-size:.875rem;color:var(--text-secondary);margin:0;font-family:Courier New,monospace}.profesor-card-stats{display:flex;gap:1rem;margin-top:.25rem}.stat-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-secondary)}.stat-icon{width:16px;height:16px;color:var(--primary)}.profesor-card-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;transition:all .2s}.badge-icon{width:14px;height:14px}.badge.activo{background-color:#22c55e1a;color:#16a34a}.badge.inactivo{background-color:#9ca3af1a;color:#6b7280}.badge.licencia{background-color:#fbbf241a;color:#d97706}.badge.vacaciones{background-color:#3b82f61a;color:#2563eb}.badge.jefe{background-color:#8b5cf61a;color:#7c3aed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{width:64px;height:64px;color:var(--text-secondary);opacity:.5;margin-bottom:1rem}.empty-state h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);font-size:1rem;margin:0;max-width:400px}.pagination-container{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid var(--border-color);background-color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-primary)}.pagination-btn svg{width:16px;height:16px}.pagination-btn:not(:disabled):hover{border-color:var(--primary);background-color:var(--primary-light);color:var(--primary-dark)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;gap:.5rem}.pagination-page{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);background-color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-primary)}.pagination-page:hover{border-color:var(--primary);background-color:var(--primary-light);color:var(--primary-dark)}.pagination-page.active{border-color:var(--primary);background-color:var(--primary);color:#fff}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-secondary);font-size:.875rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pagination-info{font-size:.875rem;color:var(--text-secondary);text-align:center;width:100%}@media(max-width:1024px){.profesores-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:768px){.filters-row{flex-direction:column;align-items:stretch}.view-controls{margin-left:0;justify-content:center}.profesores-grid{grid-template-columns:1fr}.profesores-list .profesor-card{flex-direction:column;align-items:flex-start}.profesores-list .profesor-card-info{flex-direction:column;align-items:stretch}.profesores-list .profesor-card-name,.profesores-list .profesor-card-titulo,.profesores-list .profesor-card-rut{min-width:unset}.pagination-container{flex-wrap:wrap}.pagination-btn{font-size:.75rem;padding:.375rem .75rem}.pagination-pages{order:-1;width:100%;justify-content:center}}.cursos-controls{top:100px;position:sticky;z-index:100;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);align-items:center;flex-wrap:wrap}.search-container-cursos{flex:1;position:relative;min-width:280px}.search-icon-cursos{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:var(--text-tertiary);pointer-events:none}.search-input-cursos{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 3rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.search-input-cursos:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.search-input-cursos::-moz-placeholder{color:var(--text-tertiary)}.search-input-cursos::placeholder{color:var(--text-tertiary)}.search-input-cursos:disabled{opacity:.7;cursor:wait}.search-spinner{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.spinner-icon{width:1.25rem;height:1.25rem;color:var(--color-primary-500);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.clear-search-btn{position:absolute;right:40px;top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-tertiary);transition:var(--transition-base);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.view-controls{display:flex;gap:var(--spacing-md);align-items:center;background:var(--bg-primary);padding:var(--spacing-xs);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.year-selector{display:flex;align-items:center;gap:var(--spacing-sm);padding-right:var(--spacing-md);border-right:1px solid var(--border-light)}.year-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);white-space:nowrap}.year-label .icon-xs{width:1rem;height:1rem}.year-select{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);min-width:80px}.year-select:hover{border-color:var(--color-primary-500)}.year-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.view-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary)}.view-btn svg{width:1.25rem;height:1.25rem}.view-btn:hover{background:var(--bg-secondary);color:var(--color-primary-600)}.view-btn.active{background:var(--color-primary-500);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.results-info{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-md)}.searching-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-info-100);color:var(--color-info-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.context-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.courses-count{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.niveles-section{margin-bottom:var(--spacing-2xl)}.niveles-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.nivel-card{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-base);border:1px solid var(--border-light)}.nivel-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-200)}.nivel-card.expanded{box-shadow:var(--shadow-xl);height:-moz-fit-content;height:fit-content}.nivel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-700) 50%,var(--color-secondary-500) 100%);color:var(--text-inverse);cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;-moz-user-select:none;user-select:none}.nivel-header:hover{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 50%,var(--color-secondary-600) 100%)}.nivel-header:active{transform:scale(.99)}.nivel-info{flex:1}.nivel-title-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.nivel-icon{width:1.75rem;height:1.75rem;flex-shrink:0}.nivel-nombre{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0;font-family:var(--font-family-heading)}.nivel-codigo{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:#fff3;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nivel-descripcion{margin:var(--spacing-sm) 0 0 0;font-size:var(--font-size-sm);opacity:.95;line-height:1.5}.nivel-stats{display:flex;align-items:center;gap:var(--spacing-lg)}.stat-badge{padding:var(--spacing-sm) var(--spacing-lg);background:#fff3;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expand-icon{width:1.5rem;height:1.5rem;transition:transform var(--transition-base)}.expand-icon.expanded{transform:rotate(180deg)}.cursos-container{padding:var(--spacing-xl);background:var(--bg-secondary);animation:slideDown var(--transition-slow) ease-out;max-height:800px;overflow-y:auto;overflow-x:hidden}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:2000px;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}}.empty-cursos{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl)}.empty-cursos p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:var(--font-size-base)}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.cursos-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.cursos-list .curso-card{display:grid;grid-template-columns:2fr 3fr auto;gap:var(--spacing-lg);align-items:center}.cursos-list .curso-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.curso-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-light);transition:all var(--transition-base);animation:fadeInUp var(--transition-slow) ease-out;cursor:pointer;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.curso-card:hover{border-color:var(--color-primary-400);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.curso-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.curso-nombre{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary);font-family:var(--font-family-heading)}.curso-status{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-icon{width:.875rem;height:.875rem}.curso-status.activo{background:var(--color-success-100);color:var(--color-success-700)}.curso-status.inactivo{background:var(--color-error-100);color:var(--color-error-700)}.curso-info{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.info-item{display:flex;flex-direction:row;justify-content:space-between;align-items:start;font-size:var(--font-size-sm);padding:var(--spacing-xs) 0}.info-item.clickeable{cursor:pointer;padding:var(--spacing-sm);margin:0 calc(var(--spacing-sm) * -1);border-radius:var(--radius-md);transition:all var(--transition-base)}.info-item.clickeable:hover{background:var(--color-primary-50);transform:translate(2px)}.info-item.clickeable:active{transform:scale(.98)}.info-item.clickeable .value{display:flex;align-items:center;color:var(--color-primary-600)}.info-item .label{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.icon-xs{width:1rem;height:1rem;flex-shrink:0}.icon-sm{width:1.25rem;height:1.25rem;flex-shrink:0}.info-item .value{font-weight:var(--font-weight-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;text-align:right}.curso-actions{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.btn-icon{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.btn-icon svg{width:1.25rem;height:1.25rem;color:var(--text-secondary);transition:color var(--transition-base)}.btn-icon:hover{background:var(--color-primary-500);border-color:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-icon:hover svg{color:var(--text-inverse)}.btn-icon:active{transform:translateY(0)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);background:var(--bg-primary);border-radius:var(--radius-xl);border:2px dashed var(--border-medium)}.empty-icon{margin:0 auto var(--spacing-lg);width:4rem;height:4rem;color:var(--text-tertiary);opacity:.5}.empty-icon svg{width:100%;height:100%}.empty-state h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.empty-state p{font-size:var(--font-size-base);color:var(--text-secondary);max-width:500px;margin:0 auto;line-height:1.6}.pagination-container{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-light)}.pagination-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.pagination-btn svg{width:1rem;height:1rem}.pagination-btn:hover:not(:disabled){background:var(--color-primary-500);border-color:var(--color-primary-600);color:var(--text-inverse);box-shadow:var(--shadow-md)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{display:flex;gap:var(--spacing-xs)}.pagination-page{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.pagination-page:hover{background:var(--bg-secondary);border-color:var(--color-primary-300);color:var(--color-primary-600)}.pagination-page.active{background:var(--color-primary-500);border-color:var(--color-primary-600);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--text-tertiary);font-weight:var(--font-weight-semibold)}@media(max-width:1024px){.cursos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media(max-width:768px){.cursos-controls{flex-direction:column;align-items:stretch}.search-container-cursos{min-width:100%}.view-controls{justify-content:center}.cursos-grid,.cursos-list{grid-template-columns:1fr}.cursos-list .curso-card{grid-template-columns:1fr;gap:var(--spacing-md)}.cursos-list .curso-info{grid-template-columns:1fr}.nivel-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.nivel-stats{width:100%;justify-content:center}.pagination-container{flex-wrap:wrap}.pagination-pages{order:3;width:100%;justify-content:center;margin-top:var(--spacing-sm)}.curso-actions{flex-wrap:wrap}.btn-icon{min-width:calc(33.333% - var(--spacing-sm))}}@media(max-width:480px){.cursos-grid{grid-template-columns:1fr}.nivel-header,.cursos-container{padding:var(--spacing-md)}.pagination-page{width:2rem;height:2rem;font-size:var(--font-size-xs)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}}@media(prefers-reduced-motion:no-preference){.nivel-card,.curso-card,.btn-icon,.pagination-btn,.view-btn{transition:all var(--transition-base) cubic-bezier(.4,0,.2,1)}}.load-more-container{display:flex;justify-content:center;padding:var(--spacing-xl) 0 var(--spacing-md) 0;margin-top:var(--spacing-md);animation:fadeInUp .3s ease-out}.load-more-container .btn{gap:var(--spacing-sm)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nivel-actions{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}.btn-icon-nivel{width:2rem;height:2rem;border:none;background:#ffffff26;color:var(--text-inverse);cursor:pointer;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-icon-nivel:hover{background:#ffffff40;transform:scale(1.05)}.btn-icon-nivel:active{transform:scale(.95)}.btn-icon-nivel svg{width:1.25rem;height:1.25rem}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:200px;z-index:1000;overflow:hidden;animation:fadeInDown .2s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm);text-align:left}.dropdown-item:hover{background:var(--bg-hover);color:var(--color-primary-600)}.dropdown-item:active{background:var(--bg-active)}.dropdown-item svg{flex-shrink:0}.asistencia-tab-content{padding:var(--spacing-lg)}.asistencia-controls{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:93px;z-index:100;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--bg-primary) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-light);align-items:center;flex-wrap:wrap}.filters-row{display:flex;gap:var(--spacing-md);align-items:center;width:100%;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-secondary);white-space:nowrap}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);min-width:160px;box-shadow:var(--shadow-sm)}.filter-select:hover{border-color:var(--color-primary-500);transform:translateY(-1px);box-shadow:var(--shadow-md)}.filter-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.clear-filters-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-500);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);margin-left:auto;box-shadow:var(--shadow-sm)}.clear-filters-btn:hover{background:var(--color-error-600);transform:translateY(-2px);box-shadow:var(--shadow-md)}.clear-filters-btn svg{width:1rem;height:1rem;stroke-width:2}.asistencia-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-3xl) var(--spacing-xl);min-height:400px;background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--bg-primary) 100%);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl)}.asistencia-loading-text{margin-top:var(--spacing-lg);font-size:var(--font-size-lg);color:var(--text-secondary);font-weight:var(--font-weight-medium);animation:pulseText 2s ease-in-out infinite}@keyframes pulseText{0%,to{opacity:1}50%{opacity:.6}}.asistencia-resumen-card{margin-bottom:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);overflow:hidden;transition:transform var(--transition-base) ease,box-shadow var(--transition-base) ease}.asistencia-resumen-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.asistencia-resumen-header{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-700) 100%);color:var(--text-inverse);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:3px solid var(--color-primary-800)}.asistencia-resumen-header h5{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);display:flex;align-items:center;gap:var(--spacing-sm)}.asistencia-resumen-body{padding:var(--spacing-xl);background:linear-gradient(to bottom,var(--bg-primary),var(--color-gray-50))}.asistencia-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg);text-align:center}.asistencia-stat-box{padding:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-lg);transition:all var(--transition-base) ease;box-shadow:var(--shadow-sm);border:2px solid transparent;position:relative;overflow:hidden}.asistencia-stat-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary-400),var(--color-primary-600));opacity:0;transition:opacity var(--transition-base) ease}.asistencia-stat-box:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg);border-color:var(--color-primary-200)}.asistencia-stat-box:hover:before{opacity:1}.asistencia-stat-value{font-size:2.5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);line-height:1;font-family:var(--font-family-heading);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.asistencia-stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-semibold)}.asistencia-stat-box.success .asistencia-stat-value{color:var(--color-success-600)}.asistencia-stat-box.danger .asistencia-stat-value{color:var(--color-error-600)}.asistencia-stat-box.warning .asistencia-stat-value{color:var(--color-warning-600)}.asistencia-stat-box.info .asistencia-stat-value{color:var(--color-info-600)}.asistencia-stat-box.primary .asistencia-stat-value{color:var(--color-primary-700)}.asistencia-alertas-card{margin-bottom:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:2px solid var(--color-warning-200);overflow:hidden}.asistencia-alertas-header{background:linear-gradient(135deg,var(--color-warning-500) 0%,var(--color-warning-600) 100%);color:var(--color-gray-900);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:3px solid var(--color-warning-700)}.asistencia-alertas-header h5{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);display:flex;align-items:center;gap:var(--spacing-sm)}.asistencia-alertas-body{padding:var(--spacing-xl);background:var(--color-warning-50)}.asistencia-alertas-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.asistencia-alertas-table thead{background:linear-gradient(135deg,var(--color-gray-100) 0%,var(--color-gray-200) 100%)}.asistencia-alertas-table th{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);border-bottom:2px solid var(--color-gray-300)}.asistencia-alertas-table td{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--text-primary);border-bottom:1px solid var(--color-gray-200)}.asistencia-alertas-table tbody tr{transition:all var(--transition-base) ease}.asistencia-alertas-table tbody tr:hover{background:var(--color-warning-50);transform:scale(1.01);box-shadow:inset 0 0 0 2px var(--color-warning-200)}.asistencia-alertas-table tbody tr:last-child td{border-bottom:none}.asistencia-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.3px}.asistencia-badge.warning{background:linear-gradient(135deg,var(--color-warning-400) 0%,var(--color-warning-500) 100%);color:var(--color-gray-900)}.asistencia-badge.danger{background:linear-gradient(135deg,var(--color-error-500) 0%,var(--color-error-600) 100%);color:var(--text-inverse)}.asistencia-action-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-md);border:2px solid var(--color-primary-600);background:transparent;color:var(--color-primary-600);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base) ease}.asistencia-action-btn:hover{background:var(--color-primary-600);color:var(--text-inverse);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.asistencia-no-data{padding:var(--spacing-xl);background:linear-gradient(135deg,var(--color-info-50) 0%,var(--color-info-100) 100%);border:2px solid var(--color-info-300);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm)}.asistencia-no-data p{margin:0;font-size:var(--font-size-lg);color:var(--color-info-800);font-weight:var(--font-weight-medium)}@media(max-width:768px){.asistencia-controls{top:80px}.filters-row{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column;align-items:stretch;gap:var(--spacing-xs)}.filter-select{min-width:100%}.clear-filters-btn{margin-left:0;justify-content:center}.asistencia-stats-grid{grid-template-columns:repeat(2,1fr)}.asistencia-stat-value{font-size:2rem}.asistencia-resumen-header h5,.asistencia-alertas-header h5{font-size:var(--font-size-lg)}.asistencia-alertas-table{font-size:var(--font-size-sm)}.asistencia-alertas-table th,.asistencia-alertas-table td{padding:var(--spacing-sm) var(--spacing-md)}}@media(max-width:480px){.asistencia-stats-grid{grid-template-columns:1fr}.filter-label{font-size:var(--font-size-xs)}}.establecimiento-panel{width:100%;min-height:100vh;background-color:var(--bg-secondary)}.establecimiento-panel.loading,.establecimiento-panel.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:var(--spacing-xl)}.establecimiento-panel.loading .loading-text{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0;animation:fadeInOut 2s ease-in-out infinite}.establecimiento-panel.error.access-denied{padding:var(--spacing-3xl)}.error-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.8}.establecimiento-panel.error h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.establecimiento-panel.error p{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;max-width:500px}.ee-header{border-radius:var(--radius-xl);padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl);color:var(--text-primary);position:relative;overflow:hidden;box-shadow:var(--shadow-xl)}.btn-back{background:#fff3;color:var(--text-primary);border:2px solid rgba(255,255,255,.3);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-base) ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-back:hover{background:#ffffff4d;border-color:#ffffff80;transform:translate(-2px)}.ee-header-content{display:flex;align-items:flex-start;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.ee-icon{font-size:4rem;line-height:1}.ee-info{flex:1}.ee-name{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md) 0;font-family:var(--font-family-heading);letter-spacing:-.02em}.ee-meta{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.ee-rbd,.ee-tipo{background:#fff3;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.ee-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ee-status.activo{background:var(--color-brand-green);color:#fff}.ee-status.inactivo{background:#ffffff4d;color:#fff}.ee-location{font-size:var(--font-size-md);opacity:.95}.ee-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xs);overflow-x:auto;box-shadow:var(--shadow-md)}.ee-tabs-mobile{display:none;position:relative;margin-bottom:var(--spacing-xl)}.tabs-dropdown-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.tabs-dropdown-button:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-md)}.dropdown-icon{transition:transform var(--transition-base)}.dropdown-icon.open{transform:rotate(180deg)}.tabs-dropdown-menu{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:100;max-height:400px;overflow-y:auto;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tabs-dropdown-item{width:100%;display:block;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;text-align:left;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);border-bottom:1px solid var(--border-light)}.tabs-dropdown-item:last-child{border-bottom:none}.tabs-dropdown-item:hover{background:var(--color-primary-50);color:var(--color-primary-600)}.tabs-dropdown-item.active{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:var(--text-inverse);font-weight:var(--font-weight-semibold)}.tab{background:transparent;border:none;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base) ease;position:relative;border-radius:var(--radius-md);white-space:nowrap}.tab:hover{color:var(--color-primary-600);background:var(--color-primary-50)}.tab.active{color:var(--text-inverse);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.ee-content{min-height:400px}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);transition:all var(--transition-base) ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-primary-500),var(--color-secondary-500));opacity:0;transition:opacity var(--transition-base) ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-200)}.stat-card:hover:before{opacity:1}.stat-icon{font-size:2.5rem;line-height:1}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-brand-primary);margin:0}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.info-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base) ease}.info-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-200)}.info-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-family:var(--font-family-heading);margin:0 0 var(--spacing-lg) 0;color:var(--color-primary-700);display:flex;align-items:center;gap:var(--spacing-sm)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.info-row:last-child{border-bottom:none}.info-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.info-value{color:var(--color-text-primary);font-size:var(--font-size-sm)}.niveles-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.nivel-badge{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:var(--text-inverse);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm);transition:all var(--transition-base) ease}.nivel-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary)}.empty-state p{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}@media(max-width:768px){.establecimiento-panel{padding:var(--spacing-md)}.ee-header{padding:var(--spacing-lg)}.ee-header-content{flex-direction:column;text-align:center}.ee-icon{font-size:3rem}.ee-name{font-size:var(--font-size-2xl)}.ee-meta{justify-content:center}.stats-grid,.info-cards{grid-template-columns:1fr}.ee-tabs.ee-tabs-desktop{display:none}.ee-tabs-mobile{display:block}}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-light)}.content-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);color:var(--text-primary);margin:0}.content-header .actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filters-section{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-xl)}.card-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-md) 0;line-height:1.6}.feature-list{list-style:none;padding:0;margin:0 0 var(--spacing-lg) 0}.feature-list li{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-xs) 0;display:flex;align-items:center;gap:var(--spacing-sm);line-height:1.6}.feature-list li:before{content:"";display:inline-block;width:4px;height:4px;background:var(--color-primary-500);border-radius:50%;flex-shrink:0}.info-card .btn{width:100%;margin-top:auto}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tab-content{animation:slideInUp .4s ease-out}.info-card h3{position:relative;padding-left:0}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.badge-success{background:var(--color-success-100);color:var(--color-success-700)}.badge-warning{background:var(--color-warning-100);color:var(--color-warning-700)}.badge-error{background:var(--color-error-100);color:var(--color-error-700)}.badge-info{background:var(--color-info-100);color:var(--color-info-700)}.loading-skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1024px){.section-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.filters-section{grid-template-columns:1fr}}@media(max-width:768px){.content-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.content-header h2{font-size:var(--font-size-xl)}.content-header .actions{width:100%}.content-header .actions .btn{flex:1}.section-grid{grid-template-columns:1fr}.ee-tabs{padding:var(--spacing-xs)}.tab{font-size:var(--font-size-xs);padding:var(--spacing-sm) var(--spacing-md)}}@media print{.ee-header,.ee-tabs,.content-header .actions,.btn{display:none}.establecimiento-panel{padding:0}.info-card{page-break-inside:avoid;box-shadow:none;border:1px solid var(--color-gray-400)}}.ee-lista-container{width:100%;margin-bottom:var(--spacing-xl)}.ee-lista-loading{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:var(--spacing-3xl);min-height:400px;gap:var(--spacing-xl)}.ee-loading-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg);width:100%}.ee-loading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.ee-loading-card{border:2px solid var(--color-border);border-radius:var(--border-radius-xl);padding:var(--spacing-lg);background:var(--color-surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.ee-loading-stats{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.ghost-line{display:block;width:100%;height:14px;border-radius:var(--border-radius-md)}.ghost-line-lg{height:20px}.ghost-line-sm{width:40%}.ghost-line-xs{width:25%}.ghost-pill{display:block;flex:1;height:32px;border-radius:var(--border-radius-full)}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0;animation:fadeInOut 2s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.ee-lista-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center}.error-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.ee-lista-error p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.ee-lista-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--border-radius-lg)}.empty-icon{font-size:4rem;opacity:.5;margin-bottom:var(--spacing-lg)}.ee-lista-empty h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary)}.ee-lista-empty p{color:var(--color-text-secondary);margin:0}.ee-lista-header{margin-bottom:var(--spacing-lg)}.header-info{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--color-border)}.ee-lista-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-brand-primary);margin:0}.ee-lista-count{background:var(--color-brand-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.search-container-ee{top:100px;position:sticky;z-index:100;display:flex;flex:1;min-width:280px;max-width:600px}.search-icon-ee{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:var(--text-tertiary);pointer-events:none}.search-input-ee{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 3rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.search-input-ee:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.search-input-ee::-moz-placeholder{color:var(--text-tertiary)}.search-input-ee::placeholder{color:var(--text-tertiary)}.clear-search-btn{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-tertiary);transition:var(--transition-base);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.clear-search-btn:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.clear-search-btn svg{width:1rem;height:1rem;stroke-width:2}.ee-lista-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg)}.ee-lista-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-xl);padding:0;cursor:pointer;transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column;box-shadow:#091e4240 0 4px 8px -2px,#091e4214 0 0 0 1px;text-decoration:none;color:inherit}.ee-lista-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--color-brand-primary)}.ee-lista-card:focus{outline:3px solid var(--color-brand-primary);outline-offset:2px}.ee-lista-card:active{transform:translateY(-3px)}.ee-card-content{padding:var(--spacing-lg);flex:1}.ee-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;line-height:1.3}.ee-card-rbd{font-size:var(--font-size-sm);color:var(--color-brand-primary);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0}.ee-card-tipo,.ee-card-location{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.ee-card-director{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.ee-card-stats{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.stat-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat-icon{font-size:var(--font-size-md)}.ee-card-footer{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-neutral-50);border-top:1px solid var(--color-border)}.ee-card-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-brand-primary);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.ee-card-btn:hover{background:var(--color-brand-secondary);transform:scale(1.02)}.btn-arrow{font-size:var(--font-size-lg);transition:transform .3s ease}.ee-lista-card:hover .btn-arrow{transform:translate(4px)}@media(max-width:768px){.ee-lista-grid{grid-template-columns:1fr}.ee-lista-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.ee-lista-title{font-size:var(--font-size-xl)}.ee-card-stats{flex-direction:column;gap:var(--spacing-sm)}}.pagination-container{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);background:var(--color-surface);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease;color:var(--color-text-primary)}.pagination-btn:hover:not(:disabled){background:var(--color-brand-primary);color:var(--color-primary-600);border-color:var(--color-brand-primary);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.pagination-btn:disabled{opacity:.3;cursor:not-allowed;background:var(--color-surface)}.pagination-pages{display:flex;gap:var(--spacing-xs);align-items:center}.pagination-page{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border);background:var(--color-surface);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease;color:var(--color-text-primary)}.pagination-page:hover{background:var(--color-brand-light);border-color:var(--color-brand-primary);transform:translateY(-2px)}.pagination-page.active{background:var(--color-brand-primary);color:var(--color-primary-600);border-color:var(--color-brand-primary);cursor:default}.pagination-page.active:hover{transform:none}.pagination-ellipsis{padding:0 var(--spacing-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-bold);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:768px){.pagination-container{flex-wrap:wrap}.pagination-btn{flex:1;min-width:80px}.pagination-pages{width:100%;justify-content:center}}.admin-panel{width:100%}.profesor-panel{width:100%}.estudiante-panel{width:100%}.panel-header{margin-bottom:2rem}.panel-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 .5rem}.panel-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));border-radius:var(--radius-lg);padding:1.5rem;color:#fff;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-md);transition:transform var(--transition-base)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-icon{font-size:3rem;opacity:.9}.stat-content{flex:1}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 .25rem}.stat-label{font-size:var(--font-size-sm);margin:0;opacity:.9}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.content-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-base)}.content-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 .75rem}.card-description{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.6}@media(max-width:768px){.stats-grid,.content-grid{grid-template-columns:1fr}.panel-title{font-size:var(--font-size-2xl)}}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:slideInRight .3s ease-out;min-width:300px;max-width:500px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.alert-icon{width:1.5rem;height:1.5rem;flex-shrink:0}.alert-message{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.4}.alert-close{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.alert-close svg{width:1rem;height:1rem}.alert-close:hover{background:#0000001a}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #34d399}.alert-success .alert-icon{color:#059669}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #f87171}.alert-error .alert-icon{color:#dc2626}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.alert-warning .alert-icon{color:#f59e0b}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #60a5fa}.alert-info .alert-icon{color:#3b82f6}@media(prefers-color-scheme:dark){.alert-success{background:#064e3b;color:#d1fae5;border-color:#059669}.alert-error{background:#7f1d1d;color:#fee2e2;border-color:#dc2626}.alert-warning{background:#78350f;color:#fef3c7;border-color:#f59e0b}.alert-info{background:#1e3a8a;color:#dbeafe;border-color:#3b82f6}.alert-close:hover{background:#ffffff1a}}.alert-container{position:fixed;top:1rem;right:1rem;z-index:99999999999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.alert-container>*{pointer-events:auto}@media(max-width:640px){.alert-container{top:.5rem;right:.5rem;left:.5rem}.alert{min-width:unset;width:100%}}#root{margin:0 auto;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
