@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,800&family=Inter:wght@300;400;500;600;700&display=swap);:root{--bg-app:#f8fafc;--bg-paper:#fff;--bg-surface:#f1f5f9;--bg-hover:#f8fafc;--text-main:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-primary-light:#818cf8;--color-primary-subtle:#e0e7ff;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-error:#f43f5e;--color-warning:#f59e0b;--color-sidebar:#0f172a;--text-inverted:#f8fafc;--glass-border:#e2e8f0cc;--bg-body:#f8fafc;--bg-snow:#f1f5f9;--bg-secondary:#f8fafc;--surface-card:var(--bg-paper);--surface-overlay:#0f172a99;--text-primary:var(--text-main);--text-secondary:var(--text-muted);--text-white:var(--text-inverted);--accent-primary:var(--color-primary);--accent-primary-hover:var(--color-primary-dark);--accent-primary-light:var(--color-primary-subtle);--accent-glow:#4f46e533;--accent:var(--color-accent);--sidebar-bg:var(--color-sidebar);--sidebar-text:var(--text-inverted);--sidebar-text-active:var(--color-primary-subtle);--sidebar-hover:#ffffff0d;--sidebar-active-bg:#e0e7ff1a;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:var(--color-primary);--primary-600:var(--color-primary-dark);--primary-700:#3730a3;--primary-800:#312e81;--primary-900:#1e1b4b;--accent-50:var(--primary-50);--accent-100:var(--primary-100);--accent-200:var(--primary-200);--accent-300:var(--primary-300);--accent-400:var(--primary-400);--accent-500:var(--primary-500);--accent-600:var(--primary-600);--accent-700:var(--primary-700);--accent-800:var(--primary-800);--accent-900:var(--primary-900);--color-success:#10b981;--color-success-light:#d1fae5;--color-warning:var(--color-accent);--color-warning-light:#fef3c7;--color-info:#3b82f6;--color-info-light:#dbeafe;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-dark:#94a3b8;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #00000014,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -2px #00000008;--shadow-xl:0 20px 25px -5px #00000014,0 10px 10px -5px #00000005;--shadow-2xl:0 25px 50px -12px #00000026;--shadow-soft:var(--shadow-md);--shadow-glow:0 0 0 3px #4f46e51a;--shadow-float:var(--shadow-xl);--shadow-focus:0 0 0 3px #4f46e51f;--shadow-card:var(--shadow-sm);--shadow-hover:var(--shadow-lg);--glow-accent:0 0 0 3px #4f46e51a;--glow-accent-strong:0 0 0 4px #4f46e526;--glass-bg:#ffffffe6;--glass-blur:blur(12px);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-card:var(--radius-xl);--radius-button:var(--radius-lg);--radius-input:var(--radius-lg);--radius-modal:var(--radius-2xl);--radius-full:9999px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-sans:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"SF Mono","Menlo","Consolas","Monaco",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.6;--leading-loose:2;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1);--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:32px;--shadow-sm:0 6px 16px #0f172a14;--shadow-md:0 12px 30px #0f172a1f;--shadow-lg:var(--shadow-soft);--shadow-xl:var(--shadow-float);--shadow-2xl:0 30px 60px #0f172a29;--shadow-glass:0 20px 50px #0f172a59;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-tertiary:#64748bb3;--primary-main:var(--color-primary);--primary-dark:#0b1221;--primary-light:#2f456f;--bg-primary:var(--bg-paper);--bg-tertiary:#e9eff7;--border-color:var(--border-light);--error-50:#fef2f2;--error-500:#ef4444;--error-600:#dc2626}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background:radial-gradient(circle at 20% 20%,#e0e7ff80,#0000 40%),radial-gradient(circle at 80% 10%,#ddd6fe73,#0000 40%),radial-gradient(circle at 40% 80%,#bfdbfe59,#0000 45%),#f8fafc!important;color:#1e293b;color:var(--text-main);font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;height:100%;line-height:1.6;margin:0;padding:0;width:100%}#root{background:#0000!important;min-height:100vh;position:relative;width:100%}#root:before{animation:globalAuroraFloat 18s ease-in-out infinite alternate;background:radial-gradient(780px at 15% 20%,#e0e7ff80,#0000 55%),radial-gradient(720px at 85% 5%,#ddd6fe73,#0000 55%),radial-gradient(760px at 40% 85%,#bfdbfe59,#0000 60%);content:"";filter:blur(60px);inset:-15%;opacity:.75;pointer-events:none;position:fixed;z-index:0}@keyframes globalAuroraFloat{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.05)}to{transform:translate3d(-3%,4%,0) scale(1.02)}}#root>*{position:relative;z-index:1}.app-layout,.dashboard-layout,.page-layout{background:radial-gradient(circle at 20% 20%,#e0e7ff80,#0000 40%),radial-gradient(circle at 80% 10%,#ddd6fe73,#0000 40%),radial-gradient(circle at 40% 80%,#bfdbfe59,#0000 45%),#f8fafc;min-height:100vh;overflow-x:hidden;position:relative}.app-layout:before,.dashboard-layout:before,.page-layout:before{animation:auroraFloat 18s ease-in-out infinite alternate;background:radial-gradient(780px at 15% 20%,#e0e7ff80,#0000 55%),radial-gradient(720px at 85% 5%,#ddd6fe73,#0000 55%),radial-gradient(760px at 40% 85%,#bfdbfe59,#0000 60%);content:"";filter:blur(60px);inset:-15%;opacity:.75;pointer-events:none;position:fixed;z-index:0}.app-layout>*,.dashboard-layout>*,.page-layout>*{position:relative;z-index:1}.card,.content-card,.light-card,.main-content-card,.section-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffbf;border:1px solid #fff9;border-radius:24px;border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #4f46e51f,0 10px 25px -5px #0000000f,0 0 20px #4f46e514;padding:clamp(24px,5vw,32px);transition:all .3s cubic-bezier(.16,1,.3,1)}.card:hover,.content-card:hover{border-color:#4f46e533;box-shadow:0 30px 60px -14px #4f46e52e,0 0 25px #4f46e526;transform:translateY(-4px)}h1,h2,h3,h4,h5,h6{color:#0f172a;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-display);letter-spacing:-.02em;line-height:1.25;line-height:var(--leading-tight);margin:0}h1,h2,h3,h4,h5,h6{font-weight:700;font-weight:var(--font-bold)}h1{font-size:1.875rem;font-size:var(--text-3xl)}h2{font-size:1.5rem;font-size:var(--text-2xl);font-weight:700;font-weight:var(--font-bold)}h3{font-size:1.25rem;font-size:var(--text-xl)}h3,h4{font-weight:600;font-weight:var(--font-semibold)}h4{font-size:1.125rem;font-size:var(--text-lg)}h5{font-size:1rem;font-size:var(--text-base)}h5,h6{font-weight:500;font-weight:var(--font-medium)}h6{font-size:.875rem;font-size:var(--text-sm)}p{color:#64748b;color:var(--text-muted);font-weight:400;font-weight:var(--font-normal);line-height:1.6;line-height:var(--leading-relaxed);margin:0}a{color:#4f46e5;color:var(--accent-primary);text-decoration:none;transition:color .3s cubic-bezier(.4,0,.2,1);transition:color var(--transition-base)}a:hover{color:#4338ca;color:var(--accent-primary-hover)}button{background:none;border:none;cursor:pointer;font-family:inherit;padding:0}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;background:var(--bg-snow);border-radius:var(--radius-small)}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--border-medium);border-radius:var(--radius-small);-webkit-transition:background .3s cubic-bezier(.4,0,.2,1);transition:background .3s cubic-bezier(.4,0,.2,1);-webkit-transition:background var(--transition-base);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--border-dark)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:8px;gap:var(--space-xs)}.gap-sm{gap:12px;gap:var(--space-sm)}.gap-md{gap:16px;gap:var(--space-md)}.gap-lg{gap:24px;gap:var(--space-lg)}.m-0{margin:0}.mt-lg{margin-top:24px;margin-top:var(--space-lg)}.mt-xl{margin-top:32px;margin-top:var(--space-xl)}.mb-lg{margin-bottom:24px;margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:32px;margin-bottom:var(--space-xl)}.p-lg{padding:24px;padding:var(--space-lg)}.p-xl{padding:32px;padding:var(--space-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500;font-weight:var(--font-medium)}.font-semibold{font-weight:600;font-weight:var(--font-semibold)}.font-bold{font-weight:700;font-weight:var(--font-bold)}.text-primary{color:#1e293b;color:var(--text-primary)}.text-secondary{color:#64748b;color:var(--text-secondary)}.text-white{color:#f8fafc;color:var(--text-white)}.rounded-card{border-radius:20px;border-radius:var(--radius-card)}.rounded-button{border-radius:16px;border-radius:var(--radius-button)}.rounded-full{border-radius:9999px;border-radius:var(--radius-full)}.shadow-card{box-shadow:0 6px 16px #0f172a14;box-shadow:var(--shadow-card)}.shadow-hover{box-shadow:0 12px 30px #0f172a1f;box-shadow:var(--shadow-hover)}.card{background:#fff;background:var(--bg-paper);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:20px;border-radius:var(--radius-card);box-shadow:0 12px 30px #0f172a1f;box-shadow:var(--shadow-soft);padding:24px;padding:var(--space-lg);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.card:hover{border-color:#0f172a14;box-shadow:var(--shadow-float);transform:translateY(-4px)}.card-header{margin-bottom:24px;margin-bottom:var(--space-lg)}.card-title{color:#1e293b;color:var(--text-primary);font-size:1.25rem;font-size:var(--text-xl);font-weight:600;font-weight:var(--font-semibold);margin:0}.card-subtitle{font-size:.875rem;font-size:var(--text-sm);margin-top:8px;margin-top:var(--space-xs)}.card-body,.card-subtitle{color:#64748b;color:var(--text-secondary)}.card-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-light);display:flex;gap:16px;gap:var(--space-md);justify-content:flex-end;margin-top:24px;margin-top:var(--space-lg);padding-top:24px;padding-top:var(--space-lg)}.btn{border-radius:16px;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:#4f46e5;background:var(--color-primary);box-shadow:0 6px 16px #0f172a14;box-shadow:var(--shadow-sm);color:#fff;font-weight:500;font-weight:var(--font-medium)}.btn-primary:hover:not(:disabled){background:#4338ca;background:var(--color-primary-dark);box-shadow:0 12px 30px #0f172a1f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-xs);transform:translateY(0)}.btn-secondary{background:#f1f5f9;background:var(--bg-surface);border:1px solid #e2e8f0;border:1px solid var(--border-light);color:#1e293b;color:var(--text-main);font-weight:500;font-weight:var(--font-medium)}.btn-secondary:hover:not(:disabled){background:#f8fafc;background:var(--bg-hover);border-color:#cbd5e1;border-color:var(--border-medium);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-xs)}.btn-outline{background:#0000;border:2px solid #4f46e5;border:2px solid var(--color-primary);color:#4f46e5;color:var(--color-primary);font-weight:500;font-weight:var(--font-medium)}.btn-outline:hover:not(:disabled){background:#e0e7ff;background:var(--color-primary-subtle);border-color:#4338ca;border-color:var(--color-primary-dark)}.btn-danger{background:#f43f5e;box-shadow:0 6px 16px #0f172a14;box-shadow:var(--shadow-sm);color:#fff}.btn-danger:hover:not(:disabled){background:#e11d48;box-shadow:0 12px 30px #0f172a1f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-icon{padding:12px}.form-group{gap:8px;gap:var(--space-xs);margin-bottom:24px;margin-bottom:var(--space-lg)}.form-label{color:#1e293b;font-size:.875rem;font-weight:500;font-weight:var(--font-medium)}.form-input,.form-select,.form-textarea{background:#f1f5f9;background:var(--bg-surface);border:1px solid #0000;border-radius:16px;border-radius:var(--radius-input);color:#1e293b;color:var(--text-main);font-family:inherit;font-size:1rem;line-height:1.5;min-height:48px;padding:13px 16px;padding:13px var(--space-md);transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.form-input:hover,.form-select:hover,.form-textarea:hover{background:#f8fafc;background:var(--bg-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{background:#fff;border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51f;box-shadow:var(--shadow-focus)}.form-input::placeholder,.form-textarea::placeholder{color:#64748b;color:var(--text-muted)}.form-error{color:#f43f5e;color:var(--color-error);font-size:.75rem;font-size:var(--text-xs)}.modal-overlay,.recording-player-modal,.subscriptions-modal-overlay,.teacher-upload-modal-overlay{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f172a66}.modal,.recording-player-shell,.subscriptions-modal,.teacher-upload-modal{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff9;border-radius:32px;border-radius:var(--radius-3xl);box-shadow:0 25px 50px -12px #4f46e540,0 10px 25px -5px #0000001a,0 0 40px #4f46e526;padding:clamp(24px,4vw,40px)}.modal h1,.modal h2,.modal h3,.modal p,.subscriptions-modal h1,.subscriptions-modal h2,.subscriptions-modal h3,.subscriptions-modal p{color:#1e293b;color:var(--text-primary)}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:500;font-weight:var(--font-medium);padding:4px 12px;white-space:nowrap}.badge-success{background:#d1fae5;background:var(--color-success-light);color:#10b981;color:var(--color-success)}.badge-error{background:var(--color-error-light);color:#f43f5e;color:var(--color-error)}.badge-warning{background:#fef3c7;background:var(--color-warning-light);color:#4f46e5;color:var(--color-warning)}.badge-info{background:#dbeafe;background:var(--color-info-light);color:#3b82f6;color:var(--color-info)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 0 3px #4f46e51a;box-shadow:var(--glow-accent)}50%{box-shadow:0 0 0 4px #4f46e526;box-shadow:var(--glow-accent-strong)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideUp{animation:slideUp .4s ease-out}@media (max-width:768px){html{font-size:14px}.card{padding:16px;padding:var(--space-md)}.btn{min-height:44px;padding:10px 16px;padding:10px var(--space-md)}body{overflow-x:hidden}button,input,select,textarea{font-size:16px;min-height:44px}.form-field,.form-group{width:100%}.confirm-modal-content,.modal-content{margin:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.btn-group,.button-group,.form-actions{flex-direction:column;gap:.75rem}.btn-group>*,.button-group>*,.form-actions>*{width:100%}}@media (max-width:480px){html{font-size:13px}.card{border-radius:16px;border-radius:var(--radius-lg);padding:12px;padding:var(--space-sm)}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.page-section,.section{padding:1rem .75rem}}@supports (padding:max(0px)){.main-content,.page-container{padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}.btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-xs);justify-content:center;line-height:1.5;min-height:48px;outline:none;padding:12px var(--space-lg);text-align:center;text-decoration:none;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-sm{font-size:var(--text-sm);min-height:40px;padding:8px var(--space-md)}.btn-md{font-size:var(--text-base);min-height:48px;padding:12px var(--space-lg)}.btn-lg{font-size:var(--text-lg);min-height:56px;padding:16px var(--space-xl)}.btn-primary,.gm-btn-primary{background:linear-gradient(to right,var(--color-warning),var(--color-warning));box-shadow:0 0 15px #f59e0b80;color:var(--bg-paper)}.btn-primary:hover:not(:disabled),.gm-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-warning) 0,var(--color-warning) 100%);box-shadow:0 12px 40px #fbbf2499,0 0 80px #fbbf244d;color:var(--text-main);transform:translateY(-4px) scale(1.02)}.btn-primary:active:not(:disabled),.gm-btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary,.sr-btn-secondary{background:#0000;border:2px solid var(--border-medium);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled),.sr-btn-secondary:hover:not(:disabled){background:#ffffffbf;border-color:var(--border-dark)}.btn-outline,.gm-btn-outline{background:#0000;border:2px solid var(--accent-primary);color:var(--accent-primary)}.btn-outline:hover:not(:disabled),.gm-btn-outline:hover:not(:disabled){background:var(--accent-primary-light);border-color:var(--accent-primary-hover);color:var(--accent-primary-hover)}.btn-surface,.gm-btn-surface{background:var(--surface-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);color:var(--text-primary)}.btn-surface:hover:not(:disabled),.gm-btn-surface:hover:not(:disabled){border-color:var(--border-medium);box-shadow:var(--shadow-hover)}.btn-danger,.btn-delete{background:var(--color-error);box-shadow:0 4px 12px #ef444433;color:var(--text-white)}.btn-danger:hover:not(:disabled),.btn-delete:hover:not(:disabled){background:var(--color-error);box-shadow:0 8px 20px #ef44444d;transform:translateY(-2px)}.btn-success,.sr-btn-done{background:var(--color-success);box-shadow:0 4px 12px #10b98133;color:var(--text-white)}.btn-success:hover:not(:disabled),.sr-btn-done:hover:not(:disabled){background:var(--color-success);box-shadow:0 8px 20px #10b9814d;transform:translateY(-2px)}.btn-icon{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xl);height:48px;justify-content:center;min-height:48px;min-width:48px;padding:0;width:48px}.btn-icon.btn-sm{font-size:var(--text-lg);height:40px;min-height:40px;min-width:40px;width:40px}.btn-close-icon,.modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--text-2xl);height:36px;justify-content:center;line-height:1;min-height:36px;min-width:36px;padding:0;transition:all var(--transition-base);width:36px}.btn-close-icon:hover,.modal-close:hover{background:var(--bg-snow);color:var(--text-primary)}.btn-text{background:#0000;border:none;box-shadow:none;color:var(--accent-primary);padding:8px var(--space-md)}.btn-text:hover:not(:disabled){color:var(--accent-primary-hover);text-decoration:underline;transform:none}.btn-close{background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-button);color:var(--text-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);min-height:48px;padding:12px var(--space-lg);transition:all var(--transition-base)}.btn-close:hover{border-color:var(--border-medium);box-shadow:var(--shadow-card)}.btn-submit{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);border:none;border-radius:var(--radius-button);box-shadow:var(--glow-accent);color:var(--text-white);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);min-height:48px;padding:12px var(--space-xl);transition:all var(--transition-base)}.btn-submit:hover:not(:disabled){box-shadow:var(--glow-accent-strong);transform:translateY(-2px)}.btn-retry,.error-retry,.sl-btn-retry,.storage-retry-btn,.teacher-retry-btn{background:var(--accent-primary);border:none;border-radius:var(--radius-button);box-shadow:var(--glow-accent);color:var(--text-white);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);min-height:48px;padding:12px var(--space-lg);transition:all var(--transition-base)}.btn-retry:hover:not(:disabled),.error-retry:hover,.sl-btn-retry:hover:not(:disabled),.storage-retry-btn:hover,.teacher-retry-btn:hover:not(:disabled){background:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-refresh,.refresh-btn,.sl-btn-refresh,.storage-refresh-btn,.teacher-refresh-btn{background:var(--bg-primary);border:1px solid var(--primary-500);border-radius:var(--radius-lg);color:var(--primary-500);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.btn-refresh:hover:not(:disabled),.refresh-btn:hover:not(:disabled),.sl-btn-refresh:hover,.storage-refresh-btn:hover,.teacher-refresh-btn:hover{background:var(--primary-50);border-color:var(--primary-600);color:var(--primary-600)}.sr-back-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.sr-back-btn:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.dtp-trigger{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:flex;font-size:var(--text-base);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:all var(--transition-base)}.dtp-trigger:hover{border-color:var(--primary-500);box-shadow:var(--shadow-sm)}.dtp-clear{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);transition:all var(--transition-base)}.dtp-clear:hover{background:var(--gray-100);color:var(--error-500)}.admin-quick-action{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-xl);text-align:left;transition:all var(--transition-base);width:100%}.admin-quick-action:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.storage-small-button{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.storage-small-button:hover:not(:disabled){border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.storage-small-button.primary{background:var(--primary-500);border:none;color:#fff}.storage-small-button.primary:hover:not(:disabled){background:var(--primary-600)}.storage-link-button{background:#0000;border:none;color:var(--primary-500);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-sm);text-decoration:underline;transition:color var(--transition-base)}.storage-link-button:hover{color:var(--primary-600)}.teacher-modal-close{background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:var(--text-2xl);height:32px;line-height:1;padding:0;transition:all var(--transition-base);width:32px}.teacher-modal-close:hover{background:var(--gray-100);color:var(--text-primary)}.recording-player-close{background:var(--error-500);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.recording-player-close:hover{background:var(--error-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-group{align-items:center}.btn-group,.btn-group-vertical{display:flex;gap:var(--space-md)}.btn-group-vertical{flex-direction:column}.btn.loading{color:#0000;pointer-events:none;position:relative}.btn.loading:after{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}@media (max-width:640px){.btn{font-size:var(--text-sm);padding:var(--space-sm) var(--space-md)}.btn-lg{font-size:var(--text-base);padding:var(--space-md) var(--space-xl)}}.dashboard-container{margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl);position:relative}.dashboard-container:before{animation:auroraFloat 18s ease-in-out infinite alternate;background:radial-gradient(780px at 15% 20%,#e0e7ff80,#0000 55%),radial-gradient(720px at 85% 5%,#ddd6fe73,#0000 55%),radial-gradient(760px at 40% 85%,#bfdbfe59,#0000 60%);content:"";filter:blur(60px);inset:-15%;opacity:.75;pointer-events:none;position:fixed;z-index:0}@keyframes auroraFloat{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.05)}to{transform:translate3d(-3%,4%,0) scale(1.02)}}.dashboard-container>*{position:relative;z-index:1}.dashboard-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:var(--space-xl)}.dashboard-section{margin-bottom:var(--space-2xl)}.dashboard-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-2xl);font-weight:var(--font-semibold);gap:var(--space-sm);margin-bottom:var(--space-lg)}.stats-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffbf;border:1px solid #fff9;border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #4f46e51f,0 10px 25px -5px #0000000f,0 0 20px #4f46e514;overflow:hidden;padding:var(--space-lg);position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.stats-card:before{background:linear-gradient(90deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.stats-card:hover{border-color:#4f46e533;box-shadow:0 30px 60px -14px #4f46e52e,0 0 25px #4f46e526;transform:translateY(-4px) scale(1.02)}.stats-card:hover:before{opacity:1}.stats-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.stats-card-icon{align-items:center;background:var(--accent-primary-light);border-radius:var(--radius-button);color:var(--accent-primary);display:flex;font-size:var(--text-2xl);height:48px;justify-content:center;width:48px}.stats-card-value{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:var(--space-sm) 0}.stats-card-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.stats-card-trend{align-items:center;display:flex;font-size:var(--text-xs);gap:var(--space-xs);margin-top:var(--space-xs)}.stats-card-trend.positive{color:var(--color-success)}.stats-card-trend.negative{color:var(--color-error)}.lesson-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffbf;border:1px solid #fff9;border-left:4px solid #0000;border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #4f46e51f,0 10px 25px -5px #0000000f,0 0 20px #4f46e514;padding:var(--space-lg);transition:all .3s cubic-bezier(.16,1,.3,1)}.lesson-card:hover{border-color:#4f46e533;box-shadow:0 30px 60px -14px #4f46e52e,0 0 25px #4f46e526;transform:translateY(-4px) scale(1.01)}.lesson-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.lesson-card-time{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-xs)}.lesson-card-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:var(--space-xs) 0}.lesson-card-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-md);margin:var(--space-md) 0}.lesson-card-meta-item{align-items:center;display:flex;gap:var(--space-xs)}.lesson-card-actions{border-top:1px solid var(--border-light);display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md)}.group-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffbf;border:1px solid #fff9;border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #4f46e51f,0 10px 25px -5px #0000000f,0 0 20px #4f46e514;cursor:pointer;overflow:hidden;padding:var(--space-lg);position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.group-card:after{background:linear-gradient(90deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);bottom:0;content:"";height:3px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.group-card:hover{border-color:#4f46e533;box-shadow:0 30px 60px -14px #4f46e52e,0 0 25px #4f46e526;transform:translateY(-4px) scale(1.02)}.group-card:hover:after{transform:scaleX(1)}.group-card-header{align-items:center;display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.group-card-avatar{align-items:center;background:var(--accent-primary-light);border-radius:var(--radius-full);color:var(--accent-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);height:56px;justify-content:center;width:56px}.group-card-info{flex:1 1}.group-card-name{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-xs) 0}.group-card-description{color:var(--text-secondary);font-size:var(--text-sm)}.group-card-stats{border-top:1px solid var(--border-light);display:flex;gap:var(--space-lg);padding-top:var(--space-md)}.group-card-stat{display:flex;flex-direction:column;gap:var(--space-xs)}.group-card-stat-value{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold)}.group-card-stat-label{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.5px;text-transform:uppercase}.progress-card{background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-lg)}.progress-card-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-md)}.progress-bar-container{background:var(--bg-snow);height:8px;margin-bottom:var(--space-xs)}.progress-bar-container,.progress-bar-fill{border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{background:linear-gradient(90deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);box-shadow:var(--glow-accent);height:100%;transition:width var(--transition-slow)}.progress-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-bar-label{color:var(--text-secondary);display:flex;font-size:var(--text-xs);justify-content:space-between}.notification-card{align-items:flex-start;background:var(--surface-card);border-left:4px solid var(--accent-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-md);transition:all var(--transition-base)}.notification-card:hover{box-shadow:var(--shadow-hover);transform:translateX(4px)}.notification-card.error{border-left-color:var(--color-error)}.notification-card.success{border-left-color:var(--color-success)}.notification-card.warning{border-left-color:var(--color-warning)}.notification-card-icon{align-items:center;background:var(--accent-primary-light);border-radius:var(--radius-full);color:var(--accent-primary);display:flex;font-size:var(--text-lg);height:40px;justify-content:center;min-width:40px;width:40px}.notification-card-content{flex:1 1}.notification-card-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-xs)}.notification-card-message{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}@media (max-width:768px){.dashboard-container{padding:var(--space-md)}.dashboard-grid{gap:var(--space-md);grid-template-columns:1fr}.group-card,.lesson-card,.stats-card{padding:var(--space-md)}.group-card-stats{flex-direction:column;gap:var(--space-md)}.dashboard-header{align-items:stretch;flex-direction:column;gap:1rem}.dashboard-title{font-size:1.5rem;text-align:center}.dashboard-actions{flex-direction:column;gap:.75rem}.dashboard-actions button{width:100%}.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}}@media (max-width:480px){.dashboard-container{padding:var(--space-sm)}.stats-grid{grid-template-columns:1fr}.group-card,.lesson-card{padding:var(--space-sm)}.lesson-card-header{flex-direction:column;gap:.5rem}.lesson-card-actions{justify-content:flex-end;width:100%}}@media (max-width:768px){.admin-home-page,.student-home,.teacher-home-page{overflow-x:hidden;padding:1rem!important}.admin-section,.admin-stat-card,.glass-card,.groups-section,.impact-dashboard,.schedule-section,.stats-section,.student-courses-section,.summary-stats{border-radius:16px!important;box-sizing:border-box;margin-bottom:1rem;max-width:100%!important;overflow:hidden;padding:1rem!important;width:100%!important}.actions-grid,.admin-quick-actions,.admin-stats-grid,.content-grid,.impact-grid,.stats-grid,.summary-grid{display:flex!important;flex-direction:column!important;gap:1rem!important;width:100%!important}.sidebar{order:1;width:100%!important}.admin-header,.page-header{align-items:stretch!important;flex-direction:column!important;gap:1rem!important;padding:1rem!important;text-align:left}.admin-welcome h1,.page-title{font-size:1.5rem!important;line-height:1.3}.admin-welcome p,.page-subtitle{font-size:.9rem!important}.header-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.header-actions .btn,.header-message-button{justify-content:center;width:100%!important}.section-title{flex-wrap:wrap;font-size:1.25rem!important}.section-header{align-items:flex-start!important;flex-direction:column;gap:.75rem}.link-all{align-self:flex-start}}@media (max-width:480px){.admin-home-page,.student-home,.teacher-home-page{padding:.75rem!important}.admin-section,.admin-stat-card,.glass-card,.groups-section,.impact-dashboard,.schedule-section,.stats-section,.student-courses-section,.summary-stats{border-radius:12px!important;padding:.875rem!important}.admin-welcome h1,.page-title{font-size:1.35rem!important}.section-title{font-size:1.15rem!important}.lesson-card{display:flex!important;flex-direction:column!important;gap:.75rem!important;padding:1rem!important}.lesson-time{flex-direction:row!important;gap:.5rem;justify-content:flex-start!important;min-width:auto!important}.lesson-actions{flex-wrap:wrap;gap:.5rem;justify-content:flex-end;width:100%}.lesson-actions .btn{flex:1 1;font-size:.85rem!important;min-width:100px;padding:.5rem .75rem!important}.stat-card{flex-direction:row!important;padding:1rem!important}.stat-icon{font-size:1.75rem!important}.stat-number,.stat-value{font-size:1.5rem!important}.stat-label{font-size:.8rem!important}.btn{font-size:.9rem!important;padding:.65rem 1rem!important}.btn-sm{font-size:.8rem!important;padding:.5rem .75rem!important}}@media (max-width:768px){.quick-lesson-btn,.winter-quick-lesson-btn{margin:0!important;max-width:100%!important;padding:1rem!important;width:100%!important}.badge-card,.impact-dashboard{gap:1rem!important}.badge-card{flex-direction:row!important;padding:1rem!important}.badge-icon{flex-shrink:0}.tree-growth{height:120px!important}.tree-growth .santa-scene,.tree-growth .winter-forest{display:none}.subscription-banner{margin:0 0 1rem!important;padding:1rem!important}.banner-content{flex-direction:column!important;gap:.75rem!important;text-align:center!important}.banner-icon{font-size:24px!important}.banner-text strong{font-size:14px!important}.banner-text p{font-size:13px!important}.pay-button{width:100%!important}.summary-stats{padding:1rem!important}.summary-title{font-size:1.25rem!important;margin-bottom:1rem!important}.summary-icon{height:48px!important;width:48px!important}.summary-icon,.summary-value{font-size:1.5rem!important}.summary-label{font-size:.75rem!important}.group-row,.student-row{display:flex!important;flex-direction:column!important;gap:.75rem!important;padding:1rem!important}.metric-block{padding-left:0!important}.student-main-content{padding:1rem!important}.student-page-title{font-size:1.5rem!important;margin-bottom:1rem!important}.student-today-banner{align-items:flex-start!important;flex-direction:column!important;gap:.5rem!important;padding:1rem!important}.student-today-actions{margin-left:0!important;margin-top:.5rem;width:100%}.student-today-actions .btn{width:100%!important}.student-courses-grid{gap:1rem!important;grid-template-columns:1fr!important}.student-course-card{padding:1rem!important}.student-course-top{align-items:flex-start!important;flex-direction:column!important;gap:.75rem!important}.student-course-badge{height:48px!important;width:48px!important}.student-lesson-card{align-items:stretch!important;flex-direction:column!important;gap:.75rem!important;text-align:center!important}.student-lesson-time{align-self:center!important;min-width:auto!important}.admin-sidebar{display:none!important}.admin-main-content{margin-left:0!important;padding:1rem!important;width:100%!important}.admin-stats-grid{grid-template-columns:1fr!important}.admin-stat-card{flex-direction:row!important;gap:1rem!important}.admin-quick-actions{grid-template-columns:1fr!important}.admin-quick-action{flex-direction:row!important;gap:1rem!important;justify-content:flex-start!important;padding:1rem!important;text-align:left!important}.action-icon{flex-shrink:0!important;height:48px!important;width:48px!important}.action-label{font-size:.95rem!important;text-align:left!important}.admin-modal,.zoom-manager-modal,.zoom-stats-modal{border-radius:12px!important;margin:5vh auto!important;max-height:90vh!important;max-width:95vw!important;width:95vw!important}.modal-header{padding:1rem!important}.modal-header h2{font-size:1.15rem!important}.empty-state,.student-empty-state{padding:2rem 1rem!important}.empty-state h3,.student-empty-state h3{font-size:1.1rem!important}.empty-state p,.student-empty-state p{font-size:.9rem!important}.progress-bar,.progress-track{height:8px!important}.student-status-badge{font-size:.7rem!important;padding:.3rem .6rem!important}.student-chip{font-size:.75rem!important;padding:.3rem .5rem!important}.loading-container{min-height:200px!important;padding:2rem 1rem!important}.spinner{height:40px!important;width:40px!important}.btn,.dropdown-item,.nav-dropdown-item,a.nav-link,button{min-height:44px}.admin-quick-action,.group-card,.lesson-card,.student-course-card{-webkit-tap-highlight-color:transparent;cursor:pointer}}@media (max-width:768px){@media (hover:none){.admin-stat-card:hover,.group-card:hover,.lesson-card:hover,.stat-card:hover{transform:none!important}}}@supports (padding:max(0px)){@media (max-width:768px){.admin-home-page,.student-home,.teacher-home-page{padding-bottom:max(1rem,env(safe-area-inset-bottom))!important;padding-left:max(.75rem,env(safe-area-inset-left))!important;padding-right:max(.75rem,env(safe-area-inset-right))!important}}}code{font-family:var(--font-mono)}.auth-gradient-bg{align-items:center;background:linear-gradient(135deg,var(--bg-app) 0,var(--bg-surface) 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:clamp(1.5rem,5vw,3rem);position:relative}.auth-gradient-bg:before{animation:slowRotate 60s linear infinite;background:radial-gradient(circle at 30% 20%,#4f46e508 0,#0000 50%),radial-gradient(circle at 70% 80%,#4f46e505 0,#0000 50%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes slowRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.role-card-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:960px;width:100%;z-index:1}.glass-card{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:#fff3;border:1px solid var(--glass-border);border-radius:var(--radius-3xl);box-shadow:var(--shadow-glow);transition:all var(--transition-slow)}.glass-card.role-select{align-items:center;color:var(--bg-paper);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-md);overflow:hidden;padding:var(--space-2xl) var(--space-xl);position:relative;text-align:center}.glass-card.role-select:before{background:linear-gradient(135deg,#ffffff1a,#0000);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.glass-card.role-select:hover:before{opacity:1}.glass-card.role-select.active{background:#ffffff40;border:2px solid var(--color-primary);box-shadow:0 0 0 4px #4f46e533,var(--shadow-2xl);transform:translateY(-8px) scale(1.02)}.glass-card.role-select:hover:not(.active){border-color:#ffffff4d;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.role-icon{filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));font-size:var(--text-4xl);line-height:1;transition:transform var(--transition-base)}.glass-card.role-select:hover .role-icon{transform:scale(1.1)}.auth-form-card{animation:fadeIn .6s ease;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:var(--radius-3xl);box-shadow:var(--shadow-glass);color:var(--bg-paper);max-width:480px;padding:var(--space-2xl);width:100%;z-index:1}.auth-small-note{color:#ffffffb3;font-size:var(--text-sm);margin-top:var(--space-md);text-align:center}.auth-change-role{color:#fffc;cursor:pointer;font-size:var(--text-sm);transition:color var(--transition-fast)}.auth-change-role:hover{color:var(--bg-paper);text-decoration:underline}.App{background:var(--bg-app);display:flex;flex-direction:column;min-height:100vh}.App-header{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#fff;border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);color:var(--text-main);display:flex;min-height:72px;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.App-header h1{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-style:italic;font-weight:800;letter-spacing:-.02em;margin:0;padding:0;text-align:center}.App-header h1 .brand-easy{color:var(--color-primary)}.App-header h1 .brand-teaching{color:var(--text-main)}.App-main{flex:1 1;margin:0 auto;max-width:var(--container-7xl);padding:var(--space-xl);width:100%}.loading{color:var(--text-secondary);font-size:var(--text-lg);padding:var(--space-2xl);text-align:center}.error{background-color:var(--error-50);border:1px solid var(--error-500);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--error-600);margin:var(--space-xl);padding:var(--space-lg)}.courses-section,.quick-actions{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl);padding:clamp(24px,5vw,40px);transition:all var(--transition-base)}.courses-section:hover,.quick-actions:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.courses-section h2,.quick-actions h2{color:var(--text-main);font-family:var(--font-display);font-size:clamp(1.5rem,4vw,1.875rem);font-weight:var(--font-bold);letter-spacing:-.5px;margin-bottom:var(--space-lg)}.courses-section h2:after{display:none}.no-courses{color:var(--text-tertiary);font-size:var(--text-lg);padding:var(--space-2xl);text-align:center}.courses-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.course-card{background:var(--bg-paper);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);overflow:hidden;padding:clamp(20px,4vw,28px);position:relative;transition:all var(--transition-base)}.course-card:before{background:var(--color-primary);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.course-card:hover:before{transform:scaleX(1)}.course-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.course-card h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.01em;margin-bottom:var(--space-sm)}.course-card .description{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-md)}.course-info{background:var(--bg-secondary);border-radius:var(--radius-md);margin:var(--space-md) 0;padding:var(--space-md)}.course-info p{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-xs) 0}.course-info strong{color:var(--text-primary);font-weight:var(--font-semibold)}.course-actions{margin-top:var(--space-lg)}.actions-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-btn{background:linear-gradient(135deg,var(--color-accent) 0,#fbbf24 100%);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-glow);color:var(--color-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-lg) var(--space-xl);transition:all var(--transition-base)}.action-btn:hover{box-shadow:var(--glow-accent-strong);transform:translateY(-2px)}.App-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:auto;padding:var(--space-xl);text-align:center}.App-footer p{font-size:var(--text-sm)}.page-container{background:var(--bg-primary);min-height:calc(100vh - 60px);padding:var(--space-xl) var(--space-2xl)}.page-header{margin-bottom:var(--space-2xl)}.page-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin-bottom:var(--space-lg)}.filter-tabs{border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl);padding-bottom:var(--space-sm)}.filter-tab{background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-xl);transition:all var(--transition-base)}.filter-tab.active{background:linear-gradient(135deg,var(--color-accent) 0,#fbbf24 100%);box-shadow:var(--shadow-glow);color:var(--color-primary)}.filter-tab:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.lesson-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);padding:var(--space-xl);transition:all var(--transition-base)}.lesson-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md)}.lesson-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.lesson-title{color:var(--text-primary);font-size:var(--text-lg);margin-bottom:var(--space-xs)}.lesson-time,.lesson-title{font-weight:var(--font-semibold)}.lesson-time{color:var(--primary-500);font-size:var(--text-sm);white-space:nowrap}.lesson-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-lg)}.lesson-meta-item{align-items:center;display:flex;gap:var(--space-sm)}.lesson-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.sidebar-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:var(--space-xl);padding:var(--space-xl)}.sidebar-card h3{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-lg);font-weight:var(--font-semibold);gap:var(--space-sm);margin-bottom:var(--space-lg)}.task-item{border-bottom:1px solid var(--border-color);font-size:var(--text-sm);padding:var(--space-md) 0}.task-item:last-child{border-bottom:none}.task-title{color:var(--text-primary);font-weight:var(--font-medium);margin-bottom:var(--space-xs)}.task-deadline{color:var(--error-600);font-size:var(--text-xs)}.group-list{display:flex;flex-direction:column;gap:var(--space-md)}.group-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-lg);transition:all var(--transition-base)}.group-item:hover{background:var(--bg-primary);border-color:var(--primary-500);transform:translateX(4px)}.group-name{color:var(--text-primary);font-weight:var(--font-semibold);margin-bottom:var(--space-xs)}.group-info{color:var(--text-secondary);font-size:var(--text-xs)}.form-modern{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-xl)}.form-row{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-lg)}.form-group{display:flex;flex-direction:column}.form-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-sm)}.form-input,.form-select,.form-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-md) var(--space-lg);transition:all var(--transition-base)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f626;outline:none}.form-textarea{min-height:100px;resize:vertical}.table-modern{background:var(--bg-primary);border:1px solid var(--border-color);border-collapse:initial;border-radius:var(--radius-xl);border-spacing:0;overflow:hidden;width:100%}.table-modern thead{background:var(--bg-secondary)}.table-modern th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;padding:var(--space-lg) var(--space-lg);text-align:left;text-transform:uppercase}.table-modern td,.table-modern th{border-bottom:1px solid var(--border-color)}.table-modern td{color:var(--text-primary);font-size:var(--text-base);padding:var(--space-lg)}.table-modern tbody tr:last-child td{border-bottom:none}.table-modern tbody tr:hover{background:var(--bg-secondary)}.calendar-view{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-lg)}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg);padding:var(--space-sm)}.calendar-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(7,1fr)}.calendar-day{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;min-height:100px;padding:var(--space-md);transition:all var(--transition-base)}.calendar-day.today,.calendar-day:hover{background:var(--primary-50);border-color:var(--primary-500)}@media (max-width:768px){.App-header h1{font-size:var(--text-2xl)}.courses-grid{grid-template-columns:1fr}.App-main{padding:var(--space-md)}.actions-grid{grid-template-columns:1fr}.filter-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;overflow-x:auto;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.form-row{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(4,1fr)}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.page-title{font-size:1.5rem;text-align:center}.page-actions{display:flex;flex-direction:column;gap:.75rem}.page-actions a,.page-actions button{justify-content:center;text-align:center;width:100%}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.MuiFab-root:not(.support-fab),.fab-button:not(.support-fab),.floating-action:not(.support-fab),button[style*="position: fixed"]:not(.support-fab):not(.tp-allow-fixed),div[style*="position: fixed"]:not(.support-widget):not(.support-fab):not(.tp-allow-fixed):not(.profile-dropdown):not(.nav-dropdown-menu):not(.toast-container){display:none!important}.support-fab,.support-widget{left:auto!important;right:16px!important}}@media (max-width:480px){.App-main{padding:var(--space-sm)}.role-card-grid{gap:1rem;grid-template-columns:1fr}.glass-card.role-select{padding:var(--space-lg)}.modal-overlay{padding:0}.modal-content{border-radius:0;height:100%;max-height:100vh}}.navbar-new{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffbf;border-bottom:1px solid #fff9;box-shadow:0 1px 3px #4f46e50a;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:100002}.navbar-new:hover{background:#ffffffd9;box-shadow:0 4px 20px #4f46e514}.navbar-container{gap:2rem;height:70px;padding:0 clamp(1rem,3vw,2rem)}.navbar-logo{gap:.75rem}.navbar-logo h1{align-items:baseline;display:inline-flex;font-family:"Plus Jakarta Sans",var(--font-display);font-size:clamp(1.5rem,3vw,1.75rem);font-weight:800;gap:.15rem;letter-spacing:-.02em;margin:0}.navbar-logo h1 .brand-primary{color:#4f46e5;font-weight:800}.navbar-logo h1 .brand-secondary{color:#94a3b8;font-weight:600}.navbar-center{display:flex;flex:1 1;justify-content:center}.navbar-center,.navbar-link{align-items:center;gap:.5rem}.navbar-link{border-radius:var(--radius-lg);color:var(--text-main);display:inline-flex;font-size:.9375rem;font-weight:500;letter-spacing:-.01em;padding:.625rem 1.25rem;position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.navbar-link:hover{background:var(--bg-secondary);color:var(--color-primary)}.navbar-link.active{background:#4f46e514;color:var(--color-primary);font-weight:600}.navbar-link.active:after{background:var(--color-primary);border-radius:3px 3px 0 0;bottom:-1px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:32px}.navbar-right{align-items:center;display:flex;gap:.75rem}.navbar-icon-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;display:inline-flex;height:40px;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.navbar-icon-button:hover{background:var(--bg-secondary);color:var(--color-primary)}.navbar-icon-button svg{height:22px;width:22px}.navbar-icon-badge{animation:pulseBadge 2s cubic-bezier(.4,0,.6,1) infinite;background:var(--color-error);border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:6px;top:6px;width:8px}@keyframes pulseBadge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.navbar-profile{position:relative}.navbar-profile-button{align-items:center;background:var(--sidebar-hover);border:1px solid #ffffff26;border-radius:var(--radius-button);color:var(--text-white);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-xs);min-height:44px;padding:10px var(--space-md);transition:all var(--transition-base)}.navbar-profile-button:hover{background:var(--sidebar-active-bg);border-color:#ffffff40}.navbar-dropdown{animation:slideDown .25s ease-out;background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-hover);min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--space-xs))}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar-dropdown-link{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-base);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);text-decoration:none;transition:all var(--transition-base)}.navbar-dropdown-link:hover{background:var(--bg-snow);color:var(--accent-primary)}.navbar-dropdown-button{align-items:center;background:none;border:none;color:var(--color-error);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:all var(--transition-base);width:100%}.navbar-dropdown-button:hover{background:var(--color-error-light);color:var(--color-error)}.status-banner{align-items:center;background:var(--accent-primary-light);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--space-sm) var(--space-xl)}.status-banner-content{align-items:center;color:var(--text-secondary);display:flex;gap:.6rem}.status-banner-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.05rem;line-height:1;padding:.25rem;transition:var(--transition)}.status-banner-close:hover{color:var(--accent)}@media (max-width:768px){.navbar-container{align-items:center;display:flex;gap:.75rem;height:60px;justify-content:space-between;padding:0 1rem}.navbar-logo{flex:1 1;order:1;padding:0}.navbar-actions{order:2}.burger-button{align-items:center;background:none;border:none;display:flex!important;flex-direction:column;flex-shrink:0;height:36px;justify-content:space-around;margin-left:auto!important;order:2;padding:0;position:relative;width:36px;z-index:100002}.burger-button .burger-line{background:var(--color-primary);border-radius:3px;height:3px;transition:transform .3s ease,opacity .3s ease;width:28px}.burger-button.open .burger-line:first-child{transform:translateY(8px) rotate(45deg)}.burger-button.open .burger-line:nth-child(2){opacity:0}.burger-button.open .burger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.navbar-menu{-webkit-overflow-scrolling:touch;align-items:stretch;background:var(--bg-paper);box-shadow:-4px 0 16px #0f172a26;flex-direction:column;gap:0;height:100vh;max-width:85vw;order:4;overflow-y:auto;padding:80px 0 20px;position:fixed;right:-100%;top:0;transition:right .3s ease;width:290px;z-index:100001}.navbar-menu.mobile-open{right:0}.nav-dropdown-trigger,.nav-link{border:none;border-radius:8px;box-shadow:none;font-size:1rem;justify-content:flex-start;padding:.875rem 1.5rem}.nav-dropdown-trigger:hover,.nav-link:hover{background:var(--bg-surface);transform:none}.nav-link.active{background:var(--bg-surface);color:var(--color-primary)}.nav-dropdown{width:100%}.nav-dropdown-menu{animation:none;background:var(--bg-app);border:none;border-radius:0;box-shadow:none;display:none;padding:0;position:static}.nav-dropdown.open .nav-dropdown-menu{display:flex}.nav-dropdown-item{padding:.9rem 2.5rem}.mobile-menu-overlay{display:block!important;z-index:100000!important}}.navbar{background:var(--bg-paper);border-bottom:1px solid var(--border-light);box-shadow:0 8px 20px #2563eb1a;font-family:var(--font-main);position:-webkit-sticky;position:sticky;top:0;z-index:5000}.navbar:after{display:none}.navbar-container{align-items:center;display:flex;height:60px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 1.5rem}.logo-icon{display:none}.logo-text{color:var(--color-primary);font-size:1.1rem;font-weight:700;letter-spacing:.3px}.easy-teaching-logo{align-items:center!important;display:flex!important;gap:10px!important;height:auto!important;width:auto!important}.easy-teaching-logo svg{display:block;filter:drop-shadow(0 2px 4px rgba(37,99,235,.15))}.tp-logo{align-items:center;display:flex;height:36px;justify-content:center;margin-right:.5rem}.tp-logo svg{display:block;filter:drop-shadow(0 2px 4px rgba(37,99,235,.15));height:100%;width:auto}.navbar-logo{align-items:center;border-radius:10px;display:flex;gap:.5rem;padding:.4rem .8rem;transition:background .2s ease,transform .15s ease}.navbar-logo:hover{background:#2563eb0d;transform:translateY(-1px)}.navbar-logo:hover .easy-teaching-logo svg path{filter:brightness(1.1)}.navbar-menu{align-items:center;display:flex;flex-wrap:nowrap;gap:.6rem}.navbar-menu-portal{-webkit-overflow-scrolling:touch;align-items:stretch;background:var(--bg-paper);border-left:1px solid var(--border-light);border-radius:20px 0 0 20px;box-shadow:-4px 0 16px #0f172a26;display:flex;flex-direction:column;gap:0;height:100vh;max-width:90vw;overflow-y:auto;padding:80px 1rem 24px;position:fixed;right:0;top:0;width:min(320px,90vw);z-index:100001}.navbar-menu-portal .nav-dropdown-trigger,.navbar-menu-portal .nav-link{align-items:center;background:#0000;border:none!important;border-radius:8px!important;color:var(--text-main);display:flex;font-size:1rem!important;font-weight:500!important;gap:.75rem;margin:0!important;padding:.875rem 1.5rem!important;transition:background .2s ease;width:100%}.navbar-menu-portal .nav-dropdown-trigger:hover,.navbar-menu-portal .nav-link:hover{background:var(--bg-surface);box-shadow:none!important;transform:none!important}.navbar-menu-portal .nav-link:first-child{border-top:none!important}.navbar-menu-portal .nav-dropdown{width:100%}.navbar-menu-portal .nav-dropdown-menu{background:var(--bg-app)!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important;position:static!important;width:100%}.navbar-menu-portal .nav-dropdown-item{border-bottom:none!important;font-size:.95rem!important;padding:.875rem 1.25rem .875rem 2.5rem!important}.navbar-menu-portal .mobile-profile-section{display:flex!important;flex-direction:column;margin-top:auto;padding-top:1rem;width:100%}.navbar-menu-portal .mobile-profile-divider{display:none}.navbar-menu-portal .mobile-logout-btn{border-bottom:none!important;color:#dc2626}.burger-button{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:22px;justify-content:space-between;margin-left:1rem;padding:0;width:30px;z-index:100002}.burger-line{background:var(--text-primary);border-radius:999px;height:3px;transition:transform .25s ease,opacity .25s ease;width:100%}.burger-line.open:first-child{transform:translateY(9px) rotate(45deg)}.burger-line.open:nth-child(2){opacity:0}.burger-line.open:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.mobile-menu-overlay{background:#0f172a66;display:block;inset:0;position:fixed;z-index:100000}.nav-dropdown-trigger,.nav-link{align-items:center;background:#0000;border:none;border-radius:10px;box-shadow:none;color:var(--gray-800);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.55rem;line-height:1.2;padding:.55rem .95rem;text-decoration:none;transition:color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base)}.navbar .nav-dropdown-trigger,.navbar .nav-link{color:var(--text-main)}.navbar .nav-dropdown-trigger:hover,.navbar .nav-link:hover{color:var(--primary-800)}.nav-dropdown-trigger:hover,.nav-link:hover{background:#3b82f614;box-shadow:0 2px 8px #3b82f626;color:var(--primary-600);text-decoration:none;transform:translateY(-1px)}.nav-link.active{box-shadow:0 3px 10px #1e3a8a4d}.nav-link-highlight,.nav-link.active{background:var(--color-primary);color:#fff}.nav-link-highlight{border-color:#0000;box-shadow:0 2px 8px #1e3a8a4d}.nav-link-highlight:hover{background:var(--color-primary-dark);border-color:#0000;box-shadow:0 4px 12px #1e3a8a66}.nav-icon{font-size:1.05rem;line-height:1}.nav-dropdown{display:inline-block;position:relative}.caret{font-size:.7rem;margin-left:4px;transition:transform .2s ease}.caret.open{transform:rotate(180deg)}.nav-dropdown-menu{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 10px 40px #00000026,0 4px 12px #00000014;display:none;flex-direction:column;gap:2px;left:0;min-width:200px;padding:8px;position:absolute;top:100%;z-index:99999}.nav-dropdown.open .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex}.nav-dropdown-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#1e293b;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:10px;padding:12px 16px;text-align:left;text-decoration:none;transition:background-color .15s ease,transform .15s ease;width:100%}.nav-dropdown-item:hover{background:#3b82f614;color:#3b82f6;transform:translateX(2px)}.nav-dropdown-item:active{background:#3b82f626;transform:translateX(3px)}.item-icon{font-size:1rem}.navbar-actions{align-items:center;display:flex;gap:.75rem}.btn-login{background:var(--color-primary);border:none;border-radius:8px;box-shadow:0 2px 8px #1e3a8a4d;color:#fff;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:all .2s ease}.btn-login:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #1e3a8a66;transform:translateY(-1px)}.profile-menu-container{position:relative;z-index:1001}.profile-button{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:999px;box-shadow:0 1px 2px #0000000a;color:var(--text-primary);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:.55rem;padding:.42rem .75rem;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.profile-button:hover{background:var(--gray-50);border-color:var(--border-hover);box-shadow:0 2px 8px #0f172a14}.avatar{align-items:center;background:var(--color-primary-subtle);border:1px solid var(--border-light);border-radius:50%;box-shadow:none;color:var(--text-main);display:flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);width:32px}.profile-button:hover .avatar{box-shadow:0 2px 6px #0f172a1f;transform:translateY(-1px)}.avatar img{height:100%;object-fit:cover;width:100%}.avatar-initial{font-size:.9rem;letter-spacing:.2px}.profile-name{color:var(--text-main);font-weight:600;letter-spacing:.2px}.chevron{color:var(--text-muted);font-size:.7rem;opacity:.6;transition:transform .2s ease,opacity .2s ease}.chevron.open{opacity:1;transform:rotate(180deg)}.profile-dropdown{animation:dropdownFadeIn .2s ease;background:var(--bg-paper);border:1px solid var(--border-light);border-radius:14px;box-shadow:0 10px 30px -5px #00000026,0 4px 6px -2px #00000014;display:flex;flex-direction:column;gap:.3rem;min-width:240px;overflow:hidden;padding:.6rem .6rem .7rem;position:absolute;right:0;top:calc(100% + .7rem);z-index:99999}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{align-items:center;background:var(--bg-paper);border-radius:10px;display:flex;margin-bottom:.3rem;padding:.6rem .7rem .5rem}.user-info{display:flex;flex-direction:column;gap:3px}.user-name{color:var(--text-main);font-size:1rem;font-weight:700;letter-spacing:.3px;margin:0}.user-role{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.8px;margin:0;text-transform:uppercase}.dropdown-divider{display:none}.dropdown-item{align-items:center;background:none;border:none;border-radius:10px;color:var(--text-main);cursor:pointer;display:flex;font-size:.88rem;font-weight:500;gap:.7rem;padding:.65rem .7rem;position:relative;text-decoration:none;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base)}.dropdown-item:hover{background:var(--bg-surface);color:var(--text-main);transform:translateX(2px)}.dropdown-item span:first-child{font-size:1.1rem;text-align:center;width:24px}.dropdown-item:last-child{color:var(--color-error);margin-top:.2rem}.dropdown-item:last-child:hover{background:linear-gradient(135deg,var(--color-error-light) 0,var(--color-error-light) 100%);color:var(--color-error)}.navbar-status{background:var(--accent-soft);border-bottom:1px solid var(--border-soft);font-size:.85rem}.status-inner{align-items:center;display:flex;gap:.7rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:.4rem 1.8rem}.status-message{color:var(--text-secondary);font-weight:500}.status-action{background:none;border:none;border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:.25rem .4rem;transition:color var(--transition),background var(--transition)}.status-action:hover{background:var(--hover-bg);color:var(--accent)}.admin-status .status-split{align-items:stretch;display:flex;gap:1.4rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:.4rem 1.8rem}.status-half{background:#fff;border:1px solid var(--border-soft);border-radius:10px;display:flex;flex:1 1;flex-direction:column;gap:.35rem;padding:.5rem .8rem;position:relative}.status-label{color:var(--text-secondary);font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.status-empty{color:#a0aec0;font-size:.8rem}@media (max-width:880px){.nav-dropdown-trigger,.nav-link{font-size:.85rem;padding:.5rem .75rem}.profile-button{padding:.4rem .6rem}.admin-status .status-split,.navbar-status .status-inner{padding:.35rem 1rem}}@media (max-width:768px){.navbar{border-radius:0;box-shadow:0 10px 30px #0f172a26}.navbar-container{gap:.75rem;max-width:none;padding:0 .85rem;width:100%}.navbar-logo{flex:1 1 auto;padding:.35rem 0}.navbar-actions{margin-left:0;order:2}.profile-button{background:#0000;border:none;box-shadow:none;padding:0}.profile-button .chevron,.profile-button .profile-name{display:none}.navbar .burger-button{background:var(--bg-paper);border:1px solid #d2b7ff;border-radius:16px;box-shadow:0 8px 18px #0000001a;cursor:pointer;display:flex!important;flex-direction:column;flex-shrink:0;height:46px;justify-content:space-between;margin-left:auto;order:4;padding:11px;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;width:46px;z-index:100002}.burger-button:focus-visible,.burger-button:hover{border-color:#c099ff;box-shadow:0 12px 26px #5b21b640;outline:none;transform:translateY(-1px) scale(1.02)}.burger-button.open{background:radial-gradient(circle at 30% 20%,#fff5ff 0,#f0dbff 55%,#e3c4ff 100%);border-color:#a855f7;box-shadow:0 12px 26px #6b21a847}.burger-line{background:#6b21a8;box-shadow:0 0 6px #5b21b659}.burger-button.open .burger-line{background:#8b5cf6;box-shadow:0 0 8px #8b5cf673}.navbar-menu{align-items:flex-start;border-left:1px solid var(--border-light);border-radius:20px 0 0 20px;gap:.4rem;max-width:90vw;padding:80px 1.5rem 24px;width:min(320px,90vw);z-index:100001!important}.mobile-profile-section{display:flex;flex-direction:column;margin-top:1rem;width:100%}.mobile-profile-divider{background:var(--border-light);height:1px;margin:.75rem 0 1rem}.mobile-logout-btn{align-items:center;background:none;border:none;color:#dc2626;cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:600;gap:.55rem;justify-content:flex-start;padding:.875rem 1.5rem;width:100%}.mobile-logout-btn:hover{background:#dc262614!important;color:#b91c1c}.mobile-logout-btn .nav-icon{display:inline-flex;width:24px}}.mobile-profile-section{display:none}@media screen and (max-width:768px){.navbar .burger-button{display:flex!important;opacity:1!important;visibility:visible!important}}.student-navbar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffffbf;border-bottom:1px solid #fff9;box-shadow:0 1px 3px #4f46e50a;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:1000}.student-navbar:hover{background:#ffffffd9;box-shadow:0 4px 20px #4f46e514}.student-navbar-content{align-items:center;display:flex;gap:2rem;height:70px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 clamp(1rem,3vw,2rem)}.student-navbar-left{align-items:center;display:flex;flex-shrink:0}.student-navbar-logo{align-items:center;display:flex;text-decoration:none}.student-logo-text{align-items:baseline;display:inline-flex;font-family:"Plus Jakarta Sans",var(--font-display),system-ui,-apple-system,sans-serif;font-size:clamp(1.5rem,3vw,1.75rem);font-weight:800;gap:.15rem;letter-spacing:-.02em;margin:0}.student-logo-text .brand-primary{color:#4f46e5;font-weight:800}.student-logo-text .brand-secondary{color:#94a3b8;font-weight:600}.student-navbar-center{display:flex;flex:1 1;gap:.5rem;justify-content:center}.student-nav-link{align-items:center;border-radius:12px;border-radius:var(--radius-lg,12px);color:var(--text-main);display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;letter-spacing:-.01em;padding:.625rem 1.25rem;position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.student-nav-link:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#4f46e5;color:var(--color-primary,#4f46e5)}.student-nav-link.active{background:#4f46e514;color:#4f46e5;color:var(--color-primary,#4f46e5);font-weight:600}.student-nav-link.active:after{background:#4f46e5;background:var(--color-primary,#4f46e5);border-radius:3px 3px 0 0;bottom:-1px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:32px}.student-navbar-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.student-profile-button{align-items:center;background:#0000;border:none;border-radius:12px;border-radius:var(--radius-lg,12px);cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.student-profile-button:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.student-avatar{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;box-shadow:0 2px 8px #4f46e540;color:#fff;display:flex;font-size:.9rem;font-weight:600;height:40px;justify-content:center;letter-spacing:.5px;overflow:hidden;transition:all .2s ease;width:40px}.student-avatar-image{background:#0000;box-shadow:0 2px 8px #4f46e540}.student-avatar-image img{height:100%;object-fit:cover;width:100%}.student-profile-button:hover .student-avatar{box-shadow:0 4px 12px #4f46e559;transform:scale(1.05)}.student-profile-dropdown{animation:studentDropdownSlide .2s ease-out;background:#fff;background:var(--bg-paper,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:16px;border-radius:var(--radius-card,16px);box-shadow:0 10px 40px -5px #00000026,0 4px 6px -2px #0000000d;max-width:280px;min-width:220px;overflow:hidden;pointer-events:auto}@keyframes studentDropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.student-profile-header{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light,#e2e8f0);font-weight:600}.student-dropdown-item,.student-profile-header{color:#1e293b;color:var(--text-main,#1e293b);font-size:.9rem;padding:.75rem 1rem}.student-dropdown-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-weight:500;text-align:left;text-decoration:none;transition:all .15s ease;width:100%}.student-dropdown-item:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#4f46e5;color:var(--color-primary,#4f46e5)}.student-logout{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-light,#e2e8f0)}.student-logout,.student-logout:hover{color:#ef4444;color:var(--color-error,#ef4444)}.student-logout:hover{background:#ef444414}@media (max-width:968px){.student-navbar-center{gap:.35rem}.student-profile-dropdown{max-width:240px;min-width:200px;right:0}.student-nav-link{font-size:.85rem;padding:.55rem .85rem}}@media (max-width:768px){.student-navbar-content{flex-wrap:wrap;gap:1rem;padding:.75rem 1rem}.student-navbar-center{-webkit-overflow-scrolling:touch;flex-basis:100%;gap:.5rem;justify-content:flex-start;order:3;overflow-x:auto;overflow-y:hidden;padding:.5rem 0 .75rem;scrollbar-width:none}.student-navbar-center::-webkit-scrollbar{display:none}.student-nav-link{flex-shrink:0;font-size:.875rem;padding:.6rem 1rem}}@media (max-width:480px){.student-navbar-content{padding:.65rem .85rem}.student-profile-button{gap:.5rem;padding:.4rem .75rem}.student-avatar{font-size:.85rem;height:32px;width:32px}.student-profile-dropdown{min-width:220px;right:0}}@media (max-width:360px){.student-navbar-content{padding:.6rem .75rem}.student-nav-link{font-size:.8rem;padding:.55rem .85rem}}
/*# sourceMappingURL=main.35ae0b37.css.map*/