.app-header{background:var(--color-primary);color:#fff;padding:1rem;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:1000}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.header-logo{margin:0;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:#fff}.nav-desktop{display:none;gap:1.5rem;align-items:center}.nav-link{color:#fff;text-decoration:none;font-weight:500;opacity:.9;transition:opacity .2s ease;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem}.nav-link:hover{opacity:1;background-color:var(--bg-overlay-light)}.nav-link svg{flex-shrink:0}.notification-link{position:relative}.nav-mobile{display:flex;flex-direction:column;gap:0;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bg-overlay-medium)}.nav-link-mobile{color:var(--text-on-primary);text-decoration:none;font-weight:500;padding:.875rem 0;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem;transition:background-color .2s ease}.nav-link-mobile:last-child{border-bottom:none}.nav-link-mobile:active{background-color:var(--bg-overlay-light)}.nav-link-mobile svg{flex-shrink:0}.hamburger-menu{background:none;border:none;color:var(--text-on-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:.375rem;transition:background-color .2s ease}.hamburger-menu:hover{background-color:var(--bg-overlay-light)}.hamburger-menu:active{background-color:var(--bg-overlay-medium)}@media screen and (min-width:768px){.nav-desktop{display:flex}.hamburger-menu,.nav-mobile{display:none}.header-logo{font-size:1.5rem}}@media screen and (min-width:1024px){.nav-desktop{gap:2rem}.nav-link{font-size:1rem}}@media screen and (max-width:767px){.app-header{padding:.875rem 1rem}.header-logo{font-size:1.125rem}.header-logo svg{width:20px;height:20px}}@media(hover:none)and (pointer:coarse){.nav-link:hover,.hamburger-menu:hover{background-color:transparent}}.theme-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:.375rem;transition:background-color .2s ease}.theme-toggle:hover{background-color:var(--bg-overlay-light)}.theme-toggle:active{background-color:var(--bg-overlay-medium)}.plan-badge{background:var(--color-secondary);color:var(--text-primary);padding:.375rem .875rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;transition:all .2s ease;display:flex;align-items:center;min-height:44px}.plan-badge:hover{background:var(--color-secondary-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}@media screen and (max-width:767px){.plan-badge{font-size:.6875rem;padding:.25rem .625rem}}.logout-btn{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:.375rem;transition:all .2s ease}.logout-btn:hover{background-color:var(--error-bg);border-color:var(--error-border);color:var(--error-text);opacity:.8}.logout-btn:active{opacity:.6}.logout-mobile{background:var(--error-bg);border:none;color:var(--error-text);margin-top:.5rem}.feedback-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#1565c0 100%);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #1976d266;transition:all .3s ease;z-index:1000}.feedback-fab:hover{transform:scale(1.1);box-shadow:0 6px 25px #1976d280}.feedback-fab--open{background:var(--bg-paper);color:var(--text-primary);box-shadow:0 4px 15px #00000026}.feedback-overlay{position:fixed;inset:0;background:#0000004d;z-index:999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-primary) 0%,#1565c0 100%);color:#fff}.feedback-header__title{font-weight:600;font-size:1rem}.feedback-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s}.feedback-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.feedback-modal{position:fixed;bottom:96px;right:24px;width:360px;max-width:calc(100vw - 48px);background:var(--bg-paper);border-radius:16px;box-shadow:0 10px 40px #0003;z-index:1000;animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-form{padding:1.5rem}.feedback-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.feedback-subtitle{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.feedback-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.feedback-category{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:all .2s}.feedback-category:hover{background:var(--bg-body);color:var(--text-primary)}.feedback-category--active{border-color:var(--category-color);color:var(--category-color);background:var(--bg-body)}.feedback-textarea{width:100%;padding:.75rem;border:1px solid var(--border-light);border-radius:8px;resize:vertical;font-size:.9rem;font-family:inherit;background:var(--bg-body);color:var(--text-primary);transition:border-color .2s}.feedback-textarea:focus{outline:none;border-color:var(--color-primary)}.feedback-textarea::placeholder{color:var(--text-muted)}.feedback-char-count{text-align:right;font-size:.75rem;color:var(--text-muted);margin-top:.25rem;margin-bottom:.75rem}.feedback-error{padding:.5rem .75rem;background:var(--error-bg);color:var(--error-text);border-radius:6px;font-size:.8rem;margin-bottom:.75rem}.feedback-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,#1565c0 100%);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.feedback-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #1976d24d}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-success{padding:2.5rem 1.5rem;text-align:center}.feedback-success__icon{width:64px;height:64px;margin:0 auto 1rem;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.feedback-success h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.feedback-success p{margin:0;color:var(--text-secondary);font-size:.9rem}@media(max-width:480px){.feedback-modal{right:16px;left:16px;width:auto;bottom:88px}.feedback-fab{bottom:16px;right:16px;width:50px;height:50px}.feedback-categories{grid-template-columns:repeat(2,1fr)}}:root{--color-primary: #00563F;--color-primary-light: #007A5E;--color-primary-dark: #003D2C;--color-secondary: #D4AF37;--color-secondary-light: #F2D06B;--color-danger: #D32F2F;--color-success: #2E7D32;--color-warning: #ED6C02;--color-info: #0288D1;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px}:root,[data-theme=light]{--gradient-teal: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);--gradient-purple: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-indigo: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);--gradient-blue: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gradient-amber: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-green: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-violet: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);--gradient-slate: linear-gradient(90deg, #64748b 0%, #475569 100%);--gradient-bg-primary: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--bg-overlay-light: rgba(255, 255, 255, .1);--bg-overlay-medium: rgba(255, 255, 255, .2);--bg-overlay-strong: rgba(255, 255, 255, .3);--bg-glass: rgba(255, 255, 255, .05);--success-bg: #DCFCE7;--success-text: #166534;--success-border: #BBF7D0;--warning-bg: #FEF3C7;--warning-text: #92400E;--warning-text-dark: #78350F;--warning-border: #FDE68A;--warning-accent: #F59E0B;--error-bg: #FEE2E2;--error-text: #991B1B;--error-border: #FECACA;--info-bg: #E0F2FE;--info-bg-alt: #EFF6FF;--info-text: #075985;--info-border: #BAE6FD;--avatar-bg: #9CA3AF;--badge-bg: rgba(100, 116, 139, .2);--badge-text: #94a3b8;--border-light: #D1D5DB}[data-theme=dark]{--gradient-teal: linear-gradient(135deg, #0d5d56 0%, #10a899 100%);--gradient-purple: linear-gradient(135deg, #5a5dd1 0%, #6842a1 100%);--gradient-indigo: linear-gradient(135deg, #5558e3 0%, #7c47e8 100%);--gradient-blue: linear-gradient(135deg, #3570d9 0%, #2152d1 100%);--gradient-amber: linear-gradient(135deg, #d98a09 0%, #c26d06 100%);--gradient-green: linear-gradient(135deg, #0ea172 0%, #048459 100%);--gradient-violet: linear-gradient(135deg, #7c4ae8 0%, #6d32db 100%);--gradient-slate: linear-gradient(90deg, #5a667a 0%, #3f4d5e 100%);--gradient-bg-primary: linear-gradient(135deg, #0a0f1e 0%, #131b2e 100%);--bg-overlay-light: rgba(255, 255, 255, .08);--bg-overlay-medium: rgba(255, 255, 255, .15);--bg-overlay-strong: rgba(255, 255, 255, .25);--bg-glass: rgba(255, 255, 255, .05);--success-bg: rgba(34, 197, 94, .15);--success-text: #4ADE80;--success-border: rgba(34, 197, 94, .3);--warning-bg: rgba(251, 191, 36, .15);--warning-text: #FCD34D;--warning-text-dark: #FDE68A;--warning-border: rgba(251, 191, 36, .3);--warning-accent: #FBBF24;--error-bg: rgba(239, 68, 68, .15);--error-text: #F87171;--error-border: rgba(239, 68, 68, .3);--info-bg: rgba(59, 130, 246, .15);--info-bg-alt: rgba(59, 130, 246, .1);--info-text: #60A5FA;--info-border: rgba(59, 130, 246, .3);--avatar-bg: #64748B;--badge-bg: rgba(100, 116, 139, .25);--badge-text: #94a3b8;--border-light: rgba(255, 255, 255, .1)}:root,[data-theme=light]{--bg-body: #F4F6F8;--bg-paper: #FFFFFF;--bg-sidebar: #1E293B;--text-primary: #1F2937;--text-secondary: #6B7280;--text-on-primary: #FFFFFF;--text-muted: #9CA3AF;--border-color: rgba(0, 0, 0, .08);--border-color-strong: rgba(0, 0, 0, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-body: #0F172A;--bg-paper: #1E293B;--bg-sidebar: #0F172A;--text-primary: #F1F5F9;--text-secondary: #CBD5E1;--text-on-primary: #FFFFFF;--text-muted: #94A3B8;--border-color: rgba(255, 255, 255, .08);--border-color-strong: rgba(255, 255, 255, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}body{background-color:var(--bg-body);color:var(--text-primary);font-family:var(--font-sans);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;transition:all .2s;border:none;cursor:pointer;gap:var(--spacing-sm);min-height:44px;min-width:44px}.btn-primary{background-color:var(--color-primary);color:var(--text-on-primary)}.btn-primary:hover{background-color:var(--color-primary-light);transform:translateY(-1px)}.card{background:var(--bg-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);border:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--color-danger);color:var(--text-on-primary);font-size:.65rem;font-weight:700;padding:2px 5px;border-radius:var(--radius-full);min-width:16px;text-align:center;line-height:1}.notification-badge-inline{background:var(--color-danger);color:var(--text-on-primary);font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-full);margin-left:var(--spacing-sm)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}:root{--spacing-mobile: .5rem;--spacing-tablet: 1rem;--spacing-desktop: 1.5rem;--font-size-h1-mobile: 1.75rem;--font-size-h1-tablet: 2.25rem;--font-size-h1-desktop: 2.5rem;--font-size-h2-mobile: 1.5rem;--font-size-h2-tablet: 1.875rem;--font-size-h2-desktop: 2rem;--font-size-h3-mobile: 1.25rem;--font-size-h3-tablet: 1.5rem;--font-size-h3-desktop: 1.75rem;--font-size-body-mobile: .875rem;--font-size-body-tablet: 1rem;--font-size-body-desktop: 1rem;--touch-target-min: 44px;--container-mobile: 100%;--container-tablet: 720px;--container-desktop: 960px;--container-wide: 1200px}img,picture,video{max-width:100%;height:auto;display:block}.container{max-width:var(--container-mobile);padding:0 1rem;margin:0 auto;width:100%}body{font-size:var(--font-size-body-mobile);line-height:1.6}h1{font-size:var(--font-size-h1-mobile)!important;line-height:1.2}h2{font-size:var(--font-size-h2-mobile)!important;line-height:1.3}h3{font-size:var(--font-size-h3-mobile)!important;line-height:1.4}.btn,button{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:.75rem 1.5rem;font-size:1rem}.card{padding:1rem;margin-bottom:1rem}@media screen and (max-width:767px){[style*="display: grid"],[style*="display:grid"]{grid-template-columns:1fr!important}.stats-grid,.topic-grid{display:flex!important;flex-direction:column!important;gap:1rem!important}.container{padding:0 .875rem!important}.chart-container{height:250px!important;max-width:100%!important}.exam-container{max-width:100%!important;padding:1rem!important}.question-options{flex-direction:column!important;gap:.5rem!important}.option-button{width:100%!important;text-align:left!important}.tutor-chat-container{height:calc(100vh - 60px)!important;max-width:100%!important}.chat-messages,.chat-input{padding:.75rem!important}}@media screen and (min-width:480px){.container{max-width:var(--container-tablet);padding:0 1.5rem}body{font-size:var(--font-size-body-tablet)}h1{font-size:var(--font-size-h1-tablet)!important}h2{font-size:var(--font-size-h2-tablet)!important}h3{font-size:var(--font-size-h3-tablet)!important}.card{padding:1.25rem;margin-bottom:1.25rem}}@media screen and (min-width:768px){.container{max-width:var(--container-desktop);padding:0 2rem}h1{font-size:var(--font-size-h1-desktop)!important}h2{font-size:var(--font-size-h2-desktop)!important}h3{font-size:var(--font-size-h3-desktop)!important}.card{padding:1.5rem;margin-bottom:1.5rem}.stats-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:1.5rem!important}.chart-container{height:300px!important}}@media screen and (min-width:1024px){.container{max-width:var(--container-wide)}}@media(hover:none)and (pointer:coarse){.btn:hover,button:hover,a:hover{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.btn,button,.nav-desktop,.nav-mobile,.hamburger-menu{display:none!important}.container{max-width:100%!important;padding:0!important}.card{page-break-inside:avoid}}@media(prefers-contrast:high){.btn,button{border:2px solid currentColor}}@media screen and (max-width:767px)and (orientation:landscape){.tutor-chat-container{height:calc(100vh - 50px)!important}}@media screen and (max-width:767px)and (orientation:landscape){.tutor-chat-container{height:calc(100vh - 40px)!important}h1{font-size:var(--font-size-h2-mobile)!important}}
