@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(6, 182, 212, .15);--accent-cyan: #06b6d4;--accent-gold: #f59e0b;--neon-cyan: #22d3ee;--success: #10b981;--warning: #f59e0b;--danger: #f43f5e;--info: #06b6d4;--bg-app: #F8FAFC;--bg-card: rgba(255, 255, 255, .65);--bg-subtle: #E2E8F0;--bg-input: rgba(255, 255, 255, .8);--bg-glass: rgba(255, 255, 255, .45);--text-main: #0f172a;--text-secondary: #1e293b;--text-muted: #64748b;--text-faint: #94a3b8;--border: rgba(203, 213, 225, .5);--border-subtle: rgba(226, 232, 240, .6);--border-glow: rgba(6, 182, 212, .25);--shadow-sm: 0 2px 8px rgba(203, 213, 225, .3);--shadow-md: 0 4px 20px rgba(203, 213, 225, .25);--shadow-lg: 0 12px 40px rgba(203, 213, 225, .3);--glow-primary: 0 0 25px rgba(6, 182, 212, .1);--glow-cyan: 0 0 30px rgba(6, 182, 212, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 100px;--sidebar-bg: #0f172a;--sidebar-text: #94a3b8;--sidebar-w: 260px}*{margin:0;padding:0;box-sizing:border-box;font-family:Plus Jakarta Sans,sans-serif}body{background:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;font-size:14px;background-image:radial-gradient(ellipse at 15% 30%,rgba(6,182,212,.06) 0%,transparent 50%),radial-gradient(ellipse at 85% 70%,rgba(99,102,241,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(6,182,212,.02) 0%,transparent 70%);background-attachment:fixed}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{0%{left:-150%}to{left:150%}}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes menuItemFade{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes glowPulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.1)}66%{transform:translate(-20px,15px) scale(.95)}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0c1222,#0f172a 40%,#131c33);padding:1.5rem .75rem;display:flex;flex-direction:column;color:#fff;height:100vh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;animation:sidebarSlideIn .5s ease-out;border-right:1px solid rgba(99,102,241,.08)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#6366f133;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#6366f166}.sidebar:before{content:"";position:absolute;top:-40px;left:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);border-radius:50%;animation:floatOrb 12s ease-in-out infinite;pointer-events:none;z-index:0}.sidebar:after{content:"";position:absolute;bottom:40px;right:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(6,182,212,.12) 0%,transparent 70%);border-radius:50%;animation:floatOrb 15s ease-in-out infinite reverse;pointer-events:none;z-index:0}.sidebar>*{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:.85rem;margin-bottom:2.5rem;padding:0 1rem;animation:menuItemFade .5s ease-out .1s both}.brand-icon-premium{width:42px;height:42px;background:linear-gradient(135deg,#6366f1,#06b6d4);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 10px 25px -5px #6366f159,0 0 0 1px #6366f11a;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.brand-icon-premium:hover{transform:rotate(-5deg) scale(1.05);box-shadow:0 12px 30px -5px #6366f180,0 0 0 1px #6366f133}.brand-icon-premium:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.25),transparent);transform:rotate(45deg);animation:shine 3s infinite}.sidebar-section-label{font-size:.6rem;font-weight:800;color:#94a3b880;letter-spacing:.18em;text-transform:uppercase;padding:.5rem 1.15rem;margin-top:.5rem;animation:menuItemFade .5s ease-out .15s both}.menu{display:flex;flex-direction:column;gap:.25rem}.menu-link{text-decoration:none;color:var(--sidebar-text);padding:.8rem 1.15rem;border-radius:var(--radius-md);font-weight:600;font-size:.86rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;position:relative;overflow:hidden;letter-spacing:.01em}.menu-link:nth-child(1){animation:menuItemFade .4s ease-out .15s both}.menu-link:nth-child(2){animation:menuItemFade .4s ease-out .22s both}.menu-link:nth-child(3){animation:menuItemFade .4s ease-out .29s both}.menu-link:nth-child(4){animation:menuItemFade .4s ease-out .36s both}.menu-link:nth-child(5){animation:menuItemFade .4s ease-out .43s both}.menu-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;background:linear-gradient(135deg,#6366f114,#06b6d40f);transition:opacity .3s ease}.menu-link:hover:before{opacity:1}.menu-link:hover{color:#e2e8f0;transform:translate(4px);text-shadow:0 0 20px rgba(99,102,241,.3)}.menu-link.active{color:#fff;background:linear-gradient(135deg,#6366f12e,#06b6d414);box-shadow:inset 3px 0 0 var(--primary),0 0 20px #6366f114;font-weight:700}.menu-link.active:after{content:"";position:absolute;left:0;top:25%;bottom:25%;width:3px;background:linear-gradient(180deg,#6366f1,#06b6d4);border-radius:0 4px 4px 0;box-shadow:0 0 12px #6366f199;animation:glowPulse 2.5s ease-in-out infinite}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.15),rgba(6,182,212,.1),transparent);margin:1rem 1rem .5rem;border:none}.sidebar-user-block{margin-top:auto;padding:.8rem;border-radius:var(--radius-md);background:#ffffff08;border:1px solid rgba(255,255,255,.04);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;transition:all .3s ease;animation:menuItemFade .5s ease-out .5s both}.sidebar-user-block:hover{background:#ffffff0f;border-color:#6366f126}.sidebar-user-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:.75rem;color:#fff;flex-shrink:0;position:relative;box-shadow:0 4px 12px #0003}.sidebar-user-avatar:after{content:"";position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;background:#10b981;border-radius:50%;border:2px solid #0c1222}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:.8rem;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.1em}.logout{margin-top:0;color:#94a3b8;padding:.7rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.6rem;animation:menuItemFade .5s ease-out .55s both}.logout:hover{color:var(--danger);background:#f43f5e14;border-color:#f43f5e26;transform:translate(3px);box-shadow:0 0 20px #f43f5e0f}.content{padding:2rem 2.5rem;max-width:1400px;width:100%;position:relative}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.topbar h1{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--text-main)}.topbar p{font-size:.85rem;color:var(--text-muted);font-weight:500}.user-chip{display:flex;align-items:center;gap:.6rem;padding:.35rem .75rem;background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.8rem;transition:all .3s}.user-chip:hover{border-color:var(--border-glow);box-shadow:var(--glow-primary)}.avatar{width:36px;height:36px;border-radius:10px;background:var(--warning);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem}.primary-btn{background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:var(--radius-md);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 15px #06b6d433}.primary-btn:hover{background:linear-gradient(135deg,#4f46e5,#0891b2);transform:translateY(-2px);box-shadow:0 8px 25px #06b6d440}.primary-btn:disabled{background:#e2e8f0;color:var(--text-faint);cursor:not-allowed;transform:none;box-shadow:none}.report-card-internal{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .3s ease}.report-card-internal:hover{border-color:var(--border-glow);box-shadow:var(--glow-cyan)}.mini-badge{background:var(--bg-subtle);color:var(--text-muted);padding:2px 8px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:1.5rem}.stat-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:150px;transition:all .3s}.stat-card:hover{box-shadow:var(--glow-primary);transform:translateY(-3px);border-color:var(--border-glow)}.stat-label{font-size:10px;font-weight:800;color:var(--text-faint);text-align:center;text-transform:uppercase;letter-spacing:.05em;line-height:1.4}.stat-value{font-size:2.25rem;font-weight:800;margin-top:auto;color:var(--text-main)}.table-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;margin-top:1.5rem;box-shadow:var(--shadow-sm)}.table-header{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr;padding:1rem 2rem;background:var(--bg-subtle);font-size:10px;font-weight:800;color:var(--text-faint);letter-spacing:.08em}.table-row{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr;padding:1.25rem 2rem;border-top:1px solid var(--border-subtle);align-items:center;transition:background .15s}.table-row:hover{background:var(--bg-subtle)}.teacher-cell{display:flex;align-items:center;gap:1rem}.teacher-initials{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;font-weight:800;font-size:.85rem;border:1px solid var(--border-subtle)}.score-green{font-size:1.5rem;font-weight:800;color:var(--success)}.action-btn-pill{padding:.6rem 1.25rem;border-radius:var(--radius-md);font-weight:700;border:none;cursor:pointer;font-size:.85rem;transition:all .2s}.action-btn-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.workflow-container{max-width:1000px}.dropzone{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px dashed rgba(6,182,212,.25);border-radius:var(--radius-xl);padding:3.5rem;text-align:center;margin-bottom:2rem;transition:all .3s}.dropzone:hover{border-color:var(--primary);box-shadow:var(--glow-primary)}.upload-icon-circle{width:56px;height:56px;background:var(--bg-subtle);color:var(--primary);border-radius:50%;display:grid;place-items:center;margin:0 auto 1.25rem;font-size:1.4rem}.analysis-form{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.75rem}.form-group label{font-size:11px;font-weight:800;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:.75rem;display:block;text-transform:uppercase}.form-group input,.form-group select{width:100%;background:var(--bg-input);border:1px solid var(--border);padding:.9rem 1.1rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-input);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px!important;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.9rem;color:var(--text-main);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);line-height:1.5}select:hover{border-color:#06b6d459;box-shadow:0 2px 12px #06b6d414}select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow),0 2px 12px #06b6d41a}select:focus-visible{outline:none}select:disabled{opacity:.55;cursor:not-allowed;background-color:var(--bg-subtle)}select option{padding:10px 14px;font-weight:500;color:#1e293b;background:#fff}select option:checked{font-weight:700}input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;color:var(--text-main);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}input[type=date]:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow),0 2px 8px #6366f114}textarea{font-family:Plus Jakarta Sans,sans-serif;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}textarea:hover{border-color:#cbd5e1!important}textarea:focus{box-shadow:0 0 0 3px var(--primary-glow),0 2px 8px #6366f114!important}.alert-banner{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 2rem;border-radius:var(--radius-lg);background:#fffbeb;border:1px solid #fde68a;margin-bottom:2rem}.alert-icon-circle{width:42px;height:42px;background:#fff;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;font-weight:800;color:#b45309;border:1px solid #fde68a;flex-shrink:0}@keyframes pageSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes cardPopIn{0%{opacity:0;transform:scale(.92) translateY(20px)}60%{transform:scale(1.02) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes borderGlow{0%,to{box-shadow:0 0 20px #6366f10d}50%{box-shadow:0 0 30px #6366f11f}}@keyframes progressFill{0%{width:0%}}@keyframes pulseRing{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.8);opacity:0}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateFloat{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(3deg) translateY(-5px)}75%{transform:rotate(-3deg) translateY(-3px)}}.dashboard-page{animation:pageSlideUp .6s cubic-bezier(.22,1,.36,1);padding:.5rem}.premium-stat-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;padding:1.75rem;border:1px solid var(--border);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.22,1,.36,1);cursor:default}.premium-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--primary),var(--accent-cyan));opacity:0;transition:opacity .4s ease}.premium-stat-card:hover:before{opacity:1}.premium-stat-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px -12px #cbd5e180,var(--glow-cyan);border-color:var(--border-glow)}.premium-stat-card:nth-child(1){animation:cardPopIn .5s cubic-bezier(.22,1,.36,1) .1s both}.premium-stat-card:nth-child(2){animation:cardPopIn .5s cubic-bezier(.22,1,.36,1) .2s both}.premium-stat-card:nth-child(3){animation:cardPopIn .5s cubic-bezier(.22,1,.36,1) .3s both}.premium-stat-card:nth-child(4){animation:cardPopIn .5s cubic-bezier(.22,1,.36,1) .4s both}.stat-icon-bubble{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;position:relative;transition:transform .3s ease}.premium-stat-card:hover .stat-icon-bubble{transform:scale(1.1) rotate(-5deg)}.stat-icon-bubble:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:20px;opacity:0;animation:pulseRing 2s ease-in-out infinite}.premium-stat-card:hover .stat-icon-bubble:after{opacity:1}.stat-trend-badge{font-size:10px;font-weight:800;padding:5px 12px;border-radius:100px;letter-spacing:.02em;transition:all .3s ease}.premium-stat-card:hover .stat-trend-badge{transform:scale(1.05)}.stat-number{font-size:2.5rem;font-weight:950;letter-spacing:-.03em;color:#0f172a;line-height:1;animation:countUp .6s ease-out both;background:linear-gradient(135deg,#0f172a,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-bottom-glow{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;border-radius:50%;filter:blur(40px);opacity:.15;transition:opacity .4s ease}.premium-stat-card:hover .stat-bottom-glow{opacity:.3}.welcome-banner{border-radius:24px;padding:2.5rem 3rem;position:relative;overflow:hidden;color:#fff;animation:cardPopIn .6s cubic-bezier(.22,1,.36,1) .05s both}.welcome-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;animation:float 6s ease-in-out infinite}.welcome-banner:after{content:"";position:absolute;bottom:-30%;left:10%;width:250px;height:250px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);border-radius:50%;animation:float 8s ease-in-out infinite reverse}.welcome-banner>*{position:relative;z-index:1}.banner-particle{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.banner-particle:nth-child(1){width:6px;height:6px;background:#fff3;top:20%;left:80%;animation:float 4s ease-in-out infinite}.banner-particle:nth-child(2){width:4px;height:4px;background:#ffffff26;top:60%;left:70%;animation:float 5s ease-in-out infinite 1s}.banner-particle:nth-child(3){width:8px;height:8px;background:#ffffff1a;top:30%;left:90%;animation:float 6s ease-in-out infinite .5s}.premium-chart-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;padding:2rem 2.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:cardPopIn .5s cubic-bezier(.22,1,.36,1) .5s both;transition:all .3s ease;position:relative;overflow:hidden}.premium-chart-card:hover{box-shadow:var(--glow-cyan);border-color:var(--border-glow)}.premium-chart-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--info));opacity:0;transition:opacity .3s ease}.premium-chart-card:hover:after{opacity:1}.quality-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;padding:2rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:slideInRight .5s cubic-bezier(.22,1,.36,1) .6s both}.quality-bar{height:10px;background:var(--bg-subtle);border-radius:10px;overflow:hidden;position:relative}.quality-bar-fill{height:100%;border-radius:10px;animation:progressFill 1.2s cubic-bezier(.22,1,.36,1) .8s both;position:relative}.quality-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:shimmer 2s linear infinite}.action-alert{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#fef2f2,#fff1f2);border-radius:16px;border:1px solid #fecdd3;animation:cardPopIn .5s ease .9s both;position:relative;overflow:hidden}.action-alert:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#f43f5e,#fb7185);border-radius:4px 0 0 4px}.premium-course-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid #f1f5f9;box-shadow:0 4px 20px #00000008;transition:all .4s cubic-bezier(.22,1,.36,1);animation:cardPopIn .5s cubic-bezier(.22,1,.36,1) both}.premium-course-card:nth-child(1){animation-delay:.15s}.premium-course-card:nth-child(2){animation-delay:.25s}.premium-course-card:nth-child(3){animation-delay:.35s}.premium-course-card:nth-child(4){animation-delay:.45s}.premium-course-card:hover{transform:translateY(-6px);box-shadow:0 25px 50px -12px #0000001a;border-color:transparent}.course-header-gradient{padding:2rem 2rem 1.75rem;position:relative;overflow:hidden}.course-header-gradient:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,#0000000d)}.skeleton-pulse{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:12px}.premium-loader{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:4rem;animation:fadeIn .3s ease}.loader-ring{width:52px;height:52px;border-radius:50%;border:3px solid #e2e8f0;border-top-color:var(--primary);animation:spin .8s linear infinite;position:relative}.loader-ring:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:3px solid transparent;border-top-color:var(--info);animation:spin 1.2s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.report-selector-item{padding:1.25rem;border-radius:16px;border:2px solid #f1f5f9;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1)}.report-selector-item:hover{border-color:#e2e8f0;transform:translate(4px);box-shadow:0 4px 15px #0000000a}.report-selector-item.selected{border-color:var(--primary);background:linear-gradient(135deg,#f5f3ff,#eef2ff);box-shadow:0 10px 25px -5px #6366f11f}.lesson-mini-card{padding:1rem 1.1rem;border-radius:16px;border:2px solid #f1f5f9;background:#f8fafc;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.lesson-mini-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px -5px #0000000f;border-color:#e2e8f0}.lesson-mini-card.completed{background:#f0fdf4;border-color:#bbf7d0}.gradient-action-btn{padding:7px 0;border-radius:10px;border:none;color:#fff;font-size:.7rem;font-weight:800;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.gradient-action-btn:after{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 ease}.gradient-action-btn:hover:after{left:100%}.gradient-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.sidebar-toggle{display:none;position:fixed;top:14px;left:14px;z-index:1100;width:44px;height:44px;border-radius:14px;border:1px solid rgba(99,102,241,.15);background:#0f172aeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#e2e8f0;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000040;transition:all .3s ease}.sidebar-toggle:hover{background:#6366f140;transform:scale(1.05)}.sidebar-toggle svg{width:22px;height:22px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;transition:opacity .3s ease}.sidebar-overlay.active{opacity:1}@media (max-width: 1024px){:root{--sidebar-w: 220px}.content{padding:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.responsive-stats-grid{grid-template-columns:repeat(2,1fr)!important}.responsive-chart-grid,.responsive-form-grid,.responsive-report-grid,.responsive-2col-grid,.responsive-course-grid{grid-template-columns:1fr!important}.responsive-lesson-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important}.table-header,.table-row{grid-template-columns:1.5fr 1fr 1fr;padding:1rem 1.25rem}.table-header>*:nth-child(4),.table-row>*:nth-child(4){display:none}.welcome-banner{padding:2rem}.welcome-banner h2{font-size:1.4rem!important}.analysis-form{padding:1.75rem}.form-row{grid-template-columns:1fr;gap:1.25rem}.premium-chart-card,.quality-panel{padding:1.5rem}}@media (max-width: 768px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:1000;transform:translate(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:flex}.sidebar-overlay.active{display:block}.content{padding:4.5rem 1rem 1.25rem}.topbar{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:.75rem;margin-bottom:1.25rem}.topbar h1{font-size:1.1rem}.topbar p{font-size:.78rem}.user-chip{align-self:flex-end;position:absolute;top:14px;right:14px;padding:.25rem .5rem;font-size:.72rem}.user-chip .avatar{width:28px;height:28px;font-size:.65rem}.stats-grid,.responsive-stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.premium-stat-card{padding:1.25rem;border-radius:16px}.stat-number{font-size:1.8rem}.stat-icon-bubble{width:42px;height:42px;border-radius:12px;font-size:1.2rem}.stat-trend-badge{font-size:8px;padding:3px 8px}.responsive-chart-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.premium-chart-card{padding:1.25rem;border-radius:18px;min-height:auto!important}.quality-panel{padding:1.25rem;border-radius:18px}.welcome-banner{padding:1.5rem!important;border-radius:18px}.welcome-banner h2{font-size:1.25rem!important;line-height:1.3!important}.welcome-banner p{font-size:.82rem!important}.banner-icon-box{width:56px!important;height:56px!important;border-radius:14px!important}.banner-icon-box svg{width:24px!important;height:24px!important}.responsive-quick-stats{flex-wrap:wrap!important;gap:.75rem!important}.responsive-quick-stats>div{flex:1 1 auto;min-width:100px}.form-row,.responsive-form-grid{grid-template-columns:1fr!important;gap:1rem!important}.analysis-form{padding:1.25rem;border-radius:16px}.dropzone{padding:2rem 1.5rem;border-radius:16px}.table-card{border-radius:14px}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;border-left:3px solid var(--primary);margin:.5rem .75rem;border-radius:var(--radius-md);background:var(--bg-glass)}.table-row .teacher-cell{margin-bottom:.25rem}.responsive-report-grid,.responsive-2col-grid,.responsive-course-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.premium-course-card{border-radius:18px}.course-header-gradient{padding:1.5rem 1.5rem 1.25rem}.course-header-gradient h3{font-size:1.1rem!important}.responsive-lesson-grid{grid-template-columns:1fr!important;gap:8px!important}.responsive-report-stats{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.responsive-competency-grid{grid-template-columns:repeat(2,1fr)!important}.alert-banner{flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;gap:.75rem}.primary-btn{padding:.55rem 1rem;font-size:.8rem}.responsive-profile-container{padding:0!important;margin:0!important}.responsive-player-grid{grid-template-columns:1fr!important;min-height:auto!important}.responsive-attendance-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.responsive-survey-grid{grid-template-columns:1fr!important}.responsive-mgmt-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.responsive-mgmt-3col{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.responsive-mgmt-4col{grid-template-columns:repeat(2,1fr)!important;gap:4px!important}.responsive-workflow-grid{grid-template-columns:1fr!important;gap:1.5rem!important}.responsive-pool-header{display:none!important}.responsive-pool-row{display:flex!important;flex-direction:column!important;gap:.75rem!important;padding:1.25rem!important;border-left:3px solid var(--primary)!important;margin:.5rem 0!important;border-radius:var(--radius-md)!important;background:var(--bg-glass)!important}.responsive-report-row{grid-template-columns:1fr!important;gap:.75rem!important;padding:1.25rem 1rem!important}.responsive-page-header{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.responsive-page-header input{min-width:100%!important;width:100%!important}.responsive-search-row{flex-direction:column!important;width:100%!important;gap:.75rem!important}.responsive-search-row input{min-width:100%!important}.responsive-teacher-info{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important;padding:1.25rem!important}.responsive-report-meta,.responsive-report-meta-3col{grid-template-columns:1fr!important;gap:.75rem!important}.responsive-obs-grid{grid-template-columns:1fr!important;gap:1rem!important}.responsive-video-container video,.responsive-video-container iframe{max-height:240px!important}.responsive-action-buttons{flex-direction:column!important;gap:.75rem!important}.responsive-action-buttons button{width:100%!important;flex:none!important}.responsive-survey-card{flex-direction:column!important;gap:1rem!important}.responsive-survey-rating{margin-left:0!important;align-self:flex-start!important;flex-direction:row!important;gap:8px!important}.responsive-star-grid button{width:52px!important;height:52px!important;border-radius:14px!important}.responsive-star-grid button svg{width:22px!important;height:22px!important}.responsive-notes-footer{flex-direction:column!important;gap:.75rem!important;align-items:flex-start!important}[style*="padding: 2rem"],[style*="padding: 2.5rem"],[style*="padding: 3rem"]{padding:1.25rem!important}[style*="gap: 3rem"],[style*="gap: 2.5rem"]{gap:1.25rem!important}[style*="gridTemplateColumns: '2fr 1fr 1fr 1fr'"],[style*="grid-template-columns: 2fr 1fr 1fr 1fr"]{grid-template-columns:1fr!important}.responsive-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.content{padding:4rem .75rem 1rem}.stats-grid,.responsive-stats-grid{grid-template-columns:1fr!important;gap:.6rem!important}.premium-stat-card{padding:1rem;flex-direction:row;align-items:center;gap:1rem;min-height:auto}.stat-number{font-size:1.5rem}.stat-icon-bubble{width:38px;height:38px}.welcome-banner{padding:1.25rem!important;border-radius:14px}.welcome-banner h2{font-size:1.1rem!important}.welcome-banner p{font-size:.75rem!important}.banner-icon-box{display:none!important}.responsive-quick-stats{flex-direction:column!important;gap:.5rem!important}.responsive-quick-stats>div{min-width:100%}.topbar h1{font-size:1rem}.user-chip{padding:.2rem .4rem;font-size:.68rem}.user-chip .avatar{width:24px;height:24px;font-size:.6rem}.user-chip div strong{font-size:.72rem}.user-chip div small{font-size:.6rem}.analysis-form{padding:1rem}.dropzone{padding:1.5rem 1rem}.premium-chart-card,.quality-panel{padding:1rem}.action-alert{padding:1rem;border-radius:12px}.responsive-report-stats{grid-template-columns:1fr!important;padding:1rem!important}.responsive-competency-grid,.responsive-mgmt-3col{grid-template-columns:1fr!important}.brand-name{font-size:1.4rem}.report-selector-item{padding:1rem}.responsive-report-body{padding:1rem!important;gap:1.5rem!important}.responsive-report-row{padding:1rem!important;gap:.5rem!important;border-radius:14px!important}.responsive-page-header h1{font-size:1.35rem!important}.responsive-page-header p{font-size:.85rem!important}.responsive-teacher-info{padding:1rem!important;border-radius:14px!important}.responsive-teacher-info h2{font-size:1.15rem!important}.responsive-action-buttons{flex-direction:column!important}.responsive-action-buttons button{width:100%!important;flex:none!important}.responsive-star-grid button{width:46px!important;height:46px!important;border-radius:12px!important}.responsive-star-grid button svg{width:20px!important;height:20px!important}.responsive-notes-footer{flex-direction:column!important;gap:.5rem!important}.responsive-survey-card{flex-direction:column!important}.responsive-survey-rating{margin-left:0!important;align-self:flex-start!important}}.login-container{min-height:100vh;display:grid;place-items:center;background:#0a0f1e;background-image:url(/assets/login_background_abstract_1776620288976-Dnk-eh2A.png);background-size:cover;background-position:center;padding:2rem;position:relative;overflow:hidden}.background-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 70% 30%,rgba(99,102,241,.15),transparent 40%),radial-gradient(circle at 20% 80%,rgba(6,182,212,.1),transparent 40%),linear-gradient(to bottom,#0000004d,#00000080);pointer-events:none}.login-card{background:#0f172abf;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);width:100%;max-width:440px;padding:2.5rem 3rem;border-radius:32px;border:1px solid rgba(255,255,255,.1);box-shadow:0 50px 100px -20px #0009,inset 0 1px #ffffff0d;text-align:center;animation:cardFadeUp .8s cubic-bezier(.16,1,.3,1);z-index:10}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:1.5rem}.login-logo{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:0 auto 1rem;display:block;box-shadow:0 0 30px #6366f14d,0 0 60px #06b6d426;border:2px solid rgba(255,255,255,.1);animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{box-shadow:0 0 30px #6366f14d,0 0 60px #06b6d426}50%{box-shadow:0 0 40px #6366f180,0 0 80px #06b6d440}}.brand-name{margin:0;font-size:2rem;font-weight:800;color:#fff;letter-spacing:-.03em}.brand-name .ai-highlight{background:linear-gradient(135deg,#6366f1,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-tagline{color:#cbd5e1;font-weight:500;font-size:.9rem;margin-top:.4rem;letter-spacing:.02em}.role-tabs{display:flex;background:#ffffff0a;padding:5px;border-radius:18px;margin-bottom:1.75rem;border:1px solid rgba(255,255,255,.06)}.role-tabs button{flex:1;padding:.75rem;border:none;background:transparent;border-radius:14px;font-weight:700;color:#64748b;cursor:pointer;transition:all .3s;font-size:.85rem}.role-tabs button:hover{color:#94a3b8}.role-tabs button.active{background:linear-gradient(135deg,#6366f140,#06b6d426);color:#fff;box-shadow:0 4px 12px #6366f133}.login-form .input-group{text-align:left;margin-bottom:1.1rem}.input-group label{display:block;font-size:11px;font-weight:700;color:#94a3b8;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.input-group input{width:100%;padding:1rem 1.25rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:.95rem;font-weight:500;color:#f1f5f9;outline:none;transition:all .3s}.input-group input::placeholder{color:#94a3b880}.input-group input:focus{border-color:#6366f1;background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.login-submit-btn{width:100%;padding:1.1rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:.75rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 15px 30px -8px #6366f166;letter-spacing:.02em}.login-submit-btn:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 20px 40px -10px #6366f180}.login-submit-btn:active{transform:translateY(-1px)}.login-footer{margin-top:1.5rem}.login-footer p{color:#94a3b8;font-size:.9rem;font-weight:500}.login-footer a{color:#c4b5fd;text-decoration:none;font-weight:700;margin-left:.25rem;transition:.2s;border-bottom:1px solid rgba(196,181,253,.2)}.login-footer a:hover{color:#fff;border-color:#6366f1}@media (max-width: 480px){.login-card{padding:2rem 1.5rem;border-radius:24px}.login-logo{width:80px;height:80px}.brand-name{font-size:1.6rem}}
