:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-transition-enter{opacity:0;transform:translateY(20px) scale(.98)}.page-transition-enter-active{opacity:1;transform:translateY(0) scale(1);transition:all .5s cubic-bezier(.4,0,.2,1)}.page-transition-exit{opacity:1;transform:translateY(0) scale(1)}.page-transition-exit-active{opacity:0;transform:translateY(-20px) scale(1.02);transition:all .3s cubic-bezier(.4,0,.2,1)}.fade-slide-up{animation:fadeSlideUp .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-slide-down{animation:fadeSlideDown .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.login-panel-enter{animation:loginPanelEnter .7s cubic-bezier(.4,0,.2,1) forwards}@keyframes loginPanelEnter{0%{opacity:0;transform:translate(50px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.home-hero-enter{animation:homeHeroEnter .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes homeHeroEnter{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-page-enter{opacity:0;transform:translate(100px) scale(.95)}.auth-page-enter-active{opacity:1;transform:translate(0) scale(1);transition:all .6s cubic-bezier(.25,.46,.45,.94)}.auth-page-exit{opacity:1;transform:translate(0) scale(1)}.auth-page-exit-active{opacity:0;transform:translate(-100px) scale(1.05);transition:all .5s cubic-bezier(.55,.06,.68,.19)}.auth-panel-slide-enter{transform:translate(-100%);opacity:0}.auth-panel-slide-enter-active{transform:translate(0);opacity:1;transition:transform .8s cubic-bezier(.25,.46,.45,.94),opacity .6s ease-out}.auth-panel-slide-exit{transform:translate(0);opacity:1}.auth-panel-slide-exit-active{transform:translate(100%);opacity:0;transition:transform .6s cubic-bezier(.55,.06,.68,.19),opacity .4s ease-in}.auth-form-slide-enter{transform:translate(50px) rotateY(15deg);opacity:0}.auth-form-slide-enter-active{transform:translate(0) rotateY(0);opacity:1;transition:transform .9s cubic-bezier(.25,.46,.45,.94),opacity .7s ease-out}.auth-form-slide-exit{transform:translate(0) rotateY(0);opacity:1}.auth-form-slide-exit-active{transform:translate(-50px) rotateY(-15deg);opacity:0;transition:transform .7s cubic-bezier(.55,.06,.68,.19),opacity .5s ease-in}.auth-glass{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#ffffffd9;border:1px solid rgba(255,255,255,.3);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a inset}@keyframes float-gentle{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(2deg)}66%{transform:translateY(5px) rotate(-1deg)}}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.auth-decorative-float{animation:float-gentle 6s ease-in-out infinite}.auth-decorative-pulse{animation:pulse-glow 4s ease-in-out infinite}.auth-gradient-bg{background:linear-gradient(135deg,#4e73df,#224abe,#5a7ce8);background-size:200% 200%;animation:gradient-shift 8s ease infinite}.auth-button-hover{position:relative;overflow:hidden}.auth-button-hover:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-button-hover:hover:before{left:100%}.auth-stagger-item{opacity:0;transform:translateY(20px);animation:stagger-fade-in .6s ease-out forwards}.auth-stagger-item:nth-child(1){animation-delay:.1s}.auth-stagger-item:nth-child(2){animation-delay:.2s}.auth-stagger-item:nth-child(3){animation-delay:.3s}.auth-stagger-item:nth-child(4){animation-delay:.4s}.auth-stagger-item:nth-child(5){animation-delay:.5s}@keyframes stagger-fade-in{to{opacity:1;transform:translateY(0)}}.tutorial-overlay-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.tutorial-overlay-container *{pointer-events:auto}.tutorial-spotlight{position:absolute;pointer-events:none;border-radius:8px;box-shadow:0 0 0 4px #3b82f680,0 0 0 8px #3b82f64d,0 0 0 12px #3b82f61a;animation:tutorial-pulse 2s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.tutorial-tooltip{position:fixed;z-index:10001;max-width:400px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:tutorial-tooltip-appear .3s ease-out}@keyframes tutorial-tooltip-appear{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-tooltip-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026,0 8px 32px #0000001a;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.dark .tutorial-tooltip-content{background:#1f2937;border-color:#374151;box-shadow:0 20px 60px #0000004d,0 8px 32px #0003}.tutorial-progress-bar{height:4px;background:#fff3;border-radius:2px;overflow:hidden;margin-top:8px}.tutorial-progress-fill{height:100%;background:linear-gradient(90deg,#fff,#e5e7eb);border-radius:2px;transition:width .5s ease-in-out}.dark .tutorial-progress-fill{background:linear-gradient(90deg,#fff,#9ca3af)}.tutorial-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;outline:none}.tutorial-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.tutorial-btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.tutorial-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.tutorial-btn-secondary{background:transparent;color:#6b7280;border:1px solid #d1d5db}.tutorial-btn-secondary:hover{background:#f9fafb;color:#374151}.dark .tutorial-btn-secondary{color:#9ca3af;border-color:#4b5563}.dark .tutorial-btn-secondary:hover{background:#374151;color:#d1d5db}.tutorial-floating-btn{position:fixed;bottom:24px;right:24px;z-index:1000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #3b82f64d;transition:all .3s ease-in-out;animation:tutorial-float 3s ease-in-out infinite}.tutorial-floating-btn:hover{transform:scale(1.1);box-shadow:0 12px 32px #3b82f666}@keyframes tutorial-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.tutorial-welcome-banner{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;padding:16px 24px;border-radius:12px;margin-bottom:24px;position:relative;overflow:hidden}.tutorial-welcome-banner:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:tutorial-shimmer 4s linear infinite}@keyframes tutorial-shimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tutorial-highlight{position:relative;overflow:hidden}.tutorial-highlight:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent);animation:tutorial-highlight-sweep 2s ease-in-out infinite}@keyframes tutorial-highlight-sweep{0%{left:-100%}to{left:100%}}.tutorial-step-indicator{display:flex;align-items:center;gap:8px;margin-bottom:12px}.tutorial-step-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:all .3s ease-in-out}.tutorial-step-dot.active{background:#3b82f6;transform:scale(1.2)}.tutorial-step-dot.completed{background:#10b981}.tutorial-tooltip-arrow{position:absolute;width:0;height:0;border-style:solid}.tutorial-tooltip-arrow.top{bottom:100%;left:50%;transform:translate(-50%);border-width:0 8px 8px 8px;border-color:transparent transparent white transparent}.tutorial-tooltip-arrow.bottom{top:100%;left:50%;transform:translate(-50%);border-width:8px 8px 0 8px;border-color:white transparent transparent transparent}.tutorial-tooltip-arrow.left{right:100%;top:50%;transform:translateY(-50%);border-width:8px 8px 8px 0;border-color:transparent white transparent transparent}.tutorial-tooltip-arrow.right{left:100%;top:50%;transform:translateY(-50%);border-width:8px 0 8px 8px;border-color:transparent transparent transparent white}.dark .tutorial-tooltip-arrow.top{border-color:transparent transparent #1f2937 transparent}.dark .tutorial-tooltip-arrow.bottom{border-color:#1f2937 transparent transparent transparent}.dark .tutorial-tooltip-arrow.left{border-color:transparent #1f2937 transparent transparent}.dark .tutorial-tooltip-arrow.right{border-color:transparent transparent transparent #1f2937}@media (max-width: 768px){.tutorial-tooltip{max-width:90vw;left:5vw!important;right:5vw!important}.tutorial-floating-btn{bottom:16px;right:16px;width:48px;height:48px}.tutorial-welcome-banner{padding:12px 16px;margin-bottom:16px}}.tutorial-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tutorial-focusable:focus{outline:2px solid #3b82f6;outline-offset:2px}.tutorial-loading{opacity:.7;pointer-events:none}.tutorial-loading-spinner{width:20px;height:20px;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;animation:tutorial-spin 1s ease-in-out infinite}@keyframes tutorial-spin{to{transform:rotate(360deg)}}.tutorial-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.tutorial-success:before{content:"✓";margin-right:8px}.tutorial-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.tutorial-error:before{content:"⚠";margin-right:8px}@tailwind base;@tailwind components;@tailwind utilities;@layer base{html{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}body{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-weight:600}button,input,textarea,select,table,table th,table td{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}.table th{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-weight:600}.table td{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-weight:400}.btn,.badge,.card,.modal,.dropdown,.navbar,.menu,.tooltip,.table-zebra th,.table-zebra td,.table-compact th,.table-compact td,.table-normal th,.table-normal td{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif!important}}.gradient-primary{background:linear-gradient(135deg,#4e73df,#224abe)}.gradient-primary-dark{background:linear-gradient(135deg,#3c5aa6,#1a3a8a)}*{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif!important}.font-mono,code,pre{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important}.glass-effect{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.glass-effect-hover:hover{background:#ffffff40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.formatted-analysis{line-height:1.6;color:#374151}.formatted-analysis h2{@apply text-xl font-bold text-purple-700 mt-6 mb-4 border-b-2 border-purple-200 pb-2;}.formatted-analysis h3{@apply text-lg font-bold text-blue-700 mt-6 mb-3 bg-blue-50 p-3 rounded-lg border-l-4 border-blue-400;}.formatted-analysis h4{@apply text-md font-semibold text-gray-800 mt-4 mb-2;}.formatted-analysis ul{@apply space-y-1 my-3;}.formatted-analysis li{@apply flex items-start mb-2;}.formatted-analysis strong{@apply font-semibold text-gray-800;}.formatted-analysis .evaluation-box{@apply my-2;}.formatted-analysis .score-box{@apply bg-blue-50 border-l-4 border-blue-400 p-4 my-3 rounded-r-lg;}.formatted-analysis .error-box{@apply bg-orange-50 border-l-4 border-orange-400 p-3 my-3 rounded-r-lg;}.formatted-analysis .feedback-box{@apply bg-gray-50 border-l-4 border-gray-400 p-3 my-3 rounded-r-lg;}.formatted-analysis .strengths-box{@apply bg-green-50 border-l-4 border-green-400 p-3 my-3 rounded-r-lg;}.formatted-analysis .improvements-box{@apply bg-yellow-50 border-l-4 border-yellow-400 p-3 my-3 rounded-r-lg;}.formatted-analysis .responses-box{@apply bg-indigo-50 border-l-4 border-indigo-400 p-3 my-2 rounded-r-lg;}.formatted-analysis .evaluation-correct{@apply inline-block px-3 py-1 bg-green-100 text-green-800 rounded-full text-sm font-medium;}.formatted-analysis .evaluation-incorrect{@apply inline-block px-3 py-1 bg-red-100 text-red-800 rounded-full text-sm font-medium;}.formatted-analysis .evaluation-partial{@apply inline-block px-3 py-1 bg-yellow-100 text-yellow-800 rounded-full text-sm font-medium;}.formatted-analysis .number-badge{@apply bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center text-sm font-medium mr-3 mt-0.5;}.formatted-analysis .list-arrow{@apply text-blue-500 mr-2 mt-1 text-sm;}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-enter{animation:fadeIn .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes backdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #4e73df66}50%{box-shadow:0 0 0 10px #4e73df00}}.animate-slide-in-up{animation:slideInUp .6s ease-out}.animate-slide-in-left{animation:slideInLeft .5s ease-out}.animate-slide-in-right{animation:slideInRight .5s ease-out}.animate-fade-in-scale{animation:fadeInScale .4s ease-out}.animate-slide-in-down{animation:slideInDown .5s ease-out}.animate-bounce-in{animation:bounceIn .6s ease-out}.animate-modal-enter{animation:modalSlideIn .3s ease-out}.animate-backdrop-enter{animation:backdropFadeIn .3s ease-out}.animate-pulse-glow{animation:pulseGlow 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.card-enter-1{animation-delay:.1s}.card-enter-2{animation-delay:.2s}.card-enter-3{animation-delay:.3s}.card-enter-4{animation-delay:.4s}.card-enter-5{animation-delay:.5s}.card-enter-6{animation-delay:.6s}.card-enter-7{animation-delay:.7s}.card-enter-8{animation-delay:.8s}.transition-transform-smooth{transition:transform .3s cubic-bezier(.4,0,.2,1)}.transition-colors-smooth{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.hover-scale{transition:transform .2s ease-in-out}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 20px #4e73df4d}.modal-backdrop{animation:backdropFadeIn .3s ease-out}.modal-content{animation:modalSlideIn .3s ease-out}.section-transition{transition:all .4s cubic-bezier(.4,0,.2,1)}.section-enter{animation:fadeInScale .5s ease-out}.loading-placeholder{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.btn-animated{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-animated:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.alert-enter{animation:slideInRight .4s ease-out}.alert-exit{animation:slideInRight .3s ease-in reverse}.page-transition{animation:fadeInScale .6s ease-out}.gradient-text{background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-button{background:linear-gradient(135deg,#4e73df,#224abe);transition:all .3s ease}.gradient-button:hover{background:linear-gradient(135deg,#3c5aa6,#1a3a8a);transform:translateY(-1px);box-shadow:0 4px 12px #4e73df4d}.analysis-result{@apply prose prose-slate max-w-none;}.analysis-result .formatted-analysis{@apply prose-headings:text-gray-800 prose-p:text-gray-700 prose-strong:text-gray-900;}.image-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-zoom-transition{transition:transform .4s cubic-bezier(.4,0,.2,1),max-width .4s ease,max-height .4s ease;transform-origin:center center}.image-hover-overlay{transition:opacity .2s ease-in-out}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.modal-scrollbar::-webkit-scrollbar{width:8px}.modal-scrollbar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-scrollbar::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-scrollbar::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.modal-button{transition:all .2s ease-in-out}.modal-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.view-original-button{transition:all .3s ease;box-shadow:0 2px 4px #2563eb33}.view-original-button:hover{box-shadow:0 0 20px #3b82f680;transform:scale(1.02)}.icon-bounce{animation:bounce-gentle 2s infinite}@keyframes bounce-gentle{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-5px,0)}70%{transform:translate3d(0,-3px,0)}90%{transform:translate3d(0,-2px,0)}}.stat-card{transition:all .2s ease-in-out}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.gradient-animated{background:linear-gradient(-45deg,#4e73df,#224abe,#6c5ce7,#74b9ff);background-size:400% 400%;animation:gradient-shift 3s ease infinite}.shadow-color{box-shadow:0 10px 25px -5px var(--shadow-color, rgba(0, 0, 0, .1)),0 10px 10px -5px var(--shadow-color, rgba(0, 0, 0, .04))}.border-animated{position:relative;border:2px solid transparent;background-clip:padding-box}.border-animated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-2px;border-radius:inherit;background:linear-gradient(45deg,var(--border-color, #4e73df),transparent,var(--border-color, #4e73df));opacity:0;transition:opacity .3s ease}.border-animated:hover:before{opacity:1}@keyframes slideInUpBounce{0%{opacity:0;transform:translateY(50px) scale(.8)}60%{opacity:1;transform:translateY(-10px) scale(1.1)}80%{transform:translateY(5px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeftElastic{0%{opacity:0;transform:translate(-100px) rotate(-10deg)}60%{opacity:1;transform:translate(10px) rotate(2deg)}80%{transform:translate(-3px) rotate(-1deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes zoomInRotate{0%{opacity:0;transform:scale(.5) rotate(-180deg)}50%{opacity:.8;transform:scale(1.1) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes flipInX{0%{opacity:0;transform:perspective(400px) rotateX(90deg)}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.2)}70%{transform:scale(1)}}@keyframes revealLeft{0%{opacity:0;transform:translate(-30px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:translate(0);clip-path:inset(0 0% 0 0)}}@keyframes typeWriter{0%{width:0}to{width:100%}}@keyframes blinkCursor{0%,50%{border-color:transparent}51%,to{border-color:#4e73df}}.animate-slide-up-bounce{animation:slideInUpBounce .8s cubic-bezier(.68,-.55,.265,1.55)}.animate-slide-left-elastic{animation:slideInLeftElastic .7s cubic-bezier(.68,-.55,.265,1.55)}.animate-zoom-rotate{animation:zoomInRotate .6s ease-out}.animate-flip-x{animation:flipInX .8s ease-out}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-reveal-left{animation:revealLeft .6s ease-out}.animate-typewriter{animation:typeWriter 2s steps(20) forwards,blinkCursor 1s step-end infinite;border-right:2px solid #4e73df;white-space:nowrap;overflow:hidden}.hover-glow-strong{transition:all .3s ease}.hover-glow-strong:hover{box-shadow:0 0 30px #4e73df99,0 0 60px #4e73df66;transform:translateY(-2px) scale(1.02)}.hover-rainbow{position:relative;transition:all .3s ease}.hover-rainbow:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(45deg,red,#ff7300,#fffb00,#48ff00,#00ffd5,#002bff,#7a00ff,#ff00c8,red);background-size:400%;border-radius:inherit;z-index:-1;opacity:0;animation:gradient-shift 2s linear infinite;transition:opacity .3s ease}.hover-rainbow:hover:before{opacity:1}.card-parallax{perspective:1000px;transform-style:preserve-3d;transition:all .3s ease}.card-parallax:hover{transform:rotateX(5deg) rotateY(5deg) scale(1.02)}.card-parallax-content{transform-origin:center;transition:transform .3s ease}.card-parallax:hover .card-parallax-content{transform:translateZ(20px)}.loading-dots{display:inline-flex;align-items:center;justify-content:center;gap:4px}.loading-dots:after{content:"";display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;animation:loadingDots 1.4s infinite}.loading-dots:before{content:"";display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;animation:loadingDots 1.4s infinite;animation-delay:-.32s;margin-right:4px}@keyframes loadingDots{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.success-icon{animation:successPop .6s cubic-bezier(.68,-.55,.265,1.55)}.error-icon{animation:errorShake .6s ease-in-out}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.stagger-item{opacity:0;transform:translateY(20px);animation:staggerIn .6s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.stagger-item:nth-child(7){animation-delay:.7s}.stagger-item:nth-child(8){animation-delay:.8s}@keyframes staggerIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.3) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes bounceInScale{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes countUp{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards;animation-fill-mode:both}.animate-scale-in{animation:scaleIn .8s cubic-bezier(.34,1.56,.64,1) forwards;animation-fill-mode:both}.animate-bounce-in{animation:bounceInScale .7s cubic-bezier(.68,-.55,.265,1.55) forwards;animation-fill-mode:both}.animate-count-up{animation:countUp .8s ease-out forwards;animation-fill-mode:both}.animate-fade-in{animation:fadeIn .5s ease-out forwards;animation-fill-mode:both}.header-icon-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.header-icon-hover:hover{transform:scale(1.1) rotate(3deg);filter:brightness(1.1)}.header-card-hover{transition:all .3s ease}.header-card-hover:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #00000026}.header-button-glow{position:relative;overflow:hidden}.header-button-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s}.header-button-glow:hover:before{left:100%}.pulse-bg{animation:pulseBackground 3s ease-in-out infinite}@keyframes pulseBackground{0%,to{opacity:.05;transform:scale(1)}50%{opacity:.1;transform:scale(1.05)}}.gradient-text-dynamic{background:linear-gradient(45deg,#4e73df,#224abe,#6c5ce7,#fd79a8);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientFlow 3s ease infinite}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.skeleton-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.search-result-item{transition:all .2s cubic-bezier(.4,0,.2,1)}.search-result-item:hover{transform:translate(4px);background-color:#3b82f60d}.dropdown-arrow{transition:transform .2s ease-in-out}.dropdown-arrow.rotated{transform:rotate(180deg)}.dropdown-option{transition:all .2s ease-in-out;position:relative;overflow:hidden}.dropdown-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.dropdown-option:hover:before{left:100%}.dropdown-option:nth-child(1){animation-delay:.05s}.dropdown-option:nth-child(2){animation-delay:.1s}.dropdown-option:nth-child(3){animation-delay:.15s}.dropdown-option:nth-child(4){animation-delay:.2s}.glass-effect-enhanced{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.glass-effect-search{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 20px 40px #0000001a}@media (max-width: 768px){.animate-fade-in-scale{animation-duration:.15s}.search-result-item:hover{transform:none;background-color:#3b82f614}}.pulse-on-hover:hover{animation:gentlePulse 2s infinite}@keyframes gentlePulse{0%,to{transform:scale(1);box-shadow:0 0 #3b82f666}50%{transform:scale(1.02);box-shadow:0 0 0 8px #3b82f600}}.avatar-glow:hover{box-shadow:0 0 20px #3b82f699;transform:scale(1.05)}.transition-colors-smooth{transition:color .2s ease-in-out,background-color .2s ease-in-out}.transition-transform-smooth{transition:transform .2s ease-in-out}.glass-effect-dropdown,.glass-effect-search{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 20px 40px #0000001a}.animate-fade-in{animation:fadeIn .2s ease-out forwards}@keyframes fadeInScale{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-in-scale{animation:fadeInScale .2s ease-out forwards;animation-fill-mode:both}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f5f7fa;border-radius:8px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#c0c8d8;border-radius:8px;transition:background .2s ease}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#4e73df}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#c0c8d8 #f5f7fa}.dark .custom-scrollbar::-webkit-scrollbar-track{background:#1e293b}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#475569}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#6366f1}.dark .custom-scrollbar{scrollbar-color:#475569 #1e293b}.modal button[type=submit],.modal button.btn-primary-modal,button.btn-primary-modal{background-color:#2563eb!important;color:#fff!important;border-color:#2563eb!important;font-weight:500!important}.modal button[type=submit]:hover,.modal button.btn-primary-modal:hover,button.btn-primary-modal:hover{background-color:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}.modal button[type=submit]:disabled,.modal button.btn-primary-modal:disabled,button.btn-primary-modal:disabled{background-color:#93c5fd!important;color:#fff!important;border-color:#93c5fd!important;opacity:.5!important}.modal button[type=submit] span,.modal button.btn-primary-modal span,button.btn-primary-modal span{color:#fff!important}.btn-primary-modal,.btn-primary-modal:hover,.btn-primary-modal:focus,.btn-primary-modal:active,.btn-primary-modal:disabled{color:#fff!important}.btn-primary-modal *,.btn-primary-modal:hover *,.btn-primary-modal:focus *,.btn-primary-modal:active *,.btn-primary-modal:disabled *{color:#fff!important}.btn-students,button.btn-students{background:linear-gradient(135deg,#4e73df,#224abe)!important;color:#fff!important;border-color:#4e73df!important;font-weight:600!important;padding:.625rem 1rem!important;font-size:.875rem!important;border-radius:.75rem!important;display:inline-flex!important;align-items:center!important;gap:.5rem!important;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;border-width:1px!important;border-style:solid!important}.btn-students:hover,button.btn-students:hover{background:linear-gradient(135deg,#224abe,#1e3a8a)!important;border-color:#224abe!important;color:#fff!important;transform:scale(1.05)!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important}.btn-students:focus,button.btn-students:focus,.btn-students:active,button.btn-students:active{color:#fff!important;outline:2px solid transparent!important;outline-offset:2px!important;box-shadow:0 0 0 3px #4e73df4d!important}.btn-students span,button.btn-students span,.btn-students *,button.btn-students *{color:#fff!important}@media (max-width: 640px){.btn-students,button.btn-students{padding:.625rem 1rem!important;font-size:.875rem!important}}.exam-analysis{@apply max-w-4xl mx-auto p-6 bg-white rounded-lg shadow-lg;}.analysis-title{@apply text-2xl font-bold text-gray-800 mb-6 text-center;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.question-block{@apply mb-8 p-6 bg-gray-50 rounded-lg border-l-4 border-blue-500;}.response-details{@apply space-y-3;}.visual-identification,.responses-identified{@apply text-gray-700 leading-relaxed;}.math-verification{@apply p-3 bg-blue-50 rounded-md border-l-3 border-blue-400;}.feedback-section{@apply p-3 bg-green-50 rounded-md border-l-3 border-green-400;}.final-grade{@apply mt-8 p-6 bg-gradient-to-r from-blue-50 to-indigo-50 rounded-lg border-2 border-blue-200;}.grade-title{@apply text-2xl font-bold text-gray-800 mb-6 text-center;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grade-label{@apply p-3 font-semibold text-gray-700 w-1/3;}.grade-value{@apply p-3 text-gray-800 font-medium;}.strengths-section,.improvements-section{@apply mb-6;}.strengths-section h4,.improvements-section h4{@apply text-lg font-semibold mb-3;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.strengths-list,.improvements-list{@apply space-y-2 ml-4;}.strengths-list li,.improvements-list li{@apply text-gray-700 leading-relaxed;}.demo-analysis{@apply max-w-5xl mx-auto p-6 bg-white rounded-lg shadow-xl;}.demo-header{@apply text-center mb-8 pb-6 border-b-2 border-blue-200;}.demo-title{@apply text-3xl font-bold mb-2;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-badge{@apply inline-block px-4 py-2 bg-gradient-to-r from-purple-500 to-pink-500 text-white rounded-full text-sm font-medium;}.exam-info-section{@apply mb-8;}.section-title{@apply text-xl font-semibold mb-4;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.info-table{@apply w-full border-collapse bg-white rounded-lg overflow-hidden shadow-md;}.info-table tr{@apply border-b border-gray-200;}.info-table tr:nth-child(2n){@apply bg-gray-50;}.info-table tr:hover{@apply bg-blue-50;}.info-label{@apply p-3 font-semibold text-gray-700 w-1/3 bg-gray-100;}.info-value{@apply p-3 text-gray-800;}.detailed-evaluation{@apply mb-8;}.exercise-block{@apply mb-6 p-4 bg-gray-50 rounded-lg border-l-4 border-blue-500;}.exercise-title{@apply text-lg font-semibold mb-3;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exercise-content{@apply space-y-3;}.student-response{@apply text-gray-700 leading-relaxed;}.explanation-section{@apply p-3 bg-blue-50 rounded-md border-l-3 border-blue-400;}.points-section{@apply p-2 bg-green-50 rounded-md border-l-3 border-green-400;}.points-value{@apply font-bold text-green-700;}.final-grade-section{@apply mb-8 p-6 bg-gradient-to-r from-blue-50 to-indigo-50 rounded-lg border-2 border-blue-200;}.grade-summary-table{@apply w-full mb-6 border-collapse;}.grade-summary-table tr{@apply border-b border-gray-200;}.grade-summary-table tr:nth-child(2n){@apply bg-gray-50;}.grade-summary-table tr:hover{@apply bg-blue-50;}.performance-level{@apply font-semibold;}.topics-distribution{@apply mt-6;}.topics-distribution h4{@apply text-lg font-semibold mb-3;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topics-list{@apply space-y-2 ml-4;}.topic-item{@apply text-gray-700 leading-relaxed;}.topic-percentage{@apply font-bold text-blue-600;}.pedagogical-feedback{@apply mb-8;}.subsection-title{@apply text-lg font-semibold mb-3;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.strengths-list,.improvements-list,.recommendations-list{@apply space-y-2 ml-4;}.strength-item,.improvement-item,.recommendation-item{@apply text-gray-700 leading-relaxed;}.conclusion-section{@apply mt-6 p-4 bg-gradient-to-r from-green-50 to-blue-50 rounded-lg border-l-4 border-green-400;}.conclusion-text{@apply text-gray-700 leading-relaxed;}.demo-footer{@apply mt-8 pt-6 border-t-2 border-gray-200;}.demo-divider{@apply border-0 h-px mb-4;background:linear-gradient(90deg,transparent,#4e73df,transparent)}.demo-note{@apply text-center text-gray-600 italic;}@media (max-width: 768px){.exam-analysis,.demo-analysis{@apply p-4;}.analysis-title,.demo-title{@apply text-xl;}.question-title,.exercise-title,.section-title{@apply text-lg;}.grade-table,.info-table,.grade-summary-table{@apply text-sm;}.grade-label,.info-label{@apply w-1/2;}}@media (prefers-color-scheme: dark){.exam-analysis,.demo-analysis{@apply bg-gray-800 text-white;}.question-block,.exercise-block{@apply bg-gray-700 border-l-blue-400;}.final-grade,.final-grade-section{@apply bg-gradient-to-r from-gray-700 to-gray-800 border-blue-400;}.math-verification{@apply bg-blue-900 border-l-blue-400;}.feedback-section{@apply bg-green-900 border-l-green-400;}.explanation-section{@apply bg-blue-900 border-l-blue-400;}.points-section{@apply bg-green-900 border-l-green-400;}.conclusion-section{@apply bg-gradient-to-r from-green-900 to-blue-900 border-l-green-400;}.grade-table tr:nth-child(2n),.info-table tr:nth-child(2n),.grade-summary-table tr:nth-child(2n){@apply bg-gray-700;}.grade-table tr:hover,.info-table tr:hover,.grade-summary-table tr:hover{@apply bg-gray-600;}.info-label{@apply bg-gray-700 text-gray-300;}.grade-label{@apply text-gray-300;}.grade-value,.info-value{@apply text-gray-200;}.visual-identification,.responses-identified,.student-response,.conclusion-text,.strengths-list li,.improvements-list li,.topics-list li,.strength-item,.improvement-item,.recommendation-item{@apply text-gray-300;}}.analysis-container{@apply bg-white rounded-lg p-6 shadow-lg border border-gray-200;}.analysis-question-title{@apply text-xl font-bold mb-4 font-poppins;color:#4e73df}.analysis-divider{@apply my-6 border-t border-gray-200;}.evaluation-badge{@apply inline-flex items-center px-3 py-1 rounded-full text-sm font-semibold shadow-sm border transition-all duration-200;font-family:Poppins,sans-serif}.evaluation-badge.correct{background-color:#ecfdf5;color:#065f46;border-color:#a7f3d0}.evaluation-badge.incorrect{background-color:#fef2f2;color:#b91c1c;border-color:#fecaca}.evaluation-badge.partial{background-color:#fffbeb;color:#b45309;border-color:#fde68a}.evaluation-badge:before{@apply mr-2 text-base;}.evaluation-badge.correct:before{content:"✅"}.evaluation-badge.incorrect:before{content:"❌"}.evaluation-badge.partial:before{content:"🟡"}.response-container{@apply bg-white p-0;}.analysis-text{@apply text-gray-800 leading-relaxed;font-family:Poppins,sans-serif}.analysis-text p{@apply mb-3;}.analysis-text strong{@apply font-semibold text-gray-900;}.math-verification,.feedback-section{@apply bg-white p-0 mt-3;color:#1f2937}.math-verification strong,.feedback-section strong{color:#111827}.math-verification:before,.feedback-section:before,.final-grade:before{@apply mr-2 text-lg;}.math-verification:before{content:"🔍"}.feedback-section:before{content:"💡"}.final-grade:before{content:"🏆"}.final-grade{@apply bg-white p-0 mt-4;color:#1f2937}.grade-table{@apply w-full bg-white rounded-lg overflow-hidden shadow-md border border-gray-200 mt-4;}.grade-table thead{background-color:#f9fafb}.grade-table th{@apply px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;font-family:Poppins,sans-serif}.grade-table tbody tr:nth-child(2n){@apply bg-white;}.grade-table tbody tr:hover{@apply bg-gray-50;transition:all .2s ease}.grade-table td{@apply px-6 py-4 text-sm text-gray-800 border-t border-gray-200;font-family:Poppins,sans-serif}.math-symbol,.chemical-formula,.physics-symbol{@apply font-mono font-semibold;color:#4e73df}.analysis-list{@apply list-disc list-inside space-y-2 pl-4 mt-2;}.analysis-list li{@apply text-gray-800;}.dark .analysis-container{@apply bg-gray-900 border-gray-700;}.dark .analysis-question-title{color:#7dd3fc}.dark .analysis-divider{@apply border-gray-700;}.dark .evaluation-badge.correct{@apply bg-green-900/50 text-green-300 border-green-700;}.dark .evaluation-badge.incorrect{@apply bg-red-900/50 text-red-300 border-red-700;}.dark .evaluation-badge.partial{@apply bg-yellow-900/50 text-yellow-300 border-yellow-700;}.dark .response-container,.dark .math-verification,.dark .feedback-section,.dark .final-grade{@apply bg-gray-900;color:#d1d5db}.dark .math-verification strong,.dark .feedback-section strong{color:#f9fafb}.dark .analysis-text{@apply text-gray-300;}.dark .analysis-text strong{@apply text-gray-100;}.dark .grade-table{@apply bg-gray-800 border-gray-700;}.dark .grade-table thead{@apply bg-gray-700/50;}.dark .grade-table th{@apply text-gray-400;}.dark .grade-table td{@apply text-gray-300 border-gray-700;}.dark .grade-table tbody tr:hover{@apply bg-gray-700;}.dark .math-symbol,.dark .chemical-formula,.dark .physics-symbol{color:#93c5fd}.dark .analysis-list li{@apply text-gray-300;}@keyframes shimmer{0%{transform:translate(-100%) skew(-12deg)}to{transform:translate(200%) skew(-12deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc,0 0 30px #9333ea66}}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.analysis-button{animation:pulse-glow 3s ease-in-out infinite}.analysis-button:hover{animation:pulse-glow 1s ease-in-out infinite}.feature-indicator{animation:bounce-gentle 2s ease-in-out infinite}.highlight-glow{position:relative;overflow:hidden}.highlight-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease-in-out}.highlight-glow:hover:before{left:100%}.report-error-submit-btn{position:relative!important;z-index:10!important;font-family:inherit!important;font-size:.875rem!important;font-weight:500!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;border-radius:.5rem!important;padding:.75rem 1.5rem!important;margin:0!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;min-width:140px!important;height:auto!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;transition:all .2s ease-in-out!important}.report-error-submit-btn:hover:not(:disabled){background-color:#b91c1c!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;transform:scale(1.05)!important}.report-error-submit-btn:disabled{background-color:#9ca3af!important;cursor:not-allowed!important;transform:none!important;opacity:.6!important;pointer-events:none!important}.report-error-submit-btn:not(:disabled){background-color:#dc2626!important;cursor:pointer!important;opacity:1!important;pointer-events:auto!important}.report-error-submit-btn:focus{outline:2px solid transparent!important;outline-offset:2px!important;box-shadow:0 0 0 3px #dc262680!important}.report-error-submit-btn span{color:inherit!important;font-size:inherit!important;font-weight:inherit!important;margin:0!important;padding:0!important}.report-error-submit-btn svg{color:inherit!important;fill:none!important;stroke:currentColor!important;width:1rem!important;height:1rem!important;flex-shrink:0!important}.native-html-editor [contenteditable]:empty:before{content:attr(data-placeholder);color:#92400e;opacity:.7;font-style:italic}.dark .native-html-editor [contenteditable]:empty:before{color:#fbbf24}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse-green{animation:pulse-green 2s cubic-bezier(.4,0,.6,1) infinite}.bg-gradient-ai{background:linear-gradient(135deg,#d1fae5,#a7f3d0,#6ee7b7)}.dark .bg-gradient-ai{background:linear-gradient(135deg,#0596694d,#10b9814d,#34d3994d)}.btn-ai-approve{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d}.btn-ai-approve:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.btn-copy-analysis{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #f59e0b4d;border-radius:.5rem}.btn-copy-analysis:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66;background:linear-gradient(135deg,#d97706,#b45309)}@media (max-width: 640px){.btn-copy-analysis{padding:.5rem .75rem;font-size:.75rem;box-shadow:0 2px 8px #f59e0b4d;border-radius:.375rem}.btn-copy-analysis:hover{transform:translateY(-.5px);box-shadow:0 4px 12px #f59e0b66}.btn-copy-analysis:active{transform:translateY(0);box-shadow:0 2px 6px #f59e0b4d}}.table-xs th{padding:.5rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.table-xs td{padding:.5rem .75rem;font-size:.75rem;vertical-align:top}.btn-xs{height:1.5rem;min-height:1.5rem;padding:0 .5rem;font-size:.75rem;border-radius:.25rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover\:bg-green-50:hover{background-color:#f0fdf4}.hover\:bg-orange-50:hover{background-color:#fff7ed}.hover\:bg-blue-50:hover{background-color:#eff6ff}.dark .hover\:bg-green-900\/20:hover{background-color:#14532d33}.dark .hover\:bg-orange-900\/20:hover{background-color:#9a341233}.dark .hover\:bg-blue-900\/20:hover{background-color:#1e3a8a33}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.rounded-xl{border-radius:.75rem}.gap-6{gap:1.5rem}@media (max-width: 1024px){.lg\:col-span-1{grid-column:span 1}.ql-editor{min-height:150px}.table-xs th,.table-xs td{padding:.375rem .5rem;font-size:.6875rem}}@media (max-width: 768px){.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.p-6{padding:1rem}.p-4{padding:.75rem}.h-80{height:16rem}.ql-editor{min-height:120px;padding:.75rem}.btn-xs{height:1.25rem;min-height:1.25rem;padding:0 .375rem;font-size:.6875rem}}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.select:focus,.input:focus,.textarea:focus{outline:2px solid #3b82f6;outline-offset:2px;border-color:#3b82f6}.dark .select:focus,.dark .input:focus,.dark .textarea:focus{outline-color:#60a5fa;border-color:#60a5fa}.btn:disabled{opacity:.5;cursor:not-allowed}[title]{position:relative}.loading-spinner{animation:spin 1s linear infinite}.question-divider{@apply my-8 border-0 h-px;background:linear-gradient(90deg,transparent,#4e73df,transparent)}.question-title{@apply text-xl font-semibold text-gray-800 mb-4;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.evaluation-badge{@apply inline-block px-3 py-1 rounded-full text-sm font-medium text-white;}.evaluation-badge.correct,.evaluation-badge[class*=correct]{@apply bg-green-500;}.evaluation-badge.incorrect,.evaluation-badge[class*=incorrect]{@apply bg-red-500;}.evaluation-badge.partial,.evaluation-badge[class*=partial]{@apply bg-yellow-500;}.grade-table{@apply w-full mb-6 border-collapse;}.grade-table tr{@apply border-b border-gray-200;}.grade-table tr:nth-child(2n){@apply bg-gray-50;}.grade-table tr:hover{@apply bg-blue-50;}.unified-modal-scroll{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.unified-modal-scroll::-webkit-scrollbar{width:8px}.unified-modal-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.unified-modal-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px;transition:background-color .2s ease}.unified-modal-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dark .unified-modal-scroll{scrollbar-color:#4b5563 #374151}.dark .unified-modal-scroll::-webkit-scrollbar-track{background:#374151}.dark .unified-modal-scroll::-webkit-scrollbar-thumb{background:#4b5563}.dark .unified-modal-scroll::-webkit-scrollbar-thumb:hover{background:#6b7280}.unified-modal-content{max-height:calc(90vh - 160px);overflow-y:auto;min-height:400px}.unified-modal-content.editing-mode{max-height:calc(90vh - 200px);overflow-y:auto;min-height:350px}.unified-modal-content.editing-mode .independent-html-editor [contenteditable]{max-height:calc(90vh - 300px);overflow-y:auto!important;min-height:300px}.unified-modal-content.editing-mode .independent-html-editor{height:100%;display:flex;flex-direction:column}.unified-report-content{max-width:none!important;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.unified-report-content h1,.unified-report-content h2,.unified-report-content h3,.unified-report-content h4,.unified-report-content h5,.unified-report-content h6{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600}.unified-report-content p,.unified-report-content div,.unified-report-content span,.unified-report-content td,.unified-report-content th{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.unified-modal-preview{height:100%;overflow-y:auto!important}.unified-modal-editor{height:100%;overflow-y:auto!important;resize:none}.modal-flex-container{display:flex;flex-direction:column;height:100%;max-height:90vh}.modal-content-area{flex:1;min-height:0;overflow:hidden}.modal-footer-fixed{flex-shrink:0;border-top:1px solid #e5e7eb;background:#fff}@media (max-width: 768px){.unified-modal-scroll{max-height:calc(100vh - 120px)}.modal-flex-container{max-height:95vh;margin:4px}.unified-modal-content{max-height:calc(95vh - 140px);min-height:300px}}.toolbar-container{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#3b82f6 transparent}.toolbar-container::-webkit-scrollbar{height:4px}.toolbar-container::-webkit-scrollbar-track{background:transparent}.toolbar-container::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:2px}.toolbar-container::-webkit-scrollbar-thumb:hover{background:#2563eb}@media (max-width: 640px){.toolbar-container{padding-bottom:4px}.toolbar-mobile{flex-wrap:wrap;gap:4px;padding:8px 12px}.toolbar-button-mobile{padding:6px 8px;font-size:12px;min-width:auto;flex-shrink:0}.toolbar-separator{display:none}.dropdown-mobile{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;max-width:280px;width:90vw;max-height:60vh;overflow-y:auto}}.font-size-dropdown{position:fixed!important;z-index:10000!important;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 25px #00000026;min-width:140px;max-height:300px;overflow-y:auto}.font-size-dropdown button{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:#fff;color:#374151;font-size:14px;transition:background-color .2s}.font-size-dropdown button:hover{background-color:#f3f4f6}.font-size-dropdown button:focus{background-color:#e5e7eb;outline:none}.color-picker-dropdown{position:fixed!important;z-index:10000!important;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 25px #00000026;padding:12px}.color-picker-dropdown .color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.color-picker-dropdown .color-button{width:28px;height:28px;border-radius:4px;border:2px solid #e5e7eb;cursor:pointer;transition:all .2s}.color-picker-dropdown .color-button:hover{transform:scale(1.1);border-color:#9ca3af}.color-picker-dropdown .color-button:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}@media (max-width: 768px){.font-size-dropdown,.color-picker-dropdown{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:90vw;max-height:70vh}.color-picker-dropdown{padding:16px}.color-picker-dropdown .color-grid{grid-template-columns:repeat(4,1fr);gap:8px}.color-picker-dropdown .color-button{width:32px;height:32px}.font-size-dropdown button{padding:12px 16px;font-size:16px}}.dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:#0000001a;display:none}@media (max-width: 768px){.dropdown-overlay.active{display:block}}@media (max-width: 640px){.editor-mobile{font-size:14px;line-height:1.5;padding:12px}.editor-mobile h1{font-size:20px}.editor-mobile h2{font-size:18px}.editor-mobile h3{font-size:16px}.unified-report-content{font-size:14px;line-height:1.6}.unified-report-content h1{font-size:18px}.unified-report-content h2{font-size:16px}.unified-report-content h3{font-size:15px}.unified-report-content p{margin-bottom:12px}.unified-report-content table{font-size:12px;overflow-x:auto;display:block;white-space:nowrap}.unified-report-content table thead,.unified-report-content table tbody,.unified-report-content table tr{display:table;width:100%;table-layout:fixed}}.materia-card{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.materia-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease-in-out}.materia-card:hover:before{left:100%}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}@media (max-width: 640px){.grid{gap:.75rem!important}.standard-card-mobile{height:11rem!important;padding:.75rem!important}.standard-card-mobile .card-icon{width:2.5rem!important;height:2.5rem!important;font-size:1rem!important}.standard-card-mobile .card-title{font-size:.875rem!important;line-height:1.25rem!important;margin-bottom:.25rem!important}.standard-card-mobile .card-subtitle{font-size:.75rem!important;line-height:1rem!important}.standard-card-mobile .card-stats{font-size:.75rem!important;gap:.5rem!important}.standard-card-mobile .action-buttons{top:.5rem!important;right:.5rem!important;gap:.25rem!important}.standard-card-mobile .action-buttons button{padding:.375rem!important}.standard-card-mobile .action-buttons svg{width:.75rem!important;height:.75rem!important}}@media (max-width: 480px){.mobile-grid-compact{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.standard-card-mobile{height:10rem!important;padding:.5rem!important}.hide-on-small-mobile{display:none!important}.card-stats-mobile{display:flex!important;justify-content:center!important;gap:.5rem!important}.card-stats-mobile>:nth-child(n+3){display:none!important}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:#00000080!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;padding:1rem;pointer-events:auto!important;visibility:visible!important;opacity:1!important;width:100vw!important;height:100vh!important}.modal-container{background:#fff!important;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:32rem;max-height:90vh;display:flex!important;flex-direction:column!important;animation:modalEnter .2s ease-out;position:relative!important;z-index:100000!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important}.dark .modal-container{background:#1f2937;box-shadow:0 25px 50px -12px #000000b3}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 0;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dark .modal-header{border-bottom-color:#4b5563}.modal-body{flex:1;overflow-y:auto;padding:1.5rem;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.dark .modal-body{scrollbar-color:rgb(75 85 99) rgb(55 65 81)}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dark .modal-body::-webkit-scrollbar-track{background:#374151}.dark .modal-body::-webkit-scrollbar-thumb{background:#4b5563}.dark .modal-body::-webkit-scrollbar-thumb:hover{background:#6b7280}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;border-top:1px solid #e5e7eb;flex-shrink:0}.dark .modal-footer{border-top-color:#4b5563}@keyframes modalEnter{0%{opacity:0}to{opacity:1}}.modal-container-large{max-width:72rem!important;animation:none!important;transform:none!important;transition:none!important}.exam-modal-container{max-width:72rem!important;width:100%!important;animation:none!important;transform:none!important;transition:none!important}@media (max-width: 1200px){.modal-container-large{max-width:90vw!important}}@media (max-width: 768px){.modal-container{max-width:95vw;max-height:95vh}.modal-container-large{max-width:95vw!important}.modal-header,.modal-body,.modal-footer{padding-left:1rem;padding-right:1rem}}.modal-open{overflow:hidden}.confirm-modal-backdrop{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:#0009!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;padding:1rem!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;width:100vw!important;height:100vh!important;animation:none!important;transform:none!important;transition:opacity .2s ease-out!important}.confirm-modal-content{background:#fff!important;border-radius:1rem!important;box-shadow:0 25px 50px -12px #00000040!important;width:100%!important;max-width:28rem!important;margin:0 1rem!important;position:relative!important;z-index:100000!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;animation:none!important;transform:scale(1)!important;transition:transform .2s ease-out!important}.dark .confirm-modal-content{background:#1f2937!important;box-shadow:0 25px 50px -12px #000000b3!important}.confirm-modal-button{transition:all .2s ease-out!important;animation:none!important;transform:none!important}.confirm-modal-button:hover{transform:translateY(-1px)!important}.confirm-modal-button:active{transform:translateY(0)!important}.confirm-modal-backdrop *{animation-play-state:paused!important}.confirm-modal-content *{animation-play-state:running!important}.import-modal-container{width:95vw!important;max-width:none!important;margin:0 2.5vw!important;animation:none!important;transform:none!important;transition:none!important}@media (max-width: 768px){.import-modal-container{width:98vw!important;margin:0 1vw!important}}@media (min-width: 1920px){.import-modal-container{width:90vw!important;margin:0 5vw!important}}.animated-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:1.2rem;height:1.2rem;border:2px solid #d1d5db;border-radius:.375rem;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;flex-shrink:0}.dark .animated-checkbox{border-color:#6b7280;background:#374151}.animated-checkbox:hover{border-color:#3b82f6;transform:scale(1.05);box-shadow:0 0 0 3px #3b82f61a}.dark .animated-checkbox:hover{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.animated-checkbox:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.dark .animated-checkbox:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.animated-checkbox:checked{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6;transform:scale(1.1);animation:checkboxPulse .3s ease-out}.dark .animated-checkbox:checked{background:linear-gradient(135deg,#60a5fa,#3b82f6);border-color:#60a5fa}.animated-checkbox:checked:before{content:"";position:absolute;top:.1rem;left:.35rem;width:.3rem;height:.6rem;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg);animation:checkmarkDraw .3s ease-out .1s both}.animated-checkbox:indeterminate{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b;transform:scale(1.05)}.animated-checkbox:indeterminate:before{content:"";position:absolute;top:50%;left:50%;width:.6rem;height:2px;background:#fff;transform:translate(-50%,-50%);animation:indeterminateDraw .2s ease-out}@keyframes checkboxPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}@keyframes checkmarkDraw{0%{height:0;transform:translateY(.1rem) rotate(45deg)}to{height:.6rem;transform:translate(0) rotate(45deg)}}@keyframes indeterminateDraw{0%{width:0}to{width:.6rem}}.animated-checkbox-sm{width:1rem;height:1rem}.animated-checkbox-sm:checked:before{top:.05rem;left:.3rem;width:.25rem;height:.5rem}.animated-checkbox-sm:indeterminate:before{width:.5rem}.row-selected{background:linear-gradient(135deg,#3b82f60d,#1d4ed80d);border-color:#3b82f633;transform:translate(2px);transition:all .2s ease-out}.dark .row-selected{background:linear-gradient(135deg,#60a5fa1a,#3b82f61a);border-color:#60a5fa4d}.row-fade-in{animation:rowFadeIn .3s ease-out}@keyframes rowFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.row-hover:hover{background-color:#f9fafb;transition:all .2s ease-out}.dark .row-hover:hover{background-color:#1f293780}.selection-counter{animation:counterBounce .3s ease-out}@keyframes counterBounce{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.status-badge{transition:all .2s ease-out}.status-badge:hover{transform:scale(1.05)}.action-button{transition:all .2s ease-out;position:relative;overflow:hidden}.action-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.action-button:active{transform:translateY(0)}.action-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transition:width .3s ease-out,height .3s ease-out;transform:translate(-50%,-50%);pointer-events:none}.action-button:active:before{width:100%;height:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #4e73df4d}50%{box-shadow:0 0 20px #4e73df99}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.exam-upload-assistant{font-family:Poppins,sans-serif}.chat-message{animation:fadeInUp .6s ease-out}.chat-message.assistant{animation:slideInLeft .6s ease-out}.chat-message.user{animation:slideInRight .6s ease-out}.chat-message.system{animation:fadeInUp .6s ease-out}.chat-message:hover{transform:translateY(-2px);transition:transform .3s ease}.exam-type-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(78,115,223,.2);transition:all .4s cubic-bezier(.4,0,.2,1)}.exam-type-card:hover:not(:disabled){animation:glow 2s infinite;transform:translateY(-5px) scale(1.02)}.exam-type-card:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.exam-type-button{transition:all .3s ease;position:relative;overflow:hidden}.exam-type-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #4e73df26}.exam-type-button:disabled{opacity:.6;cursor:not-allowed}.exam-type-button.available{border:2px solid #4e73df;background:linear-gradient(135deg,#fff,#f8f9ff)}.exam-type-button.available:hover{border-color:#224abe;background:linear-gradient(135deg,#e3f2fd,#bbdefb);box-shadow:0 8px 25px #4e73df40}.exam-type-button.available:hover .animated-icon{transform:scale(1.1)}.exam-type-button.available:hover div{color:#1565c0!important;transition:color .3s ease}.exam-type-button div{transition:color .3s ease}.exam-type-button.coming-soon{border:2px solid #e0e0e0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);opacity:.7}.exam-type-button.coming-soon:hover{border-color:#d0d0d0;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);transform:none;box-shadow:none;animation:none}.exam-type-button.coming-soon div{color:#6c757d!important}.upload-area{border:3px dashed rgba(78,115,223,.4);border-radius:20px;background:linear-gradient(135deg,#f8f9ff,#fff);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-area:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(78,115,223,.1),transparent);transition:left .5s}.upload-area:hover:before{left:100%}.upload-area:hover{border-color:#4e73df;background:linear-gradient(135deg,#e3f2fd,#f8f9ff);transform:translateY(-3px);box-shadow:0 10px 30px #4e73df33;animation:glow 2s infinite}.upload-area.dragover{border-color:#28a745;background:linear-gradient(135deg,#e8f5e8,#f0f8f0);transform:scale(1.05);animation:bounce .6s ease}.action-button{background:linear-gradient(135deg,#4e73df,#224abe);border:none;color:#fff;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.action-button:hover:before{left:100%}.action-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #4e73df66;animation:glow 2s infinite}.action-button:active{transform:translateY(-1px) scale(1.02)}.action-button.secondary{background:linear-gradient(135deg,#6c757d,#495057)}.action-button.secondary:hover{box-shadow:0 8px 25px #6c757d66}.action-button.success{background:linear-gradient(135deg,#28a745,#20c997)}.action-button.success:hover{box-shadow:0 8px 25px #28a74566}.action-button.warning{background:linear-gradient(135deg,#ffc107,#fd7e14)}.action-button.warning:hover{box-shadow:0 8px 25px #ffc10766}.progress-step{transition:all .3s ease}.progress-step.completed{background:linear-gradient(135deg,#28a745,#20c997);animation:pulse 2s infinite}.progress-step.current{background:linear-gradient(135deg,#4e73df,#224abe);animation:pulse 2s infinite}.progress-step.pending{background:linear-gradient(135deg,#e9ecef,#dee2e6);color:#6c757d}.progress-line{height:2px;background:linear-gradient(90deg,#e9ecef,#dee2e6);transition:all .3s ease}.progress-line.completed{background:linear-gradient(90deg,#28a745,#20c997)}.student-assignment-table{border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.student-assignment-row{transition:all .3s ease}.student-assignment-row:hover{background:linear-gradient(135deg,#f8f9ff,#fff);transform:translate(4px)}.help-sidebar{background:linear-gradient(135deg,#f8f9fa,#fff);border-left:1px solid #e9ecef}.help-content{border-radius:8px;padding:1rem;margin-bottom:1rem;transition:all .3s ease}.help-content:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.help-content.blue{background:linear-gradient(135deg,#e3f2fd,#f8f9ff);border-left:4px solid #4e73df}.help-content.green{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border-left:4px solid #28a745}.help-content.yellow{background:linear-gradient(135deg,#fff3cd,#fefdf5);border-left:4px solid #ffc107}.help-content.purple{background:linear-gradient(135deg,#f3e5f5,#faf5ff);border-left:4px solid #6f42c1}.help-content.orange{background:linear-gradient(135deg,#fff0e6,#fff8f0);border-left:4px solid #fd7e14}.help-content.teal{background:linear-gradient(135deg,#e6fffa,#f0fdfa);border-left:4px solid #20c997}.help-content.indigo{background:linear-gradient(135deg,#e8eaf6,#f3f4f6);border-left:4px solid #3f51b5}.help-content.gray{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #6c757d}.loading-dots{display:inline-flex;align-items:center}.loading-dots span{display:inline-block;width:4px;height:4px;border-radius:50%;background:#4e73df;margin:0 1px;animation:typing 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.animated-icon{display:inline-block;transition:all .4s cubic-bezier(.4,0,.2,1);animation:float 3s ease-in-out infinite}.animated-icon:hover{transform:scale(1.3) rotate(15deg);animation:bounce .6s ease}.exam-type-card .animated-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.upload-area .animated-icon{animation:float 4s ease-in-out infinite;filter:drop-shadow(0 6px 12px rgba(78,115,223,.2))}.btn-hover-effect{position:relative;overflow:hidden}.btn-hover-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-hover-effect:hover:before{left:100%}@media (max-width: 768px){.exam-upload-assistant{padding:1rem}.help-sidebar{display:none}.chat-message{margin:.5rem 0}.exam-type-button{margin-bottom:.5rem}}.exam-upload-assistant{height:90vh!important;max-height:90vh!important;overflow:hidden;position:relative!important;z-index:15000!important;margin:auto!important}@media (max-height: 800px){.exam-upload-assistant{height:85vh!important;max-height:85vh!important}}@media (max-height: 600px){.exam-upload-assistant{height:95vh!important;max-height:95vh!important}}.modal-container{padding:20px 16px;box-sizing:border-box;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:14999!important}.chat-container{max-height:calc(90vh - 140px);overflow-y:auto;flex:1}.modal-backdrop{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:14999!important;display:flex!important;align-items:center!important;justify-content:center!important}@media (max-height: 800px){.chat-container{max-height:calc(85vh - 140px)}}@media (max-height: 600px){.chat-container{max-height:calc(95vh - 140px)}}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#4e73df #f1f1f1}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px;margin:2px}.custom-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4e73df,#224abe);border-radius:4px;border:1px solid #e9ecef}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#224abe,#1e3a8a);border-color:#dee2e6}.custom-scrollbar::-webkit-scrollbar-corner{background:#f8f9fa}*{transition:all .3s ease}.custom-scrollbar{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:20px;scroll-padding-bottom:20px}.scroll-indicator{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background:linear-gradient(135deg,#4e73df,#224abe);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4e73df4d;z-index:1000}.scroll-indicator:hover{transform:scale(1.1);box-shadow:0 6px 20px #4e73df66}.scroll-indicator.hidden{opacity:0;pointer-events:none}.scroll-fade-top:before{content:"";position:absolute;top:0;left:0;right:0;height:20px;background:linear-gradient(to bottom,#fff,#fff0);pointer-events:none;z-index:1}.scroll-fade-bottom:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(to top,#fff,#fff0);pointer-events:none;z-index:1}.custom-shadow{box-shadow:0 4px 20px #4e73df1a}.custom-shadow-hover:hover{box-shadow:0 8px 30px #4e73df33}.bg-gradient-primary{background:linear-gradient(135deg,#4e73df,#224abe)}.bg-gradient-secondary{background:linear-gradient(135deg,#6c757d,#495057)}.bg-gradient-success{background:linear-gradient(135deg,#28a745,#20c997)}.bg-gradient-warning{background:linear-gradient(135deg,#ffc107,#fd7e14)}.bg-gradient-light{background:linear-gradient(135deg,#f8f9fa,#fff)}@keyframes buttonPulse{0%{transform:scale(1);box-shadow:0 10px 25px #22c55e4d}50%{transform:scale(1.02);box-shadow:0 15px 35px #22c55e66}to{transform:scale(1);box-shadow:0 10px 25px #22c55e4d}}@keyframes buttonGlow{0%,to{box-shadow:0 0 5px #22c55e4d,0 10px 25px #22c55e4d}50%{box-shadow:0 0 20px #22c55e99,0 15px 35px #22c55e66}}.action-button.success{animation:buttonPulse 2s ease-in-out infinite;position:relative;overflow:hidden}.action-button.success:hover{animation:buttonGlow 1.5s ease-in-out infinite;transform:scale(1.05)!important}.action-button.success:active{animation:none;transform:scale(.98)!important}.action-button.success:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.action-button.success:hover:before{left:100%}.file-preview-container{position:relative;overflow:hidden}.file-preview-container:hover .preview-overlay{opacity:1}.file-preview-container .preview-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:8px}.file-preview-container .zoom-indicator{position:absolute;top:4px;right:4px;background:#3b82f6;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:.8;transition:opacity .3s ease}.file-preview-container:hover .zoom-indicator{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.file-preview-container{transition:all .3s ease}.file-preview-container:hover{transform:scale(1.05);box-shadow:0 8px 25px #00000026}.file-preview-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid transparent;border-radius:8px;transition:border-color .3s ease}.file-preview-container:hover:after{border-color:#3b82f6}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc}}@keyframes loading-dots{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.animate-shimmer{animation:shimmer 2s infinite}.animate-pulse-glow{animation:pulse-glow 2s infinite}.animate-loading-dots{animation:loading-dots 1.5s infinite}.processing-indicator{position:relative}.processing-indicator:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid #f59e0b;border-radius:50%;animation:pulse-glow 1.5s infinite}.uploading-indicator{position:relative}.uploading-indicator:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid #3b82f6;border-radius:50%;animation:pulse-glow 1.5s infinite}.preview-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:25000!important;background:#000000bf!important;display:flex!important;align-items:center!important;justify-content:center!important}.preview-modal-content{position:relative!important;z-index:25001!important;max-width:90vw!important;max-height:90vh!important;background:#fff!important;border-radius:12px!important;overflow:hidden!important;box-shadow:0 20px 60px #0000004d!important}.preview-modal-content .p-6{padding:1.5rem!important}.preview-modal-content img{max-width:100%!important;max-height:70vh!important;object-fit:contain!important;border-radius:8px!important}.avatar-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;image-rendering:high-quality;-ms-interpolation-mode:bicubic;object-fit:cover;object-position:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%;transition:all .2s ease-in-out}.avatar-image:hover{transform:scale(1.05)}@supports (image-rendering: auto){.avatar-image{image-rendering:auto}}@supports (image-rendering: crisp-edges){.avatar-image{image-rendering:crisp-edges}}.fabric-canvas-container{position:relative}.fabric-canvas-container .upper-canvas{background-color:transparent!important;pointer-events:auto}.fabric-canvas-container .lower-canvas{background-color:#fff!important}.fabric-canvas-container canvas{display:block}.fabric-canvas-container .upper-canvas,.fabric-canvas-container .lower-canvas{position:absolute;top:0;left:0}.fabric-canvas-fullscreen{width:100vw!important;height:100vh!important}.fabric-canvas-crosshair{cursor:crosshair!important}.fabric-canvas-default{cursor:default!important}.fabric-canvas-move{cursor:move!important}.independent-html-editor{position:relative;isolation:isolate}.independent-html-editor button[title*=Deshacer],.independent-html-editor button[title*=Rehacer]{display:flex!important;align-items:center!important;justify-content:center!important;min-width:32px!important;min-height:32px!important;border:none!important;outline:none!important;border-radius:.375rem!important;font-weight:500!important;transition:all .2s ease-in-out!important;position:relative!important;z-index:1!important}.independent-html-editor[data-editor-id*=grading] button[title*=Deshacer]:not(:disabled),.independent-html-editor[data-editor-id*=grading] button[title*=Rehacer]:not(:disabled){background-color:#d97706!important;color:#fff!important;box-shadow:0 1px 2px #0000000d!important}.independent-html-editor[data-editor-id*=grading] button[title*=Deshacer]:hover:not(:disabled),.independent-html-editor[data-editor-id*=grading] button[title*=Rehacer]:hover:not(:disabled){background-color:#b45309!important;box-shadow:0 2px 4px #0000001a!important}.independent-html-editor[data-editor-id*=report] button[title*=Deshacer]:not(:disabled),.independent-html-editor[data-editor-id*=report] button[title*=Rehacer]:not(:disabled){background-color:#4b5563!important;color:#fff!important;box-shadow:0 1px 2px #0000000d!important}.independent-html-editor[data-editor-id*=report] button[title*=Deshacer]:hover:not(:disabled),.independent-html-editor[data-editor-id*=report] button[title*=Rehacer]:hover:not(:disabled){background-color:#374151!important;box-shadow:0 2px 4px #0000001a!important}.independent-html-editor[data-editor-id*=blue] button[title*=Deshacer]:not(:disabled),.independent-html-editor[data-editor-id*=blue] button[title*=Rehacer]:not(:disabled){background-color:#2563eb!important;color:#fff!important;box-shadow:0 1px 2px #0000000d!important}.independent-html-editor[data-editor-id*=blue] button[title*=Deshacer]:hover:not(:disabled),.independent-html-editor[data-editor-id*=blue] button[title*=Rehacer]:hover:not(:disabled){background-color:#1d4ed8!important;box-shadow:0 2px 4px #0000001a!important}.independent-html-editor button[title*=Deshacer]:disabled,.independent-html-editor button[title*=Rehacer]:disabled{background-color:#d1d5db!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.5!important;box-shadow:none!important}.independent-html-editor button[title*=Deshacer] svg,.independent-html-editor button[title*=Rehacer] svg{pointer-events:none!important;stroke-width:2!important;width:14px!important;height:14px!important}.independent-html-editor .toolbar{position:relative!important;z-index:2!important;background-color:inherit!important}.independent-html-editor .html-toggle-button{position:relative!important;z-index:1!important;white-space:nowrap!important}.independent-html-editor .html-toggle-button.active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;box-shadow:0 2px 4px #2563eb33!important}.independent-html-editor .html-toggle-button.active:hover{background:#1d4ed8!important;border-color:#1d4ed8!important}.independent-html-editor .html-toggle-button:not(.active){background:inherit!important;color:inherit!important;border:1px solid transparent!important}.independent-html-editor .html-toggle-button:not(.active):hover{border-color:#d1d5db!important;background:#0000000d!important}.independent-html-editor .html-toggle-button span{font-weight:600!important;font-size:12px!important;opacity:1!important;visibility:visible!important}@media (max-width: 768px){.independent-html-editor button span.hidden{display:none!important}}@media (prefers-color-scheme: dark){.independent-html-editor button[title*=Deshacer]:disabled,.independent-html-editor button[title*=Rehacer]:disabled{background-color:#374151!important;color:#9ca3af!important}}.independent-html-editor button[title*=Deshacer],.independent-html-editor button[title*=Rehacer]{font-family:inherit!important;font-size:.875rem!important;line-height:1.25rem!important;padding:.375rem .5rem!important}.independent-html-editor button[title*=Deshacer]:focus,.independent-html-editor button[title*=Rehacer]:focus{outline:2px solid transparent!important;outline-offset:2px!important;box-shadow:0 0 0 2px #3b82f680!important}.independent-html-editor button[title*=Deshacer],.independent-html-editor button[title*=Rehacer]{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-clip:padding-box!important}.chart-visualization-container{position:relative}.recharts-tooltip-wrapper{z-index:1000!important}.recharts-bar-rectangle{opacity:1!important;visibility:visible!important}.recharts-bar rect{opacity:1!important;visibility:visible!important;fill-opacity:1!important}.recharts-surface{overflow:visible!important}.recharts-cartesian-grid-horizontal{opacity:.3}.recharts-cartesian-grid-vertical{opacity:.1}.table-row-hover{transition:all .2s ease!important}.table-row-hover:hover{transform:translateY(-1px)!important;box-shadow:0 4px 12px #0000001a!important}.student-avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Poppins,sans-serif!important;font-weight:700!important;letter-spacing:.5px!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important;border:2px solid rgba(255,255,255,.2)!important;box-shadow:0 2px 8px #00000026!important;transition:all .2s ease!important}.student-avatar:hover{transform:scale(1.05)!important;box-shadow:0 4px 12px #0003!important}.student-avatar span{color:#fff!important;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.6)!important;letter-spacing:.5px!important;font-family:Poppins,sans-serif!important;line-height:1!important;display:block!important}.student-avatar *{color:#fff!important}.action-button{transition:all .2s ease!important;position:relative!important;overflow:hidden!important}.action-button:hover{transform:translateY(-1px)!important;box-shadow:0 4px 8px #00000026!important}.action-button-edit:hover svg{transform:scale(1.1) rotate(5deg)!important}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:translate-x-0{transform:translate(0)}.smooth-hover{transition:all .2s cubic-bezier(.4,0,.2,1)}.smooth-hover:hover{transform:translateY(-1px)}.file-carousel-item{transition:all .2s ease-in-out}.file-carousel-item:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.bg-override{background-color:var(--bg-color)!important}.file-thumbnail{transition:all .2s ease!important}.file-thumbnail:hover{transform:scale(1.05)!important;box-shadow:0 4px 8px #00000026!important}.status-badge{white-space:nowrap!important;display:inline-flex!important;align-items:center!important;min-width:fit-content!important;font-size:.75rem!important;font-weight:600!important;padding:4px 8px!important;border-radius:9999px!important}.grade-display{font-family:Poppins,sans-serif!important;font-weight:600!important;white-space:nowrap!important}.grade-excellent{color:#059669!important;background:linear-gradient(135deg,#d1fae5,#a7f3d0)!important;padding:4px 8px!important;border-radius:6px!important;border:1px solid #34d399!important}.grade-good{color:#0891b2!important;background:linear-gradient(135deg,#cffafe,#a5f3fc)!important;padding:4px 8px!important;border-radius:6px!important;border:1px solid #22d3ee!important}.grade-average{color:#d97706!important;background:linear-gradient(135deg,#fef3c7,#fde68a)!important;padding:4px 8px!important;border-radius:6px!important;border:1px solid #f59e0b!important}.grade-poor{color:#dc2626!important;background:linear-gradient(135deg,#fee2e2,#fecaca)!important;padding:4px 8px!important;border-radius:6px!important;border:1px solid #ef4444!important}.grade-ungraded{color:#6b7280!important;font-style:italic!important}.btn-grade-pending{background:linear-gradient(135deg,#f59e0b,#d97706)!important;border:none!important;color:#fff!important;font-weight:600!important;box-shadow:0 2px 8px #f59e0b4d!important}.btn-grade-pending:hover{background:linear-gradient(135deg,#d97706,#b45309)!important;box-shadow:0 4px 12px #f59e0b66!important;transform:translateY(-2px)!important}.btn-grade-completed{background:linear-gradient(135deg,#059669,#047857)!important;border:none!important;color:#fff!important;font-weight:600!important;box-shadow:0 2px 8px #0596694d!important}.btn-grade-completed:hover{background:linear-gradient(135deg,#047857,#065f46)!important;box-shadow:0 4px 12px #05966966!important;transform:translateY(-2px)!important}@keyframes grade-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.grade-animate{animation:grade-appear .3s ease-out!important}.review-progress{display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:.75rem!important;color:#6b7280!important}.review-progress-complete{color:#059669!important}.review-progress-partial{color:#d97706!important}.review-progress-none{color:#dc2626!important}.dark .grade-excellent{background:linear-gradient(135deg,#064e3b,#065f46)!important;color:#6ee7b7!important;border-color:#10b981!important}.dark .grade-good{background:linear-gradient(135deg,#164e63,#155e75)!important;color:#67e8f9!important;border-color:#06b6d4!important}.dark .grade-average{background:linear-gradient(135deg,#78350f,#92400e)!important;color:#fbbf24!important;border-color:#f59e0b!important}.dark .grade-poor{background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;color:#fca5a5!important;border-color:#ef4444!important}.dark .grade-ungraded{color:#9ca3af!important}.table-cell-content{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.table-cell-multiline{white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.action-buttons-container{min-width:fit-content!important;white-space:nowrap!important}.table-fixed{table-layout:fixed!important}.table-fixed td{overflow:hidden!important;text-overflow:ellipsis!important}.table-fixed .status-column{min-width:112px!important}.table-fixed .grade-column{min-width:144px!important}.table-fixed .actions-column{min-width:288px!important}.table-fixed .date-column{min-width:96px!important;font-size:.875rem!important}.table-fixed .date-column .text-sm{font-size:.75rem!important;line-height:1.2!important}.table-container,.table-container .overflow-x-auto{margin:0!important;padding:0!important}.table-fixed td,.table-fixed th{padding:12px 8px!important}.action-buttons-container{gap:4px!important;justify-content:flex-start!important;flex-wrap:nowrap!important;min-width:fit-content!important}.action-button{padding:6px 8px!important;font-size:.75rem!important;min-width:auto!important;white-space:nowrap!important}.btn-sm{padding:6px 8px!important;font-size:.75rem!important;line-height:1.2!important;min-height:auto!important}.btn-sm svg{width:14px!important;height:14px!important}.table-container{width:100%!important;max-width:100%!important}.table-fixed{width:100%!important;table-layout:fixed!important}:root{--color-bg-primary: #f9fafb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f3f4f6;--color-bg-card: #ffffff;--color-bg-modal: #ffffff;--color-bg-header: linear-gradient(135deg, #4e73df 0%, #224abe 100%);--color-bg-footer: linear-gradient(135deg, #4e73df 0%, #224abe 100%);--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--color-text-muted: #374151;--color-border-primary: #e5e7eb;--color-border-secondary: #d1d5db;--color-border-focus: #3b82f6;--color-hover-bg: #f3f4f6;--color-active-bg: #e5e7eb;--color-focus-ring: rgba(59, 130, 246, .3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--glass-bg: rgba(255, 255, 255, .2);--glass-border: rgba(255, 255, 255, .3);--glass-hover: rgba(255, 255, 255, .25)}:root.dark{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-card: #1e293b;--color-bg-modal: #1e293b;--color-bg-header: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--color-bg-footer: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #0f172a;--color-text-muted: #e2e8f0;--color-border-primary: #334155;--color-border-secondary: #475569;--color-border-focus: #60a5fa;--color-hover-bg: #334155;--color-active-bg: #475569;--color-focus-ring: rgba(96, 165, 250, .3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .4);--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(148, 163, 184, .2);--glass-hover: rgba(30, 41, 59, .8)}.dark-bg-primary{background-color:var(--color-bg-primary)}.dark-bg-secondary{background-color:var(--color-bg-secondary)}.dark-bg-card{background-color:var(--color-bg-card)}.dark-text-primary{color:var(--color-text-primary)}.dark-text-secondary{color:var(--color-text-secondary)}.dark-text-muted{color:var(--color-text-muted)}.dark-border{border-color:var(--color-border-primary)}.dark-border-secondary{border-color:var(--color-border-secondary)}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}.theme-card{background-color:var(--color-bg-card);border-color:var(--color-border-primary);box-shadow:var(--shadow-sm);transition:all .3s ease}.theme-card:hover{box-shadow:var(--shadow-md)}.theme-input{background-color:var(--color-bg-secondary);border-color:var(--color-border-primary);color:var(--color-text-primary);transition:all .3s ease}.theme-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.theme-input::placeholder{color:var(--color-text-tertiary)}.theme-button{transition:all .3s ease}.theme-button-secondary{background-color:var(--color-bg-secondary);border-color:var(--color-border-primary);color:var(--color-text-primary)}.theme-button-secondary:hover{background-color:var(--color-hover-bg)}.theme-header{background:var(--color-bg-header)}.theme-footer{background:var(--color-bg-footer)}.theme-glass-effect{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.theme-glass-effect:hover{background:var(--glass-hover);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translateY(-1px)}.theme-dropdown{background-color:var(--color-bg-modal);border-color:var(--color-border-primary);box-shadow:var(--shadow-xl)}.theme-modal{background-color:var(--color-bg-modal);color:var(--color-text-primary)}.dark input[type=text],.dark input[type=email],.dark input[type=password],.dark input[type=search],.dark textarea,.dark select{background-color:#374151!important;border-color:#4b5563!important;color:#f9fafb!important}.dark input[type=text]::placeholder,.dark input[type=email]::placeholder,.dark input[type=password]::placeholder,.dark input[type=search]::placeholder,.dark textarea::placeholder{color:#9ca3af!important;opacity:1!important}.dark input[type=text]:focus,.dark input[type=email]:focus,.dark input[type=password]:focus,.dark input[type=search]:focus,.dark textarea:focus,.dark select:focus{background-color:#374151!important;border-color:#60a5fa!important;color:#f9fafb!important;--tw-ring-color: rgba(96, 165, 250, .3) !important}.dark .bg-gray-50{background-color:var(--color-bg-primary)!important}.dark .bg-white{background-color:var(--color-bg-card)!important}.dark .bg-gray-100{background-color:var(--color-bg-tertiary)!important}.dark .bg-gray-200{background-color:var(--color-border-secondary)!important}.dark .bg-gray-800{background-color:var(--color-bg-card)!important}.dark .bg-gray-700{background-color:var(--color-bg-secondary)!important}.dark .bg-gray-600{background-color:#4b5563!important}.dark .bg-gray-500{background-color:#6b7280!important}.dark .bg-gray-400{background-color:#9ca3af!important}.dark .bg-gray-300{background-color:#d1d5db!important}.dark .text-gray-900,.dark .text-gray-800{color:var(--color-text-primary)!important}.dark .text-gray-700,.dark .text-gray-600{color:var(--color-text-secondary)!important}.dark .text-gray-500,.dark .text-gray-400{color:var(--color-text-tertiary)!important}.dark .text-gray-300{color:var(--color-text-secondary)!important}.dark .text-gray-100{color:var(--color-text-primary)!important}.dark .placeholder-gray-500::placeholder{color:#9ca3af!important;opacity:1!important}.dark .placeholder-gray-400::placeholder{color:#9ca3af!important;opacity:1!important}.dark input::placeholder{color:#9ca3af!important;opacity:1!important}.dark textarea::placeholder{color:#9ca3af!important;opacity:1!important}.dark .border-gray-200{border-color:var(--color-border-primary)!important}.dark .border-gray-300{border-color:var(--color-border-secondary)!important}.dark .border-gray-600{border-color:var(--color-border-primary)!important}.dark .border-gray-700{border-color:var(--color-border-secondary)!important}.dark .hover\:bg-gray-50:hover,.dark .hover\:bg-gray-100:hover{background-color:var(--color-hover-bg)!important}.dark .hover\:bg-gray-200:hover{background-color:var(--color-active-bg)!important}.dark .hover\:bg-gray-600:hover{background-color:var(--color-hover-bg)!important}.dark .hover\:bg-gray-700:hover{background-color:var(--color-active-bg)!important}.dark .hover\:text-gray-900:hover,.dark .hover\:text-gray-300:hover{color:var(--color-text-primary)!important}.dark .focus\:ring-blue-500:focus{--tw-ring-color: var(--color-focus-ring) !important}.dark .focus\:ring-blue-400:focus{--tw-ring-color: var(--color-focus-ring) !important}.dark .focus\:border-blue-500:focus{border-color:var(--color-border-focus)!important}.dark .focus\:border-blue-300:focus{border-color:var(--color-border-focus)!important}.dark .focus\:bg-white:focus{background-color:#374151!important}.dark .focus\:bg-gray-800:focus{background-color:#374151!important}.dark .focus\:bg-gray-700:focus{background-color:#374151!important}.dark .global-search-input{background-color:#374151!important;border-color:#4b5563!important;color:#f9fafb!important}.dark .global-search-input::placeholder{color:#9ca3af!important;opacity:1!important}.dark .global-search-results{background-color:var(--color-bg-card)!important;border-color:var(--color-border-primary)!important}.dark .global-search-item:hover{background-color:#3b82f61a!important}.dark .user-dropdown{background-color:var(--color-bg-modal)!important;border-color:var(--color-border-primary)!important;box-shadow:var(--shadow-xl)!important}.dark .user-dropdown-item{color:var(--color-text-secondary)!important}.dark .user-dropdown-item:hover{background-color:var(--color-hover-bg)!important;color:var(--color-text-primary)!important}.dark .dashboard-card{background-color:var(--color-bg-card)!important;border-color:var(--color-border-primary)!important}.dark .dashboard-card:hover{box-shadow:var(--shadow-lg)!important;transform:translateY(-2px)}.dark .form-input,.dark .form-select,.dark .form-textarea,.dark input[placeholder*="Título del examen"],.dark input[placeholder*="Nombre del estudiante"],.dark input[placeholder*="Buscar por título"],.dark input[placeholder*="Buscar por estudiante"]{background-color:#374151!important;border-color:#4b5563!important;color:#f9fafb!important}.dark .badge-blue{background-color:#3b82f633!important;color:#93c5fd!important}.dark .badge-green{background-color:#22c55e33!important;color:#86efac!important}.dark .badge-red{background-color:#ef444433!important;color:#fca5a5!important}.dark .badge-yellow{background-color:#f59e0b33!important;color:#fde68a!important}.dark .badge-purple{background-color:#a855f733!important;color:#d8b4fe!important}.dark .hover\:text-blue-600:hover{color:#60a5fa!important}.dark .hover\:text-blue-400:hover{color:#93c5fd!important}.dark .hover\:text-purple-600:hover{color:#c084fc!important}.dark .hover\:text-purple-400:hover{color:#d8b4fe!important}.dark .hover\:text-red-700:hover{color:#fca5a5!important}.dark .hover\:text-red-300:hover{color:#fecaca!important}.dark .hover\:bg-blue-50:hover{background-color:#3b82f61a!important}.dark .hover\:bg-purple-50:hover{background-color:#a855f71a!important}.dark .hover\:bg-red-50:hover{background-color:#ef44441a!important}.dark input.px-4,.dark input.py-2,.dark input.py-3,.dark input.rounded-lg,.dark input.rounded-xl,.dark textarea.px-4,.dark textarea.py-2,.dark textarea.py-3,.dark textarea.rounded-lg,.dark textarea.rounded-xl{background-color:#374151!important;border-color:#4b5563!important;color:#f9fafb!important}.dark input.px-4::placeholder,.dark input.py-2::placeholder,.dark input.py-3::placeholder,.dark input.rounded-lg::placeholder,.dark input.rounded-xl::placeholder,.dark textarea.px-4::placeholder,.dark textarea.py-2::placeholder,.dark textarea.py-3::placeholder,.dark textarea.rounded-lg::placeholder,.dark textarea.rounded-xl::placeholder{color:#9ca3af!important;opacity:1!important}.dark .modal-scrollbar::-webkit-scrollbar-track{background-color:var(--color-bg-tertiary)!important}.dark .modal-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-border-secondary)!important}.dark .modal-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)!important}@keyframes darkModeToggle{0%{transform:rotate(0)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg)}}.dark-mode-toggle{animation:darkModeToggle .5s ease-in-out}*{transition-property:background-color,border-color,color,box-shadow;transition-duration:.3s;transition-timing-function:ease-in-out}.theme-transitioning *{transition:none!important}.dark .formatted-analysis{color:var(--color-text-secondary)!important}.dark .formatted-analysis h2{color:#c084fc!important;border-color:#c084fc4d!important}.dark .formatted-analysis h3{color:#60a5fa!important;background-color:#3b82f61a!important;border-color:#60a5fa!important}.dark .formatted-analysis .score-box{background-color:#3b82f61a!important;border-color:#60a5fa!important}.dark .formatted-analysis .error-box{background-color:#fb923c1a!important;border-color:#fb923c!important}.dark .formatted-analysis .feedback-box{background-color:#94a3b81a!important;border-color:#94a3b8!important}.dark .formatted-analysis .strengths-box{background-color:#22c55e1a!important;border-color:#22c55e!important}.dark .formatted-analysis .improvements-box{background-color:#f59e0b1a!important;border-color:#f59e0b!important}.dark .formatted-analysis .responses-box{background-color:#6366f11a!important;border-color:#6366f1!important}@media (max-width: 768px){.dark .theme-card{box-shadow:var(--shadow-sm)!important}.dark .theme-dropdown{box-shadow:var(--shadow-lg)!important}}@media print{.dark{--color-bg-primary: #ffffff !important;--color-bg-secondary: #ffffff !important;--color-bg-card: #ffffff !important;--color-text-primary: #000000 !important;--color-text-secondary: #333333 !important;--color-border-primary: #cccccc !important}}.dark .table{background-color:#1f2937!important;color:#f3f4f6!important}.dark .table thead tr{background-color:#374151!important;border-color:#4b5563!important}.dark .table thead th{background-color:#374151!important;color:#d1d5db!important;border-color:#4b5563!important}.dark .table tbody tr{background-color:#1f2937!important;border-color:#4b5563!important}.dark .table tbody tr:hover{background-color:#374151!important}.dark .table tbody td{background-color:transparent!important;color:#f3f4f6!important;border-color:#4b5563!important}.dark .table-zebra tbody tr:nth-child(odd){background-color:#1f2937!important}.dark .table-zebra tbody tr:nth-child(2n){background-color:#111827!important}.dark .badge{background-color:#374151!important;color:#f3f4f6!important;border-color:#4b5563!important}.dark .badge-outline{background-color:transparent!important;color:#f3f4f6!important;border-color:#4b5563!important}.dark .materia-card{background-color:#1f2937!important;border-color:#4b5563!important}.dark .textarea{background-color:#374151!important;color:#f3f4f6!important;border-color:#4b5563!important}.dark .textarea:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.dark .label-text{color:#d1d5db!important}.dark .divider{border-color:#4b5563!important}.dark .divider:before,.dark .divider:after{border-color:#4b5563!important}.dark [class*=from-white],.dark [class*=via-white],.dark [class*=to-white]{background:linear-gradient(135deg,#1f2937,#374151,#1f2937)!important}.dark [class*=bg-gradient-to-br][class*=from-white],.dark [class*=bg-gradient-to-br][class*=from-gray-100]{background:linear-gradient(135deg,#1f2937,#374151,#4b5563)!important}.dark [class*=border-white],.dark [class*=border-gray-200]{border-color:#4b5563!important}.dark .shadow-lg{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d!important}.dark .shadow-xl{box-shadow:0 20px 25px -5px #0009,0 10px 10px -5px #0006!important}.dark .shadow-2xl{box-shadow:0 25px 50px -12px #000000b3!important}.dark .modal-overlay{background-color:#000000b3!important}.dark .modal-container{background-color:#1f2937!important;box-shadow:0 25px 50px -12px #000c!important}.dark .modal-header{border-bottom-color:#4b5563!important}.dark .modal-footer{border-top-color:#4b5563!important}.dark .modal-body input,.dark .modal-body textarea,.dark .modal-body select{background-color:#374151!important;border-color:#4b5563!important;color:#f3f4f6!important}.dark .modal-body input::placeholder,.dark .modal-body textarea::placeholder{color:#9ca3af!important}.dark .modal-body input:focus,.dark .modal-body textarea:focus,.dark .modal-body select:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.dark .modal-body label{color:#d1d5db!important}.dark .modal-footer button{transition:all .2s ease!important}.dark .modal-content:hover{box-shadow:0 25px 50px -12px #000000e6!important}.dark .ai-analysis-content h2,.dark .ai-analysis-content h3,.dark .ai-analysis-content p,.dark .ai-analysis-content span{color:#bfdbfe!important}.animate-gradient-shift{background-size:300% 300%;animation:gradient-shift 4s ease infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(-5px) rotate(-1deg)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes float-particles{0%,to{transform:translateY(0) translate(0) scale(1);opacity:.3}25%{opacity:.8}50%{transform:translateY(-20px) translate(10px) scale(1.2);opacity:1}75%{opacity:.6}}.animate-float-particles{animation:float-particles 4s ease-in-out infinite}@keyframes bounce-gentle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.05)}}.animate-bounce-gentle{animation:bounce-gentle 3s ease-in-out infinite}@keyframes wave{0%,50%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}}.animate-wave{animation:wave 2s ease-in-out infinite;transform-origin:70% 70%}@keyframes bounce-in{0%{transform:scale(0) translateY(20px);opacity:0}50%{transform:scale(1.1) translateY(-5px);opacity:.8}to{transform:scale(1) translateY(0);opacity:1}}.animate-bounce-in{animation:bounce-in .8s ease-out .5s both}@keyframes slide-in-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in-up{animation:slide-in-up .6s ease-out forwards}@keyframes slide-in-left{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-left{animation:slide-in-left .6s ease-out forwards}.animate-fade-in{animation:fade-in .8s ease-out forwards}.animate-progress-bar{animation:progress-bar 8s linear forwards}@keyframes pulse-gentle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.animate-pulse-gentle{animation:pulse-gentle 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes rotate-gentle{0%{transform:rotate(0)}25%{transform:rotate(2deg)}50%{transform:rotate(0)}75%{transform:rotate(-2deg)}to{transform:rotate(0)}}.animate-rotate-gentle{animation:rotate-gentle 4s ease-in-out infinite}.hover-scale:hover{transform:scale(1.05);transition:transform .2s ease-out}@media (prefers-color-scheme: dark){.welcome-dark{--gradient-start: #1f2937;--gradient-middle: #374151;--gradient-end: #4b5563}}@media (max-width: 768px){.animate-slide-in-up{animation-duration:.4s}.animate-bounce-gentle{animation-duration:2s}.animate-float{animation-duration:4s}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-spin{animation:spin 1s linear infinite!important}}@keyframes wave{0%,to{transform:rotate(-8deg) translateZ(0)}50%{transform:rotate(8deg) translateZ(0)}}@keyframes float{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-8px) translateZ(0)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes bounce-gentle{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-3px) translateZ(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(15px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-15px) translateZ(0)}to{opacity:1;transform:translate(0) translateZ(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-15px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.5) translateZ(0)}50%{opacity:1;transform:scale(1.02) translateZ(0)}70%{transform:scale(.98) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes progress-bar{0%{width:0%}to{width:100%}}@keyframes float-particles{0%,to{transform:translateY(0) rotate(0) translateZ(0);opacity:.8}25%{transform:translateY(-6px) rotate(45deg) translateZ(0);opacity:.6}50%{transform:translateY(-12px) rotate(90deg) translateZ(0);opacity:.4}75%{transform:translateY(-6px) rotate(135deg) translateZ(0);opacity:.6}}.animate-wave{animation:wave 2.5s ease-in-out infinite;will-change:transform}.animate-float{animation:float 4s ease-in-out infinite;will-change:transform}.animate-gradient-shift{background-size:300% 300%;animation:gradient-shift 12s ease infinite;will-change:background-position}.animate-bounce-gentle{animation:bounce-gentle 3s ease-in-out infinite;will-change:transform}.animate-fade-in{animation:fade-in .6s ease-out}.animate-slide-in-up{animation:slide-in-up .8s ease-out;will-change:transform,opacity}.animate-slide-in-left{animation:slide-in-left .8s ease-out;will-change:transform,opacity}.animate-slide-in-down{animation:slide-in-down .8s ease-out;will-change:transform,opacity}.animate-bounce-in{animation:bounce-in .8s ease-out;will-change:transform,opacity}.animate-progress-bar{animation:progress-bar 10s linear;will-change:width}.animate-float-particles{animation:float-particles 8s ease-in-out infinite;will-change:transform,opacity}.transition-colors-smooth{transition:color .25s ease,background-color .25s ease}.transition-all-smooth{transition:all .25s ease}.transition-transform-smooth{transition:transform .25s ease;will-change:transform}.hover-scale{transition:transform .2s ease;will-change:transform}.hover-scale:hover{transform:scale(1.03) translateZ(0)}.hover-lift{transition:transform .2s ease,box-shadow .2s ease;will-change:transform,box-shadow}.hover-lift:hover{transform:translateY(-1px) translateZ(0);box-shadow:0 3px 8px #0000001f}.hover-glow{transition:box-shadow .25s ease;will-change:box-shadow}.hover-glow:hover{box-shadow:0 0 15px #3b82f666}.btn-animated{position:relative;overflow:hidden;transition:all .25s ease;will-change:transform}.btn-animated:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-animated:hover:before{left:100%}.btn-animated:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.skeleton-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.card-enter{opacity:0;transform:translateY(20px) scale(.95)}.card-enter-active{opacity:1;transform:translateY(0) scale(1);transition:opacity .3s ease,transform .3s ease}.modal-overlay{opacity:0;transition:opacity .3s ease}.modal-overlay.active{opacity:1}.modal-content{transform:scale(.7) translateY(-50px);opacity:0;transition:all .3s ease}.modal-content.active{transform:scale(1) translateY(0);opacity:1}@keyframes pulse-glow{0%{box-shadow:0 0 5px #3b82f666,0 0 10px #3b82f64d,0 0 15px #3b82f633}50%{box-shadow:0 0 10px #3b82f699,0 0 20px #3b82f666,0 0 30px #3b82f64d}to{box-shadow:0 0 5px #3b82f666,0 0 10px #3b82f64d,0 0 15px #3b82f633}}@keyframes pulse-glow-green{0%{box-shadow:0 0 5px #22c55e66,0 0 10px #22c55e4d,0 0 15px #22c55e33}50%{box-shadow:0 0 10px #22c55e99,0 0 20px #22c55e66,0 0 30px #22c55e4d}to{box-shadow:0 0 5px #22c55e66,0 0 10px #22c55e4d,0 0 15px #22c55e33}}@keyframes breathe{0%,to{transform:scale(1) translateZ(0)}50%{transform:scale(1.01) translateZ(0)}}@keyframes rotate-gentle{0%{transform:rotate(0) translateZ(0)}25%{transform:rotate(2deg) translateZ(0)}75%{transform:rotate(-2deg) translateZ(0)}to{transform:rotate(0) translateZ(0)}}@keyframes appear-bounce{0%{opacity:0;transform:scale(.5) translateY(15px) translateZ(0)}50%{opacity:1;transform:scale(1.02) translateY(-3px) translateZ(0)}70%{transform:scale(.98) translateY(1px) translateZ(0)}to{opacity:1;transform:scale(1) translateY(0) translateZ(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite alternate;will-change:box-shadow}.animate-pulse-glow-green{animation:pulse-glow-green 3s ease-in-out infinite alternate;will-change:box-shadow}.animate-breathe{animation:breathe 4s ease-in-out infinite;will-change:transform}.animate-rotate-gentle{animation:rotate-gentle 6s ease-in-out infinite;will-change:transform}.animate-appear-bounce{animation:appear-bounce .8s ease-out;will-change:transform,opacity}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:shimmer 2.5s infinite;will-change:background-position}.upload-button-hover{transition:all .25s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.upload-button-hover:hover{transform:translateY(-1px) scale(1.01) translateZ(0);box-shadow:0 6px 15px #0000001f}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%) translateZ(0);transition:width .4s ease,height .4s ease;will-change:width,height}.ripple-effect:active:before{width:200px;height:200px}@keyframes processing-dots{0%,20%{color:#fff6}40%{color:#fff}to{color:#fff6}}.processing-dots span:nth-child(1){animation:processing-dots 1.4s infinite ease-in-out}.processing-dots span:nth-child(2){animation:processing-dots 1.4s infinite ease-in-out .2s}.processing-dots span:nth-child(3){animation:processing-dots 1.4s infinite ease-in-out .4s}@keyframes float-up{0%{opacity:0;transform:translateY(100px) scale(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px) scale(1)}}.floating-particles:before{content:"✨";position:absolute;animation:float-up 3s infinite linear;pointer-events:none}.smooth-state-transition{transition:all .4s cubic-bezier(.4,0,.2,1)}.focus-ring{transition:all .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}@keyframes success-checkmark{0%{transform:scale(0) rotate(45deg);opacity:0}50%{transform:scale(1.2) rotate(45deg);opacity:1}to{transform:scale(1) rotate(45deg);opacity:1}}.animate-success-checkmark{animation:success-checkmark .5s ease-out}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px);max-height:0}to{opacity:1;transform:translateY(0);max-height:500px}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-slide-down{animation:slide-down .4s ease-out forwards}.animate-fade-in-up{animation:fade-in-up .6s ease-out both}.animate-slide-in-right{animation:slide-in-right .6s ease-out both}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse-slow{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 20px #3b82f64d}50%{box-shadow:0 0 30px #3b82f699}}@keyframes particle-float{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-20px) rotate(180deg);opacity:1}}.animate-spin-slow{animation:spin-slow 4s linear infinite}.animate-spin-reverse-slow{animation:spin-reverse-slow 6s linear infinite}.animate-fade-in{animation:fade-in .8s ease-out}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-particle-float{animation:particle-float 3s ease-in-out infinite}.transition-all-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.hover-glow:hover{box-shadow:0 10px 25px #0000001a}.border-3{border-width:3px}.w-30{width:7.5rem}.h-30{height:7.5rem}.tooltip-container{position:relative;display:inline-block}.tooltip-content{position:absolute;z-index:9999;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;transform:translateY(5px)}.tooltip-container:hover .tooltip-content{opacity:1;visibility:visible;transform:translateY(0)}@keyframes tooltip-appear{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tooltip-animate{animation:tooltip-appear .2s ease-out}.tooltip-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;pointer-events:none}.tooltip-wrapper{position:relative;z-index:9999}.chart-container{position:relative;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(135deg,#4e73df,#224abe)}.chart-selector{display:flex;flex-wrap:wrap;gap:8px;padding:16px;background:#f8fafc80;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chart-selector-button{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s ease;cursor:pointer;border:1px solid transparent;position:relative;overflow:hidden}.chart-selector-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.chart-selector-button.active{background:linear-gradient(135deg,#4e73df,#224abe);color:#fff;box-shadow:0 4px 12px #4e73df4d}.chart-selector-button.active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.chart-selector-button:not(.active){background:#fffc;color:#374151;border-color:#d1d5db80}.chart-selector-button:not(.active):hover{background:#fffffff2;border-color:#9ca3af80}.chart-info-banner{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:8px;padding:12px 16px;margin-bottom:16px;position:relative;overflow:hidden}.chart-info-banner:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#4e73df,#224abe)}.chart-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;padding:16px;background:#f8fafc80;border-radius:8px;border-top:1px solid rgba(229,231,235,.5)}.chart-stat-item{text-align:center;padding:12px;background:#ffffffb3;border-radius:8px;transition:all .2s ease;border:1px solid rgba(229,231,235,.3)}.chart-stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;background:#ffffffe6}.chart-stat-value{font-size:24px;font-weight:700;margin-bottom:4px;background:linear-gradient(135deg,#4e73df,#224abe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chart-stat-label{font-size:12px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.chart-transition-enter{opacity:0;transform:scale(.95) translateY(20px)}.chart-transition-enter-active{opacity:1;transform:scale(1) translateY(0);transition:all .3s ease}.chart-transition-exit{opacity:1;transform:scale(1) translateY(0)}.chart-transition-exit-active{opacity:0;transform:scale(.95) translateY(-20px);transition:all .3s ease}.recharts-tooltip-wrapper{border-radius:8px!important;box-shadow:0 10px 25px #00000026!important}.recharts-tooltip-content{background:#1f2937!important;border:none!important;border-radius:8px!important;box-shadow:0 10px 25px #00000040!important}.recharts-tooltip-label{color:#f9fafb!important;font-weight:600!important;margin-bottom:8px!important}.recharts-tooltip-item{color:#e5e7eb!important;font-size:14px!important}.recharts-legend-wrapper{padding-top:16px!important}.recharts-legend-item{margin-right:16px!important;font-size:12px!important;color:#6b7280!important}@media (max-width: 768px){.chart-selector{flex-direction:column;gap:8px}.chart-selector-button{justify-content:center}.chart-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.chart-stat-value{font-size:20px}}@media (max-width: 480px){.chart-stats-grid{grid-template-columns:1fr}.chart-container{margin:0 -16px;border-radius:0}}.chart-interactive-element{cursor:pointer;transition:all .2s ease}.chart-interactive-element:hover{filter:brightness(1.1);transform:scale(1.02)}.chart-loading{display:flex;align-items:center;justify-content:center;height:300px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px}.chart-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #4e73df;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.performance-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.performance-indicator.excelente{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.performance-indicator.bueno{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.performance-indicator.aceptable{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2)}.performance-indicator.basico{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.performance-indicator.refuerzo{background:#8b5cf61a;color:#7c3aed;border:1px solid rgba(139,92,246,.2)}
