@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700;800&display=swap";
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5f841e19a104a2f1-s.p.0kyb12by50ral.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/6d62c74c8e468ef4-s.04flsppc416nl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9d978ba009f47915-s.p.0lydepa~d1qv1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0l2qk94b1u89y.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.01rdcbu-77uoy.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.0sn2213rkw2e_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.0mrp_qm_8jqq_.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.05-22z7vt.jl1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.0h6jagi-ln9qy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.0p40-daftjh_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.07en.a1_ufzzv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.0xhl7b6zs4.~j.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.0b_.2~bprftx..woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.0qxf2_hlpbci0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.0czffigx~77c..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fcf129058e6e31f2-s.p.0k.rt6-fab6y0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7b74840ea7c05e95-s.08-6qa~ryw15i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/3eca85881bcfa204-s.p.09gf3ff1ir7gl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.be_vietnam_pro_dbc870ea-module__WZcrwW__className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.be_vietnam_pro_dbc870ea-module__WZcrwW__variable{--font-primary:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#faf8f6;--bg-secondary:#f3f0ec;--bg-tertiary:#eae6e1;--bg-surface:#fff6;--bg-elevated:#fff9;--bg-card:#ffffff73;--bg-hover:#323e620d;--bg-active:#323e621a;--surface-primary:#ffffff80;--border-subtle:#323e621a;--accent-primary:#607ec9;--accent-primary-hover:#7a94d8;--accent-primary-glow:#607ec940;--accent-blue:#607ec9;--accent-green:#6dd0ce;--accent-indigo:#323e62;--accent-orange:#e59d7b;--accent-pink:#cda299;--accent-purple:#859bc8;--accent-red:#d97768;--accent-teal:#b2d5df;--accent-yellow:#e6c07b;--accent-secondary:#6dd0ce;--accent-secondary-hover:#85d9d8;--accent-secondary-glow:#6dd0ce33;--accent-success:#6dd0ce;--accent-success-glow:#6dd0ce33;--accent-warning:#e59d7b;--accent-warning-glow:#e59d7b33;--accent-danger:#d97768;--accent-danger-glow:#d9776833;--accent-info:#607ec9;--accent-info-glow:#607ec933;--accent-cyan:#b2d5df;--text-primary:#1e2538;--text-secondary:#3d4763;--text-muted:#6b7794;--text-inverse:#fff;--status-success:var(--accent-green);--status-warning:var(--accent-orange);--status-error:var(--accent-red);--status-info:var(--accent-blue);--gradient-hero:linear-gradient(135deg, var(--accent-indigo) 0%, var(--accent-primary) 50%, var(--accent-purple) 100%);--gradient-hero-warm:linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-pink) 100%);--gradient-aurora:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-teal) 50%, var(--accent-green) 100%);--gradient-card-border:linear-gradient(90deg, transparent, #607ec94d, #6dd0ce33, transparent);--gradient-surface:linear-gradient(180deg, #fff9, #faf8f6f2);--gradient-glass:linear-gradient(135deg, #607ec90a, #6dd0ce05);--gradient-mesh:radial-gradient(ellipse at 20% 50%, #607ec914 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #6dd0ce0f 0%, transparent 50%), radial-gradient(ellipse at 60% 80%, #cda2990d 0%, transparent 50%);--gradient-xp:linear-gradient(90deg, var(--accent-primary), var(--accent-teal), var(--accent-green));--gradient-metallic:linear-gradient(90deg, #607ec900 0%, #6dd0ce4d 25%, #ffffff80 50%, #859bc84d 75%, #607ec900 100%);--glass-bg:#ffffffa6;--glass-bg-gradient:linear-gradient(135deg, #ffffffd9 0%, #96bedca6 100%);--glass-bg-hover:#fffc;--glass-bg-elevated:#ffffffeb;--glass-bg-solid:#faf8f6f7;--glass-border:#fffc;--glass-border-hover:#00000026;--glass-highlight:#ffffffe6;--glass-blur:40px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001f;--shadow-xl:0 20px 48px #00000026;--shadow-glow-primary:0 0 20px var(--accent-primary-glow);--shadow-glow-secondary:0 0 20px var(--accent-secondary-glow);--shadow-glow-success:0 0 20px var(--accent-success-glow);--shadow-glow-aurora:0 8px 30px #607ec914, 0 0 60px #6dd0ce0a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.35s ease;--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--transition-smooth:.4s cubic-bezier(.4, 0, .2, 1);--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--content-max-width:1200px;--font-sans:var(--font-primary,"Be Vietnam Pro"), -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-heading:var(--font-sans);--font-body:var(--font-sans)}[data-role=student]{--bg-primary:#caedfb;--bg-secondary:#b5e4f9;--bg-tertiary:#9ad9f7;--accent-primary:#0f74ce;--accent-primary-hover:#349beb;--accent-primary-glow:#0f74ce40;--accent-indigo:#0a5a9e;--accent-secondary:#5cdcfd;--gradient-hero:linear-gradient(135deg, #30abff 0%, #0f74ce 50%, #177ce6 100%);--gradient-mesh:radial-gradient(circle at 10% 0%, #b8e9ffb3 0%, transparent 45%), radial-gradient(circle at 90% 100%, #177ce680 0%, transparent 60%), radial-gradient(circle at 90% 10%, #30abff80 0%, transparent 55%), radial-gradient(circle at 10% 100%, #4dc2fc80 0%, transparent 50%);--glass-bg-gradient:linear-gradient(135deg, #ffffffd9 0%, #6fd2f573 100%);--glass-bg:#ffffff8c;--glass-bg-hover:#ffffffb8;--glass-border:#ffffffbf;--shadow-glow-aurora:0 8px 30px #0f74ce26, 0 0 60px #5cdcfd1a;--shadow-glow-hero:0 8px 25px #0f74ce59}[data-role=admin]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#12102a;--bg-secondary:#1a163b;--bg-tertiary:#231c4d;--bg-surface:#ffffff0d;--bg-elevated:#ffffff14;--bg-card:#ffffff0f;--bg-hover:#ffffff14;--bg-active:#ffffff1f;--surface-primary:#ffffff0f;--border-subtle:#ffffff14;--text-primary:#f1f5f9;--text-secondary:#ffffffb3;--text-muted:#ffffff73;--text-inverse:#12102a;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa;--accent-primary-glow:#3b82f659;--accent-indigo:#8b5cf6;--accent-green:#10b981;--accent-orange:#f97316;--accent-pink:#ec4899;--accent-purple:#a855f7;--accent-red:#ef4444;--accent-teal:#14b8a6;--accent-yellow:#eab308;--accent-secondary:#06b6d4;--accent-secondary-hover:#22d3ee;--accent-secondary-glow:#06b6d44d;--gradient-hero:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #06b6d4 100%);--gradient-mesh:radial-gradient(ellipse at 15% 20%, #ec48994d 0%, transparent 55%), radial-gradient(ellipse at 80% 15%, #06b6d440 0%, transparent 50%), radial-gradient(ellipse at 70% 70%, #8b5cf64d 0%, transparent 55%), radial-gradient(ellipse at 10% 80%, #3b82f633 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, #f9731626 0%, transparent 65%);--gradient-aurora:linear-gradient(135deg, #3b82f6 0%, #a855f7 50%, #06b6d4 100%);--gradient-card-border:linear-gradient(90deg, transparent, #fff3, #3b82f633, transparent);--glass-bg:#ffffff0d;--glass-bg-gradient:linear-gradient(135deg, #ffffff14 0%, #ffffff05 100%);--glass-bg-hover:#ffffff14;--glass-bg-elevated:#ffffff12;--glass-bg-solid:#12102af2;--glass-border:#ffffff1a;--glass-border-hover:#fff3;--glass-highlight:#ffffff0a;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 12px 40px #0006;--shadow-xl:0 20px 60px #00000080;--shadow-glow-aurora:0 8px 40px #12102a4d, 0 0 80px #ec489926}[data-role=teacher]{--bg-primary:#f0f8ff;--bg-secondary:#e6f3ff;--bg-tertiary:#d9edff;--accent-primary:#38bdf8;--accent-primary-hover:#0ea5e9;--accent-primary-glow:#38bdf840;--accent-green:#38bdf8;--gradient-hero:linear-gradient(135deg, #7dd3fc 0%, #38bdf8 50%, #0284c7 100%);--gradient-mesh:radial-gradient(ellipse at 20% 50%, #38bdf826 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #0ea5e914 0%, transparent 50%), radial-gradient(ellipse at 60% 80%, #7dd3fc0f 0%, transparent 50%);--glass-bg-gradient:linear-gradient(135deg, #ffffffd9 0%, #bae6fd8c 100%)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#06070d;--bg-secondary:#0c1119;--bg-tertiary:#121925;--bg-surface:#0c1119cc;--bg-elevated:#121925e6;--bg-card:#0f152099;--bg-hover:#ffffff0d;--bg-active:#ffffff1a;--surface-primary:#121925b3;--border-subtle:#ffffff0f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--glass-bg:#0f152080;--glass-bg-gradient:linear-gradient(135deg, #0f1520d9 0%, #192337a6 100%);--glass-bg-hover:#19233799;--glass-bg-elevated:#192337d9;--glass-bg-solid:#06070df2;--glass-border:#ffffff14;--glass-border-hover:#ffffff26;--glass-highlight:#ffffff0d;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 40px #00000080;--shadow-xl:0 20px 60px #0009;--shadow-glow-aurora:0 8px 40px #607ec91f, 0 0 80px #6dd0ce0f}[data-theme=dark] [data-role=student]{--bg-primary:#021929;--bg-secondary:#042a40;--accent-primary:#38bdf8;--accent-primary-glow:#38bdf84d;--gradient-hero:linear-gradient(135deg, #38bdf8 0%, #0ea5e9 50%, #0369a1 100%);--shadow-glow-hero:0 8px 25px #38bdf859;--gradient-mesh:radial-gradient(circle at 10% 0%, #b8e9ff26 0%, transparent 45%), radial-gradient(circle at 90% 100%, #177ce633 0%, transparent 60%), radial-gradient(circle at 90% 10%, #30abff26 0%, transparent 55%), radial-gradient(circle at 10% 100%, #4dc2fc26 0%, transparent 50%)}[data-theme=dark] [data-role=teacher]{--bg-primary:#041018;--bg-secondary:#0a1924;--accent-primary:#38bdf8;--gradient-mesh:radial-gradient(ellipse at 20% 50%, #38bdf826 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #0ea5e91a 0%, transparent 50%), radial-gradient(ellipse at 60% 80%, #7dd3fc0f 0%, transparent 50%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;background-color:var(--bg-primary);height:100%;font-size:18px;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);background-image:var(--gradient-mesh);color:var(--text-primary);background-attachment:fixed;width:100%;max-width:100vw;min-height:100dvh;font-weight:500;line-height:1.6;transition:background-color .4s,color .3s;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;background:radial-gradient(ellipse at 60% 40%, #b2d5dfd9 0%, transparent 60%), radial-gradient(ellipse at 40% 70%, #cda299a6 0%, transparent 60%), radial-gradient(ellipse at 80% 80%, #e6d5cdf2 0%, transparent 60%), var(--bg-primary);pointer-events:none;width:200%;height:200%;animation:30s ease-in-out infinite alternate bg-drift;position:fixed;inset:-50%}[data-role=student] body:before{background:radial-gradient(circle at 10% 0,#b8e9fff2 0%,#0000 45%),radial-gradient(circle at 90% 100%,#177ce6bf 0%,#0000 60%),radial-gradient(circle at 90% 10%,#30abffbf 0%,#0000 55%),radial-gradient(circle at 10% 100%,#4dc2fcbf 0%,#0000 50%),radial-gradient(#fff9 0%,#0000 60%),linear-gradient(160deg,#b8e9ff 0%,#6fd2f5 35%,#4dc2fc 65%,#177ce6 100%)}[data-role=admin] body:before{background:radial-gradient(at 15% 20%,#ec489973 0%,#0000 55%),radial-gradient(at 80% 15%,#06b6d466 0%,#0000 50%),radial-gradient(at 70% 75%,#8b5cf673 0%,#0000 55%),radial-gradient(at 20% 85%,#3b82f659 0%,#0000 50%),radial-gradient(#f9731640 0%,#0000 65%),#12102a;width:160%;height:160%;animation:25s ease-in-out infinite alternate adminMeshDrift;inset:-30%}[data-role=teacher] body:before{background:radial-gradient(at 50% 35%,#bae6fde6 0%,#0000 60%),radial-gradient(at 25% 65%,#7dd3fca6 0%,#0000 55%),radial-gradient(at 80% 55%,#38bdf873 0%,#0000 50%),radial-gradient(at 65% 80%,#0ea5e94d 0%,#0000 45%),linear-gradient(#f0f9ff 0%,#e0f2fe 30%,#bae6fd 70%,#7dd3fc 100%)}[data-theme=dark] body:before{background:radial-gradient(ellipse at 60% 40%, #607ec91f 0%, transparent 60%), radial-gradient(ellipse at 40% 70%, #8b5cf614 0%, transparent 60%), radial-gradient(ellipse at 80% 80%, #6dd0ce0f 0%, transparent 60%), var(--bg-primary)}[data-theme=dark][data-role=student] body:before{background:radial-gradient(circle at 10% 0%, #b8e9ff1f 0%, transparent 45%), radial-gradient(circle at 90% 100%, #177ce633 0%, transparent 60%), radial-gradient(circle at 90% 10%, #30abff26 0%, transparent 55%), radial-gradient(circle at 10% 100%, #4dc2fc26 0%, transparent 50%), var(--bg-primary)}[data-theme=dark][data-role=teacher] body:before{background:radial-gradient(ellipse at 50% 35%, #38bdf826 0%, transparent 60%), radial-gradient(ellipse at 25% 65%, #0ea5e91a 0%, transparent 55%), radial-gradient(ellipse at 80% 55%, #0284c714 0%, transparent 50%), var(--bg-primary)}@keyframes bg-drift{0%{transform:translate(0)scale(1)}to{transform:translate(-10%,-5%)scale(1.1)}}@keyframes adminMeshDrift{0%{transform:translate(0)scale(1)}33%{transform:translate(3%,-4%)scale(1.05)}66%{transform:translate(-2%,2%)scale(.98)}to{transform:translate(-5%,-3%)scale(1.08)}}@keyframes blob{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}to{transform:translate(0)scale(1)}}.animate-blob{animation:15s infinite blob}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.animation-delay-6000{animation-delay:6s}a{color:var(--accent-primary);transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);font-weight:700;line-height:1.2}h1{letter-spacing:-.04em;font-size:2.125rem}h2{letter-spacing:-.03em;font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{color:var(--text-secondary);line-height:1.7}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#323e6226;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1f}::selection{color:var(--text-primary);background:#607ec94d}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), inset 0 1px 0 var(--glass-highlight);transition:all var(--transition-base)}.glass-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg), inset 0 1px 0 var(--glass-highlight);transform:translateY(-2px)}.gradient-text{background:linear-gradient(135deg, var(--accent-indigo), var(--accent-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-bottom:.1em;padding-right:.15em;display:inline-block}.gradient-text-aurora{background:var(--gradient-aurora);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:var(--content-max-width);padding:0 var(--space-lg);margin:0 auto}.badge{border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#1e7d7a;background:#6dd0ce26}.badge-warning{color:#c2410c;background:#e59d7b26}.badge-error{color:#b91c1c;background:#d9776826}.badge-info{color:#2b4fa5;background:#607ec926}[data-theme=dark] .badge-success{color:#6dd0ce}[data-theme=dark] .badge-warning{color:#e59d7b}[data-theme=dark] .badge-error{color:#f87171}[data-theme=dark] .badge-info{color:#93b4f0}.badge-approaching{color:#c2410c;background:#e59d7b26;border:1px solid #e59d7b4d}.badge-overdue{color:#b91c1c;background:#d9776826;border:1px solid #d9776866;animation:2s ease-in-out infinite pulse-red}@keyframes pulse-red{0%,to{box-shadow:0 0 #d9776800}50%{box-shadow:0 0 12px 2px #d977684d}}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-primary);color:var(--text-inverse);box-shadow:none}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--bg-hover);border-color:#00000014}.btn-danger{background:var(--accent-red);color:#fff}.btn-danger:hover{filter:brightness(1.1)}.btn-ghost{color:var(--text-secondary);background:0 0;padding:8px 12px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn-icon{border-radius:var(--radius-md);width:40px;height:40px;padding:0}.input{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);outline:none;padding:10px 16px;font-size:.875rem}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #607ec933}.input::placeholder{color:var(--text-muted)}.input-label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.textarea{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);resize:vertical;min-height:100px;transition:all var(--transition-fast);outline:none;padding:12px 16px;font-size:.875rem;line-height:1.6}.textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #607ec933}.select{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7794' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;outline:none;padding:10px 36px 10px 16px;font-size:.875rem}.select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #607ec933}.avatar{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);width:36px;height:36px;color:var(--text-primary);background:#ffffff59;border:1px solid #ffffff73;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0000000d}.avatar-sm{width:28px;height:28px;font-size:.75rem}.avatar-lg{width:48px;height:48px;font-size:1.125rem}.divider{background:var(--glass-border);height:1px;margin:var(--space-md) 0}.empty-state{padding:var(--space-3xl) var(--space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-md);opacity:.5;font-size:3rem}.empty-state-title{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:1.125rem;font-weight:600}.empty-state-desc{color:var(--text-muted);max-width:360px;font-size:.875rem}.spinner{border:2px solid var(--glass-border);border-top-color:var(--accent-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stat-card{padding:var(--space-lg);border-radius:var(--radius-lg);position:relative;overflow:hidden}.stat-card:before{content:"";opacity:.1;border-radius:50%;width:80px;height:80px;position:absolute;top:0;right:0;transform:translate(20px,-20px)}.stat-card-amber{background:#e59d7b14;border:1px solid #e59d7b1f}.stat-card-amber:before{background:var(--accent-orange)}.stat-card-rose{background:#cda29914;border:1px solid #cda2991f}.stat-card-rose:before{background:var(--accent-pink)}.stat-card-lavender{background:#859bc814;border:1px solid #859bc81f}.stat-card-lavender:before{background:var(--accent-purple)}.stat-card-mint{background:#6dd0ce14;border:1px solid #6dd0ce1f}.stat-card-mint:before{background:var(--accent-green)}.stat-value{margin-bottom:4px;font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-xl);width:90%;max-width:560px;max-height:85vh;animation:.3s ease-out slideInUp;overflow-y:auto}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:1.25rem;font-weight:700}.modal-close{background:var(--glass-bg);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.form-group{margin-bottom:var(--space-md)}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--glass-border);display:flex}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);padding:6px 12px;font-size:.75rem;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes softFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shine{0%{left:-100%}20%{left:200%}to{left:200%}}@keyframes auroraFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes auroraPulse{0%,to{opacity:1;box-shadow:0 0 4px var(--accent-primary-glow)}50%{opacity:.5;box-shadow:0 0 12px var(--accent-primary-glow)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px var(--accent-primary-glow)}50%{box-shadow:0 0 40px var(--accent-primary-glow), 0 0 60px #859bc81a}}@keyframes borderRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes metallicShimmer{0%{background-position:300% 0}to{background-position:-300% 0}}@keyframes textSlideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.92)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%)translateY(-16px)scale(.96)}60%{transform:translate(-50%)translateY(3px)scale(1.01)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes backgroundShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes gradientOrb{0%{opacity:.3;transform:translate(0)scale(1)}33%{opacity:.5;transform:translate(30px,-40px)scale(1.15)}66%{opacity:.35;transform:translate(-20px,20px)scale(.9)}to{opacity:.3;transform:translate(0)scale(1)}}@keyframes progressShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bellShake{0%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes borderGlow{0%,to{border-color:#607ec926}50%{border-color:#859bc859}}.animate-float{animation:6s ease-in-out infinite softFloat}.animate-scale-in{animation:.5s cubic-bezier(.4,0,.2,1) forwards scaleIn}.animate-fade-up{animation:.5s forwards fadeUp}.fade-in{animation:.4s ease-out forwards fadeIn}.hover-lift{transition:all var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-glow-aurora);border-color:var(--glass-border-hover);transform:translateY(-4px)}.stagger-1{opacity:0;animation:.5s 50ms forwards fadeUp}.stagger-2{opacity:0;animation:.5s .1s forwards fadeUp}.stagger-3{opacity:0;animation:.5s .15s forwards fadeUp}.stagger-4{opacity:0;animation:.5s .2s forwards fadeUp}.stagger-5{opacity:0;animation:.5s .25s forwards fadeUp}[class*=iconPrimary],[class*=iconSuccess],[class*=iconWarning],[class*=iconDanger],[class*=iconInfo],[class*=iconCyan],[class*=iconGreen],[class*=iconProgress],[class*=iconStreak],[class*=iconBest],[class*=statIcon],[class*=inlineStatIcon]{color:#fff!important}@media (max-width:1024px){.statsGrid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){:root{--sidebar-width:0px;--header-height:56px}html{font-size:16px}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.form-row{grid-template-columns:1fr}.input,.textarea,.select{font-size:16px}.modal-content{width:95%;max-height:90vh;padding:var(--space-md);border-radius:var(--radius-lg)}.modal-title{font-size:1.125rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.btn{min-height:44px;padding:10px 18px}.btn-sm{min-height:36px}}@media (max-width:480px){html{font-size:15px}h1{font-size:1.5rem}.stat-value{font-size:1.25rem}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
