@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html,body,#root{height:100%}.event-important-symbol{position:absolute;top:2px;right:2px;color:var(--warning);font-size:.8rem;line-height:1;z-index:2}.calendar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--card-bg);color:var(--text);padding:8px 12px;border-radius:8px;box-shadow:0 4px 12px #0003;width:max-content;max-width:250px;z-index:200;pointer-events:none;border:1px solid var(--border);margin-bottom:8px;font-size:.8rem;animation:fadeIn .15s ease}.calendar-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:var(--card-bg) transparent transparent transparent}.tooltip-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px;text-align:left;display:flex;align-items:center;gap:4px}.tooltip-item:before{content:"•";color:var(--primary)}.tooltip-item:last-child{margin-bottom:0}:root{--primary: #4F46E5;--primary-light: #EEF2FF;--primary-dark: #4338CA;--accent-color: #6366F1;--success: #10B981;--danger: #EF4444;--warning: #F59E0B;--mark-review: #F97316;--mark-review-hover: #EA580C;--bg-main: #F8FAFC;--bg-gradient-start: #F8FAFC;--bg-gradient-end: #F8FAFC;--card-bg: #FFFFFF;--card-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--soft-shadow: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--text: #111827;--text-black: #000000;--text-secondary: #6B7280;--text-muted: #94A3B8;--border: #E5E7EB;--border-light: #F1F5F9;--radius: 12px;--radius-lg: 16px;--sidebar-bg: #FFFFFF;--sidebar-text: #64748B;--sidebar-text-active: #4F46E5;--sidebar-active-bg: #EEF2FF;--sidebar-item-hover: #F8FAFC;--sidebar-border: #E2E8F0;--sidebar-width: 260px;--sidebar-collapsed-width: 80px;--btn-primary: #4F46E5;--btn-secondary: #EEF2FF;--badge-subject-bg: #EEF2FF;--badge-subject-text: #4F46E5;--badge-upcoming-bg: #FFFBEB;--badge-upcoming-text: #D97706;--badge-live-bg: #FEF2F2;--badge-live-text: #EF4444;--badge-completed-bg: #ECFDF5;--badge-completed-text: #059669;--notice-upcoming-bg: #EFF6FF;--notice-upcoming-text: #2563EB;--notice-urgent-bg: #FEF2F2;--notice-urgent-text: #EF4444}[data-theme=dark]{--primary: #6C4CF1;--primary-light: #a5b4fc;--primary-dark: #6366f1;--accent-color: #a78bdb;--success: #34d399;--danger: #f87171;--warning: #fbbf24;--mark-review: #fb923c;--mark-review-hover: #f97316;--bg-main: #0f172a;--bg-gradient-start: #1e293b;--bg-gradient-end: #0f172a;--card-bg: #1e293b;--card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .4);--text: #f8fafc;--text-black: #ffffff;--text-secondary: #94a3b8;--text-muted: #64748b;--border: #334155;--border-light: #1e293b;--palette-current: #312e81;--palette-answered: #064e3b;--palette-marked: #7c2d12;--palette-not-answered: #7f1d1d;--palette-not-visited: #334155;--option-bg: #1e293b;--option-selected-bg: #312e81;--option-hover-bg: #334155;--btn-primary: #818cf8;--btn-secondary: #94a3b8;--sidebar-bg: #1E293B;--sidebar-text: #94A3B8;--sidebar-text-active: #FFFFFF;--sidebar-active-bg: #334155;--sidebar-item-hover: #2D3748;--sidebar-border: #334155;--badge-subject-bg: rgba(99, 102, 241, .2);--badge-subject-text: #818CF8;--badge-upcoming-bg: rgba(245, 158, 11, .2);--badge-upcoming-text: #FBBF24;--badge-live-bg: rgba(239, 68, 68, .2);--badge-live-text: #F87171;--badge-completed-bg: rgba(16, 185, 129, .2);--badge-completed-text: #34D399;--notice-upcoming-bg: rgba(59, 130, 246, .2);--notice-upcoming-text: #60A5FA;--notice-urgent-bg: rgba(239, 68, 68, .2);--notice-urgent-text: #F87171}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-main);color:var(--text);min-height:100vh;transition:background .3s ease,color .3s ease}.app-layout{display:flex;min-height:100vh;background:var(--bg-main)}.app-layout.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width)}.app-sidebar{width:var(--sidebar-width);background:var(--card-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 16px;height:100vh;position:fixed;left:0;top:0;z-index:100;transition:width .3s cubic-bezier(.4,0,.2,1)}.app-sidebar.collapsed{width:var(--sidebar-collapsed-width);padding:24px 0}.sidebar-logo{display:flex;align-items:center;padding:0 8px;margin-bottom:32px;transition:all .3s}.app-sidebar.collapsed .sidebar-logo{padding:0;justify-content:center;width:100%}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius);color:var(--text-secondary);transition:all .2s ease;cursor:pointer;text-decoration:none;font-weight:500;font-size:.95rem}.nav-item:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text-active);transform:translate(4px)}.nav-item.collapsed:hover{transform:none}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);font-weight:600;box-shadow:none}.nav-item.active span{color:var(--sidebar-text-active)}.nav-item.collapsed{justify-content:center;padding:12px 0;gap:0}.nav-item svg{width:20px;height:20px}.nav-divider{height:1px;background:var(--border);margin:16px 12px}.sidebar-footer{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.user-profile-section{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius);transition:all .2s ease}.user-profile-section:hover{background:var(--sidebar-item-hover)}.assessment-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative;overflow:hidden}.assessment-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px);border-color:var(--primary-light)}.card-badge-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge--subject{background-color:var(--badge-subject-bg);color:var(--badge-subject-text)}.badge--status{font-weight:700;display:flex;align-items:center;gap:6px}.badge--live{background-color:var(--badge-live-bg);color:var(--badge-live-text)}.badge--upcoming{background-color:var(--badge-upcoming-bg);color:var(--badge-upcoming-text)}.badge--completed{background-color:var(--badge-completed-bg);color:var(--badge-completed-text)}.card-title{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.4}.card-instructor{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px}.card-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;color:var(--text-secondary);font-size:.85rem}.meta-item{display:flex;align-items:center;gap:6px}.expiry-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--bg-main);border-radius:8px;color:var(--text-secondary);font-size:.8rem;font-weight:500;margin-bottom:20px}.expiry-notice--urgent{background-color:var(--notice-urgent-bg);color:var(--notice-urgent-text)}.expiry-notice--upcoming{background-color:var(--notice-upcoming-bg);color:var(--notice-upcoming-text)}.user-profile-section.collapsed{justify-content:center;padding:12px 0}.user-avatar{width:40px;height:40px;border-radius:10px;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.user-info{flex:1;overflow:hidden}.user-name{display:block;font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{display:block;font-size:.75rem;color:var(--text-secondary)}.logout-btn:hover{background:#fee2e2;color:var(--danger)}.app-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;overflow-x:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.app-header{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:900}.app-content{padding:32px;max-width:1400px;margin:0 auto;width:100%}.header-datetime{display:flex;flex-direction:column;align-items:flex-end}.current-date{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.current-time{font-size:1rem;font-weight:600;color:var(--text);font-family:Consolas,monospace}.exam-header{display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);padding:20px 28px;border-radius:16px;box-shadow:0 2px 12px var(--card-shadow);margin-bottom:20px;position:sticky;top:10px;z-index:100;transition:background .3s ease,box-shadow .3s ease}.header-left h1{margin:0;font-size:1.5rem;font-weight:600}.header-left p{margin:6px 0 0;color:var(--text-secondary);font-size:.9rem}.header-left-section{display:flex;align-items:center;gap:16px}.header-left-section h1{margin:0;font-size:1.5rem;font-weight:600}.header-right{display:flex;align-items:center;gap:24px}.student-info{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--border)}.timer{font-size:1.2rem;font-weight:600;color:var(--danger)}.timer.pulse{animation:timerPulse .5s ease-in-out 4}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1);color:var(--danger)}}.time-display{font-family:Consolas,monospace}.progress-submit-row{display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--card-bg);border-radius:16px;margin:0 24px 20px;box-shadow:0 2px 8px var(--card-shadow)}.progress-submit-row .progress-container{flex:1;margin:0;padding:0;background:transparent;box-shadow:none}button.btn-submit.btn-submit-small{width:auto;padding:10px 18px;font-size:.85rem;white-space:nowrap;flex-shrink:0;border-radius:12px;margin-top:0}.theme-toggle{background:var(--border-light);border:1px solid var(--border);border-radius:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--border);transform:scale(1.05)}.theme-icon{font-size:1.3rem}.progress-container{background:var(--card-bg);padding:16px 20px;border-radius:var(--radius);margin-bottom:32px;box-shadow:var(--card-shadow);transition:background .3s ease}.progress-bar{height:8px;background:var(--border-light);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:4px;transition:width .4s ease}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px}.metric-card{background:var(--card-bg);padding:24px;border-radius:var(--radius);box-shadow:var(--card-shadow);transition:all .3s ease;border:1px solid var(--border)}.metric-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:var(--primary-light)}.metric-card.active{border-color:var(--primary);background:var(--option-selected-bg)}.metric-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.metric-icon-bg{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.metric-icon-bg.primary{background:#e0e7ff;color:#4f46e5}.metric-icon-bg.danger{background:#fee2e2;color:#ef4444}.metric-icon-bg.warning{background:#ffedd5;color:#f59e0b}.metric-icon-bg.success{background:#d1fae5;color:#10b981}.metric-trend{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:12px}.metric-trend.up{background:#d1fae5;color:#065f46}.metric-trend.down{background:#fee2e2;color:#991b1b}.metric-value{display:block;font-size:1.875rem;font-weight:700;color:var(--text);margin-bottom:4px}.metric-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.progress-text{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.main-content{display:flex;gap:24px;align-items:flex-start}.question-section{flex:1;background:var(--card-bg);border-radius:var(--radius);padding:32px;box-shadow:var(--card-shadow);border:1px solid var(--border)}.question-card{margin-bottom:28px}.question-header{display:flex;justify-content:space-between;margin-bottom:16px;font-size:.9rem;color:var(--text-secondary);font-weight:500}.question-text{font-size:1.25rem;line-height:1.6;margin-bottom:28px;font-weight:500}.options{display:flex;flex-direction:column;gap:12px}.option-card{display:flex;align-items:center;background:var(--option-bg);padding:16px 20px;border-radius:12px;cursor:pointer;transition:all .2s ease;border:2px solid var(--border)}.option-card:hover{background:var(--option-hover-bg);border-color:var(--primary);transform:translate(4px)}.option-card input{margin-right:14px;transform:scale(1.2);accent-color:var(--primary)}.option-card.selected{border-color:var(--primary);background:var(--option-selected-bg)}.navigation-buttons{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin-top:36px}.navigation-buttons button{padding:12px 24px;border:none;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.navigation-buttons button:hover{transform:translateY(-2px)}.btn-next,.btn-submit-final{background:var(--primary);color:#fff}.btn-next:hover,.btn-submit-final:hover{background:var(--primary-dark)}.btn-prev,.btn-mark,.btn-clear{background:transparent;color:var(--text-secondary);border:1px solid var(--border)!important}.btn-prev:hover,.btn-mark:hover,.btn-clear:hover{background:var(--border-light);color:var(--text);border-color:var(--text-muted)!important}.sidebar{width:350px;flex-shrink:0;background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 2px 12px var(--card-shadow);height:fit-content;position:sticky;top:100px;transition:background .3s ease}.analytics-main-chart{margin-bottom:32px}.sidebar h3,.sidebar h4{text-align:center;margin:0 0 20px;font-weight:600;color:var(--text)}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.palette-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:600;font-size:.9rem;color:var(--text);border:2px solid var(--border);background:transparent;cursor:pointer;transition:all .2s ease}.palette-btn:hover{transform:scale(1.08);box-shadow:0 4px 12px var(--card-shadow)}.palette-btn.current{background:transparent;border-color:var(--primary);color:var(--primary)}.palette-btn.answered{background:transparent;border-color:var(--success);color:var(--success)}.palette-btn.marked{background:transparent;border-color:var(--warning);color:var(--warning)}.palette-btn.not-answered{background:transparent;border-color:var(--danger);color:var(--danger)}.palette-btn.not-visited{background:transparent;border-color:var(--border);color:var(--text-muted)}.summary,.legend{margin-top:24px;font-size:.9rem}.summary-item,.legend div{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--text-secondary)}.dot{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);flex-shrink:0;background:transparent}.dot.current{border-color:var(--primary)}.dot.answered{border-color:var(--success)}.dot.marked{border-color:var(--warning)}.dot.not-answered{border-color:var(--danger)}.dot.not-visited{border-color:var(--border)}.dot.answered-marked{border:2px solid;border-image:linear-gradient(135deg,var(--success),var(--warning)) 1}.btn-submit{width:100%;padding:14px;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;margin-top:24px;cursor:pointer;transition:all .2s ease}.btn-submit:hover{opacity:.9;transform:translateY(-2px)}.btn-submit:disabled{background:var(--border);cursor:not-allowed;transform:none;opacity:.6}.modal{display:flex;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#00000080;justify-content:center;align-items:center}.modal-content{background:var(--card-bg);padding:32px;border-radius:16px;width:90%;max-width:420px;text-align:center;box-shadow:0 10px 40px #0003;color:var(--text)}.modal-content h2{margin:0 0 8px;font-size:1.4rem}.modal-content p{margin:0 0 20px;color:var(--text-secondary)}.modal-content input{width:100%;padding:12px 16px;margin:0 0 16px;border:2px solid var(--border);border-radius:10px;font-size:1rem;background:var(--option-bg);color:var(--text);outline:none;transition:border-color .2s ease}.modal-content input:focus{border-color:var(--primary)}.modal-content input.error{border-color:var(--danger)}.modal-buttons{display:flex;gap:12px;justify-content:center}.modal-buttons button{padding:12px 28px;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-buttons button:hover{transform:translateY(-2px)}#cancel-submit{background:var(--btn-secondary);color:#fff}#confirm-submit{background:var(--danger);color:#fff}.error-text{color:var(--danger);margin-top:12px;font-size:.9rem}.fullscreen-modal{position:fixed;inset:0;background:var(--bg);z-index:1000;overflow-y:auto;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fullscreen-content{max-width:900px;margin:0 auto;padding:32px 24px}.confirmation-header{text-align:center;margin-bottom:32px}.confirmation-header h2{font-size:1.8rem;margin:0 0 8px;color:var(--text)}.confirmation-header p{color:var(--text-secondary);font-size:1rem;margin:0}.confirmation-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-item{background:var(--card-bg);border-radius:16px;padding:20px;text-align:center;box-shadow:0 2px 12px var(--card-shadow);border:2px solid transparent}.stat-item .stat-value{display:block;font-size:2rem;font-weight:700;margin-bottom:4px}.stat-item .stat-label{font-size:.85rem;color:var(--text-secondary)}.stat-item.answered{border-color:var(--success)}.stat-item.marked{border-color:var(--warning)}.stat-item.not-answered{border-color:var(--danger)}.stat-item.not-visited{border-color:var(--border)}.confirmation-palette{background:var(--card-bg);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px var(--card-shadow)}.confirmation-palette h3{margin:0 0 20px;font-size:1.1rem;color:var(--text)}.palette-grid-large{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}.palette-item{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.palette-item:hover{transform:scale(1.1);box-shadow:0 4px 12px var(--card-shadow)}.palette-item.answered{background:transparent;color:var(--success);border-color:var(--success)}.palette-item.marked{background:transparent;color:var(--warning);border-color:var(--warning)}.palette-item.answered-marked{background:transparent;border:2px solid;border-image:linear-gradient(135deg,var(--success),var(--warning)) 1;color:var(--primary)}.palette-item.not-answered{background:transparent;color:var(--danger);border-color:var(--danger)}.palette-item.not-visited{background:transparent;color:var(--text-muted);border-color:var(--border)}.confirmation-legend{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:32px}.confirmation-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.confirmation-legend .dot{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);background:transparent}.confirmation-legend .dot.answered{border-color:var(--success)}.confirmation-legend .dot.marked{border-color:var(--warning)}.confirmation-legend .dot.not-answered{border-color:var(--danger)}.confirmation-legend .dot.not-visited{border-color:var(--border)}.confirmation-actions{display:flex;justify-content:center;gap:16px}.btn-back-to-test{padding:14px 28px;background:var(--badge-subject-bg);color:var(--badge-subject-text);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back-to-test:hover{opacity:.9;transform:translateY(-2px)}.btn-confirm-submit{padding:14px 28px;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-confirm-submit:hover{opacity:.9;transform:translateY(-2px)}.success-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .3s ease}.success-content{background:var(--card-bg);padding:48px;border-radius:24px;text-align:center;max-width:450px;animation:scaleIn .4s ease}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.success-icon{font-size:4rem;margin-bottom:16px}.success-content h2{color:var(--success);font-size:1.6rem;margin:0 0 16px}.success-content p{color:var(--text);font-size:1rem;margin:0 0 8px}.redirect-text{color:var(--text-secondary);font-size:.9rem;margin-top:20px!important}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin:16px auto 0;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.confirmation-stats{grid-template-columns:repeat(2,1fr)}.palette-grid-large{grid-template-columns:repeat(5,1fr)}.confirmation-actions{flex-direction:column}}@media(max-width:992px){.main-content{flex-direction:column;margin:0}.sidebar{order:-1;position:static}.exam-header{flex-direction:column;gap:16px;text-align:center;top:0}.header-right{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px}.question-section{padding:24px}.palette-grid{grid-template-columns:repeat(10,1fr)}}@media(max-width:576px){.exam-container{padding:12px}.question-text{font-size:1.1rem}.palette-grid{grid-template-columns:repeat(5,1fr)}.navigation-buttons{flex-direction:column}.navigation-buttons button{width:100%}}.dashboard{padding:0}.welcome-section{background:var(--card-bg);border-radius:16px;padding:28px 32px;margin-bottom:24px;box-shadow:0 2px 12px var(--card-shadow)}.welcome-content h1{margin:0 0 8px;font-size:1.8rem;font-weight:600}.welcome-content p{margin:0;color:var(--text-secondary);font-size:1rem}.stats-row{display:flex;gap:16px;margin-top:24px}.stat-card{background:var(--border-light);padding:16px 24px;border-radius:12px;display:flex;flex-direction:column;align-items:center;min-width:100px}.stat-card.live{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.stat-card.live .stat-label{color:#ffffffe6}.stat-number{font-size:2rem;font-weight:700}.stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.assessment-section{margin-bottom:32px}.section-title{font-size:1.3rem;font-weight:600;margin:0 0 20px;display:flex;align-items:center;gap:10px}.live-dot{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.assessment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-bottom:40px}.assessment-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .3s ease;box-shadow:var(--card-shadow);position:relative;overflow:hidden}.assessment-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow)}.assessment-card.live-card{border:2px solid #ef4444;background:linear-gradient(135deg,var(--card-bg),rgba(239,68,68,.05))}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subject-tag{background:var(--primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.subject-tag.small{padding:3px 10px;font-size:.7rem}.live-badge{background:#ef4444;color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:700;animation:pulse 1.5s infinite}.assessment-card h3{margin:0 0 8px;font-size:1.15rem;font-weight:600}.instructor,.test-duration,.scheduled-date{margin:0 0 8px;color:var(--text-secondary);font-size:.9rem}.assessment-card .btn-start{margin-top:8px}.card-details{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.detail{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.btn-start{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-start:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6c4cf166}.btn-upcoming{width:100%;padding:12px;background:var(--notice-upcoming-bg);color:var(--notice-upcoming-text);border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:not-allowed;transition:all .2s ease}.completed-list{display:flex;flex-direction:column;gap:12px}.completed-card{background:var(--card-bg);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s ease}.completed-card:hover{transform:translate(4px)}.completed-info{flex:1}.topic-boxes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:32px}.topic-box{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.topic-box:hover{transform:translateY(-4px);box-shadow:var(--soft-shadow);border-color:var(--primary-light)}.topic-box.active{border-color:var(--primary);box-shadow:var(--soft-shadow);background:linear-gradient(to bottom right,var(--card-bg),var(--primary-light-alpha))}.topic-header{display:flex;flex-direction:column;gap:4px}.topic-name{font-size:1.1rem;font-weight:700;color:var(--text);line-height:1.3}.topic-count{font-size:.85rem;color:var(--text-secondary);font-weight:500}.topic-box.active .topic-name{color:var(--primary)}.expanded-content{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-top:16px;box-shadow:var(--soft-shadow);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.completed-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.completed-header h4{margin:0;font-size:1rem;font-weight:600}.completed-meta{margin:0;font-size:.85rem;color:var(--text-secondary)}.completed-score{display:flex;flex-direction:column;align-items:center;gap:4px}.score-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.score-circle.good{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.score-circle.okay{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.score-circle.low{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.score-value{font-size:.9rem}.score-detail{font-size:.75rem;color:var(--text-secondary)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);padding:16px 24px;border-radius:16px;box-shadow:0 2px 12px var(--card-shadow);margin-bottom:24px}.dashboard-header h1{margin:0;font-size:1.4rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:16px}@media(max-width:768px){.stats-row{flex-wrap:wrap}.stat-card{flex:1;min-width:80px}.assessment-grid{grid-template-columns:1fr}.completed-card{flex-direction:column;gap:16px;align-items:flex-start}.completed-score{flex-direction:row;width:100%;justify-content:space-between}}.profile-page{padding:0}.student-info.clickable{cursor:pointer;padding:8px 12px;border-radius:10px;transition:all .2s ease}.student-info.clickable:hover{background:var(--border-light);transform:scale(1.02)}.student-info.clickable .avatar{border:2px solid var(--primary)}.header-nav{display:flex;align-items:center;gap:16px}.btn-back{background:var(--border-light);border:none;padding:10px 16px;border-radius:10px;font-size:.9rem;color:var(--text);cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--primary);color:#fff}.profile-card{background:var(--card-bg);border-radius:20px;padding:32px;margin-bottom:24px;box-shadow:0 4px 20px var(--card-shadow)}.profile-avatar-section{display:flex;align-items:center;gap:24px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border)}.profile-avatar-large{width:100px;height:100px;border-radius:20px;border:4px solid var(--primary-light);box-shadow:0 4px 16px var(--card-shadow);object-fit:cover;transition:all .3s ease}.avatar-upload-wrapper{position:relative;cursor:pointer;border-radius:20px;overflow:hidden;width:100px;height:100px}.avatar-upload-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.avatar-upload-wrapper:hover .avatar-upload-overlay{opacity:1}.avatar-upload-wrapper:hover .profile-avatar-large{transform:scale(1.05)}.hidden-input{display:none}.profile-name-section h2{margin:0 0 6px;font-size:1.6rem;font-weight:600}.profile-email{margin:0 0 12px;color:var(--text-secondary);font-size:.95rem}.profile-badge{background:var(--primary);color:#fff;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600}.profile-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.profile-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.85rem;color:var(--text-secondary)}.detail-value{font-size:1.1rem;font-weight:600}.overview-section{margin-bottom:28px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.stat-card-large{background:var(--card-bg);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 12px var(--card-shadow);transition:transform .2s ease}.stat-card-large:hover{transform:translateY(-4px)}.stat-card-large.live{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.stat-card-large.live .stat-label{color:#ffffffe6}.stat-icon.star{color:var(--primary)}.stat-content .stat-subject-name{font-size:1.4rem;font-weight:700;line-height:1.2}.stat-icon{font-size:2rem}.stat-content{display:flex;flex-direction:column}.stat-content .stat-number{font-size:1.8rem;font-weight:700;line-height:1}.stat-content .stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.performance-section{margin-bottom:24px}.performance-list{display:flex;flex-direction:column;gap:12px}.performance-item{background:var(--card-bg);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s ease}.performance-item:hover{transform:translate(4px)}.performance-info h4{margin:8px 0 4px;font-size:1rem;font-weight:600}.performance-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.performance-score{font-size:1.4rem;font-weight:700;padding:12px 20px;border-radius:12px;min-width:80px;text-align:center}.performance-score.good{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.performance-score.okay{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.performance-score.low{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}@media(max-width:992px){.profile-details,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.profile-avatar-section{flex-direction:column;text-align:center}.profile-details,.stats-grid{grid-template-columns:1fr}.performance-item{flex-direction:column;gap:12px;align-items:flex-start}.performance-score{width:100%}.header-nav{flex-direction:column;align-items:flex-start;gap:8px}}.logout-section{margin-top:32px;text-align:center}.btn-logout{padding:14px 32px;background:#fee2e2;color:var(--danger);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-logout:hover{background:#fecaca;transform:translateY(-2px)}.btn-logout-small{padding:10px 16px;background:var(--danger);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-logout-small:hover{opacity:.9;transform:translateY(-2px)}.subject-group{margin-bottom:28px;background:var(--card-bg);border-radius:16px;padding:20px;box-shadow:0 2px 12px var(--card-shadow)}.subject-group-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--border-light);font-size:1.1rem;font-weight:600;color:var(--text)}.subject-icon{font-size:1.3rem}.test-count{margin-left:auto;background:var(--primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.subject-group .assessment-grid{margin-top:0}.subject-group .assessment-card{background:var(--option-bg)}.subject-group .completed-list{margin-top:0}.subject-group .completed-card{background:var(--option-bg)}@media(max-width:768px){.subject-group{padding:16px}.subject-group-title{font-size:1rem;flex-wrap:wrap}.test-count{margin-left:0;margin-top:8px}}.subject-group-title.clickable-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 0;margin:0;border-bottom:none;transition:all .2s ease}.subject-group-title.clickable-header:hover{color:var(--primary)}.subject-group:not(.expanded){padding-bottom:16px}.subject-group:not(.expanded) .subject-group-title{border-bottom:none;padding-bottom:0;margin-bottom:0}.expand-icon{margin-left:12px;font-size:.8rem;color:var(--text-secondary);transition:transform .2s ease}.subject-group.expanded .expand-icon{color:var(--primary)}.subject-group .assessment-grid,.subject-group .completed-list{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.topic-boxes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-bottom:20px}.topic-box{background:var(--card-bg);border-radius:16px;padding:40px 16px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;box-shadow:0 2px 12px var(--card-shadow);text-align:center;position:relative;min-height:80px}.topic-box:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow);border-color:var(--primary)}.topic-box.active{border-color:var(--primary);background:var(--option-selected-bg)}.topic-box.completed{border-color:transparent}.topic-box.completed:hover,.topic-box.completed.active{border-color:var(--success)}.topic-box.completed.active{background:#10b9811a}.topic-icon{font-size:2rem}.topic-name{font-size:1rem;font-weight:700;color:var(--text);line-height:1.3}.topic-count{position:absolute;top:8px;right:8px;background:var(--primary);color:#fff;padding:4px 10px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;white-space:nowrap}.topic-box.completed .topic-count{background:var(--success)}.expanded-content{background:var(--card-bg);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px var(--card-shadow);animation:slideDown .25s ease-out}.expanded-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border-light)}.expanded-header h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text)}.btn-close{background:var(--border-light);border:none;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--text-secondary)}.btn-close:hover{background:var(--danger);color:#fff}@media(max-width:768px){.topic-boxes-grid{grid-template-columns:repeat(3,1fr);gap:12px}.topic-box{padding:16px 12px}.topic-icon{font-size:1.6rem}.topic-name{font-size:.8rem}.topic-count{width:24px;height:24px;font-size:.75rem}}@media(max-width:480px){.topic-boxes-grid{grid-template-columns:repeat(2,1fr)}}.completed-actions{display:flex;align-items:center;gap:16px}.btn-feedback{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-feedback:hover{opacity:.9;transform:translateY(-2px)}.feedback-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.feedback-content{background:var(--card-bg);border-radius:20px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:scaleIn .3s ease}.btn-close-modal{position:absolute;top:16px;right:16px;background:var(--border-light);border:none;width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.btn-close-modal:hover{background:var(--danger);color:#fff}.feedback-header{text-align:center;margin-bottom:24px}.feedback-header h2{margin:0 0 8px;font-size:1.5rem;color:var(--text)}.feedback-header p{margin:0;color:var(--text-secondary);font-size:.95rem}.feedback-score-section{display:flex;gap:24px;align-items:center;margin-bottom:24px;padding:20px;background:var(--option-bg);border-radius:16px}.large-score-circle{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.large-score-circle.good{background:linear-gradient(135deg,#10b981,#34d399)}.large-score-circle.okay{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.large-score-circle.low{background:linear-gradient(135deg,#ef4444,#f87171)}.large-score-value{font-size:1.8rem;font-weight:700;color:#fff}.score-details{flex:1}.score-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:.9rem}.score-row:last-child{border-bottom:none}.score-row span{color:var(--text-secondary)}.score-row strong{color:var(--text)}.grade-badge{text-align:center;padding:12px 24px;border-radius:30px;font-size:1rem;font-weight:700;margin-bottom:20px}.grade-badge.excellent{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.grade-badge.good{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.grade-badge.average{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.grade-badge.low{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.feedback-message{text-align:center;margin-bottom:24px}.feedback-message p{color:var(--text);font-size:1rem;line-height:1.6;margin:0}.recommendations-section{background:var(--option-bg);border-radius:16px;padding:20px;margin-bottom:24px}.recommendations-section h3{margin:0 0 16px;font-size:1.1rem;color:var(--text)}.recommendations-list{margin:0;padding-left:20px}.recommendations-list li{color:var(--text-secondary);padding:8px 0;line-height:1.5}.recommendations-list li::marker{color:var(--primary)}.btn-close-feedback{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-close-feedback:hover{opacity:.9}@media(max-width:480px){.feedback-score-section{flex-direction:column;text-align:center}.large-score-circle{width:80px;height:80px}.large-score-value{font-size:1.5rem}}.status-badge{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.upcoming{background:#9b7fd126;color:var(--primary);border:1px solid var(--primary-light)}.status-badge.completed{background:#10b98126;color:var(--success);border:1px solid var(--success)}.status-badge.missed{background:#ef444426;color:var(--danger);border:1px solid var(--danger)}.topic-box.missed{border-color:#ef44444d}.topic-box.missed:hover,.topic-box.missed.active{border-color:var(--danger);background:#ef44441a}.topic-box.missed .topic-count{background:var(--danger)}.missed-title{color:var(--danger)}.missed-card{border-left:3px solid var(--danger)}.missed-timing{color:var(--danger)!important}.missed-content{border:1px solid rgba(239,68,68,.2)}.scheduled-date{font-size:.85rem;color:var(--text-secondary);margin:8px 0 0;font-style:italic}.test-duration{font-size:.85rem;color:var(--primary);margin:6px 0 0;font-weight:500}.test-timing{font-size:.85rem;color:var(--success);margin:6px 0 0;font-weight:600;display:flex;align-items:center;gap:4px}.btn-view-summary{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-view-summary:hover{opacity:.9;transform:translateY(-2px)}.summary-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.summary-card{background:var(--card-bg);border-radius:24px;padding:32px;max-width:440px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:scaleIn .3s ease;text-align:center}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.summary-illustration{margin-bottom:20px}.illustration-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:2.5rem;animation:pulseIcon 2s ease-in-out infinite}@keyframes pulseIcon{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.illustration-icon.excellent{background:linear-gradient(135deg,#10b981,#34d399)}.illustration-icon.good{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.illustration-icon.average{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.illustration-icon.low{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.summary-header{margin-bottom:20px}.summary-header h2{margin:0 0 8px;font-size:1.5rem;color:var(--text)}.summary-title{margin:0 0 12px;color:var(--text-secondary);font-size:.95rem}.summary-grade{display:inline-block;padding:6px 20px;border-radius:20px;font-size:.9rem;font-weight:600}.summary-grade.excellent{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.summary-grade.good{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.summary-grade.average{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.summary-grade.low{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.summary-feedback{margin-bottom:24px;padding:16px;background:var(--option-bg);border-radius:12px}.summary-feedback p{margin:0;color:var(--text);font-size:.95rem;line-height:1.6}.summary-recommendations{text-align:left;margin-bottom:24px;padding:16px;background:var(--option-bg);border-radius:12px}.summary-recommendations h4{margin:0 0 12px;font-size:1rem;color:var(--text)}.summary-recommendations ul{margin:0;padding-left:20px}.summary-recommendations li{color:var(--text-secondary);padding:4px 0;font-size:.9rem;line-height:1.5}.summary-recommendations li::marker{color:var(--primary)}.btn-close-summary{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-close-summary:hover{opacity:.9;transform:translateY(-2px)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;position:relative;overflow:hidden}.login-bg-decoration{position:absolute;inset:0;pointer-events:none;overflow:hidden}.math-symbol{position:absolute;font-weight:600;opacity:.35;pointer-events:none;animation:floatSymbol 6s ease-in-out infinite}.symbol-1{font-size:5rem;color:var(--primary);top:8%;left:8%;animation-delay:0s}.symbol-2{font-size:4rem;color:#10b981;bottom:15%;right:10%;animation-delay:.5s}.symbol-3{font-size:3.5rem;color:#f59e0b;top:50%;left:5%;animation-delay:1s}.symbol-4{font-size:4.5rem;color:#3b82f6;top:15%;right:12%;animation-delay:1.5s}.symbol-5{font-size:3rem;color:#8b5cf6;bottom:25%;left:15%;animation-delay:2s}.symbol-6{font-size:3.5rem;color:#ec4899;top:35%;right:8%;animation-delay:2.5s}.symbol-7{font-size:2.5rem;color:#06b6d4;bottom:40%;right:18%;animation-delay:3s}.symbol-8{font-size:4rem;color:#10b981;top:70%;left:10%;animation-delay:3.5s}.symbol-9{font-size:3rem;color:var(--primary);top:5%;right:25%;animation-delay:4s}.symbol-10{font-size:2.5rem;color:#f59e0b;bottom:8%;left:25%;animation-delay:4.5s}.symbol-11{font-size:3.5rem;color:#3b82f6;top:45%;right:5%;animation-delay:5s;font-family:Consolas,monospace}.symbol-12{font-size:4rem;color:#8b5cf6;bottom:30%;right:25%;animation-delay:5.5s;font-family:Consolas,monospace}.symbol-13{font-size:3rem;color:#ec4899;top:25%;left:12%;animation-delay:1.2s}.symbol-14{font-size:3.5rem;color:#06b6d4;bottom:12%;right:15%;animation-delay:2.8s}@keyframes floatSymbol{0%{transform:translate(0) rotate(0)}25%{transform:translate(10px,-10px) rotate(5deg)}50%{transform:translateY(-15px) rotate(0)}75%{transform:translate(-10px,-10px) rotate(-5deg)}to{transform:translate(0) rotate(0)}}.login-container{background:var(--card-bg);border-radius:24px;padding:40px;width:100%;max-width:420px;box-shadow:0 10px 40px var(--card-shadow);position:relative}.login-theme-toggle{position:absolute;top:20px;right:20px}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:3.5rem;margin-bottom:16px}.login-logo-img{max-width:220px;height:auto;margin-bottom:16px;border-radius:16px}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 8px rgba(155,127,209,.3));transform:scale(1)}50%{filter:drop-shadow(0 0 20px rgba(155,127,209,.5));transform:scale(1.02)}}.login-header h1{margin:0 0 8px;font-size:1.6rem;color:var(--text)}.login-header p{margin:0;color:var(--text-secondary);font-size:.95rem}.login-tabs{display:flex;gap:8px;margin-bottom:28px;background:var(--option-bg);padding:6px;border-radius:12px}.login-tab{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:transparent;color:var(--text-secondary)}.login-tab:hover{color:var(--text)}.login-tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #9b7fd14d}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;font-weight:600;color:var(--text)}.form-group input{padding:14px 16px;border:2px solid var(--border);border-radius:12px;font-size:1rem;background:var(--option-bg);color:var(--text);outline:none;transition:all .2s ease}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #9b7fd133}.form-group input::placeholder{color:var(--text-secondary);opacity:.7}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:48px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;padding:8px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.password-toggle-btn:hover{color:var(--text);background:var(--border-light)}.password-toggle-btn svg{width:20px;height:20px}.login-error{background:#ef44441a;color:var(--danger);padding:12px 16px;border-radius:10px;font-size:.9rem;text-align:center}.btn-login{padding:16px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login:hover{opacity:.9;transform:translateY(-2px)}.btn-login:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.demo-credentials{margin-top:24px;padding:16px;background:var(--option-bg);border-radius:12px;text-align:center;font-size:.85rem}.demo-credentials p{margin:0 0 8px;color:var(--text-secondary);font-weight:600}.demo-credentials span{color:var(--text)}.demo-credentials code{background:var(--border-light);padding:2px 8px;border-radius:6px;font-family:Consolas,monospace;color:var(--primary)}@media(max-width:480px){.login-container{padding:28px 20px}.login-logo{font-size:2.5rem}.login-header h1{font-size:1.3rem}.login-tab{padding:10px 12px;font-size:.85rem}}.rules-page{min-height:100vh}.rules-container{max-width:800px;margin:0 auto;padding:20px}.test-info-card{background:var(--card-bg);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px var(--card-shadow);border-left:4px solid var(--primary)}.test-info-card h2{margin:0 0 16px;font-size:1.5rem;color:var(--text)}.test-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.test-detail{background:var(--border-light);padding:6px 12px;border-radius:8px;font-size:.9rem;color:var(--text-secondary)}.rules-card{background:var(--card-bg);border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 2px 12px var(--card-shadow)}.rules-card h3{margin:0 0 24px;font-size:1.3rem;color:var(--text);position:relative;padding-bottom:12px}.rules-card h3:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--primary);border-radius:2px}.rules-list{display:flex;flex-direction:column;gap:16px}.rule-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--option-bg);border-radius:12px;border:1px solid var(--border);transition:all .2s ease}.rule-item:hover{border-color:var(--primary-light);transform:translate(4px)}.rule-number{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.rule-item p{margin:0;color:var(--text);font-size:.95rem;line-height:1.5;padding-top:4px}.notice-card{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:20px 24px;margin-bottom:24px}.notice-card h4{margin:0 0 8px;color:var(--danger);font-size:1rem}.notice-card p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.start-confirmation{background:var(--card-bg);border-radius:16px;padding:28px;text-align:center;box-shadow:0 2px 12px var(--card-shadow)}.start-confirmation>p{margin:0 0 20px;font-size:1rem;color:var(--text)}.start-confirmation strong{color:var(--primary);background:var(--option-selected-bg);padding:2px 8px;border-radius:4px;font-family:Consolas,monospace}.start-input-group{display:flex;gap:12px;justify-content:center;align-items:center;max-width:400px;margin:0 auto}.start-input-group input{flex:1;padding:14px 20px;border:2px solid var(--border);border-radius:12px;font-size:1rem;font-family:Consolas,monospace;background:var(--option-bg);color:var(--text);outline:none;transition:border-color .2s ease;text-align:center}.start-input-group input:focus{border-color:var(--primary)}.start-input-group input.input-error{border-color:var(--danger);animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.btn-start-test{padding:14px 28px;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-start-test:hover{opacity:.9;transform:translateY(-2px)}.btn-start-test:disabled{opacity:.5;cursor:not-allowed;transform:none}.start-confirmation .error-message{color:var(--danger);margin-top:16px;font-size:.9rem}.rules-split-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:20px}.rules-right-panel{position:sticky;top:100px;height:fit-content}.action-card{background:var(--card-bg);border-radius:20px;padding:32px;text-align:center;box-shadow:0 4px 20px var(--card-shadow);border:2px solid var(--primary-light)}.action-icon{font-size:3rem;margin-bottom:16px}.action-card h3{margin:0 0 12px;font-size:1.3rem;color:var(--text)}.action-card p{margin:0 0 24px;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.action-buttons{display:flex;flex-direction:column;gap:12px}.btn-go-back{padding:12px 24px;background:var(--border-light);color:var(--text);border:2px solid var(--border);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-go-back:hover{background:var(--border)}.agreement-section{background:var(--card-bg);border-radius:16px;padding:20px;box-shadow:0 2px 12px var(--card-shadow)}.agreement-section.error{border:2px solid var(--danger)}.agreement-checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.agreement-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--primary);cursor:pointer}.agreement-text{color:var(--text);font-size:.9rem;line-height:1.5}.error-message{color:var(--danger);margin-top:12px;font-size:.85rem}.graph-message{text-align:center;padding:16px;margin-top:16px;background:var(--option-bg);border-radius:12px}.graph-message p{margin:0;color:var(--text-secondary);font-size:.9rem;font-style:italic}.graph-empty-message{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary);font-style:italic}@media(max-width:600px){.rules-container{padding:16px}.test-meta{flex-direction:column;align-items:flex-start}.rules-card{padding:20px}.rule-item{padding:12px;gap:12px}.rule-number{width:28px;height:28px;font-size:.8rem}.start-input-group{flex-direction:column}.start-input-group input,.btn-start-test{width:100%}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;background:var(--card-bg);box-shadow:0 10px 40px #00000026;animation:toastSlideIn .3s ease;position:relative;overflow:hidden;border-left:4px solid}.toast-exit{animation:toastSlideOut .3s ease forwards}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-success{border-color:var(--success)}.toast-error{border-color:var(--danger)}.toast-warning{border-color:var(--warning)}.toast-info{border-color:var(--primary)}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;flex-shrink:0}.toast-success .toast-icon{background:var(--success)}.toast-error .toast-icon{background:var(--danger)}.toast-warning .toast-icon{background:var(--warning)}.toast-info .toast-icon{background:var(--primary)}.toast-content{flex:1}.toast-title{font-weight:600;margin-bottom:4px;color:var(--text)}.toast-message{font-size:.9rem;color:var(--text-secondary)}.toast-close{background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.toast-close:hover{color:var(--text)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--primary);animation:toastProgress linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}.skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{display:flex;flex-direction:column;gap:8px}.skeleton-line{height:16px}.skeleton-card{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 2px 12px var(--card-shadow)}.skeleton-card-header{display:flex;justify-content:space-between;margin-bottom:16px}.skeleton-title{margin-bottom:8px}.skeleton-card-details{display:flex;flex-direction:column;gap:8px;margin:16px 0}.skeleton-button{margin-top:16px}.skeleton-stats{display:flex;align-items:center;gap:16px;background:var(--card-bg);padding:20px;border-radius:16px}.skeleton-stats-content{display:flex;flex-direction:column;gap:8px}.skeleton-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.skeleton-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.skeleton-section-title{margin-bottom:16px}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.skeleton-header-right{display:flex;align-items:center;gap:12px}.skeleton-profile-card{display:flex;align-items:center;gap:24px;background:var(--card-bg);padding:32px;border-radius:16px}.skeleton-profile-info{display:flex;flex-direction:column;gap:12px}.dashboard-skeleton{animation:fadeIn .3s ease}.animated-counter{font-variant-numeric:tabular-nums}.progress-ring-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-content{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.performance-graph{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 2px 12px var(--card-shadow)}.graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.graph-header h3{margin:0;font-size:1.1rem}.graph-stats{display:flex;gap:24px}.graph-stat{text-align:center}.graph-stat .stat-value{display:block;font-size:1.2rem;font-weight:700;color:var(--primary)}.graph-stat .stat-label{font-size:.75rem;color:var(--text-secondary)}.graph-container{display:flex;gap:12px;height:200px}.graph-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);padding:0 8px}.graph-area{flex:1;position:relative;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.graph-grid{position:absolute;inset:0}.grid-line{position:absolute;left:0;right:0;height:1px;background:var(--border-light)}.grid-line.average{background:var(--primary);opacity:.5;z-index:1}.average-label{position:absolute;right:0;top:-10px;font-size:.65rem;color:var(--primary);background:var(--card-bg);padding:2px 6px;border-radius:4px}.graph-bars{display:flex;align-items:flex-end;justify-content:space-around;height:100%;padding:0 10px;position:relative;z-index:2}.bar-container{display:flex;flex-direction:column;align-items:center;flex:1;max-width:40px;height:100%;justify-content:flex-end}.bar{width:100%;max-width:30px;border-radius:6px 6px 0 0;position:relative;animation:barGrow .6s ease-out forwards;transform-origin:bottom;cursor:pointer;transition:opacity .2s ease}.bar:hover{opacity:.8}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--card-bg);padding:8px 12px;border-radius:8px;box-shadow:0 4px 20px #00000026;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;z-index:10;text-align:center}.bar:hover .bar-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.bar-tooltip strong{display:block;font-size:.85rem;color:var(--text)}.bar-tooltip span{font-size:.75rem;color:var(--text-secondary)}.tooltip-date{display:block;font-size:.65rem;color:var(--text-secondary);margin-top:4px}.bar-label{font-size:.65rem;color:var(--text-secondary);margin-top:8px;text-transform:uppercase}.graph-legend{display:flex;justify-content:center;gap:24px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.graph-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary)}.graph-legend .legend-dot{width:10px;height:10px;border-radius:50%}.calendar-view{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 2px 12px var(--card-shadow)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h3{margin:0;font-size:1rem}.calendar-nav{background:var(--border-light);border:none;width:32px;height:32px;border-radius:8px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);transition:all .2s ease}.calendar-nav:hover{background:var(--border)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px}.weekday{font-size:.7rem;font-weight:600;color:var(--text-secondary);padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s ease;position:relative}.calendar-day.empty{cursor:default}.calendar-day:not(.empty):hover{background:var(--border-light)}.calendar-day.today{background:var(--primary);color:#fff;font-weight:600}.calendar-day.today:hover{background:var(--primary-dark)}.calendar-day.has-events{font-weight:600}.event-dots{display:flex;gap:2px;margin-top:2px}.event-dot{width:4px;height:4px;border-radius:50%;background:var(--primary)}.calendar-day.today .event-dot{background:#fff}.event-count-badge{position:absolute;top:2px;right:2px;background:var(--primary);color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px}.calendar-day.today .event-count-badge{background:#fff;color:var(--primary)}.calendar-popup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.calendar-popup-modal{background:var(--card-bg);border-radius:20px;width:100%;max-width:450px;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.popup-header h3{margin:0;font-size:1.1rem;color:var(--text)}.popup-close-btn{background:var(--border-light);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:1rem;transition:all .2s ease}.popup-close-btn:hover{background:var(--border);color:var(--text)}.popup-content{padding:20px 24px;overflow-y:auto;max-height:calc(80vh - 80px);display:flex;flex-direction:column;gap:16px}.popup-assessment-card{background:var(--option-bg);border-radius:16px;padding:20px;border:1px solid var(--border);transition:all .2s ease}.popup-assessment-card:hover{border-color:var(--primary-light);transform:translateY(-2px)}.popup-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.popup-assessment-card h4{margin:0 0 8px;font-size:1.05rem;color:var(--text)}.popup-instructor{margin:0 0 12px;color:var(--text-secondary);font-size:.9rem}.popup-details{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.popup-timing,.popup-duration{margin:0;display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text)}.detail-icon{font-size:1rem}.upcoming-events{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.upcoming-events h4{font-size:.9rem;margin:0 0 12px;color:var(--text-secondary)}.events-list{display:flex;flex-direction:column;gap:12px}.event-item{display:flex;gap:12px;align-items:center}.event-date{background:var(--primary);color:#fff;padding:8px 12px;border-radius:10px;text-align:center;min-width:50px}.event-day{display:block;font-size:1.2rem;font-weight:700}.event-month{display:block;font-size:.65rem;text-transform:uppercase}.event-info{flex:1}.event-title{display:block;font-weight:500;font-size:.9rem}.event-subject{font-size:.75rem;color:var(--text-secondary)}.activity-feed{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 2px 12px var(--card-shadow)}.feed-title{font-size:1.1rem;margin:0 0 20px}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;gap:16px;animation:slideInLeft .3s ease forwards;opacity:0}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.activity-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.activity-title{font-weight:500;font-size:.9rem}.activity-time{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.activity-description{font-size:.8rem;color:var(--text-secondary);margin:4px 0 0}.activity-empty{text-align:center;padding:40px;color:var(--text-secondary)}.empty-icon{font-size:2rem;display:block;margin-bottom:8px}.breadcrumb{margin-bottom:20px}.breadcrumb-list{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}.breadcrumb-item{display:flex;align-items:center;gap:8px}.breadcrumb-separator{color:var(--text-secondary);font-size:.9rem}.breadcrumb-link{display:flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s ease}.breadcrumb-link:hover{color:var(--primary)}.home-icon{font-size:.9rem}.breadcrumb-current{color:var(--text);font-weight:500;font-size:.9rem}.fab-container{position:fixed;bottom:24px;right:24px;z-index:1000}.fab-main{width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0003;transition:all .3s ease;position:relative;z-index:10}.fab-main:hover{transform:scale(1.05);box-shadow:0 6px 30px #00000040}.fab-icon{font-size:1.5rem;transition:transform .3s ease}.fab-container.open .fab-icon{transform:rotate(45deg)}.fab-actions{position:absolute;bottom:70px;right:0;display:flex;flex-direction:column;gap:12px;pointer-events:none}.fab-container.open .fab-actions{pointer-events:auto}.fab-action{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:none;border-radius:28px;padding:10px 16px;cursor:pointer;box-shadow:0 4px 15px var(--card-shadow);white-space:nowrap;transform:scale(0) translate(20px);opacity:0;transition:all .3s ease}.fab-container.open .fab-action{transform:scale(1) translate(0);opacity:1}.fab-action:hover{background:var(--border-light)}.fab-action-icon{font-size:1.2rem}.fab-action-label{font-size:.85rem;font-weight:500;color:var(--text)}.fab-overlay{position:fixed;inset:0;background:#0000004d;z-index:-1}.sidebar-overlay{position:fixed;inset:0;background:#00000080;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000}.sidebar-overlay.visible{opacity:1;visibility:visible}.mobile-sidebar{position:fixed;top:0;left:0;width:280px;height:100%;background:var(--card-bg);z-index:1001;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:4px 0 30px #0003}.mobile-sidebar.open{transform:translate(0)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-light)}.sidebar-brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:1.1rem}.sidebar-logo{width:32px;height:32px;border-radius:8px;object-fit:cover}.sidebar-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-secondary);padding:8px}.sidebar-user{display:flex;align-items:center;gap:12px;padding:20px;background:var(--border-light)}.sidebar-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover}.sidebar-user-info{display:flex;flex-direction:column}.sidebar-username{font-weight:600}.sidebar-role{font-size:.8rem;color:var(--text-secondary)}.sidebar-nav{flex:1;padding:16px;display:flex;flex-direction:column;gap:4px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:none;border-radius:12px;cursor:pointer;width:100%;text-align:left;font-size:.95rem;color:var(--text);transition:all .2s ease}.sidebar-nav-item:hover{background:var(--border-light)}.sidebar-nav-item.active{background:var(--primary);color:#fff}.nav-icon{font-size:1.2rem}.sidebar-footer{padding:16px;border-top:1px solid var(--border-light)}.sidebar-logout{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:var(--danger);color:#fff;border-radius:12px;cursor:pointer;width:100%;font-size:.95rem;transition:all .2s ease}.sidebar-logout:hover{opacity:.9}.hamburger-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.hamburger-line{width:24px;height:2px;background:var(--text);border-radius:2px;transition:all .3s ease}@media(max-width:768px){.hamburger-btn{display:flex}}.accent-color-picker{margin-top:24px}.accent-color-picker h4{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.color-options{display:flex;gap:12px}.color-option{width:40px;height:40px;border-radius:50%;border:3px solid transparent;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text)}.color-swatch{width:28px;height:28px;border-radius:50%}.color-check{position:absolute;color:#fff;font-size:.8rem;font-weight:700}.color-name{margin:12px 0 0;font-size:.85rem;color:var(--text-secondary)}[data-glass=true] .exam-header,[data-glass=true] .dashboard-header,[data-glass=true] .sidebar,[data-glass=true] .assessment-card,[data-glass=true] .profile-card,[data-glass=true] .calendar-view,[data-glass=true] .performance-graph,[data-glass=true] .activity-feed{background:rgba(var(--card-bg-rgb, 255, 255, 255),.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark][data-glass=true] .exam-header,[data-theme=dark][data-glass=true] .dashboard-header,[data-theme=dark][data-glass=true] .sidebar,[data-theme=dark][data-glass=true] .assessment-card,[data-theme=dark][data-glass=true] .profile-card,[data-theme=dark][data-glass=true] .calendar-view,[data-theme=dark][data-glass=true] .performance-graph,[data-theme=dark][data-glass=true] .activity-feed{background:#1e1a2eb3;border:1px solid rgba(255,255,255,.1)}.settings-section{background:var(--card-bg);border-radius:16px;padding:24px;margin-top:24px;box-shadow:0 2px 12px var(--card-shadow)}.settings-section h3{margin:0 0 20px;font-size:1.1rem;display:flex;align-items:center;gap:8px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-light)}.setting-item:last-child{border-bottom:none}.setting-info h4{margin:0 0 4px;font-size:.95rem}.setting-info p{margin:0;font-size:.8rem;color:var(--text-secondary)}.toggle-switch{position:relative;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:28px;transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;left:4px;bottom:4px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.dashboard-widgets{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:24px}.widget-column{display:flex;flex-direction:column;gap:24px}@media(max-width:1024px){.dashboard-widgets{grid-template-columns:1fr}}.enhanced-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.enhanced-stat-card{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 2px 12px var(--card-shadow);display:flex;align-items:center;gap:16px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.05);cursor:pointer}.enhanced-stat-card:hover{transform:translateY(-4px);border-color:var(--accent-color);box-shadow:0 8px 24px #0003}.enhanced-stat-card.tab-active{border-color:var(--accent-color);background:#9b7fd114;box-shadow:inset 0 0 0 1px var(--accent-color)}.stat-icon-wrapper{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon-wrapper.primary{background:#9b7fd126}.stat-icon-wrapper.success{background:#10b98126}.stat-icon-wrapper.warning{background:#f59e0b26}.stat-icon-wrapper.danger{background:#ef444426}.enhanced-stat-card.live{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;border:1px solid rgba(255,255,255,.2)}.enhanced-stat-card.live.tab-active{border-color:#fff;box-shadow:inset 0 0 0 2px #ffffff4d}.enhanced-stat-card.live .stat-label{color:#ffffffe6}.enhanced-stat-card.live .stat-icon-wrapper{background:#fff3;color:#fff}.stat-info{flex:1}.stat-info .stat-number{display:block;font-size:1.8rem;font-weight:700;line-height:1}.stat-info .stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.stat-icon-wrapper.star{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.stat-subject-name{display:block;font-size:1.4rem;font-weight:700;line-height:1.2;color:var(--text)}.enhanced-stat-card.tab-active{border:2px solid var(--primary);box-shadow:0 4px 20px #9b7fd14d}.enhanced-stat-card.live.tab-active{border:2px solid rgba(255,255,255,.5);box-shadow:0 4px 20px #ef444480}.empty-state{background:var(--card-bg);border-radius:16px;padding:60px 24px;text-align:center;box-shadow:0 2px 12px var(--card-shadow);margin-top:24px}.empty-state p{margin:0;font-size:1.1rem;color:var(--text-secondary)}@media(max-width:1024px){.enhanced-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.enhanced-stats-grid,.skeleton-stats-grid{grid-template-columns:1fr}}.rules-page{min-height:100vh;background:var(--bg);padding-bottom:40px}.rules-container{max-width:1000px;margin:0 auto;padding:24px}.test-info-card{background:var(--card-bg);border-radius:16px;padding:24px 32px;margin-bottom:24px;box-shadow:0 4px 20px var(--card-shadow)}.test-info-card h2{margin:0 0 12px;font-size:1.5rem;color:var(--text)}.rules-split-layout{display:grid;grid-template-columns:1fr 280px;gap:24px}.rules-left-panel{display:flex;flex-direction:column;gap:20px}.rules-card{background:var(--card-bg);border-radius:16px;padding:24px 32px;box-shadow:0 4px 20px var(--card-shadow)}.rules-card h3{margin:0 0 20px;font-size:1.2rem;color:var(--text)}.rules-list{display:flex;flex-direction:column;gap:12px}.rule-item{display:flex;gap:16px;align-items:flex-start;padding:12px 16px;background:var(--option-bg);border-radius:12px}.rule-number{width:28px;height:28px;min-width:28px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.rule-item p{margin:0;font-size:.95rem;color:var(--text);line-height:1.5}.agreement-section{background:var(--card-bg);border-radius:16px;padding:20px 24px;box-shadow:0 4px 20px var(--card-shadow);border:2px solid transparent;transition:border-color .2s ease}.agreement-section.error{border-color:var(--danger)}.agreement-checkbox{display:flex;gap:12px;align-items:flex-start;cursor:pointer;position:relative}.agreement-checkbox input{width:20px;height:20px;min-width:20px;cursor:pointer;accent-color:var(--primary)}.agreement-text{font-size:.9rem;color:var(--text);line-height:1.5}.error-message{margin:12px 0 0;color:var(--danger);font-size:.85rem}.rules-right-panel{position:sticky;top:24px;align-self:start}.action-card{background:var(--card-bg);border-radius:16px;padding:24px;text-align:center;box-shadow:0 4px 20px var(--card-shadow)}.action-card-full{background:var(--card-bg);border-radius:16px;padding:24px 32px;margin-top:20px;box-shadow:0 4px 20px var(--card-shadow);display:flex;align-items:center;gap:24px}.action-card-full .action-icon{width:60px;height:60px;min-width:60px;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff}.action-card-full .action-content{flex:1}.action-card-full .action-content h3{margin:0 0 4px;font-size:1.1rem;color:var(--text)}.action-card-full .action-content p{margin:0;font-size:.9rem;color:var(--text-secondary)}.action-buttons-horizontal{display:flex;gap:12px}.action-icon{font-size:2.5rem;margin-bottom:12px}.action-icon-box{width:60px;height:60px;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 16px}.action-card h3{margin:0 0 8px;font-size:1.1rem;color:var(--text)}.action-card p{margin:0 0 20px;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.action-buttons{display:flex;flex-direction:column;gap:10px}.btn-start-test{padding:14px 24px;background:var(--success);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-start-test:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-start-test:disabled{opacity:.5;cursor:not-allowed}.btn-go-back{padding:12px 24px;background:var(--option-bg);color:var(--text);border:2px solid var(--border);border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-go-back:hover{background:var(--border-light)}.btn-back{background:var(--option-bg);color:var(--text);border:none;padding:10px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--border-light)}.header-nav{display:flex;align-items:center;gap:24px}.header-nav h1{margin:0;font-size:1.3rem}.tests-list-page{display:flex;flex-direction:column;gap:32px}.tabs-container{display:flex;gap:12px;background:var(--card-bg);padding:8px;border-radius:12px;border:1px solid var(--border);width:fit-content}.tab-btn{display:flex;align-items:center;gap:10px;padding:10px 20px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:var(--bg)}.tab-btn.active{background:var(--primary);color:#fff}.count-badge{background:#fff3;padding:2px 8px;border-radius:20px;font-size:.8rem}.tab-btn:not(.active) .count-badge{background:var(--bg);color:var(--text-secondary)}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.test-card-simple{background:var(--card-bg);padding:24px;border-radius:16px;border:1px solid var(--border);display:flex;align-items:center;gap:20px;transition:all .3s ease}.test-card-simple:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow);border-color:var(--primary-light)}.test-card-icon{width:60px;height:60px;background:var(--primary-light);border-radius:12px;display:flex;align-items:center;justify-content:center}.test-card-info{flex:1}.test-card-info h3{margin:0 0 4px;font-size:1.1rem}.test-card-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.btn-take-test{padding:10px 20px;background:var(--success);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-take-test:hover{filter:brightness(1.1);transform:scale(1.05)}.result-badge{display:flex;flex-direction:column;align-items:flex-end}.result-badge .score{font-size:1.2rem;font-weight:700;color:var(--primary)}.result-badge .date{font-size:.8rem;color:var(--text-secondary)}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;color:var(--text-muted)}@media(max-width:900px){.rules-split-layout{grid-template-columns:1fr}.rules-right-panel{position:static}}@media(max-width:600px){.rules-container{padding:16px}.test-info-card,.rules-card{padding:20px}.rule-item{padding:12px}}.analytics-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:32px}.insight-card,.attention-card{background:var(--card-bg);border-radius:16px;padding:24px;border:1px solid var(--border-light);box-shadow:0 4px 12px var(--card-shadow);transition:all .3s ease}.insight-card:hover,.attention-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.dot-indicator{width:10px;height:10px;background:var(--primary);border-radius:50%;display:inline-block}.empty-insight-placeholder,.empty-attention-placeholder{height:120px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.95rem;font-style:italic;background:#9b7fd10d;border-radius:12px;border:1px dashed var(--border)}.attention-section{margin-bottom:32px}.recent-activity-full{background:var(--card-bg);border-radius:16px;padding:24px;border:1px solid var(--border-light)}.stat-card,.test-card-simple,.performance-graph{border:1px solid var(--border-light);box-shadow:0 4px 12px var(--card-shadow)}.test-card-simple:hover{border-color:var(--primary-light)}.fullscreen-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fullscreen-content{background:var(--card-bg);padding:40px;border-radius:20px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--border)}
