@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_85f58465-module__0PaWlq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_85f58465-module__0PaWlq__variable{--font-plus-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:where(*){box-sizing:border-box;margin:0;padding:0}body{color:#333;background:linear-gradient(145deg,#f0f9ff 0%,#e0f2fe 40%,#f0f4ff 100%);justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;line-height:1.6;display:flex}.login-container{-webkit-backdrop-filter:blur(16px);text-align:center;background:#ffffffe6;border:1px solid #bae6fd99;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:420px;min-height:100vh;margin:0 auto;padding:44px 40px 36px;display:flex;box-shadow:0 8px 40px #06b6d41a,0 2px 12px #0f172a14}.login-container form{flex-direction:column;gap:.75rem;width:100%;display:flex}.logo{justify-content:center;align-items:center;margin-bottom:24px;display:flex}.icon-button{cursor:pointer;background:0 0;border:none;border-radius:0%;justify-content:center;align-items:center;padding:8px 16px;transition:color .2s,transform .1s;display:inline-flex}.icon-button:focus-visible{outline-offset:2px;outline:2px solid #4f46e5}.icon-button svg{color:#6b7280;width:20px;height:20px;transition:color .2s,transform .2s}.icon-button:hover svg{color:#4338ca;transform:scale(1.1)}.welcome-heading{color:#111827;margin-bottom:8px;font-size:22px;font-weight:600}.logo-section{width:200px;height:64px;margin-bottom:20px;position:relative}.nus-logo{object-fit:contain;position:relative!important}.subtitle{color:#64748b;margin-bottom:22px;font-size:13.5px}.form-group{margin-bottom:10px}.email-input{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;outline:none;width:100%;padding:11px 14px;font-size:15px;font-weight:400;transition:border-color .2s,box-shadow .2s}.email-input:focus{background:#fff;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41f}.email-input::placeholder{color:#94a3b8;font-weight:400}.continue-button{color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);border:none;border-radius:9px;width:100%;padding:11px 16px;font-size:15px;font-weight:600;transition:opacity .2s,box-shadow .2s;box-shadow:0 2px 10px #06b6d440}.continue-button:hover{opacity:.92;box-shadow:0 4px 16px #06b6d459}.continue-button:disabled{box-shadow:none;cursor:not-allowed;background:#94a3b8}.or-separator{text-align:center;color:#9ca3af;align-items:center;margin:24px 0;font-size:12px;display:flex}.or-separator .line{background-color:#e5e7eb;flex-grow:1;height:1px}.or-separator .text{padding:0 12px}.share-separator-or{text-align:center;color:#4b5563;margin:20px 0;font-size:14px;font-weight:600;position:relative}.share-separator-or:before,.share-separator-or:after{content:"";background-color:#d1d5db;width:40%;height:1px;display:block;position:absolute;top:50%}.share-separator-or:before{left:0}.share-separator-or:after{right:0}.social-button{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-bottom:12px;padding:10px 12px;font-size:14px;font-weight:500;transition:background-color .2s;display:flex}.social-button:last-child{margin-bottom:0}.social-button:hover{background-color:#f9fafb}.social-button svg{width:18px;height:18px;margin-right:10px}.social-button-linkedin svg{fill:#0077b5}.social-button-github svg{fill:#181717}.feedback-message{text-align:left;border-radius:6px;margin-bottom:16px;padding:10px;font-size:14px}.feedback-message.success{color:#065f46;background-color:#d1fae5;border:1px solid #6ee7b7}.feedback-message.error{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}.modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes modal-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.modal-title{color:#343a40;font-size:20px;font-weight:600}.modal-close-button{color:#6c757d;cursor:pointer;background:0 0;border:none;padding:0 5px;font-size:28px;font-weight:300;line-height:1}.modal-body{color:#495057;margin-bottom:25px;font-size:16px;line-height:1.6}.modal-footer{border-top:1px solid #e9ecef;justify-content:flex-end;gap:12px;padding-top:15px;display:flex}.modal-button{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px 20px;font-size:15px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.modal-button-confirm{color:#fff;background-color:#007bff;border-color:#007bff}.modal-button-confirm:hover{background-color:#0056b3;border-color:#0056b3}.modal-button-cancel{color:#6c757d;background-color:#fff;border-color:#ced4da}.modal-button-cancel:hover{background-color:#f8f9fa}.modal-button-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.modal-button-danger:hover{background-color:#c82333;border-color:#bd2130}.social-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-page-container{background-color:#fff;border-radius:12px;flex-direction:column;align-items:center;width:100%;max-width:800px;height:100vh;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow-y:auto;box-shadow:0 4px 12px #00000014}.dashboard-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:10px;display:flex}.welcome-title{color:#1f2937;font-size:28px;font-weight:700}.user-actions{align-items:center;display:flex;position:relative}.user-actions .avatar{margin-right:0}.avatar-button{cursor:pointer;border:none;transition:background-color .2s,box-shadow .2s,transform 50ms}.avatar-button:active{transform:translateY(.5px)}.avatar-button:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f659}.user-actions__menu{-webkit-backdrop-filter:blur(20px);z-index:9999;background:#fffffff2;border:1px solid #06b6d426;border-radius:12px;min-width:200px;padding:8px;animation:.2s cubic-bezier(.16,1,.3,1) dropdownFadeIn;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 40px #0891b226,inset 0 0 0 1px #fffc}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.user-actions__identity{flex-direction:column;gap:2px;max-width:220px;padding:8px 14px 10px;display:flex}.user-actions__identity-name{color:#1c1c1e;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.user-actions__identity-email{color:#aeaeb2;white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.user-actions__menu-item{text-align:left;color:#0f172a;cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-radius:8px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1)}.user-actions__menu-item:hover,.user-actions__menu-item:focus-visible{background:linear-gradient(135deg,#0891b214 0%,#06b6d414 100%);outline:none;transform:translate(2px)}.user-actions__menu-item--danger{color:#dc2626}.user-actions__menu-item--danger:hover{background:linear-gradient(135deg,#dc262614 0%,#ef444414 100%)}.user-actions__divider{background:#06b6d41f;height:1px;margin:4px 8px}.user-actions__role-row{gap:4px;padding:4px 8px;display:flex}.user-actions__role-pill{color:#475569;cursor:pointer;text-align:center;background:0 0;border:1px solid #06b6d42e;border-radius:5px;flex:1;padding:4px 0;font-size:11px;font-weight:600;line-height:1;transition:all .15s}.user-actions__role-pill:hover:not(:disabled){background:#06b6d414;border-color:#06b6d459}.user-actions__role-pill--active{background:linear-gradient(135deg, var(--dash-cyan-500,#06b6d4), var(--dash-cyan-600,#0891b2));color:#fff;cursor:default;border-color:#0000}.user-actions__role-pill:disabled:not(.user-actions__role-pill--active){opacity:.45;cursor:not-allowed}.logout-button{color:#fff;cursor:pointer;background-color:#ff5757;border:none;border-radius:6px;margin-right:12px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.logout-button:hover{background-color:#e63946}.avatar{background:linear-gradient(135deg, var(--dash-cyan-500,#0891b2) 0%, var(--dash-cyan-600,#06b6d4) 100%);color:#fff;letter-spacing:-.02em;border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;margin-right:10px;font-size:18px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 6px 18px #0891b22e}.avatar:hover{transform:scale(1.05);box-shadow:0 10px 28px #0891b240}.dashboard-subtitle{color:#4b5563;text-align:left;width:100%;margin-bottom:25px;font-size:18px}.course-list-container{background-color:#e5e7eb;border-radius:12px;width:100%;max-width:500px;margin-bottom:30px;padding:16px;box-shadow:0 2px 4px #0000000d}.course-item{cursor:pointer;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:12px 16px;transition:background-color .2s,box-shadow .2s;display:flex}.course-item:hover{background-color:#eff6ff;box-shadow:0 2px 8px #00000014}.course-item:last-child{margin-bottom:0}.course-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;margin-right:10px;font-size:16px;font-weight:600;line-height:1.4;overflow:hidden}.course-actions{flex-shrink:0;align-items:center;gap:0;display:flex}.share-invite-content{padding:10px 0}.share-option{margin-bottom:25px}.share-option:last-child{margin-bottom:10px}.share-label{color:#374151;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.share-input-group{align-items:center;gap:10px;display:flex}.share-input-field{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;flex-grow:1;padding:10px 12px;font-size:15px;overflow:hidden}.copy-button{color:#fff;cursor:pointer;text-align:center;background-color:#8b5cf6;border:1px solid #8b5cf6;border-radius:6px;justify-content:center;align-items:center;min-width:80px;padding:8px 10px;transition:background-color .2s;display:flex}.copy-button:hover{background-color:#6d28d9}.copy-button svg{width:18px;height:18px}.notify-teacher-checkbox{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:500;display:inline-flex}.notify-teacher-checkbox input[type=checkbox]{accent-color:#0891b2;cursor:pointer;width:16px;height:16px}.new-course-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#06b6d4 0%,#0ea5e9 100%);border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;padding:10px 16px;font-size:15px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #06b6d41f,0 0 16px #06b6d41f}.new-course-button:before{content:"";opacity:0;background:linear-gradient(135deg,#fff3 0%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.new-course-button:hover:not(:disabled){opacity:.9;transform:scale(1.03);box-shadow:0 4px 12px #06b6d42e,0 0 20px #06b6d433}.new-course-button:hover:not(:disabled):before{opacity:1}.new-course-button:focus-visible{box-shadow:0 0 0 4px #06b6d426,0 2px 8px #06b6d41f}.new-course-button:active:not(:disabled){transform:scale(.97);box-shadow:0 1px 2px #0f172a0d,0 0 12px #06b6d42e}.new-course-button:disabled{color:#ffffffb3;cursor:not-allowed;opacity:.6;box-shadow:none;background:linear-gradient(135deg,#6b7a994d 0%,#6b7a9933 100%)}.new-course-button:disabled:before{display:none}.action-button-secondary{color:#fff;cursor:pointer;background-color:#6c757d;border:none;border-radius:8px;padding:12px 25px;font-size:16px;font-weight:500;transition:background-color .2s}.action-button-secondary:hover{background-color:#5a6268}.controls-bar{justify-content:space-between;align-items:center;gap:15px;width:100%;max-width:500px;margin-bottom:20px;display:flex}.search-input{border:1px solid #d1d5db;border-radius:6px;outline-color:#4f46e5;flex-grow:1;padding:10px 12px;font-size:14px}.search-input::placeholder{color:#9ca3af}.sort-select{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;outline-color:#4f46e5;min-width:160px;padding:10px 12px;font-size:14px}.course-list-container{background-color:#e5e7eb;border-radius:12px;flex-direction:column;width:100%;max-width:500px;min-height:150px;margin-bottom:25px;padding:16px;display:flex;box-shadow:0 2px 4px #0000000d}.no-courses-message{text-align:center;color:#6b7280;margin:auto;padding:20px;font-size:15px}.pagination-controls{justify-content:center;align-items:center;gap:10px;width:100%;max-width:500px;margin-bottom:30px;display:flex}.pagination-controls button{color:#fff;cursor:pointer;background-color:#3d3d3d;border:none;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:500;transition:background-color .2s,opacity .2s}.pagination-controls button:hover:not(:disabled){background-color:#000}.pagination-controls button:disabled{cursor:not-allowed;opacity:.7;background-color:#cbd5e1}.pagination-controls span{color:#4b5563;padding:0 8px;font-size:14px;font-weight:500}.dashboard-subtitle{color:#4b5563;margin-bottom:20px;font-size:18px}body>div:first-child{flex-direction:column;min-height:100vh;display:flex}.create-course-page-container{background-color:#fff;border-radius:12px;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:40px auto;padding:20px;display:flex;box-shadow:0 4px 12px #00000014}.page-header{-webkit-backdrop-filter:blur(18px);z-index:10;background:#ffffff9e;border:1px solid #06b6d414;border-bottom-color:#06b6d40f;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:24px;padding:18px 24px 14px;display:flex;position:relative;overflow:visible}.page-header .header-left{align-items:center;gap:12px;min-width:0;display:flex}.page-header-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.header-dashboard-link{letter-spacing:.02em;color:#0f172a;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:15px;font-weight:500;transition:color .2s}.header-dashboard-link:hover{color:#0ea5e9}.header-dashboard-link:focus-visible{outline:2px solid var(--dash-cyan-500,#06b6d4);outline-offset:2px}.nmg-nav-desktop{display:inline-flex}.nmg-hamburger-wrap{display:none;position:relative}@media (max-width:560px){.nmg-nav-desktop{display:none!important}.nmg-hamburger-wrap{display:block}}.nmg-hamburger-btn{cursor:pointer;background:0 0;border:1px solid #06b6d433;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;transition:background .15s,border-color .15s;display:flex}.nmg-hamburger-btn:hover{background:#06b6d414;border-color:#06b6d459}.nmg-hamburger-btn span{background:#0f172a;border-radius:2px;width:100%;height:2px;transition:background .15s;display:block}.nmg-mobile-menu{z-index:100;background:#fff;border:1px solid #06b6d426;border-radius:10px;min-width:160px;animation:.15s ease-out forwards modal-appear;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001a}.nmg-mobile-menu-item{text-align:left;color:#0f172a;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-size:15px;font-weight:500;transition:background .12s;display:block}.nmg-mobile-menu-item+.nmg-mobile-menu-item{border-top:1px solid #06b6d414}.nmg-mobile-menu-item:hover{color:#0891b2;background:#06b6d412}.header-toggle-mode-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.header-toggle-mode-btn:hover{background:#e5e7eb;border-color:#9ca3af}.header-toggle-mode-btn--active{color:#fff;background:#6366f1;border-color:#0000}.header-toggle-mode-btn--active:hover{background:#4f46e5}.delete-course-header-button svg{color:#ef4444;width:22px;height:22px}.delete-course-header-button:hover svg{color:#dc2626}.toast-message.error{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}.back-button{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex}.back-button:hover{background-color:#f3f4f6}.back-arrow-icon{color:#374151;width:28px;height:28px}.content-back-row{justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;display:flex}.content-back-link{color:#0f172a;cursor:pointer;background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:500;line-height:1.2;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.content-back-link:hover{background:#f4f6f8;border-color:#dfe4ea}.content-back-link:focus-visible{outline:2px solid var(--dash-cyan-500,#06b6d4);outline-offset:2px}.content-back-link svg{width:16px;height:16px}.page-title{letter-spacing:-.035em;color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;font-size:clamp(22px,2.2vw,28px);font-weight:700;line-height:1.1;overflow:hidden}.create-course-form-container{background-color:#f3f4f6;border-radius:12px;width:100%;max-width:600px;margin-bottom:30px;padding:30px 40px;box-shadow:0 2px 8px #0000000f}.create-course-form-container .form-group{margin-bottom:25px}.create-course-form-container .form-label{color:#374151;margin-bottom:8px;font-size:16px;font-weight:500;display:block}.create-course-form-container .form-input{color:#000;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px 15px;font-size:16px}.create-course-form-container .form-input::placeholder{color:#9ca3af}.create-course-form-container .form-input:focus{border-color:#ef7c00;outline:none;box-shadow:0 0 0 2px #ef7c004d}.create-course-form-container .form-textarea{color:#000;resize:vertical;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px 15px;font-size:16px}.create-course-form-container .form-textarea::placeholder{color:#9ca3af}.create-course-form-container .form-textarea:focus{border-color:#ef7c00;outline:none;box-shadow:0 0 0 2px #ef7c004d}.create-course-submit-button{color:#fff;cursor:pointer;background-color:#8b5cf6;border:#000;border-radius:8px;outline:none;width:100%;max-width:300px;margin:20px auto 0;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s,transform .1s,box-shadow .2s;display:block}.create-course-submit-button:hover:not(:disabled){background-color:#7c3aed}.create-course-submit-button:focus-visible{box-shadow:0 0 0 3px #c4b5fd}.create-course-submit-button:active:not(:disabled){background-color:#6d28d9;transform:scale(.98)}.create-course-submit-button:disabled{color:#a78bfa;cursor:not-allowed;background-color:#c4b5fd}.form-error-message{color:#b91c1c;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:15px;padding:10px;font-size:14px}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef44444d!important}.toast-message{top:calc(env(safe-area-inset-top,0px) + 92px);color:#0f172a;border:1px solid #94a3b859;border-left:3px solid var(--toast-accent,#94a3b88c);-webkit-backdrop-filter:blur(14px);z-index:20000;background:#ffffffeb;border-radius:14px;align-items:center;gap:10px;max-width:min(420px,100vw - 40px);padding:10px 14px;font-size:13px;font-weight:500;line-height:1.35;animation:.18s ease-out toastEnter;display:flex;position:fixed;left:auto;right:20px;transform:none;box-shadow:0 14px 40px #0f172a24}@keyframes toastEnter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.toast-message.success{--toast-accent:#06b6d4}.configure-course-page-container{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:1200px;height:100vh;margin:0 auto;padding:20px 30px;display:flex;overflow-y:auto;box-shadow:0 4px 12px #00000014}.page-header .page-title{font-size:22px}.page-title.clickable{cursor:pointer}.page-title.clickable:focus-visible{outline:2px solid var(--dash-cyan-500,#06b6d4);outline-offset:3px;border-radius:6px}.configure-content-area{grid-template-columns:repeat(3,1fr);gap:20px;width:100%;margin-top:10px;margin-bottom:30px;display:grid}.config-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;min-width:0;max-width:none;padding:20px;display:flex}.config-card.resources-card{grid-column:1/-1}.card-title{color:#1f2937;border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:10px;font-size:18px;font-weight:600}.details-card .form-group{margin-bottom:18px}.details-card .form-label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.details-card .form-input,.details-card .form-textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:15px}.details-card .form-textarea{resize:vertical;min-height:80px;max-height:260px;overflow-y:auto}.configure-content-area .config-card.details-card{flex-direction:column;max-height:520px;display:flex;overflow:hidden}.configure-content-area .details-card .form-group:has(textarea#confCourseDesc){flex-direction:column;flex:1;min-height:0;display:flex}.configure-content-area .details-card .form-textarea{min-height:80px;max-height:260px;overflow-y:auto}textarea#confCourseDesc.form-textarea{resize:vertical;flex:1;min-height:140px;max-height:none;overflow-y:auto}.details-card .form-input:focus,.details-card .form-textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.resources-card{flex-direction:column;min-height:0;display:flex}.resources-card .dashboard-resource-list{scrollbar-color:#9ca3af #f3f4f6;counter-reset:resource-counter;flex:1;grid-column:1/-1;width:100%;min-height:0;max-height:360px;margin-bottom:20px;padding-right:10px;overflow-y:auto}.dashboard-resource-item{counter-increment:resource-counter;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.dashboard-resource-item[role=button]{cursor:pointer}.dashboard-resource-item:before{content:counter(resource-counter) ".";color:#9ca3af;flex-shrink:0;min-width:20px;font-size:13px;font-weight:500}.resource-name{color:#374151;white-space:normal;word-break:break-word;margin-right:8px;font-size:14px;overflow:hidden}.delete-resource-button .trash-icon{color:#ef4444;width:18px;height:18px}.delete-resource-button:hover .trash-icon{color:#dc2626}.file-drop-zone{text-align:center;color:#6b7280;cursor:pointer;border:2px dashed #cbd5e1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;margin-top:10px;padding:30px 20px;transition:border-color .2s,background-color .2s;display:flex}.file-drop-zone:hover{background-color:#f0f2ff;border-color:#4f46e5}.drop-zone-icon{color:#9ca3af;width:40px;height:40px;margin-bottom:10px}.file-drop-zone p{font-size:14px;line-height:1.5}.file-drop-zone.empty-state{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;min-height:150px;display:flex}.file-drop-zone.empty-state .drop-zone-icon{width:48px;height:48px;margin-bottom:15px}.file-drop-zone.empty-state p{font-size:16px}.apps-card{flex-direction:column;min-height:0;display:flex}.apps-card .app-list{flex:1;min-height:0;max-height:360px;padding-top:4px;padding-bottom:4px;padding-right:10px;overflow-y:auto}.app-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;align-items:center;min-width:0;margin-bottom:10px;padding:10px;display:flex;overflow:hidden}.app-icon-initial{color:#fff;background-color:#374151;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:12px;font-size:16px;font-weight:700;display:flex}.app-info{flex-direction:column;flex-grow:1;min-width:0;display:flex;overflow:hidden}.app-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.app-type{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.app-additional-info{color:gray;white-space:pre-line;margin-top:2px;font-size:11px;font-style:italic}.app-checkbox-button{cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;display:flex}.app-checkbox-icon{width:28px;height:28px}.app-checkbox-icon.checked{color:#99b83c}.app-checkbox-icon.unchecked{color:#9ca3af}.courses-card .course-list{max-height:250px;overflow-y:auto}.course-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;align-items:center;min-width:0;margin-bottom:10px;padding:10px;display:flex;overflow:hidden}.course-icon-initial{color:#fff;background-color:#007acc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:12px;font-size:16px;font-weight:700;display:flex}.course-info{flex-direction:column;flex-grow:1;min-width:0;display:flex;overflow:hidden}.course-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.course-description{color:#6b7280;cursor:help;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:none;font-size:12px;overflow:hidden}.toggle-switch{flex-shrink:0;width:50px;height:28px;margin-left:auto;display:inline-block;position:relative}.toggle-mode-button{transition:all .2s}.toggle-mode-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.bulk-data-textarea{tab-size:4;line-height:1.4;font-family:Monaco,Menlo,Ubuntu Mono,monospace!important}.teacher-preview-item{transition:background-color .2s}.teacher-preview-item:hover{background-color:#f9fafb}.toggle-switch-checkbox{opacity:0;width:0;height:0}.toggle-switch-slider{cursor:pointer;background-color:#ccc;border-radius:34px;transition:all .2s;position:absolute;inset:0}.toggle-switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;bottom:4px;left:4px}.toggle-switch-checkbox:checked+.toggle-switch-slider{background-color:#4f46e5}.toggle-switch-checkbox:checked+.toggle-switch-slider:before{transform:translate(22px)}.toggle-switch-checkbox:focus+.toggle-switch-slider{box-shadow:0 0 1px #4f46e5}.save-changes-button{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:8px;outline:none;min-width:150px;margin:0 auto;padding:12px 30px;font-size:16px;font-weight:500;transition:background-color .2s;display:block}.save-changes-button:hover:not(:disabled){background-color:#4338ca}.save-changes-button:focus-visible{box-shadow:0 0 0 3px #a5b4fc}.save-changes-button:active:not(:disabled){background-color:#3730a3;transform:scale(.98)}.save-changes-button:disabled{cursor:not-allowed;background-color:#a5b4fc}@media (max-width:1200px) and (min-width:901px){.configure-content-area{gap:15px}.config-card{min-width:0;padding:15px}}@media (max-width:900px){.configure-content-area{grid-template-columns:1fr;gap:16px}.config-card{min-width:0;max-width:none}.config-card.resources-card{grid-column:auto}.configure-course-page-container{max-width:95%;margin:20px auto;padding:15px}}.course-detail-main-content-teacher-view{width:100%}.course-detail-full .config-card.details-card,.course-detail-full .config-card.apps-card{flex-direction:column;max-height:1000px;display:flex;overflow:hidden}.course-detail-full .config-card.resources-card{flex-direction:column;display:flex;overflow:visible}.course-detail-full .config-card.details-card .form-static-text.description-scroll{flex:auto;min-height:80px;max-height:260px;padding-right:4px;overflow-y:auto}.course-detail-top-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.manage-button{color:#fff;cursor:pointer;background-color:#6d28d9;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-flex}.manage-button:hover:not(:disabled){background-color:#5b21b6}.manage-button:disabled{cursor:not-allowed;background-color:#a78bfa}.manage-button svg{width:18px;height:18px}.manage-teachers-btn{color:#fff;background-color:#f97316}.manage-teachers-btn:hover:not(:disabled){background-color:#ea580c}.action-button{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-flex}.form-label.static{color:#6b7280;font-size:.9em}.form-static-text{color:#333;word-break:break-word;padding:8px 0;font-size:1em}.manage-students-button svg{color:#007bff}.student-management-content{padding:5px}.student-management-content h4{color:#333;margin-top:15px;margin-bottom:10px;font-size:16px;font-weight:600}.student-management-content h4:first-child{margin-top:0}.modal-divider{border:none;border-top:1px solid #e5e7eb;margin:20px 0}.share-course-invite-button{color:#fff;cursor:pointer;background-color:#6d28d9;border:none;border-radius:6px;padding:10px 15px;font-size:14px;font-weight:500;transition:background-color .2s}.share-course-invite-button:hover:not(:disabled){background-color:#5b21b6}.share-course-invite-button:disabled{cursor:not-allowed;background-color:#a78bfa}.invite-via-email-section h4,.invite-via-link-section h4,.enrolled-students-list-section h4{color:#333;align-items:center;gap:8px;margin-top:15px;margin-bottom:10px;font-size:16px;font-weight:600;display:flex}.invite-via-email-section h4:first-child,.invite-via-link-section h4:first-child,.enrolled-students-list-section h4:first-child{margin-top:5px}.email-invite-container{width:100%}.email-input-wrapper{border:1px solid var(--dash-slate-200,#e2e8f0);border-radius:var(--dash-radius-sm,6px);cursor:text;background-color:#fff;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;font-family:SF Mono,Monaco,Courier New,monospace;transition:border-color .2s,box-shadow .2s;display:flex}.email-input-wrapper:focus-within{border-color:var(--dash-cyan-500,#06b6d4);box-shadow:0 0 0 3px #06b6d426}.email-tag{color:var(--dash-cyan-700,#0e7490);white-space:nowrap;background-color:#ecfeff;border-radius:4px;align-items:center;padding:4px 8px;font-size:14px;font-weight:500;display:inline-flex}.email-tag-remove-button{cursor:pointer;color:var(--dash-cyan-500,#06b6d4);background:0 0;border:none;justify-content:center;align-items:center;margin-left:6px;padding:0;display:flex}.email-tag-remove-button:hover{color:var(--dash-cyan-700,#0e7490)}.email-tag-remove-button svg{width:14px;height:14px}.email-input-field{color:#1f2937;background:0 0;border:none;outline:none;flex-grow:1;min-width:150px;padding:4px 0;font-size:15px}.email-invite-actions{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.email-invite-status{color:#666;text-align:left;flex-grow:1;margin-right:10px;font-size:.9em}.email-invite-status.success{color:#059669}.email-invite-status.error{color:#dc2626}.send-email-invites-button{color:#fff;cursor:pointer;background-color:#6d28d9;border:none;border-radius:6px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.send-email-invites-button:hover:not(:disabled){background-color:#5b21b6}.send-email-invites-button:disabled{cursor:not-allowed;background-color:#a78bfa}.share-input-group textarea.share-input-field{resize:vertical;min-height:60px}.enrolled-students-list{border:1px solid #e5e7eb;border-radius:6px;max-height:200px;padding:0;list-style:none;overflow-y:auto}.enrolled-student-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 12px;font-size:15px;display:flex}.enrolled-student-item:last-child{border-bottom:none}.enrolled-student-item span{flex-grow:1;margin-left:8px}.remove-student-button svg{color:#ef4444}.remove-student-button:hover svg{color:#dc2626}.course-detail-content-wrapper{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;width:100%;margin-top:20px;padding:20px}.course-detail-header-bar{border-bottom:1px solid #e0e0e0;justify-content:flex-end;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.course-detail-section-title{color:#1f2937;font-size:20px;font-weight:600}.course-detail-body{color:#374151;font-size:16px;line-height:1.7}.course-detail-main-content{background-color:#e9ecef;border:1px solid #dee2e6;border-radius:12px;width:100%;margin-top:20px}.course-detail-info-bar{color:#343a40;justify-content:space-between;align-items:center;margin-bottom:25px;font-size:16px;font-weight:500;display:flex}.active-apps-container{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;padding-top:10px;display:flex}.app-card-item{color:#fff;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:flex-start;width:180px;height:120px;padding:15px;transition:transform .2s ease-out,box-shadow .2s ease-out;display:flex;position:relative;box-shadow:0 4px 8px #0000001a}.app-card-item:hover{transform:translateY(-3px);box-shadow:0 6px 12px #00000026}.app-card-name{font-size:16px;font-weight:600;line-height:1.3}.app-card-launch-icon{position:absolute;bottom:12px;right:12px}.app-card-launch-icon svg{width:22px;height:22px}.app-container{width:100%;height:100%}.no-active-apps-message{text-align:center;color:#6c757d;width:100%;padding:30px 0;font-size:16px}.student-dashboard-course-list{box-shadow:none;background-color:#0000;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:0;display:grid}.student-course-item-clickable{cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.student-course-item-clickable:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.student-course-item-info{flex-direction:column;flex-grow:1;margin-right:15px;display:flex}.student-course-item-instructor{color:#555;margin-top:3px;font-size:.8em}.student-course-item-action{color:#007bff;flex-shrink:0;align-items:center;display:flex}.student-course-item-action svg{width:20px;height:20px}.ai-response{font-size:1rem;line-height:1.6}.ai-response strong{font-weight:600}.ai-response ul,.ai-response ol{margin-top:.5rem;padding-left:1.5rem}.markdown-content ul,.markdown-content ol{padding-left:1.5rem}.markdown-content li{margin-bottom:.3rem}.markdown-content ol ol,.markdown-content ul ul,.markdown-content ul ol,.markdown-content ol ul{margin-left:1rem}.expandable-container{transition:max-height 1s;overflow:hidden}.truncate-multiline{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-3-lines{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fileupload-progress-label{font-size:12px}.fileupload-progress{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-bottom:6px;display:block;overflow:hidden}.fileupload-filename{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;max-width:calc(100% - 50px);display:inline-block;overflow:hidden}.fileupload-percentage{vertical-align:top;display:inline-block}.resource-status-icon{flex-grow:0;flex-shrink:0;width:18px;height:18px}.resource-type-chip{color:#4338ca;white-space:nowrap;background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.processing-spin{transform-origin:50%;animation:4s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes pulse-processing{0%,to{box-shadow:0 0 #3b82f626}50%{box-shadow:0 0 0 3px #3b82f626}}.join-course-page-wrapper{background-color:#f0f2f5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.join-course-card{text-align:center;background-color:#fff;border-radius:12px;width:100%;max-width:480px;padding:30px 40px;box-shadow:0 5px 25px #0000001a}.join-course-card h1{color:#1f2937;margin-bottom:12px;font-size:24px;font-weight:600}.join-course-card p{color:#4b5563;margin-bottom:20px;font-size:16px;line-height:1.6}.join-course-name-display{color:#4f46e5;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:15px 0 25px;padding:12px;font-size:20px;font-weight:700}.join-course-actions{justify-content:center;gap:15px;margin-top:30px;display:flex}.feedback-box{text-align:center;border-radius:6px;margin-top:20px;padding:15px;font-weight:500}.feedback-box.success{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.feedback-box.error{--toast-accent:#fb7185}.modal-backdrop{z-index:2000;box-sizing:border-box;background-color:#000000a6;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:80px 16px 16px;display:flex;position:fixed;top:0;left:0;overflow:hidden}.modal-content{text-align:left;box-sizing:border-box;background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:500px;max-height:calc(90vh - 32px);padding:30px;animation:.3s ease-out forwards modal-appear;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 20px #0003}.modal-content h2{color:#002d72;margin-top:0}.modal-content.policy-modal{box-sizing:border-box;flex-direction:column;width:100%;max-width:min(700px,100vw - 32px);height:calc(85vh - 32px);max-height:calc(85vh - 32px);margin:0 auto;padding:0;display:flex;overflow:hidden}.policy-modal .modal-header{border-bottom:1px solid #e9ecef;flex-shrink:0;padding:20px 24px}.policy-modal .modal-header h2{color:#003d7c;margin:0;font-size:22px;font-weight:600}.policy-text-container{color:#495057;text-align:justify;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ced4da #f8f9fa;flex:1 1 0;min-height:0;margin:5px 0;padding:16px 25px;font-size:15px;line-height:1.6;overflow-y:auto}.policy-text-container::-webkit-scrollbar{width:8px}.policy-text-container::-webkit-scrollbar-track{background:#f8f9fa}.policy-text-container::-webkit-scrollbar-thumb{background-color:#ced4da;border:2px solid #f8f9fa;border-radius:10px}.policy-text-container p{margin-bottom:1.2em}.policy-text-container ul{margin-bottom:1.5em;padding-left:25px}.policy-text-container li{margin-bottom:.5em}.policy-text-container strong{color:#212529;font-weight:600}.policy-text-container a{color:#0d6efd;font-weight:500;text-decoration:none}.policy-text-container a:hover{text-decoration:underline}.modal-footer.policy-footer{border-top:1px solid #e9ecef;flex-direction:column;flex-shrink:0;align-items:center;gap:20px;padding:20px 24px;display:flex}.declaration-container{justify-content:center;align-items:center;gap:10px;display:flex}#accept-policy-checkbox{accent-color:#4f46e5;flex-shrink:0;width:18px;height:18px}.declaration-container label{color:#495057;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:15px}.modal-button:disabled{cursor:not-allowed;background-color:#ccc}.modal-close-button{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:28px;line-height:1;position:absolute;top:10px;right:15px}.modal-close-button:hover{color:#000}@media (max-width:640px){.modal-backdrop{align-items:stretch;padding:80px 0 10px}.modal-content.policy-modal{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100vh;margin-top:auto}.policy-modal .modal-header{padding:16px}.policy-modal .modal-header h2{font-size:18px}.policy-text-container{text-align:left;word-break:break-word;overflow-wrap:break-word;flex:1 1 0;min-height:0;padding:12px 16px;font-size:14px;line-height:1.5}.modal-footer.policy-footer{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:12px}.declaration-container label{font-size:14px}}body:has(.modal-backdrop){overflow:hidden}body:has([data-centered-modal]){overflow:hidden}.feedback-fab{color:#fff;cursor:pointer;z-index:999;touch-action:none;-webkit-user-select:none;user-select:none;background:#0891b2;border:none;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 2px 8px #0891b240}.feedback-fab.feedback-fab--nusmedgpt{background:#0891b2}@media (max-width:768px){.feedback-fab.feedback-fab--nusmedgpt{display:none}}@supports (-webkit-touch-callout:none){@media (max-width:768px){.feedback-fab.feedback-fab--nusmedgpt{bottom:calc(var(--nmg-composer-h,100px) + 16px + env(safe-area-inset-bottom,0px))}}}.feedback-fab:hover{background:#06b6d4;box-shadow:0 4px 12px #0891b24d}.feedback-fab:active{transform:translateY(-1px)scale(1.02)}.feedback-fab:focus-visible{outline:none;box-shadow:0 0 0 4px #06b6d44d,0 4px 16px #0891b266}.feedback-fab svg{fill:currentColor;filter:drop-shadow(0 1px 2px #0000001a);width:32px;height:32px}.feedback-fab:before{content:"Send Feedback or Report an Issue";color:#334155;white-space:nowrap;-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;z-index:10000;pointer-events:none;background:#fffffffa;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),visibility .2s;position:absolute;bottom:calc(100% + 12px);right:0;transform:translateY(6px);box-shadow:0 4px 12px #00000026,0 0 0 1px #00000014}.feedback-fab.feedback-fab--left:before{left:0;right:auto}.feedback-fab:after{content:"";z-index:10001;opacity:0;visibility:hidden;pointer-events:none;border-top:6px solid #fffffffa;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),visibility .2s;position:absolute;bottom:calc(100% + 6px);right:23px;transform:translateY(6px)}.feedback-fab.feedback-fab--left:after{left:23px;right:auto}.feedback-fab:hover:before,.feedback-fab:hover:after{opacity:1;visibility:visible;transform:translateY(0)}.feedback-fab.is-dragging{cursor:grabbing;transition:none}.feedback-fab.is-dragging:before,.feedback-fab.is-dragging:after{opacity:0;visibility:hidden;transform:translateY(6px)}.button-with-tooltip{position:relative}.floating-tooltip{z-index:2147483647;color:#334155;text-align:center;white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-backdrop-filter:blur(8px);pointer-events:none;background:#fffffffa;border-radius:8px;width:max-content;max-width:min(460px,100vw - 24px);padding:10px 14px;font-size:13px;font-weight:500;line-height:1.35;position:fixed;transform:none;box-shadow:0 4px 12px #00000026,0 0 0 1px #00000014}.floating-tooltip:after{content:"";top:-6px;left:var(--floating-tooltip-arrow-left,50%);border-bottom:6px solid #fffffffa;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;transform:translate(-50%)}@media (max-width:640px){.floating-tooltip{min-width:min(200px,100vw - 80px);max-width:calc(100vw - 80px);padding:10px 14px;font-size:13px;line-height:1.4}}.feedback-type-selector{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.feedback-type-selector button{color:#334155;cursor:pointer;background-color:#ffffffe6;border:1px solid #06b6d433;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;width:auto;min-width:0;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.feedback-type-selector button:hover{background-color:#06b6d414;border-color:#06b6d44d;transform:translateY(-1px);box-shadow:0 2px 8px #06b6d426}.feedback-type-selector button.active{color:#fff;background:#0891b2;border-color:#0891b2;font-weight:600}.feedback-type-selector button svg{width:16px;height:16px}.modal-content.feedback-modal{flex-direction:column;max-width:620px;padding:0;display:flex;overflow:hidden}@media (max-width:480px){.modal-overlay{align-items:flex-end;padding:0}.modal-content.feedback-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:90vh;padding:0}.feedback-modal .modal-header{padding:12px 16px}.feedback-modal .modal-body{padding:6px 16px}.feedback-modal .feedback-type-selector{margin-bottom:10px}.feedback-modal .form-textarea{min-height:80px;margin-bottom:0}.feedback-modal .modal-footer{flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px}.feedback-modal .modal-footer .feedback-detail-link,.feedback-detail-link{text-align:center;font-size:12px}.modal-footer-buttons{flex-direction:column;gap:.5rem}.modal-footer-buttons .action-button-secondary,.modal-footer-buttons .new-course-button,.feedback-modal .modal-footer .action-button-secondary,.feedback-modal .modal-footer .new-course-button{text-align:center;box-sizing:border-box;width:100%}.feedback-type-selector{gap:6px}.feedback-type-selector button{padding:7px 8px;font-size:12px}.form-textarea{min-height:80px;font-size:1rem}}.feedback-modal .form-label{color:#0f172a;letter-spacing:-.01em;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.feedback-modal .form-textarea{color:#0f172a;resize:vertical;background:#ffffffe6;border:1px solid #06b6d433;border-radius:12px;width:100%;min-height:100px;padding:10px 14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-size:15px;transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-modal .form-textarea:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #06b6d426,0 2px 8px #06b6d41a}.feedback-modal .modal-header{background:linear-gradient(#06b6d408,#0000);border-bottom:1px solid #06b6d41f;flex-shrink:0;padding:16px 24px}.feedback-modal form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.feedback-modal .modal-body{color:#334155;flex:auto;min-height:0;padding:16px 24px;font-size:14px;overflow-y:auto}.feedback-modal .modal-footer{-webkit-backdrop-filter:blur(8px);background:#f8fafccc;border-top:1px solid #06b6d41f;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.feedback-modal .modal-footer .action-button-secondary{color:#334155;background:#64748b1a;border:1px solid #64748b33;border-radius:10px;padding:10px 20px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-modal .modal-footer .action-button-secondary:hover{background:#64748b26;border-color:#64748b4d;transform:translateY(-1px)}.feedback-modal .modal-footer .new-course-button{color:#fff;background:#0891b2;border:none;border-radius:10px;padding:10px 24px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-modal .modal-footer .new-course-button:hover:not(:disabled){background:#06b6d4}.feedback-modal .modal-footer .new-course-button:disabled{cursor:not-allowed;opacity:.6;background:#94a3b8}.modal-footer-buttons{gap:12px;display:flex}.feedback-detail-link{color:#64748b;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-detail-link:hover{color:#0891b2;-webkit-text-decoration:underline #0891b266;text-decoration:underline #0891b266}.feedback-prompt-text{color:#6c757d;text-align:center;margin-bottom:15px;font-size:14px}.feedback-success-message{text-align:center;padding:60px 30px;animation:.5s cubic-bezier(.4,0,.2,1) fade-in}@keyframes fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.feedback-success-message h4{background:linear-gradient(135deg,#0891b2 0%,#06b6d4 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:26px;font-weight:700}.feedback-success-message p{color:#334155;font-size:16px;font-weight:500}.wrap-email{word-break:break-all;max-width:300px;font-size:16px;display:inline-block}
:root{--premium-slate-50:#f8fafc;--premium-slate-100:#f1f5f9;--premium-slate-200:#e2e8f0;--premium-slate-300:#cbd5e1;--premium-slate-700:#334155;--premium-slate-800:#1e293b;--premium-slate-900:#0f172a;--premium-cyan-400:#22d3ee;--premium-cyan-500:#06b6d4;--premium-cyan-600:#0891b2;--premium-cyan-700:#0e7490;--premium-coral-400:#fb7185;--premium-coral-500:#f43f5e;--premium-coral-600:#e11d48;--premium-bg-primary:#fff;--premium-bg-secondary:var(--premium-slate-50);--premium-bg-tertiary:var(--premium-slate-100);--premium-text-primary:var(--premium-slate-900);--premium-text-secondary:var(--premium-slate-700);--premium-text-muted:var(--premium-slate-300);--premium-accent-primary:var(--premium-cyan-500);--premium-accent-secondary:var(--premium-coral-400);--premium-shadow-xs:0 1px 2px #0f172a0d;--premium-shadow-sm:0 2px 4px #0f172a14, 0 1px 2px #0f172a0f;--premium-shadow-default:0 4px 12px #0f172a1a, 0 2px 6px #0f172a14;--premium-shadow-lg:0 12px 32px #0f172a24, 0 4px 12px #0f172a1a;--premium-shadow-xl:0 20px 48px #0f172a2e, 0 8px 16px #0f172a1f;--premium-shadow-glow-cyan:0 8px 24px #06b6d440, 0 0 1px #06b6d44d;--premium-shadow-glow-coral:0 8px 24px #fb718540, 0 0 1px #fb71854d;--premium-radius-sm:8px;--premium-radius-default:12px;--premium-radius-lg:16px;--premium-radius-xl:20px;--premium-radius-full:9999px;--premium-font-primary:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, sans-serif}body{font-family:var(--premium-font-primary);background:linear-gradient(135deg, var(--premium-slate-50) 0%, #fafbfc 100%);position:relative}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 0,#06b6d414 0%,#0000 50%);position:fixed;inset:0}.login-container{-webkit-backdrop-filter:blur(20px);border-radius:var(--premium-radius-lg);box-shadow:var(--premium-shadow-lg);background:#fffffffa;border:1px solid #cbd5e14d;padding:48px;animation:.6s cubic-bezier(.4,0,.2,1) premiumFadeIn}@keyframes premiumFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-heading{color:var(--premium-text-primary);letter-spacing:-.03em;background:linear-gradient(135deg, var(--premium-slate-900) 0%, var(--premium-slate-700) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.subtitle{color:var(--premium-text-secondary);font-weight:500}.email-input,.form-group input,.form-group textarea,.form-group select{border:1px solid var(--premium-slate-200);border-radius:var(--premium-radius-default);color:var(--premium-text-primary);box-shadow:var(--premium-shadow-xs);background:#fffffffa;padding:14px 16px;font-size:15px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.email-input:focus,.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--premium-cyan-500);box-shadow:0 0 0 3px #06b6d426, var(--premium-shadow-sm);background:#fff;outline:none}.email-input::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--premium-slate-300);font-weight:400}.continue-button{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, #0ea5e9 100%);color:#fff;letter-spacing:-.01em;cursor:pointer;box-shadow:var(--premium-shadow-sm), 0 0 16px #06b6d41f;border:none;border-radius:12px;justify-content:center;align-items:center;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.continue-button:before{content:"";opacity:0;background:linear-gradient(135deg,#fff3 0%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.continue-button:hover:before{opacity:1}.continue-button:hover:not(:disabled){opacity:.9;box-shadow:var(--premium-shadow-default), 0 0 20px #06b6d433;transform:scale(1.03)}.continue-button:active:not(:disabled){box-shadow:var(--premium-shadow-xs), 0 0 12px #06b6d42e;transform:scale(.97)}.continue-button:disabled{color:#ffffffb3;cursor:not-allowed;opacity:.6;box-shadow:none;background:linear-gradient(135deg,#6b7a994d 0%,#6b7a9933 100%)}.continue-button:disabled:before{display:none}.social-button{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, #0ea5e9 100%);color:#fff;box-shadow:var(--premium-shadow-sm), 0 0 16px #06b6d41f;border:none;border-radius:12px;padding:12px 16px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.social-button:before{content:"";opacity:0;background:linear-gradient(135deg,#fff3 0%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.social-button:hover{opacity:.9;box-shadow:var(--premium-shadow-default), 0 0 20px #06b6d433;transform:scale(1.03)}.social-button:hover:before{opacity:1}.social-button:active{box-shadow:var(--premium-shadow-xs), 0 0 12px #06b6d42e;transform:scale(.97)}.social-button:disabled{color:#ffffffb3;cursor:not-allowed;opacity:.6;box-shadow:none;background:linear-gradient(135deg,#6b7a994d 0%,#6b7a9933 100%)}.social-button:disabled:before{display:none}.modal-overlay{-webkit-backdrop-filter:blur(8px);background-color:#0f172abf;animation:.3s cubic-bezier(.4,0,.2,1) modalOverlayFadeIn}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content,.modal-content.feedback-modal,.modal-content.policy-modal{-webkit-backdrop-filter:blur(24px);border-radius:var(--premium-radius-xl);box-shadow:var(--premium-shadow-xl);background:#fffffffa;border:1px solid #cbd5e166;width:90%;max-width:540px;padding:32px;animation:.4s cubic-bezier(.4,0,.2,1) modalContentAppear}@keyframes modalContentAppear{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header,.feedback-modal .modal-header,.policy-modal .modal-header{border-bottom:1px solid var(--premium-slate-200);margin-bottom:24px;padding-bottom:16px}.modal-title,.modal-header h2,.policy-modal .modal-header h2{color:var(--premium-text-primary);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}.modal-close-button{color:var(--premium-slate-700);border-radius:var(--premium-radius-sm);padding:4px 8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-close-button:hover{color:var(--premium-slate-900);background:var(--premium-slate-100);transform:scale(1.05)}.modal-body,.feedback-modal .modal-body{color:var(--premium-text-secondary);font-size:15px;font-weight:400;line-height:1.6}.modal-footer,.feedback-modal .modal-footer,.modal-footer.policy-footer{border-top:1px solid var(--premium-slate-200);margin-top:24px;padding-top:20px}.modal-button,.modal-button-confirm,.modal-button-cancel,.modal-button-danger{border-radius:var(--premium-radius-default);letter-spacing:-.01em;box-shadow:var(--premium-shadow-xs);padding:12px 24px;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-button-confirm{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, var(--premium-cyan-600) 100%);border-color:var(--premium-cyan-600)}.modal-button-confirm:hover{box-shadow:var(--premium-shadow-glow-cyan);background:linear-gradient(135deg, var(--premium-cyan-400) 0%, var(--premium-cyan-500) 100%);transform:translateY(-2px)}.modal-button-cancel{color:var(--premium-text-secondary);border-color:var(--premium-slate-200);background:#fff}.modal-button-cancel:hover{background:var(--premium-slate-50);border-color:var(--premium-slate-300);color:var(--premium-text-primary)}.modal-button-danger{background:linear-gradient(135deg, var(--premium-coral-500) 0%, var(--premium-coral-600) 100%);border-color:var(--premium-coral-600)}.modal-button-danger:hover{box-shadow:var(--premium-shadow-glow-coral);background:linear-gradient(135deg, var(--premium-coral-400) 0%, var(--premium-coral-500) 100%);transform:translateY(-2px)}.feedback-message{border-radius:var(--premium-radius-default);-webkit-backdrop-filter:blur(12px);border-left:4px solid;padding:14px 18px;font-size:14px;font-weight:500}.feedback-message.success{color:var(--premium-cyan-700);border-color:var(--premium-cyan-500);background:linear-gradient(90deg,#06b6d41a 0%,#06b6d40d 100%)}.feedback-message.error{color:var(--premium-coral-600);border-color:var(--premium-coral-500);background:linear-gradient(90deg,#fb71851a 0%,#fb71850d 100%)}.form-label{color:var(--premium-text-secondary);letter-spacing:-.01em;margin-bottom:8px;font-size:14px;font-weight:600}.form-error-message{color:var(--premium-coral-600);margin-top:6px;font-size:13px;font-weight:500}.action-button,.action-button-secondary,.feedback-modal .modal-footer .action-button-secondary{color:var(--premium-text-secondary);border:1px solid var(--premium-slate-200);border-radius:var(--premium-radius-default);cursor:pointer;box-shadow:var(--premium-shadow-xs);background:#fffffff2;padding:12px 24px;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-button:hover,.action-button-secondary:hover,.feedback-modal .modal-footer .action-button-secondary:hover{background:var(--premium-slate-50);border-color:var(--premium-slate-300);color:var(--premium-text-primary);box-shadow:var(--premium-shadow-sm);transform:translateY(-2px)}.manage-button,.manage-teachers-btn,.action-button.manage-teachers-btn{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, #0ea5e9 100%);color:#fff;cursor:pointer;box-shadow:var(--premium-shadow-sm), 0 0 16px #06b6d41f;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.manage-button:before,.manage-teachers-btn:before,.action-button.manage-teachers-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#fff3 0%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.manage-button:hover:not(:disabled),.manage-teachers-btn:hover:not(:disabled),.action-button.manage-teachers-btn:hover:not(:disabled){opacity:.9;box-shadow:var(--premium-shadow-default), 0 0 20px #06b6d433;transform:scale(1.03)}.manage-button:hover:not(:disabled):before,.manage-teachers-btn:hover:not(:disabled):before,.action-button.manage-teachers-btn:hover:not(:disabled):before{opacity:1}.manage-button:active:not(:disabled),.manage-teachers-btn:active:not(:disabled),.action-button.manage-teachers-btn:active:not(:disabled){box-shadow:var(--premium-shadow-xs), 0 0 12px #06b6d42e;transform:scale(.97)}.manage-button:disabled,.manage-teachers-btn:disabled,.action-button.manage-teachers-btn:disabled{color:#ffffffb3;cursor:not-allowed;opacity:.6;box-shadow:none;background:linear-gradient(135deg,#6b7a994d 0%,#6b7a9933 100%)}.manage-button:disabled:before,.manage-teachers-btn:disabled:before,.action-button.manage-teachers-btn:disabled:before{display:none}.manage-button svg,.manage-teachers-btn svg{width:18px;height:18px}.save-changes-button,.save-button{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, var(--premium-cyan-600) 100%);color:#fff;border-radius:var(--premium-radius-default);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--premium-shadow-default);border:none;padding:14px 32px;font-size:16px;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.save-changes-button:before,.save-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.save-changes-button:hover:before,.save-button:hover:before{left:100%}.save-changes-button:hover,.save-button:hover{box-shadow:var(--premium-shadow-glow-cyan);background:linear-gradient(135deg, var(--premium-cyan-400) 0%, var(--premium-cyan-500) 100%);transform:translateY(-2px)}.save-changes-button:disabled,.save-button:disabled{background:var(--premium-slate-200);color:var(--premium-slate-300);cursor:not-allowed;box-shadow:none;transform:none}.toggle-mode-button{border:1px solid var(--premium-slate-200);border-radius:var(--premium-radius-default);box-shadow:var(--premium-shadow-xs);background:#fffffff2;padding:10px 20px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.toggle-mode-button:hover{background:var(--premium-slate-50);border-color:var(--premium-cyan-500);box-shadow:var(--premium-shadow-sm);transform:translateY(-2px)}.app-item,.course-item{border-radius:var(--premium-radius-default);box-shadow:var(--premium-shadow-xs);will-change:transform;cursor:pointer;text-align:left;background:linear-gradient(#ffffffd9 0%,#f8fafce6 100%);border:1px solid #e2e8f0cc;width:100%;transition:box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),background .3s;transform:translateY(0)}.app-item:hover,.course-item:hover{border-color:var(--premium-cyan-500);box-shadow:var(--premium-shadow-sm);background:#fff;transform:translateY(-2px)}.app-icon-initial,.course-icon-initial{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, var(--premium-cyan-600) 100%);box-shadow:var(--premium-shadow-xs)}.app-name,.course-name{color:var(--premium-text-primary);letter-spacing:-.01em;font-weight:600}.app-type,.course-description{color:var(--premium-text-secondary)}.app-open-chip{color:var(--premium-cyan-600);letter-spacing:-.01em;text-transform:uppercase;background:#06b6d426;border-radius:999px;margin-left:auto;padding:4px 14px;font-size:12px;font-weight:600}.app-item:focus-visible,.course-item:focus-visible{outline:2px solid var(--premium-cyan-400);outline-offset:2px}.app-open-button{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, var(--premium-cyan-600) 100%);color:#fff;letter-spacing:-.01em;cursor:pointer;box-shadow:var(--premium-shadow-xs);border:none;border-radius:999px;margin-left:auto;padding:5px 16px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s}.app-open-button:hover{box-shadow:var(--premium-shadow-sm);transform:translateY(-1px)}.app-checkbox-icon.checked{color:var(--premium-cyan-500);filter:drop-shadow(0 0 2px #06b6d466)}.app-checkbox-icon.unchecked{color:var(--premium-slate-300);transition:all .3s}.app-checkbox-button:hover .app-checkbox-icon.unchecked{color:var(--premium-slate-700)}.toggle-switch-slider{background-color:var(--premium-slate-200);box-shadow:inset 0 1px 3px #0f172a1a}.toggle-switch-slider:before{box-shadow:var(--premium-shadow-sm)}.toggle-switch-checkbox:checked+.toggle-switch-slider{background:linear-gradient(135deg, var(--premium-cyan-500) 0%, var(--premium-cyan-600) 100%);box-shadow:var(--premium-shadow-glow-cyan)}.toggle-switch-checkbox:focus+.toggle-switch-slider{box-shadow:0 0 0 3px #06b6d426}.or-separator{color:var(--premium-text-muted);font-weight:500}.or-separator .line{background-color:var(--premium-slate-200)}.create-course-page-container,.configure-page-container,.configure-course-page-container{background:0 0;padding:32px 24px;animation:.6s cubic-bezier(.4,0,.2,1) premiumFadeIn}.page-header{border-bottom:1px solid var(--premium-slate-200);margin-bottom:28px;padding:20px 0}.page-title,.page-header .page-title{color:var(--premium-text-primary);letter-spacing:-.02em;font-size:24px;font-weight:700}.configure-content-area{gap:20px}.config-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--premium-radius-lg);box-shadow:var(--premium-shadow-sm);background:#ffffffeb;border:1px solid #cbd5e180;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.config-card:hover{box-shadow:var(--premium-shadow-default);border-color:#06b6d44d}.card-title{color:var(--premium-text-primary);letter-spacing:-.01em;border-bottom:1px solid var(--premium-slate-200);font-size:18px;font-weight:600}.form-input,.form-textarea,.details-card .form-input,.details-card .form-textarea{border:1px solid var(--premium-slate-200);border-radius:var(--premium-radius-default);color:var(--premium-text-primary);box-shadow:var(--premium-shadow-xs);background:#fffffffa;padding:12px 16px;font-size:15px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.configure-content-area .details-card .form-textarea{min-height:80px;max-height:260px;overflow-y:auto}.form-input:focus,.form-textarea:focus,.details-card .form-input:focus,.details-card .form-textarea:focus{border-color:var(--premium-cyan-500);box-shadow:0 0 0 3px #06b6d426, var(--premium-shadow-sm);background:#fff;outline:none}.details-card .form-label{color:var(--premium-text-secondary);letter-spacing:-.01em;font-weight:600}.back-button{border-radius:var(--premium-radius-default);width:40px;height:40px;box-shadow:none;color:var(--premium-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.back-button svg,.back-arrow-icon{width:20px;height:20px}.back-button:hover{color:var(--premium-text-primary);background:#0f172a0a;border-color:#cbd5e1b3}.back-button:active{background:#0f172a12}.back-button:focus-visible{border-color:var(--premium-cyan-500);outline:none;box-shadow:0 0 0 3px #06b6d424}.card,.form-card,.settings-card,.app-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--premium-radius-lg);box-shadow:var(--premium-shadow-sm);background:#ffffffeb;border:1px solid #cbd5e180;padding:24px;transition:all .4s cubic-bezier(.4,0,.2,1)}.card:hover,.app-card:hover{box-shadow:var(--premium-shadow-lg);border-color:#06b6d44d;transform:translateY(-4px)}.app-card-item{-webkit-backdrop-filter:blur(20px);border-radius:var(--premium-radius-lg);box-shadow:var(--premium-shadow-sm);background:#ffffffeb;border:1px solid #cbd5e180;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.app-card-item:before{content:"";background:linear-gradient(90deg, var(--premium-cyan-500) 0%, var(--premium-cyan-600) 100%);opacity:0;width:100%;height:4px;transition:opacity .4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.app-card-item:hover{box-shadow:var(--premium-shadow-lg);border-color:#06b6d466;transform:translateY(-6px)}.app-card-item:hover:before{opacity:1}.app-card-name{letter-spacing:-.01em;color:var(--premium-text-primary);font-weight:600}.app-card-launch-icon svg{transition:all .3s cubic-bezier(.4,0,.2,1)}.app-card-item:hover .app-card-launch-icon svg{color:var(--premium-cyan-500);transform:scale(1.15)}.active-apps-container{gap:16px}.no-active-apps-message{color:var(--premium-text-muted);-webkit-backdrop-filter:blur(16px);border-radius:var(--premium-radius-lg);border:1px dashed var(--premium-slate-200);background:#ffffffd9;padding:48px 24px;font-weight:500}.student-course-item-clickable{-webkit-backdrop-filter:blur(20px);box-shadow:var(--premium-shadow-sm);background:#ffffffeb;border:1px solid #cbd5e180;transition:all .4s cubic-bezier(.4,0,.2,1)}.student-course-item-clickable:hover{box-shadow:var(--premium-shadow-lg);border-color:#06b6d44d;transform:translateY(-4px)}.student-dashboard-course-list{gap:16px}.loading-spinner{animation:1s linear infinite premiumSpin}@keyframes premiumSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.login-container{padding:32px 24px}.modal-content,.modal-content.feedback-modal,.modal-content.policy-modal{width:95%;padding:24px}.welcome-heading{font-size:24px}}
