@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";.user-layout{display:flex}.user-layout__content{flex:1;display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}.user-sidebar{width:273px;height:100vh;background:linear-gradient(180deg,#ffc107,#ffd54f,#ffc107);display:flex;flex-direction:column;padding:20px 16px;position:relative;overflow:hidden}.user-sidebar__mobile-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;border:none;background:#ffc107;border-radius:8px;box-shadow:0 2px 8px #0000001a;align-items:center;justify-content:center;cursor:pointer}.user-sidebar__mobile-toggle svg{font-size:24px;color:#fff}.user-sidebar__close{display:none;position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:none;border-radius:6px;align-items:center;justify-content:center;cursor:pointer}.user-sidebar__close:hover{background-color:#fff3}.user-sidebar__close svg{font-size:24px;color:#fff}.user-sidebar__overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:999}.user-sidebar__logo{display:flex;align-items:center;gap:10px;padding:0 8px;margin-bottom:32px}.user-sidebar__logo-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #FFFFFF}.user-sidebar__logo-text{font-size:1.25rem;font-weight:700;color:#fff}.user-sidebar__nav{display:flex;flex-direction:column;gap:4px;flex:1}.user-sidebar__nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;transition:all .2s ease;text-decoration:none;position:relative}.user-sidebar__nav-item:hover{background-color:#ffffff26}.user-sidebar__nav-item--active{background-color:#fff;color:#ffc107;border-radius:15px;margin-right:-30px;padding-right:32px}.user-sidebar__nav-item--active:hover{background-color:#fff}.user-sidebar__nav-item--active .user-sidebar__nav-icon{color:#ffc107}.user-sidebar__nav-icon{display:flex;align-items:center;justify-content:center;color:#fff}.user-sidebar__nav-icon svg{font-size:20px}.user-sidebar__nav-label{font-size:.875rem}.user-sidebar__profile{display:flex;align-items:center;gap:12px;padding:16px 12px;cursor:pointer;border-radius:12px;background-color:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;margin-top:auto;margin-bottom:20px}.user-sidebar__profile:hover{background-color:#ffffff4d}.user-sidebar__profile-avatar{width:40px;height:40px;border-radius:50%;background-color:#166fb3;display:flex;align-items:center;justify-content:center;color:#fff}.user-sidebar__profile-avatar svg{font-size:24px}.user-sidebar__profile-info{display:flex;flex-direction:column}.user-sidebar__profile-name{font-size:.875rem;font-weight:600;color:#fff}.user-sidebar__profile-role{font-size:.75rem;color:#fffc}.user-sidebar__popover{border-radius:8px!important;box-shadow:0 4px 16px #0000001f!important;margin-top:-8px!important}.user-sidebar__popover-content{padding:8px;min-width:160px}.user-sidebar__popover-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;border-radius:6px;font-size:.875rem;color:#374151;transition:background-color .2s ease;cursor:pointer}.user-sidebar__popover-item:hover{background-color:#f3f4f6}.user-sidebar__popover-item svg{font-size:20px;color:#6b7280}.user-sidebar__popover-item--logout{color:#dc2626}.user-sidebar__popover-item--logout svg{color:#dc2626}.user-sidebar__popover-item--logout:hover{background-color:#fef2f2}@media(max-width:1024px){.user-sidebar{width:220px;padding:16px 12px}.user-sidebar__logo{margin-bottom:24px}}@media(max-width:768px){.user-sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;z-index:1000;transform:translate(-100%);transition:transform .3s ease;padding:20px 16px;border-radius:0 40px 40px 0}.user-sidebar--open{transform:translate(0)}.user-sidebar__mobile-toggle,.user-sidebar__close{display:flex}.user-sidebar__overlay{display:block}.user-sidebar__logo{margin-top:40px}.user-sidebar__nav-item--active{margin-right:-16px;border-radius:8px 0 0 8px}.user-layout__content{padding-top:70px}}.teacher-sidebar{width:273px;height:100vh;background:linear-gradient(180deg,#ffc107,#ffd54f,#ffc107);display:flex;flex-direction:column;padding:20px 16px;position:relative;overflow:hidden}.teacher-sidebar__mobile-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;border:none;background:#ffc107;border-radius:8px;box-shadow:0 2px 8px #0000001a;align-items:center;justify-content:center;cursor:pointer}.teacher-sidebar__mobile-toggle svg{font-size:24px;color:#fff}.teacher-sidebar__close{display:none;position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:none;border-radius:6px;align-items:center;justify-content:center;cursor:pointer}.teacher-sidebar__close:hover{background-color:#fff3}.teacher-sidebar__close svg{font-size:24px;color:#fff}.teacher-sidebar__overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:999}.teacher-sidebar__logo-image{max-width:201px;width:100%;max-height:49px;margin-bottom:50px}.teacher-sidebar__logo{display:flex;align-items:center;gap:10px;padding:0 8px;margin-bottom:32px}.teacher-sidebar__logo-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #FFFFFF}.teacher-sidebar__logo-text{font-size:1.25rem;font-weight:700;color:#fff}.teacher-sidebar__nav{display:flex;flex-direction:column;gap:4px;flex:1}.teacher-sidebar__nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;transition:all .2s ease;text-decoration:none;position:relative}.teacher-sidebar__nav-item:hover{background-color:#ffffff26}.teacher-sidebar__nav-item--active{background-color:#fff;color:#ffc107;border-radius:15px;margin-right:-30px;padding-right:32px}.teacher-sidebar__nav-item--active:hover{background-color:#fff}.teacher-sidebar__nav-item--active .teacher-sidebar__nav-icon{color:#ffc107}.teacher-sidebar__nav-icon{display:flex;align-items:center;justify-content:center;color:#fff}.teacher-sidebar__nav-icon svg{font-size:20px}.teacher-sidebar__nav-label{font-size:.875rem}.teacher-sidebar__profile{display:flex;align-items:center;gap:12px;padding:16px 12px;cursor:pointer;border-radius:16px;background-color:#fff;box-shadow:0 2px 8px #00000014;transition:all .2s ease;margin-top:auto;margin-bottom:20px}.teacher-sidebar__profile:hover{box-shadow:0 4px 12px #0000001f}.teacher-sidebar__profile-avatar{min-width:40px;min-height:40px;width:40px;height:40px;border-radius:50%;background-color:#166fb3;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.teacher-sidebar__profile-avatar svg{font-size:24px}.teacher-sidebar__profile-img{width:100%;height:100%;object-fit:cover;border:1px solid #166FB3;border-radius:50%}.teacher-sidebar__profile-info{display:flex;flex-direction:column}.teacher-sidebar__profile-name{font-size:.875rem;font-weight:600;color:#1f2937}.teacher-sidebar__profile-role{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%;display:block}.teacher-sidebar__popover{border-radius:8px!important;box-shadow:0 4px 16px #0000001f!important;margin-top:-8px!important}.teacher-sidebar__popover-content{padding:8px;min-width:200px}.teacher-sidebar__popover-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;border-radius:6px;font-size:.875rem;color:#374151;transition:background-color .2s ease;cursor:pointer}.teacher-sidebar__popover-item:hover{background-color:#f3f4f6}.teacher-sidebar__popover-item svg{font-size:20px;color:#6b7280}.teacher-sidebar__popover-item--logout{color:#dc2626}.teacher-sidebar__popover-item--logout svg{color:#dc2626}.teacher-sidebar__popover-item--logout:hover{background-color:#fef2f2}@media(max-width:1024px){.teacher-sidebar{width:220px;padding:16px 12px}.teacher-sidebar__logo{margin-bottom:24px}}@media(max-width:768px){.teacher-sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;z-index:1000;transform:translate(-100%);transition:transform .3s ease;padding:20px 16px}.teacher-sidebar--open{transform:translate(0)}.teacher-sidebar__mobile-toggle,.teacher-sidebar__close{display:flex}.teacher-sidebar__overlay{display:block}.teacher-sidebar__logo{margin-top:40px}.teacher-sidebar__nav-item--active{margin-right:-16px;border-radius:8px 0 0 8px}}.admin-layout{display:flex}.admin-layout__content{flex:1;display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}.teacher-layout{height:100vh;display:flex;background-color:#f9fafb;overflow-y:auto}.teacher-layout__content{flex:1;display:flex;flex-direction:column;overflow-x:hidden}@media(max-width:768px){.teacher-layout__content{padding-top:60px}}.parent-sidebar{width:273px;min-width:273px;height:100vh;background:linear-gradient(180deg,#ffc107,#ffd54f,#ffc107);display:flex;flex-direction:column;padding:20px 16px;position:relative;overflow:visible}.parent-sidebar__mobile-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;border:none;background:#ffc107;border-radius:8px;box-shadow:0 2px 8px #0000001a;align-items:center;justify-content:center;cursor:pointer}.parent-sidebar__mobile-toggle svg{font-size:24px;color:#fff}.parent-sidebar__close{display:none;position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:none;border-radius:6px;align-items:center;justify-content:center;cursor:pointer}.parent-sidebar__close:hover{background-color:#fff3}.parent-sidebar__close svg{font-size:24px;color:#fff}.parent-sidebar__overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:999}.parent-sidebar__logo-image{max-width:201px;width:100%;max-height:49px;margin-bottom:32px}.parent-sidebar__children-section{position:relative;margin-bottom:8px}.parent-sidebar__children-label{display:block;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.8px;padding:0 8px;margin-bottom:8px;opacity:.85}.parent-sidebar__child-card{display:flex;align-items:center;gap:10px;padding:10px 32px 10px 12px;border-radius:15px;cursor:pointer;background-color:#fff;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease;margin-right:-30px;position:relative;z-index:2}.parent-sidebar__child-card:hover{box-shadow:0 4px 12px #0000001f}.parent-sidebar__child-avatar{min-width:34px;min-height:34px;width:34px;height:34px;border-radius:50%;background-color:#dbeafe;display:flex;align-items:center;justify-content:center;color:#2563eb;flex-shrink:0}.parent-sidebar__child-avatar svg{font-size:20px}.parent-sidebar__child-avatar--sm{min-width:30px;min-height:30px;width:30px;height:30px}.parent-sidebar__child-avatar--sm svg{font-size:18px}.parent-sidebar__child-info{display:flex;flex-direction:column;flex:1;min-width:0}.parent-sidebar__child-name{font-size:.875rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-sidebar__child-grade{font-size:11px;color:#6b7280;white-space:nowrap}.parent-sidebar__child-arrow{color:#9ca3af;font-size:20px!important;flex-shrink:0;transition:transform .2s ease}.parent-sidebar__child-arrow--open{transform:rotate(180deg)}.parent-sidebar__children-dropdown{margin-top:4px;border-radius:12px;background-color:#fff;overflow:hidden;box-shadow:0 4px 12px #0000001a;position:relative;z-index:10;margin-right:-30px}.parent-sidebar__dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;cursor:pointer;transition:background-color .15s ease}.parent-sidebar__dropdown-item:hover{background-color:#f9fafb}.parent-sidebar__dropdown-item+.parent-sidebar__dropdown-item{border-top:1px solid #F3F4F6}.parent-sidebar__nav{display:flex;flex-direction:column;gap:4px;flex:1;margin-top:16px}.parent-sidebar__nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;transition:all .2s ease;text-decoration:none;position:relative}.parent-sidebar__nav-item:hover{background-color:#ffffff26}.parent-sidebar__nav-item--active{background-color:#fff;color:#ffc107;border-radius:15px;margin-right:-30px;padding-right:32px}.parent-sidebar__nav-item--active:hover{background-color:#fff}.parent-sidebar__nav-item--active .parent-sidebar__nav-icon{color:#ffc107}.parent-sidebar__nav-icon{display:flex;align-items:center;justify-content:center;color:#fff}.parent-sidebar__nav-icon svg{font-size:20px}.parent-sidebar__nav-label{font-size:.875rem}.parent-sidebar__profile{display:flex;align-items:center;gap:12px;padding:16px 12px;cursor:pointer;border-radius:16px;background-color:#fff;box-shadow:0 2px 8px #00000014;transition:all .2s ease;margin-top:auto;margin-bottom:20px}.parent-sidebar__profile:hover{box-shadow:0 4px 12px #0000001f}.parent-sidebar__profile-avatar{min-width:40px;min-height:40px;width:40px;height:40px;border-radius:50%;background-color:#166fb3;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.parent-sidebar__profile-avatar svg{font-size:24px}.parent-sidebar__profile-info{display:flex;flex-direction:column}.parent-sidebar__profile-name{font-size:.875rem;font-weight:600;color:#1f2937}.parent-sidebar__profile-role{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;display:block}.parent-sidebar__popover{border-radius:8px!important;box-shadow:0 4px 16px #0000001f!important;margin-top:-8px!important}.parent-sidebar__popover-content{padding:8px;min-width:200px}.parent-sidebar__popover-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;border-radius:6px;font-size:.875rem;color:#374151;transition:background-color .2s ease;cursor:pointer}.parent-sidebar__popover-item:hover{background-color:#f3f4f6}.parent-sidebar__popover-item svg{font-size:20px;color:#6b7280}.parent-sidebar__popover-item--logout{color:#dc2626}.parent-sidebar__popover-item--logout svg{color:#dc2626}.parent-sidebar__popover-item--logout:hover{background-color:#fef2f2}@media(max-width:1024px){.parent-sidebar{width:220px;min-width:220px;padding:16px 12px}.parent-sidebar__logo-image{margin-bottom:24px}}@media(max-width:768px){.parent-sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;min-width:280px;z-index:1000;transform:translate(-100%);transition:transform .3s ease;padding:20px 16px}.parent-sidebar--open{transform:translate(0)}.parent-sidebar__mobile-toggle,.parent-sidebar__close{display:flex}.parent-sidebar__overlay{display:block}.parent-sidebar__logo-image{margin-top:40px}.parent-sidebar__nav-item--active{margin-right:-16px;border-radius:8px 0 0 8px}.parent-sidebar__child-card,.parent-sidebar__children-dropdown{margin-right:-16px}}.parent-layout{display:flex}.parent-layout__content{flex:1;display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}.login-page{display:flex;min-height:100vh;width:100%}.login-left{width:45%;background:linear-gradient(135deg,#2196f3b3,#1976d2b3,#1565c0b3),url(/assets/login-screen_bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M30 30l10-10v20L30 30zm0 0L20 20v20l10-10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.login-left__content{position:relative;height:100%;display:flex;align-items:center;justify-content:flex-end}.login-left__curve{background:#fff;padding:32px 80px 32px 60px;border-radius:60px 0 0 60px;position:relative;right:-1px}.login-left__curve:before{content:"";position:absolute;top:-60px;right:0;width:60px;height:60px;background:transparent;border-radius:100px;box-shadow:30px 30px #fff}.login-left__curve:after{content:"";position:absolute;bottom:-60px;right:0;width:60px;height:60px;background:transparent;border-radius:100px;box-shadow:30px -30px #fff}.login-left__title{font-family:Poppins,sans-serif;font-size:32px;font-weight:700;color:#333;letter-spacing:2px;white-space:nowrap}.login-left__title-mobile{display:none;font-family:Poppins,sans-serif;font-size:28px;font-weight:700;color:#fff;letter-spacing:2px;text-align:center;padding:20px}.login-right{width:55%;background:#fff;display:flex;align-items:center;justify-content:center;padding:40px}.login-right__content{width:100%;max-width:440px}.login-right__content-logo{max-width:285px;width:100%;max-height:69px;margin:0 auto 31px}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.login-logo__avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;border:3px solid #FFC107}.login-logo__avatar img{width:100%;height:100%;object-fit:cover}.login-logo__text{font-family:Poppins,sans-serif;font-size:32px;font-weight:700;color:#2196f3;letter-spacing:1px}.login-subtitle{font-family:Poppins,sans-serif;font-size:.875rem;font-weight:400;color:#666;text-align:left;margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:20px}.login-form__input .MuiOutlinedInput-root{border-radius:8px;font-family:Poppins,sans-serif}.login-form__input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#2196f3}.login-form__input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#2196f3;border-width:1px}.login-form__input .MuiInputLabel-root{font-family:Poppins,sans-serif;font-size:.875rem;color:#666}.login-form__input .MuiInputLabel-root.Mui-focused{color:#666}.login-form__input .MuiOutlinedInput-input{font-family:Poppins,sans-serif;font-size:.875rem;padding:14px 16px}.login-form__input .MuiOutlinedInput-input::placeholder{color:#bdbdbd;opacity:1}.login-form__options{display:flex;align-items:center;justify-content:space-between;margin-top:-8px}.login-form__remember{display:flex;align-items:center;gap:4px;cursor:pointer}.login-form__checkbox{padding:0!important}.login-form__checkbox.MuiCheckbox-root{color:#bdbdbd}.login-form__checkbox.Mui-checked{color:#2196f3!important}.login-form__remember-text{font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;color:#333}.login-form__forgot{font-family:Poppins,sans-serif;font-size:.875rem;font-weight:400;color:#2196f3;text-decoration:none}.login-form__forgot:hover{text-decoration:underline}.login-form__button{width:100%;padding:14px;background:#ffc107;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:#333;cursor:pointer;transition:background .2s ease;margin-top:8px}.login-form__button:hover{background:#ffb300}.login-form__signup{font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;color:#333;text-align:center}.login-form__signup a{color:#2196f3;text-decoration:none;font-weight:600}.login-form__signup a:hover{text-decoration:underline}.login-form__divider{display:flex;align-items:center;text-align:center;margin:8px 0}.login-form__divider:before,.login-form__divider:after{content:"";flex:1;border-bottom:1px solid #E0E0E0}.login-form__divider span{font-family:Poppins,sans-serif;font-size:.875rem;color:#999;padding:0 16px}.login-form__social{display:flex;justify-content:center;gap:16px}.login-form__social-btn{width:140px;height:52px;border:1px solid #E0E0E0;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.login-form__social-btn:hover{border-color:#bdbdbd;background:#fafafa}.login-form__social-btn svg{width:24px;height:24px}.login-form__social-btn:first-child svg{color:#1877f2}.login-form__social-btn:last-child svg{color:#000}@media(max-width:1024px){.login-left{width:40%}.login-left__curve{padding:24px 40px 24px 36px}.login-left__title{font-size:26px}.login-right{width:60%;padding:32px}}@media(max-width:768px){.login-page{flex-direction:column}.login-left{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center}.login-left__content{justify-content:center}.login-left__curve{display:none}.login-left__title-mobile{display:block;font-family:Poppins,sans-serif;font-size:28px;font-weight:700;color:#fff;letter-spacing:2px;text-align:center;padding:20px}.login-right{width:100%;padding:24px 20px 40px;flex:1}.login-right__content{max-width:100%}.login-logo{margin-bottom:12px}.login-logo__avatar{width:48px;height:48px}.login-logo__text{font-size:26px}.login-subtitle{text-align:center;margin-bottom:20px}.login-form{gap:16px}.login-form__options{flex-direction:column;align-items:flex-start;gap:12px}.login-form__social{flex-direction:column;align-items:center}.login-form__social-btn{width:100%;max-width:300px}}@media(max-width:480px){.login-left{min-height:100px}.login-left__title-mobile{font-size:24px}.login-right{padding:20px 16px 32px}.login-logo__avatar{width:44px;height:44px}.login-logo__text{font-size:22px}.login-form__button{padding:12px}.login-form__social-btn{height:48px}}.forgot-page{display:flex;min-height:100vh;width:100%}.forgot-left{width:45%;background:linear-gradient(135deg,#2196f3,#1976d2,#1565c0);position:relative;overflow:hidden}.forgot-left:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M30 30l10-10v20L30 30zm0 0L20 20v20l10-10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.forgot-left__content{position:relative;height:100%;display:flex;align-items:center;justify-content:flex-end}.forgot-left__curve{background:#fff;padding:28px 60px 28px 50px;border-radius:50px 0 0 50px;position:relative;right:-1px}.forgot-left__curve:before{content:"";position:absolute;top:-50px;right:0;width:50px;height:50px;background:transparent;border-radius:100px;box-shadow:25px 25px #fff}.forgot-left__curve:after{content:"";position:absolute;bottom:-50px;right:0;width:50px;height:50px;background:transparent;border-radius:100px;box-shadow:25px -25px #fff}.forgot-left__title{font-family:Poppins,sans-serif;font-size:32px;font-weight:700;color:#333;letter-spacing:2px;white-space:nowrap}.forgot-left__title-mobile{display:none;font-family:Poppins,sans-serif;font-size:28px;font-weight:700;color:#fff;letter-spacing:2px;text-align:center;padding:20px}.forgot-right{width:55%;background:#fff;display:flex;align-items:center;justify-content:center;padding:40px}.forgot-right__content{width:100%;max-width:440px}.forgot-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.forgot-logo__avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;border:3px solid #FFC107}.forgot-logo__avatar img{width:100%;height:100%;object-fit:cover}.forgot-logo__text{font-family:Poppins,sans-serif;font-size:32px;font-weight:700;color:#2196f3;letter-spacing:1px}.forgot-back{display:flex;align-items:center;gap:4px;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;color:#333;text-decoration:none;margin-bottom:16px}.forgot-back svg{font-size:20px}.forgot-back:hover{color:#2196f3}.forgot-title{font-family:Poppins,sans-serif;font-size:32px;font-weight:700;color:#333;margin-bottom:12px}.forgot-subtitle{font-family:Poppins,sans-serif;font-size:.875rem;font-weight:400;color:#666;line-height:1.5;margin-bottom:24px}.forgot-form{display:flex;flex-direction:column;gap:20px}.forgot-form__input .MuiOutlinedInput-root{border-radius:8px;font-family:Poppins,sans-serif}.forgot-form__input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#2196f3}.forgot-form__input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#2196f3;border-width:1px}.forgot-form__input .MuiInputLabel-root{font-family:Poppins,sans-serif;font-size:.875rem;color:#666}.forgot-form__input .MuiInputLabel-root.Mui-focused{color:#666}.forgot-form__input .MuiOutlinedInput-input{font-family:Poppins,sans-serif;font-size:.875rem;padding:14px 16px}.forgot-form__input .MuiOutlinedInput-input::placeholder{color:#bdbdbd;opacity:1}.forgot-form__button{width:100%;padding:14px;background:#ffc107;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:#333;cursor:pointer;transition:background .2s ease;margin-top:8px}.forgot-form__button:hover{background:#ffb300}.forgot-form__divider{display:flex;align-items:center;text-align:center;margin:8px 0}.forgot-form__divider:before,.forgot-form__divider:after{content:"";flex:1;border-bottom:1px solid #E0E0E0}.forgot-form__divider span{font-family:Poppins,sans-serif;font-size:.875rem;color:#999;padding:0 16px}.forgot-form__social{display:flex;justify-content:center;gap:16px}.forgot-form__social-btn{width:140px;height:52px;border:1px solid #E0E0E0;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.forgot-form__social-btn:hover{border-color:#bdbdbd;background:#fafafa}.forgot-form__social-btn svg{width:24px;height:24px}.forgot-form__social-btn:first-child svg{color:#1877f2}.forgot-form__social-btn:last-child svg{color:#000}@media(max-width:1024px){.forgot-left{width:40%}.forgot-left__curve{padding:24px 40px 24px 36px}.forgot-left__title{font-size:26px}.forgot-right{width:60%;padding:32px}}@media(max-width:768px){.forgot-page{flex-direction:column}.forgot-left{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center}.forgot-left__content{justify-content:center}.forgot-left__curve{display:none}.forgot-left__title-mobile{display:block}.forgot-right{width:100%;padding:24px 20px 40px;flex:1}.forgot-right__content{max-width:100%}.forgot-logo{margin-bottom:20px}.forgot-logo__avatar{width:48px;height:48px}.forgot-logo__text{font-size:26px}.forgot-title{font-size:26px;text-align:center}.forgot-subtitle{text-align:center}.forgot-back{justify-content:center}.forgot-form{gap:16px}.forgot-form__social{flex-direction:column;align-items:center}.forgot-form__social-btn{width:100%;max-width:300px}}@media(max-width:480px){.forgot-left{min-height:100px}.forgot-left__title-mobile{font-size:24px}.forgot-right{padding:20px 16px 32px}.forgot-logo__avatar{width:44px;height:44px}.forgot-logo__text,.forgot-title{font-size:22px}.forgot-form__button{padding:12px}.forgot-form__social-btn{height:48px}}.admin-dashboard{flex:1;background-color:#f9fafb;max-height:100vh;overflow-y:auto}.admin-dashboard .dashboard-skeleton{padding:1rem}.admin-dashboard .dashboard-skeleton .skeleton-header{margin-bottom:1.5rem}.admin-dashboard .dashboard-skeleton .skeleton-header .skeleton-title{width:200px;height:24px;background:#e0e0e0;border-radius:4px;margin-bottom:.5rem}.admin-dashboard .dashboard-skeleton .skeleton-header .skeleton-subtitle{width:300px;height:16px;background:#e0e0e0;border-radius:4px}.admin-dashboard .dashboard-skeleton .skeleton-stats{display:flex;gap:1rem;margin-bottom:2rem}.admin-dashboard .dashboard-skeleton .skeleton-stats .skeleton-card{flex:1;padding:1rem;background:#f3f3f3;border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.admin-dashboard .dashboard-skeleton .skeleton-stats .skeleton-card .skeleton-icon{width:40px;height:40px;background:#e0e0e0;border-radius:50%;margin-bottom:.5rem}.admin-dashboard .dashboard-skeleton .skeleton-stats .skeleton-card .skeleton-line{height:12px;background:#e0e0e0;border-radius:4px}.admin-dashboard .dashboard-skeleton .skeleton-stats .skeleton-card .skeleton-line.short{width:50%}.admin-dashboard .dashboard-skeleton .skeleton-stats .skeleton-card .skeleton-line.long{width:80%}.admin-dashboard .dashboard-skeleton .skeleton-chart{height:300px;background:#e0e0e0;border-radius:8px;margin-bottom:2rem}.admin-dashboard .dashboard-skeleton .skeleton-activity{display:flex;flex-direction:column;gap:1rem}.admin-dashboard .dashboard-skeleton .skeleton-activity .skeleton-activity-item{display:flex;align-items:center;gap:1rem}.admin-dashboard .dashboard-skeleton .skeleton-activity .skeleton-activity-item .skeleton-avatar{width:40px;height:40px;border-radius:50%;background:#e0e0e0}.admin-dashboard .dashboard-skeleton .skeleton-activity .skeleton-activity-item .skeleton-lines{flex:1;display:flex;flex-direction:column;gap:.3rem}.admin-dashboard .dashboard-skeleton .skeleton-activity .skeleton-activity-item .skeleton-lines .skeleton-line{height:12px;background:#e0e0e0;border-radius:4px}.admin-dashboard .dashboard-skeleton .skeleton-activity .skeleton-activity-item .skeleton-lines .skeleton-line.short{width:40%}.admin-dashboard .dashboard-skeleton .skeleton-activity .skeleton-activity-item .skeleton-lines .skeleton-line.long{width:80%}.admin-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.admin-dashboard__header-left{display:flex;flex-direction:column;gap:4px}.admin-dashboard__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.admin-dashboard__subtitle{font-size:.875rem;color:#6b7280;margin:0}.admin-dashboard__header-right{display:flex;align-items:center;gap:16px}.admin-dashboard__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.admin-dashboard__icon-btn:hover{background-color:#f3f4f6}.admin-dashboard__icon-btn svg{font-size:24px}.admin-dashboard__content{padding:24px 32px}.admin-dashboard__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.admin-dashboard__main{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:24px}.admin-dashboard__chart-section,.admin-dashboard__activity-section{display:flex;flex-direction:column}.admin-dashboard__loading{display:flex;align-items:center;justify-content:center;padding:80px 0}.admin-dashboard__quick-actions{margin-top:8px}.admin-dashboard__section-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 16px}.chart-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB;height:100%}.chart-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.chart-card__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.chart-card__legend{display:flex;align-items:center;gap:16px}.chart-card__legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#6b7280}.chart-card__legend-dot{width:8px;height:8px;border-radius:50%}.chart-card__legend-dot--students{background-color:#f59e0b}.chart-card__legend-dot--teachers{background-color:#10b981}.chart-card__subtitle{font-size:.875rem;color:#9ca3af;margin:0 0 16px}.chart-card__chart{width:100%;height:280px}.chart-card__empty{text-align:center;color:#9ca3af;font-size:.875rem;padding:40px 0}.activity-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB;height:100%;overflow-y:auto}.activity-card__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 4px}.activity-card__subtitle{font-size:.875rem;color:#9ca3af;margin:0 0 20px}.activity-card__list{display:flex;flex-direction:column;gap:16px}.activity-card__empty{text-align:center;color:#9ca3af;font-size:.875rem;padding:40px 0}.activity-item{display:flex;align-items:flex-start;gap:12px}.activity-item__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.activity-item__content{display:flex;flex-direction:column;gap:2px}.activity-item__text{font-size:.875rem;color:#374151;margin:0;line-height:1.4}.activity-item__user,.activity-item__target{font-weight:600;color:#111827}.activity-item__time{font-size:.75rem;color:#9ca3af}.admin-dashboard__attendance-section{margin-bottom:24px}.dashboard-attendance-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.dashboard-attendance-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dashboard-attendance-card__title{display:flex;align-items:center;gap:8px;font-size:1.25rem;font-weight:700;color:#111827;margin:0}.dashboard-attendance-card__title-icon{color:#0d9488;font-size:24px!important}.dashboard-attendance-card__link{font-size:.875rem;font-weight:500;color:#0d9488;text-decoration:none}.dashboard-attendance-card__link:hover{text-decoration:underline}.dashboard-attendance-card__subtitle{font-size:.875rem;color:#6b7280;margin:0 0 16px}.dashboard-attendance-card__loading{display:flex;align-items:center;gap:12px;padding:24px 0;color:#6b7280;font-size:.875rem}.dashboard-attendance-card__empty{padding:24px 0;font-size:.875rem;color:#6b7280;margin:0}.dashboard-attendance-card__table-wrap{overflow-x:auto;border:1px solid #E5E7EB;border-radius:8px}.dashboard-attendance-card__table{width:100%;border-collapse:collapse;font-size:.875rem}.dashboard-attendance-card__table thead{background:#f0fdfa}.dashboard-attendance-card__table thead th{padding:10px 12px;text-align:left;font-weight:600;color:#0f766e;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.dashboard-attendance-card__table tbody tr{border-bottom:1px solid #F3F4F6}.dashboard-attendance-card__table tbody tr:last-child{border-bottom:none}.dashboard-attendance-card__table tbody tr:hover{background:#f9fafb}.dashboard-attendance-card__table td{padding:10px 12px;color:#374151;vertical-align:middle}.dashboard-attendance-card__student-id{display:block;font-size:.75rem;color:#6b7280}.dashboard-attendance-card__student-name{font-weight:500;color:#111827}.dashboard-attendance-card__course{max-width:280px;line-height:1.35}.dashboard-attendance-card__status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.dashboard-attendance-card__status--present{background:#d1fae5;color:#059669}.dashboard-attendance-card__status--absent{background:#fee2e2;color:#dc2626}.dashboard-attendance-card__status--late{background:#fef3c7;color:#d97706}.dashboard-attendance-card__status--excused{background:#e0e7ff;color:#4338ca}.dashboard-attendance-card__more{display:inline-block;margin-top:12px;font-size:.875rem;font-weight:500;color:#0d9488;text-decoration:none}.dashboard-attendance-card__more:hover{text-decoration:underline}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.quick-action-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB;cursor:pointer;transition:all .2s ease}.quick-action-card--link{display:block;text-decoration:none;color:inherit}.quick-action-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.quick-action-card__icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.quick-action-card__icon svg{font-size:22px}.quick-action-card__title{font-size:.875rem;font-weight:600;color:#111827;margin:0 0 4px}.quick-action-card__description{font-size:.75rem;color:#6b7280;margin:0;line-height:1.4}@media(max-width:1280px){.admin-dashboard__stats{grid-template-columns:repeat(2,1fr)}.admin-dashboard__main{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-dashboard__header{padding:16px 20px;flex-direction:column;gap:12px}.admin-dashboard__content{padding:16px 20px}.admin-dashboard__stats,.admin-dashboard__main{gap:16px}.stat-card{padding:16px}.stat-card__value{font-size:1.75rem}.chart-card{padding:16px}.chart-card__header{flex-direction:column;align-items:flex-start;gap:8px}.chart-card__chart{height:220px}.activity-card{padding:16px}.quick-actions-grid{gap:16px}}@media(max-width:576px){.admin-dashboard__header,.admin-dashboard__content{padding:12px 16px}.admin-dashboard__stats{grid-template-columns:1fr;gap:12px}.chart-card__chart{height:180px}.quick-actions-grid{grid-template-columns:1fr;gap:12px}}.admin-users{flex:1;background-color:#f9fafb;min-height:100vh}.admin-users__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.admin-users__header-left{display:flex;flex-direction:column;gap:4px}.admin-users__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.admin-users__subtitle{font-size:.875rem;color:#6b7280;margin:0}.admin-users__header-right{display:flex;align-items:center;gap:16px}.admin-users__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.admin-users__icon-btn:hover{background-color:#f3f4f6}.admin-users__icon-btn svg{font-size:24px}.admin-users__content{padding:24px 32px}.admin-users__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.stat-card__value{font-size:2rem;font-weight:700;display:block;margin-bottom:8px}.stat-card__change{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#6b7280}.stat-card__trend{font-size:16px!important}.stat-card__trend--up{color:#10b981}.stat-card__trend--down{color:#ef4444}.user-management{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.user-management__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.user-management__header-left{display:flex;flex-direction:column;gap:4px}.user-management__header-right{display:flex;align-items:center;gap:16px}.user-management__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.user-management__subtitle{font-size:.875rem;color:#6b7280;margin:0}.user-management__search{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fff;border:1px solid #E5E7EB;border-radius:8px;min-width:240px}.user-management__search-icon{color:#9ca3af;font-size:20px!important}.user-management__search-input{border:none;outline:none;font-size:.875rem;color:#111827;width:100%;background:transparent}.user-management__search-input::placeholder{color:#9ca3af}.user-management__add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#166fb3;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;transition:background-color .2s ease}.user-management__add-btn svg{font-size:18px;background-color:#fff;color:#166fb3;border-radius:50%}.user-management__add-btn:hover{background-color:#1259a0}.user-management__tabs{border-bottom:1px solid #E5E7EB;margin-bottom:0}.user-management__table-container{overflow-x:auto}.user-management__loading{display:flex;align-items:center;justify-content:center;padding:60px 0}.user-management__table{width:100%;border-collapse:collapse}.user-management__table thead tr{border-bottom:1px solid #E5E7EB}.user-management__table thead th{padding:16px 12px;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;white-space:nowrap}.user-management__table thead th:first-child{padding-left:0}.user-management__table thead th:last-child{width:50px;padding-right:0}.user-management__table tbody tr{border-bottom:1px solid #F3F4F6}.user-management__table tbody tr:last-child{border-bottom:none}.user-management__table tbody tr:hover{background-color:#f9fafb}.user-management__table tbody td{padding:16px 12px;font-size:.875rem;color:#374151;vertical-align:middle}.user-management__table tbody td:first-child{padding-left:0}.user-management__table tbody td:last-child{padding-right:0}.user-cell{display:flex;align-items:center;gap:12px}.user-cell__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-cell__avatar-placeholder{width:40px;height:40px;border-radius:50%;background-color:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.user-cell__info{display:flex;flex-direction:column;gap:2px}.user-cell__name{font-weight:500;color:#111827}.user-cell__email{font-size:.75rem;color:#9ca3af}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge--active{background-color:#d1fae5;color:#059669}.status-badge--inactive{background-color:#fee2e2;color:#dc2626}.action-cell{position:relative}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:#6b7280;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.action-btn:hover{background-color:#f3f4f6}.action-btn svg{font-size:20px}.action-menu{position:absolute;top:100%;right:0;z-index:50;min-width:160px;background-color:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:4px 0;overflow:hidden}.action-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:none;font-size:13px;font-family:Poppins,sans-serif;color:#374151;cursor:pointer;transition:background-color .15s ease;white-space:nowrap}.action-menu__item svg{font-size:18px}.action-menu__item:hover{background-color:#f3f4f6}.action-menu__item--danger{color:#dc2626}.action-menu__item--danger:hover{background-color:#fef2f2}.delete-dialog__cancel-btn{padding:8px 20px;border:1px solid #E5E7EB;background-color:#fff;color:#374151;border-radius:8px;font-size:14px;font-family:Poppins,sans-serif;font-weight:500;cursor:pointer;transition:background-color .2s ease}.delete-dialog__cancel-btn:hover{background-color:#f3f4f6}.delete-dialog__cancel-btn:disabled{opacity:.5;cursor:not-allowed}.delete-dialog__delete-btn{padding:8px 20px;border:none;background-color:#dc2626;color:#fff;border-radius:8px;font-size:14px;font-family:Poppins,sans-serif;font-weight:500;cursor:pointer;transition:background-color .2s ease}.delete-dialog__delete-btn:hover{background-color:#b91c1c}.delete-dialog__delete-btn:disabled{opacity:.6;cursor:not-allowed}.profile-dialog__content{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:8px}.profile-dialog__avatar{width:64px;height:64px;border-radius:50%;background-color:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px}.profile-dialog__fields{width:100%;display:flex;flex-direction:column;gap:0}.profile-dialog__field{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #F3F4F6}.profile-dialog__field:last-child{border-bottom:none}.profile-dialog__label{font-size:13px;color:#6b7280;font-family:Poppins,sans-serif;text-transform:capitalize}.profile-dialog__value{font-size:13px;color:#111827;font-weight:500;font-family:Poppins,sans-serif;text-transform:capitalize}.profile-edit-form{width:100%;display:flex;flex-direction:column;gap:24px}.profile-edit__avatar-section{display:flex;flex-direction:column;align-items:center;gap:16px}.profile-edit__avatar-preview{width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid #E5E7EB;display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.profile-edit__upload-btn{padding:8px 16px;background-color:#166fb3;color:#fff;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease;font-family:Poppins,sans-serif}.profile-edit__upload-btn:hover{background-color:#1259a0}.profile-edit__form-fields{display:flex;flex-direction:column;gap:16px}.profile-edit__field{display:flex;flex-direction:column;gap:6px}.profile-edit__field label{font-size:13px;font-weight:500;color:#374151;font-family:Poppins,sans-serif}.profile-edit__field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-edit__input{padding:10px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:14px;font-family:Poppins,sans-serif;color:#374151;background-color:#fff;transition:border-color .2s ease}.profile-edit__input:focus{outline:none;border-color:#166fb3;box-shadow:0 0 0 3px #166fb31a}.profile-edit__input::placeholder{color:#9ca3af}.profile-edit__textarea{resize:vertical;min-height:80px}@media(max-width:576px){.profile-edit__field-row{grid-template-columns:1fr}.profile-edit__avatar-preview{width:64px;height:64px}}.user-management__pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0 0;border-top:1px solid #E5E7EB;margin-top:16px}.user-management__pagination-info{font-size:13px;color:#6b7280;font-family:Poppins,sans-serif}.user-management__pagination-controls{display:flex;align-items:center;gap:4px}.user-management__pagination-btn{padding:6px 12px;border:1px solid #E5E7EB;background-color:#fff;color:#374151;border-radius:6px;font-size:13px;font-family:Poppins,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease}.user-management__pagination-btn:hover:not(:disabled){background-color:#f3f4f6}.user-management__pagination-btn:disabled{opacity:.4;cursor:not-allowed}.user-management__pagination-btn--active{background-color:#f59e0b;color:#fff;border-color:#f59e0b}.user-management__pagination-btn--active:hover:not(:disabled){background-color:#d97706}@media(max-width:1280px){.admin-users__stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.user-management__header{flex-direction:column;gap:16px}.user-management__header-right{width:100%;flex-wrap:wrap}.user-management__search{flex:1;min-width:200px}}@media(max-width:768px){.admin-users__header{padding:16px 20px;flex-direction:column;gap:12px}.admin-users__header-left{width:100%}.admin-users__header-right{width:100%;justify-content:flex-end}.admin-users__title{font-size:1.25rem}.admin-users__content{padding:16px 20px}.admin-users__stats{gap:16px}.stat-card{padding:16px}.stat-card__value{font-size:1.75rem}.user-management{padding:16px}.user-management__header-right{flex-direction:column;align-items:stretch}.user-management__search{width:100%}.user-management__add-btn{width:100%;justify-content:center}}@media(max-width:576px){.admin-users__header,.admin-users__content{padding:12px 16px}.admin-users__stats{grid-template-columns:1fr;gap:12px}.stat-card{padding:14px}.stat-card__icon{width:36px;height:36px}.stat-card__icon svg{font-size:18px}.user-management{padding:14px}.user-management__table thead th,.user-management__table tbody td{padding:12px 8px;font-size:.75rem}.user-cell__avatar{width:32px;height:32px}.user-cell__name{font-size:.75rem}.status-badge{padding:3px 8px;font-size:10px}}.add-user-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:680px;max-height:90vh;background-color:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;outline:none;display:flex;flex-direction:column;overflow:hidden}.add-user-modal form{display:flex;flex-direction:column;flex:1;overflow:hidden}.add-user-modal__header{padding:24px 24px 20px;border-bottom:1px solid #E5E7EB}.add-user-modal__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 4px}.add-user-modal__subtitle{font-size:.875rem;color:#6b7280;margin:0}.add-user-modal__body{padding:24px;overflow-y:auto;flex:1}.add-user-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.add-user-modal__row--single{grid-template-columns:1fr}.add-user-modal__field{display:flex;flex-direction:column;gap:6px}.add-user-modal__field--half{max-width:calc(50% - 8px)}.add-user-modal__field--full{max-width:100%}.add-user-modal__label{font-size:.875rem;font-weight:500;color:#374151}.add-user-modal__input{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;color:#111827;background-color:#fff;transition:border-color .2s ease}.add-user-modal__input::placeholder{color:#9ca3af}.add-user-modal__input:focus{outline:none;border-color:#166fb3}.add-user-modal__input--error{border-color:#ef4444}.add-user-modal__input--error:focus{border-color:#ef4444}.add-user-modal__select{width:100%;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;color:#111827;background-color:#fff;transition:border-color .2s ease;cursor:pointer;height:45px}.add-user-modal__select .MuiOutlinedInput-notchedOutline{border:none}.add-user-modal__select .MuiSelect-select{padding:10px 16px!important;font-size:.875rem;font-family:Poppins,sans-serif;display:flex;align-items:center}.add-user-modal__select:focus-within{border-color:#166fb3}.add-user-modal__select:hover{border-color:#d1d5db}.add-user-modal__select--error{border-color:#ef4444}.add-user-modal__select--error:focus-within{border-color:#ef4444}.add-user-modal__textarea{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;color:#111827;background-color:#fff;resize:vertical;min-height:80px;transition:border-color .2s ease;font-family:Poppins,sans-serif}.add-user-modal__textarea::placeholder{color:#9ca3af}.add-user-modal__textarea:focus{outline:none;border-color:#166fb3}.add-user-modal__textarea--error{border-color:#ef4444}.add-user-modal__textarea--error:focus{border-color:#ef4444}.add-user-modal__error{font-size:12px;color:#ef4444;margin-top:2px}.add-user-modal__section{margin:24px 0 16px;padding-top:8px}.add-user-modal__section-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.add-user-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #E5E7EB;background-color:#f9fafb}.add-user-modal__searchable-select{position:relative}.add-user-modal__searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;color:#111827;background-color:#fff;cursor:pointer;height:45px;transition:border-color .2s ease}.add-user-modal__searchable-select-trigger:hover{border-color:#d1d5db}.add-user-modal__searchable-select-trigger--error{border-color:#ef4444}.add-user-modal__searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10;max-height:240px;display:flex;flex-direction:column}.add-user-modal__searchable-select-search{padding:10px 14px;border:none;border-bottom:1px solid #E5E7EB;font-size:.875rem;color:#111827;outline:none;border-radius:8px 8px 0 0}.add-user-modal__searchable-select-search::placeholder{color:#9ca3af}.add-user-modal__searchable-select-options{overflow-y:auto;max-height:190px}.add-user-modal__searchable-select-option{display:flex;align-items:center;padding:10px 14px;font-size:.875rem;color:#374151;cursor:pointer;transition:background .15s}.add-user-modal__searchable-select-option:hover{background-color:#f3f4f6}.add-user-modal__searchable-select-option--selected{background-color:#eff6ff}.add-user-modal__searchable-select-option--selected:hover{background-color:#dbeafe}.add-user-modal__selected-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.add-user-modal__chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:#eff6ff;color:#1d4ed8;border-radius:16px;font-size:12px;font-weight:500}.add-user-modal__chip-remove{cursor:pointer;font-size:16px;line-height:1;color:#6b7280;margin-left:2px}.add-user-modal__chip-remove:hover{color:#ef4444}.add-user-modal__btn{display:flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:8px;font-size:.875rem;font-weight:500;transition:all .2s ease}.add-user-modal__btn--cancel{background-color:#fff;border:1px solid #E5E7EB;color:#374151}.add-user-modal__btn--cancel:hover{background-color:#f3f4f6}.add-user-modal__btn--submit{background-color:#166fb3;border:1px solid #166FB3;color:#fff}.add-user-modal__btn--submit:hover{background-color:#13619c}@media(max-width:768px){.add-user-modal{max-width:calc(100% - 32px);max-height:85vh;margin:16px}.add-user-modal__header{padding:20px 20px 16px}.add-user-modal__title{font-size:1rem}.add-user-modal__subtitle{font-size:.75rem}.add-user-modal__body{padding:20px}.add-user-modal__row{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.add-user-modal__field--half{max-width:100%}.add-user-modal__input,.add-user-modal__textarea{padding:10px 14px}.add-user-modal__section{margin:20px 0 12px}.add-user-modal__section-title{font-size:.875rem}.add-user-modal__footer{padding:14px 20px;flex-direction:column}.add-user-modal__btn{width:100%;padding:12px 20px}}@media(max-width:480px){.add-user-modal{max-width:calc(100% - 24px);max-height:90vh;margin:12px;border-radius:10px}.add-user-modal__header{padding:16px 16px 14px}.add-user-modal__body{padding:16px}.add-user-modal__row{gap:10px;margin-bottom:10px}.add-user-modal__label{font-size:.75rem}.add-user-modal__input,.add-user-modal__textarea{padding:10px 12px;font-size:.75rem}.add-user-modal__footer{padding:12px 16px;gap:10px}.add-user-modal__btn{padding:10px 16px;font-size:.75rem}}.edit-user-modal__title{font-family:Poppins,sans-serif;font-size:24px;font-weight:600;color:#111827;margin:0 0 8px}.edit-user-modal__content,.edit-user-modal__skeleton-content{padding:8px 0}.edit-user-modal__skeleton-avatar{display:flex;flex-direction:column;align-items:center;margin-bottom:24px;padding:20px 0}.edit-user-modal__skeleton-form{width:100%}.edit-user-modal__skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.edit-user-modal__skeleton-field{display:flex;flex-direction:column}.edit-user-modal__skeleton-checkbox{grid-column:span 2;display:flex;align-items:center;margin-top:8px}.edit-user-modal__avatar-section{display:flex;justify-content:center;margin-bottom:24px;padding:20px 0}.edit-user-modal__avatar-container{display:flex;flex-direction:column;align-items:center;gap:16px}.edit-user-modal__avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #E5E7EB}.edit-user-modal__avatar-placeholder{width:120px;height:120px;border-radius:50%;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;border:3px solid #E5E7EB}.edit-user-modal__avatar-upload{cursor:pointer;display:inline-block}.edit-user-modal__upload-btn{padding:8px 16px;background-color:#f59e0b;color:#fff;border-radius:6px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;transition:background-color .2s}.edit-user-modal__upload-btn:hover{background-color:#d97706}.edit-user-modal__form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.edit-user-modal__section-title{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:#111827;margin:0}.edit-user-modal__field--checkbox{grid-column:span 2;flex-direction:row;align-items:center;gap:8px;margin-top:8px}.edit-user-modal__label{font-family:Poppins,sans-serif;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.edit-user-modal__input{padding:10px 12px;border:1px solid #D1D5DB;border-radius:6px;font-family:Poppins,sans-serif;font-size:14px;transition:border-color .2s}.edit-user-modal__input:read-only{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.edit-user-modal__textarea{padding:10px 12px;border:1px solid #D1D5DB;border-radius:6px;font-family:Poppins,sans-serif;font-size:14px;transition:border-color .2s;resize:vertical}.edit-user-modal__textarea--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.edit-user-modal__readonly-note{font-family:Poppins,sans-serif;font-size:12px;color:#6b7280;margin-top:4px;display:block;font-style:italic}.edit-user-modal__checkbox-label{display:flex;align-items:center;gap:8px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;color:#374151;cursor:pointer}.edit-user-modal__checkbox-label input{width:16px;height:16px;cursor:pointer}.edit-user-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #E5E7EB}.edit-user-modal__btn{padding:8px 16px;border-radius:6px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.edit-user-modal__btn--cancel{background-color:#6b7280;color:#fff}.edit-user-modal__btn--cancel:hover:not(:disabled){background-color:#4b5563}.edit-user-modal__cancel-btn{padding:8px 16px;background-color:#6b7280;color:#fff;border:none;border-radius:6px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.edit-user-modal__cancel-btn:hover:not(:disabled){background-color:#4b5563}.edit-user-modal__cancel-btn:disabled{opacity:.6;cursor:not-allowed}.edit-user-modal__save-btn{padding:8px 16px;background-color:#f59e0b;color:#fff;border:none;border-radius:6px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.edit-user-modal__save-btn:hover:not(:disabled){background-color:#d97706}.edit-user-modal__save-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.edit-user-modal__form{grid-template-columns:1fr}.edit-user-modal__field--checkbox{grid-column:span 1}.edit-user-modal__avatar,.edit-user-modal__avatar-placeholder{width:100px;height:100px}.edit-user-modal__skeleton-grid{grid-template-columns:1fr}.edit-user-modal__skeleton-checkbox{grid-column:span 1}.edit-user-modal__row{flex-direction:column;gap:12px}.edit-user-modal__field--half{max-width:100%}.edit-user-modal__title{font-size:20px}.edit-user-modal__section-title{font-size:14px}}.edit-user-modal__avatar-row{display:flex;align-items:center;gap:16px;padding:16px;background:#fafafa;border-radius:10px;margin-bottom:20px;border:1px solid #F3F4F6}.edit-user-modal__avatar-wrap{position:relative;width:80px;height:80px;border-radius:50%;cursor:pointer;flex-shrink:0;overflow:hidden}.edit-user-modal__avatar-wrap:hover .edit-user-modal__avatar-overlay{opacity:1}.edit-user-modal__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.edit-user-modal__avatar-initials{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;font-family:Poppins,sans-serif;font-size:24px;font-weight:700;color:#fff;-webkit-user-select:none;user-select:none}.edit-user-modal__avatar-overlay{position:absolute;inset:0;border-radius:50%;background:#00000073;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s}.edit-user-modal__avatar-info{display:flex;flex-direction:column;gap:4px}.edit-user-modal__avatar-name{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:#111827;margin:0}.edit-user-modal__avatar-hint{font-family:Poppins,sans-serif;font-size:12px;color:#9ca3af;margin:0}.edit-user-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:32px;width:90%;max-width:640px;max-height:90vh;overflow-y:auto;outline:none;box-shadow:0 20px 60px #00000026}.edit-user-modal__header{margin-bottom:24px}.edit-user-modal__title{font-family:Poppins,sans-serif;font-size:22px;font-weight:600;color:#111827;margin:0 0 8px}.edit-user-modal__subtitle{font-family:Poppins,sans-serif;font-size:14px;color:#6b7280;margin:0}.edit-user-modal__body{margin-bottom:24px}.edit-user-modal__row{display:flex;gap:16px;margin-bottom:16px}.edit-user-modal__row--single{flex-direction:column}.edit-user-modal__field{display:flex;flex-direction:column;flex:1}.edit-user-modal__field--half{max-width:50%}.edit-user-modal__field--full{width:100%}.edit-user-modal__section{margin:24px 0 16px;padding-bottom:8px;border-bottom:1px solid #E5E7EB}.edit-user-modal__section-title{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:#111827;margin:0}.edit-user-modal__label{font-family:Poppins,sans-serif;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.edit-user-modal__input{padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-family:Poppins,sans-serif;font-size:14px;transition:border-color .2s;background:#fff}.edit-user-modal__input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.edit-user-modal__input:read-only{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.edit-user-modal__input--error{border-color:#ef4444}.edit-user-modal__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.edit-user-modal__select--error .MuiOutlinedInput-notchedOutline{border-color:#ef4444!important}.edit-user-modal__textarea{padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-family:Poppins,sans-serif;font-size:14px;transition:border-color .2s;resize:vertical}.edit-user-modal__textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.edit-user-modal__textarea--error{border-color:#ef4444}.edit-user-modal__error{font-family:Poppins,sans-serif;font-size:12px;color:#ef4444;margin-top:4px;display:block}.edit-user-modal__readonly-note{font-family:Poppins,sans-serif;font-size:12px;color:#9ca3af;margin-top:4px;display:block;font-style:italic}.edit-user-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #E5E7EB;margin-top:8px}.edit-user-modal__btn{padding:10px 20px;border-radius:8px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:8px}.edit-user-modal__btn--cancel{background-color:#f3f4f6;color:#374151}.edit-user-modal__btn--cancel:hover:not(:disabled){background-color:#e5e7eb}.edit-user-modal__btn--submit{background-color:#f59e0b;color:#fff}.edit-user-modal__btn--submit:hover:not(:disabled){background-color:#d97706}.edit-user-modal__btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.edit-user-modal{padding:20px;width:95%}.edit-user-modal__row{flex-direction:column;gap:12px}.edit-user-modal__field--half{max-width:100%}}.admin-semester-page{flex:1;background-color:#f9fafb;min-height:100vh}.admin-semester-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.admin-semester-page__header-left{display:flex;flex-direction:column;gap:4px}.admin-semester-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.admin-semester-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.admin-semester-page__content{padding:24px 32px}.admin-semester-page__current{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:24px}.admin-semester-page__current-label{display:block;font-size:12px;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.admin-semester-page__current-name{display:block;font-weight:600;font-size:18px;color:#111827}.admin-semester-page__current-dates{display:block;font-size:14px;color:#6b7280}.admin-semester-page__list-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.admin-semester-page__loading{display:flex;justify-content:center;padding:40px}.admin-semester-page__empty{color:#6b7280;margin:0}.admin-semester-page__cards{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.admin-semester-page__card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:8px}.admin-semester-page__card-main{display:flex;align-items:center;flex:1}.admin-semester-page__card-name{font-weight:500;color:#111827}.admin-semester-page__card-dates{font-size:14px;color:#6b7280}.admin-semester-page__modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:24px;border-radius:12px;min-width:400px;box-shadow:0 20px 25px -5px #0000001a}.admin-semester-page__modal h3{margin:0 0 16px;font-size:18px}.schools-page{flex:1;background-color:#f9fafb;min-height:100vh}.schools-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.schools-page__header-left{display:flex;flex-direction:column;gap:4px}.schools-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.schools-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.schools-page__header-right{display:flex;align-items:center;gap:16px}.schools-page__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.schools-page__icon-btn:hover{background-color:#f3f4f6}.schools-page__icon-btn svg{font-size:24px}.schools-page__content{padding:24px 32px}.schools-page__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.schools-page__main{display:flex;gap:24px}.schools-page__left-section{flex:1}.schools-page__right-section{width:280px;flex-shrink:0}.schools-page__tabs{margin-bottom:24px}.school-info__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 16px}.school-info__card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.school-info__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.school-info__item--full{grid-column:1/-1}.school-info__label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#6b7280;margin-bottom:4px}.school-info__label-icon{font-size:16px!important;color:#d97706}.school-info__value{font-size:1rem;font-weight:500;color:#111827;margin:0}.quick-actions{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.quick-actions__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 16px}.quick-actions__buttons{display:flex;flex-direction:column;gap:12px}.quick-actions__btn{display:flex;align-items:center;justify-content:flex-start;padding:20px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:opacity .2s ease;position:relative;overflow:hidden}.quick-actions__btn:hover{opacity:.9}.quick-actions__btn--blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.quick-actions__btn--green{background:linear-gradient(135deg,#84cc16,#a3e635)}.quick-actions__btn:after{content:"";position:absolute;right:-20px;bottom:-20px;width:80px;height:80px;background:#ffffff1a;border-radius:50%}@media(max-width:1280px){.schools-page__stats{grid-template-columns:repeat(2,1fr)}.schools-page__main{flex-direction:column}.schools-page__right-section{width:100%}.quick-actions__buttons{flex-direction:row}.quick-actions__btn{flex:1}}@media(max-width:768px){.schools-page__header,.schools-page__content{padding:16px 20px}.schools-page__stats{gap:16px}.school-info__grid{grid-template-columns:1fr}.school-info__item--full{grid-column:1}.quick-actions__buttons{flex-direction:column}}@media(max-width:576px){.schools-page__header{padding:12px 16px;flex-direction:column;gap:12px}.schools-page__header-right{width:100%;justify-content:flex-end}.schools-page__content{padding:12px 16px}.schools-page__stats{grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-card__value{font-size:1.75rem}.school-info__card,.quick-actions{padding:16px}.quick-actions__btn{padding:16px 20px}}.admin-campuses-page{flex:1;background-color:#f9fafb;min-height:100vh}.admin-campuses-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.admin-campuses-page__header-left{display:flex;flex-direction:column;gap:4px}.admin-campuses-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.admin-campuses-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.admin-campuses-page__content{padding:24px 32px}.admin-campuses-page__list-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.admin-campuses-page__loading{display:flex;justify-content:center;padding:40px}.admin-campuses-page__empty{color:#6b7280;margin:0}.admin-campuses-page__cards{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.admin-campuses-page__card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:8px}.admin-campuses-page__card-icon{color:#6b7280;font-size:24px!important}.admin-campuses-page__card-body{display:flex;flex-direction:column;gap:4px;flex:1}.admin-campuses-page__card-name{font-weight:500;color:#111827}.admin-campuses-page__card-school{font-size:14px;color:#6b7280}.admin-campuses-page__card-address{font-size:13px;color:#9ca3af}.admin-campuses-page__modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:24px;border-radius:12px;min-width:400px;box-shadow:0 20px 25px -5px #0000001a}.admin-campuses-page__modal h3{margin:0 0 16px;font-size:18px}.admin-subjects-page{flex:1;background-color:#f9fafb;min-height:100vh}.admin-subjects-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.admin-subjects-page__header-left{display:flex;flex-direction:column;gap:4px}.admin-subjects-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.admin-subjects-page__subtitle{font-size:.875rem;color:#6b7280;margin:0;max-width:560px}.admin-subjects-page__content{padding:24px 32px}.admin-subjects-page__loading{display:flex;justify-content:center;padding:40px}.admin-subjects-page__empty{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px dashed #E5E7EB}.admin-subjects-page__empty p{color:#6b7280;margin:16px 0 24px}.admin-subjects-page__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.admin-subjects-page__card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:8px}.admin-subjects-page__card-icon{color:#6b7280;font-size:28px!important}.admin-subjects-page__card-body{flex:1;display:flex;flex-direction:column;gap:4px}.admin-subjects-page__card-name{font-weight:600;color:#111827}.admin-subjects-page__card-code{font-size:13px;color:#6b7280;font-family:monospace}.admin-subjects-page__inactive{font-size:12px;color:#dc2626;font-weight:500}.admin-subjects-page__card-actions{display:flex;gap:8px;flex-shrink:0}.admin-subjects-page__modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:24px;border-radius:12px;min-width:420px;max-width:95vw;box-shadow:0 20px 25px -5px #0000001a}.admin-subjects-page__modal h3{margin:0 0 16px;font-size:18px}.classes-page{flex:1;background-color:#f9fafb;min-height:100vh}.classes-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.classes-page__header-left{display:flex;flex-direction:column;gap:4px}.classes-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.classes-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.classes-page__header-right{display:flex;align-items:center;gap:16px}.classes-page__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.classes-page__icon-btn:hover{background-color:#f3f4f6}.classes-page__icon-btn svg{font-size:24px}.classes-page__content{padding:24px 32px}.classes-page__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.classes-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.classes-section__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.classes-section__header-right{display:flex;align-items:center;gap:16px}.classes-section__search{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fff;border:1px solid #E5E7EB;border-radius:8px;min-width:240px}.classes-section__search-icon{color:#9ca3af;font-size:20px!important}.classes-section__search-input{border:none;outline:none;font-size:.875rem;color:#111827;width:100%;background:transparent}.classes-section__search-input::placeholder{color:#9ca3af}.classes-section__add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#ffc107;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.classes-section__add-btn svg{font-size:18px;background-color:#fff;color:#ffc107;border-radius:50%}.classes-section__add-btn:hover{background-color:#ffb300}.classes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.class-card{background-color:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.class-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.class-card__status{display:inline-flex;align-items:center;padding:4px 10px;background-color:#d1fae5;color:#059669;border-radius:12px;font-size:.75rem;font-weight:500}.class-card__more-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:#6b7280;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.class-card__more-btn:hover{background-color:#f3f4f6}.class-card__more-btn svg{font-size:18px}.class-card__instructor{display:flex;align-items:center;gap:10px;margin-bottom:12px}.class-card__instructor-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.class-card__instructor-info{display:flex;flex-direction:column}.class-card__instructor-label{font-size:.75rem;color:#6b7280}.class-card__instructor-name{font-size:.875rem;font-weight:500;color:#ea580c}.class-card__title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 12px}.class-card__details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.class-card__detail{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#6b7280}.class-card__detail-icon{font-size:16px!important;color:#9ca3af}.class-card__footer{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid #F3F4F6}.class-card__stat{display:flex;align-items:center;gap:6px}.class-card__stat-icon{font-size:16px!important;color:#9ca3af}.class-card__stat-content{display:flex;flex-direction:column}.class-card__stat-label{font-size:10px;color:#9ca3af}.class-card__stat-value{font-size:.875rem;font-weight:500;color:#374151}.classes-page__loader,.classes-page__error,.classes-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#6b7280;font-size:.875rem}.classes-page__loader p,.classes-page__error p,.classes-page__empty p{margin:0}.classes-page__error{color:#dc2626}.class-card__instructor-avatar--initials{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:#ffc107;color:#fff;font-size:.875rem;font-weight:700;flex-shrink:0}@media(max-width:1400px){.classes-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1280px){.classes-page__stats,.classes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.classes-section__header{flex-direction:column;align-items:flex-start;gap:16px}.classes-section__header-right{width:100%;flex-wrap:wrap}.classes-section__search{flex:1;min-width:200px}}@media(max-width:768px){.classes-page__header,.classes-page__content{padding:16px 20px}.classes-page__stats{gap:16px}.classes-section__header-right{flex-direction:column;align-items:stretch}.classes-section__search{width:100%}.classes-section__add-btn{width:100%;justify-content:center}}@media(max-width:576px){.classes-page__header{padding:12px 16px;flex-direction:column;gap:12px}.classes-page__header-right{width:100%;justify-content:flex-end}.classes-page__content{padding:12px 16px}.classes-page__stats{grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-card__value{font-size:1.75rem}.classes-grid{grid-template-columns:1fr;gap:16px}.class-card{padding:14px}}.course-detail-page{flex:1;background-color:#f9fafb;min-height:100vh}.course-detail-page__header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.course-detail-page__header-actions{display:flex;align-items:center;gap:12px}.course-detail-page__edit-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid #E5E7EB;background:#fff;color:#374151;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.course-detail-page__edit-btn:hover{background:#f3f4f6;color:#111827}.course-detail-page__edit-btn svg{font-size:18px}.course-detail-page__header-left{display:flex;align-items:center;gap:16px}.course-detail-page__back-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #E5E7EB;background:#fff;border-radius:8px;cursor:pointer;color:#374151;transition:background .2s}.course-detail-page__back-btn:hover{background:#f3f4f6}.course-detail-page__back-btn svg{font-size:20px}.course-detail-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.course-detail-page__subtitle{font-size:.875rem;color:#6b7280;margin:4px 0 0}.course-detail-page__subtitle strong{color:#374151}.course-detail-page__status{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:.875rem;font-weight:500}.course-detail-page__status[data-active=true]{background-color:#d1fae5;color:#059669}.course-detail-page__status[data-active=false]{background-color:#fee2e2;color:#dc2626}.course-detail-page__error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px;color:#dc2626;font-size:.875rem}.course-detail-page__error p{margin:0}.course-detail-page__retry-btn{padding:8px 20px;background:#ffc107;color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer}.course-detail-page__retry-btn:hover{background:#ffb300}.course-detail-page__content{display:grid;grid-template-columns:1fr 340px;gap:24px;padding:24px 32px;align-items:start}.course-detail-page__left,.course-detail-page__right{display:flex;flex-direction:column;gap:20px}.cd-card{background:#fff;border-radius:12px;border:1px solid #E5E7EB;padding:20px 24px;box-shadow:0 1px 3px #0000000d}.cd-card__title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #F3F4F6}.cd-card__description{font-size:.875rem;color:#6b7280;line-height:1.6;margin:0}.cd-info-grid{display:flex;flex-direction:column;gap:12px}.cd-info-row{display:grid;grid-template-columns:20px 140px 1fr;align-items:center;gap:10px}.cd-info-row__icon{display:flex;align-items:center;color:#9ca3af}.cd-info-row__icon svg{font-size:18px!important}.cd-info-row__label{font-size:.875rem;color:#6b7280;font-weight:500}.cd-info-row__value{font-size:.875rem;color:#111827;font-weight:500}.cd-teacher{display:flex;align-items:center;gap:16px}.cd-teacher__avatar{width:56px;height:56px;border-radius:50%;background-color:#ffc107;color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cd-teacher__info{display:flex;flex-direction:column;gap:4px}.cd-teacher__name{font-size:1rem;font-weight:600;color:#111827}.cd-teacher__email{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#6b7280}.cd-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cd-stat-box{border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px}.cd-stat-box__value{font-size:1.75rem;font-weight:700}.cd-stat-box__label{font-size:.75rem;font-weight:500;opacity:.8}@media(max-width:1024px){.course-detail-page__content{grid-template-columns:1fr}.course-detail-page__right{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:768px){.course-detail-page__header{padding:16px 20px;flex-wrap:wrap;gap:12px}.course-detail-page__content{padding:16px 20px}.cd-info-row{grid-template-columns:20px 110px 1fr}.course-detail-page__right{grid-template-columns:1fr}}.course-edit-page{flex:1;background-color:#f9fafb;min-height:100vh}.course-edit-page__header{display:flex;align-items:center;gap:16px;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.course-edit-page__back-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #E5E7EB;background:#fff;border-radius:8px;cursor:pointer;color:#374151;transition:background .2s}.course-edit-page__back-btn:hover{background:#f3f4f6}.course-edit-page__back-btn svg{font-size:20px}.course-edit-page__header-text{flex:1}.course-edit-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.course-edit-page__subtitle{font-size:.875rem;color:#6b7280;margin:4px 0 0}.course-edit-page__subtitle strong{color:#374151}.course-edit-page__error{padding:24px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.course-edit-page__content{padding:24px 32px;max-width:640px}.course-edit-form{background:#fff;border-radius:12px;border:1px solid #E5E7EB;padding:24px 28px;box-shadow:0 1px 3px #0000000d}.course-edit-form__section{margin-bottom:28px}.course-edit-form__section:last-of-type{margin-bottom:0}.course-edit-form__section-title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #F3F4F6}.course-edit-form__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #E5E7EB}@media(max-width:768px){.course-edit-page__header,.course-edit-page__content,.course-edit-form{padding:16px 20px}}.curriculum-page{flex:1;background-color:#f9fafb;min-height:100vh}.curriculum-page__header{padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.curriculum-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.curriculum-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.curriculum-page__content{padding:24px 32px}.curriculum-page__loading{display:flex;justify-content:center;padding:40px}.curriculum-page__empty-state{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px dashed #E5E7EB}.curriculum-page__empty-state p{color:#6b7280;margin:16px 0}.curriculum-page__link{color:#f59e0b;font-weight:500;text-decoration:none}.curriculum-page__link:hover{text-decoration:underline}.curriculum-page__distinction{margin-bottom:24px;padding:20px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:12px}.curriculum-page__distinction-title{margin:0 0 12px;font-size:15px;font-weight:600;color:#334155}.curriculum-page__distinction-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.curriculum-page__distinction-grid{grid-template-columns:1fr}}.curriculum-page__distinction-card{padding:14px 16px;border-radius:8px}.curriculum-page__distinction-card p{margin:8px 0 0;font-size:13px;color:#64748b;line-height:1.45}.curriculum-page__distinction-card--curriculum{background:#eff6ff;border:1px solid #BFDBFE}.curriculum-page__distinction-card--classes{background:#f0fdf4;border:1px solid #BBF7D0}.curriculum-page__distinction-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:500;color:#059669;text-decoration:none}.curriculum-page__distinction-link:hover{text-decoration:underline}.curriculum-page__filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.curriculum-page__section{margin-bottom:32px}.curriculum-page__section-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px;display:flex;align-items:center}.curriculum-page__section-desc{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5}.curriculum-page__no-items{font-size:14px;color:#9ca3af;margin:12px 0 0;font-style:italic}.curriculum-page__table-wrap{overflow-x:auto;border:1px solid #E5E7EB;border-radius:8px;background:#fff}.curriculum-page__table{width:100%;border-collapse:collapse;font-size:14px}.curriculum-page__table th,.curriculum-page__table td{padding:12px 16px;text-align:left;border-bottom:1px solid #F3F4F6}.curriculum-page__table th{background:#f9fafb;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.curriculum-page__table tr:last-child td{border-bottom:none}.curriculum-page__table tr:hover td{background:#fafafa}.curriculum-page__cell-title{font-weight:500;color:#111827;display:flex;align-items:center;gap:8px}.curriculum-page__cell-icon{color:#6b7280;display:inline-flex}.curriculum-page__cell-link{color:#f59e0b;text-decoration:none;font-weight:500}.curriculum-page__cell-link:hover{text-decoration:underline}.curriculum-page__badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#f3f4f6;border-radius:6px;font-size:12px;color:#6b7280}.curriculum-page__badge--type{background:#eff6ff;color:#1d4ed8}.curriculum-page__empty-hint{font-size:13px;color:#9ca3af;margin:8px 0 16px;max-width:480px;line-height:1.5}.content-page{flex:1;background-color:#f9fafb;min-height:100vh}.content-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.content-page__header-left{display:flex;flex-direction:column;gap:4px}.content-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.content-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.content-page__header-right{display:flex;align-items:center;gap:16px}.content-page__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.content-page__icon-btn:hover{background-color:#f3f4f6}.content-page__icon-btn svg{font-size:24px}.content-page__content{padding:24px 32px}.content-page__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.stat-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.stat-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.stat-card__title{font-size:.875rem;color:#6b7280;font-weight:500}.stat-card__icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.stat-card__icon svg{font-size:22px}.stat-card__value{font-size:2rem;font-weight:700;display:block}.content-library{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.content-library__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.content-library__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.content-library__header-right{display:flex;align-items:center;gap:16px}.content-library__search{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fff;border:1px solid #E5E7EB;border-radius:8px;min-width:260px}.content-library__search-icon{color:#9ca3af;font-size:20px!important}.content-library__search-input{border:none;outline:none;font-size:.875rem;color:#111827;width:100%;background:transparent}.content-library__search-input::placeholder{color:#9ca3af}.content-library__add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#166fb3;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.content-library__add-btn svg{font-size:18px;background-color:#fff;color:#166fb3;border-radius:50%}.content-library__add-btn:hover{background-color:#1259a0}.content-library__table-container{overflow-x:auto}.content-library__table{width:100%;border-collapse:collapse}.content-library__table thead tr{border-bottom:1px solid #E5E7EB}.content-library__table thead th{padding:16px 12px;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;white-space:nowrap}.content-library__table thead th:first-child{padding-left:0}.content-library__table thead th:last-child{text-align:center;width:80px;padding-right:0}.content-library__table tbody tr{border-bottom:1px solid #F3F4F6}.content-library__table tbody tr:last-child{border-bottom:none}.content-library__table tbody tr:hover{background-color:#f9fafb}.content-library__table tbody td{padding:16px 12px;font-size:.875rem;color:#374151;vertical-align:middle}.content-library__table tbody td:first-child{padding-left:0}.content-library__table tbody td:last-child{padding-right:0;text-align:center}.content-title-cell{font-weight:500;color:#111827!important}.content-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:#fef3c7;color:#d97706;border-radius:6px;font-size:.75rem;font-weight:500}.content-type-badge__icon{font-size:14px!important}.content-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:.875rem;font-weight:500}.content-status-badge--published{background-color:#d1fae5;color:#059669}.content-status-badge--draft{background-color:#f3f4f6;color:#6b7280}.content-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:#6b7280;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.content-action-btn:hover{background-color:#f3f4f6}.content-action-btn svg{font-size:20px}.content-library__loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px;color:#6b7280;font-size:.875rem}.content-view-modal__header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #E5E7EB;background:#fff;flex-shrink:0}.content-view-modal__title{margin:0;font-size:1.25rem;font-weight:600;color:#111827;line-height:1.3;padding-right:12px}.content-view-modal__body{flex:1;overflow:auto;padding:24px;min-height:0}.content-viewing-box{width:100%;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000f;border:1px solid #E5E7EB;overflow:hidden}.content-viewing-box--empty .content-viewing-box__preview{min-height:280px;display:flex;align-items:center;justify-content:center}.content-viewing-box__preview{width:100%;min-height:420px;max-height:65vh;background:#f9fafb;display:flex;align-items:center;justify-content:center;overflow:auto}.content-viewing-box__empty-text{margin:0;color:#6b7280;font-size:.875rem}.content-viewing-box__iframe{width:100%;height:100%;min-height:420px;max-height:65vh;border:none;display:block}.content-viewing-box__img{max-width:100%;max-height:65vh;width:auto;height:auto;object-fit:contain;display:block}.content-viewing-box__video{width:100%;max-height:65vh;display:block;background:#000}.content-viewing-box__footer{padding:20px 24px;background:linear-gradient(180deg,#fafbfc,#f3f4f6);border-top:1px solid #E5E7EB;display:flex;flex-direction:column;gap:16px}.content-viewing-box__footer-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.content-viewing-box__type-badge{display:inline-flex;align-items:center;padding:6px 12px;background:#e0e7ff;color:#3730a3;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.content-viewing-box__course-tag{display:inline-flex;padding:4px 10px;background:#e5e7eb;color:#4b5563;border-radius:6px;font-size:12px}.content-viewing-box__hint{margin:0;font-size:.875rem;color:#6b7280;line-height:1.45}.content-viewing-box__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.content-viewing-box__download-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#166fb3;color:#fff!important;text-decoration:none;border-radius:10px;font-size:.875rem;font-weight:600;box-shadow:0 1px 3px #166fb34d;transition:background .2s ease,transform .1s ease}.content-viewing-box__download-btn:hover{background:#1259a0;color:#fff!important;transform:translateY(-1px)}.content-viewing-box__open-link{display:inline-flex;align-items:center;padding:10px 16px;color:#2563eb;text-decoration:none;font-size:.875rem;font-weight:500;border:1px solid #93C5FD;border-radius:8px;background:#eff6ff}.content-viewing-box__open-link:hover{background:#dbeafe;color:#1d4ed8}.content-viewing-box__close-btn{align-self:flex-start;margin-top:4px;padding:10px 20px;background:#374151;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500}.content-viewing-box__close-btn:hover{background:#4b5563}.no-results{text-align:center;color:#9ca3af;font-size:.875rem;padding:40px 0!important}@media(max-width:1280px){.content-page__stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.content-library__header{flex-direction:column;align-items:flex-start;gap:16px}.content-library__header-right{width:100%;flex-wrap:wrap}.content-library__search{flex:1;min-width:200px}}@media(max-width:768px){.content-page__header,.content-page__content{padding:16px 20px}.content-page__stats{gap:16px}.content-library{padding:16px}.content-library__header-right{flex-direction:column;align-items:stretch}.content-library__search{width:100%}.content-library__add-btn{width:100%;justify-content:center}}@media(max-width:576px){.content-page__header{padding:12px 16px;flex-direction:column;gap:12px}.content-page__header-right{width:100%;justify-content:flex-end}.content-page__content{padding:12px 16px}.content-page__stats{grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-card__value{font-size:1.75rem}.content-library{padding:14px}.content-library__table thead th,.content-library__table tbody td{padding:12px 8px;font-size:.75rem}.content-type-badge{padding:3px 8px;font-size:10px}.content-status-badge{font-size:.75rem;padding:3px 8px}}.attendance-dashboard{flex:1;background:linear-gradient(180deg,#f0fdfa,#f9fafb 35%);min-height:100vh}.attendance-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB;box-shadow:0 1px 2px #0000000a}.attendance-dashboard__header-left{display:flex;flex-direction:column;gap:4px}.attendance-dashboard__title{font-size:1.5rem;font-weight:700;color:#0f766e;margin:0;letter-spacing:-.02em}.attendance-dashboard__subtitle{font-size:.875rem;color:#6b7280;margin:0}.attendance-dashboard__header-right{display:flex;align-items:center;gap:16px}.attendance-dashboard__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.attendance-dashboard__icon-btn:hover{background-color:#f0fdfa;color:#0d9488}.attendance-dashboard__icon-btn svg{font-size:24px}.attendance-dashboard__content{padding:24px 32px}.attendance-dashboard__error{padding:12px 16px;margin-bottom:20px;background:#fee2e2;color:#dc2626;border-radius:8px;font-size:.875rem}.attendance-overview__loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#6b7280;font-size:.875rem}.attendance-dashboard__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:28px}.attendance-stat-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB;transition:box-shadow .2s ease,transform .2s ease}.attendance-stat-card:hover{box-shadow:0 8px 24px #0d94881f;transform:translateY(-2px)}.attendance-stat-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.attendance-stat-card__title{font-size:.875rem;color:#6b7280;font-weight:500}.attendance-stat-card__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.attendance-stat-card__icon svg{font-size:24px}.attendance-stat-card__value{font-size:2rem;font-weight:700;display:block;line-height:1.2}.attendance-stat-card__sub{font-size:.75rem;color:#9ca3af;margin-top:4px;display:block}.attendance-overview{background:#fff;border-radius:16px;padding:28px;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB}.attendance-overview__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:24px}.attendance-overview__title{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;color:#111827;margin:0}.attendance-overview__title-icon{color:#0d9488;font-size:26px!important}.attendance-overview__view-tabs{display:flex;gap:4px;margin-bottom:16px}.attendance-overview__tab{padding:8px 16px;border:1px solid #E5E7EB;background:#fff;color:#6b7280;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.attendance-overview__tab:hover{background:#f9fafb;color:#111827}.attendance-overview__tab--active{background:#f0fdfa;color:#0d9488;border-color:#0d9488}.attendance-overview__records-count{font-size:.875rem;color:#6b7280;margin-bottom:12px}.attendance-record-cell{display:flex;flex-direction:column;gap:2px}.attendance-record-cell__id{font-size:.75rem;color:#6b7280}.attendance-record-cell__name{font-weight:500;color:#111827}.attendance-record-course{max-width:320px}.attendance-record-course__line{font-size:.875rem;color:#374151;line-height:1.4}.attendance-overview__table--records .attendance-status-badge--present{background:#d1fae5;color:#059669}.attendance-overview__table--records .attendance-status-badge--absent{background:#fee2e2;color:#dc2626}.attendance-overview__table--records .attendance-status-badge--late{background:#fef3c7;color:#d97706}.attendance-overview__table--records .attendance-status-badge--excused{background:#e0e7ff;color:#4338ca}.attendance-overview__toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.attendance-overview__search{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;min-width:260px;transition:border-color .2s,box-shadow .2s}.attendance-overview__search:focus-within{border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.attendance-overview__search-icon{color:#9ca3af;font-size:20px!important}.attendance-overview__search-input{border:none;outline:none;font-size:.875rem;color:#111827;width:100%;background:transparent}.attendance-overview__search-input::placeholder{color:#9ca3af}.attendance-overview__filters{display:flex;align-items:center;gap:12px}.attendance-overview__filter-label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#6b7280;font-weight:500}.attendance-overview__filter-label span{margin:0}.attendance-overview__date-input,.attendance-overview__select{padding:8px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;min-width:140px}.attendance-overview__date-input:focus,.attendance-overview__select:focus{outline:none;border-color:#0d9488}.attendance-overview__export-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:opacity .2s,transform .2s;box-shadow:0 2px 8px #0d948859}.attendance-overview__export-btn svg{font-size:20px}.attendance-overview__export-btn:hover{opacity:.95;transform:translateY(-1px);color:#fff}.attendance-overview__table-container{overflow-x:auto;border-radius:12px;border:1px solid #E5E7EB}.attendance-overview__table{width:100%;border-collapse:collapse}.attendance-overview__table thead{background:linear-gradient(180deg,#f0fdfa,#ccfbf1)}.attendance-overview__table thead tr{border-bottom:2px solid #99F6E4}.attendance-overview__table thead th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:#0f766e;text-transform:uppercase;letter-spacing:.04em}.attendance-overview__table thead th:first-child{padding-left:20px}.attendance-overview__table thead th:last-child{text-align:center;width:72px;padding-right:20px}.attendance-overview__table tbody tr{border-bottom:1px solid #F3F4F6;transition:background-color .15s ease}.attendance-overview__table tbody tr:last-child{border-bottom:none}.attendance-overview__table tbody tr:hover{background-color:#f0fdfa}.attendance-overview__table tbody td{padding:16px;font-size:.875rem;color:#374151;vertical-align:middle}.attendance-overview__table tbody td:first-child{padding-left:20px}.attendance-overview__table tbody td:last-child{padding-right:20px;text-align:center}.attendance-class-cell{font-weight:600;color:#111827!important;display:flex;align-items:center;gap:8px}.attendance-class-cell__icon{color:#0d9488;font-size:20px!important}.attendance-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 10px;border-radius:8px;font-weight:600;font-size:.875rem}.attendance-count--present{background:#d1fae5;color:#059669}.attendance-count--absent{background:#fee2e2;color:#dc2626}.attendance-count--late{background:#fef3c7;color:#d97706}.attendance-status-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.attendance-status-badge--marked{background:#d1fae5;color:#047857}.attendance-status-badge--pending{background:#fef3c7;color:#b45309}.attendance-status-badge--present{background:#d1fae5;color:#059669}.attendance-status-badge--absent{background:#fee2e2;color:#dc2626}.attendance-status-badge--late{background:#fef3c7;color:#d97706}.attendance-status-badge--excused{background:#e0e7ff;color:#4338ca}.attendance-action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:#6b7280;border-radius:8px;cursor:pointer;transition:background-color .2s,color .2s}.attendance-action-btn:hover{background-color:#ccfbf1;color:#0d9488}.attendance-action-btn svg{font-size:20px}.attendance-no-results{text-align:center;color:#9ca3af;font-size:.875rem;padding:48px 20px!important}.attendance-detail-dialog__body{padding:24px}.attendance-detail-dialog__subtitle{font-size:.875rem;font-weight:600;color:#111827;margin:0 0 12px}.attendance-detail-dialog__table-wrap{overflow-x:auto;border:1px solid #E5E7EB;border-radius:10px;margin-bottom:24px}.attendance-detail-dialog__table-wrap--scroll{max-height:320px;overflow-y:auto;overflow-x:auto}.attendance-detail-dialog__full-table{width:100%;border-collapse:collapse;font-size:.875rem}.attendance-detail-dialog__full-table thead{background:#f0fdfa}.attendance-detail-dialog__full-table thead th{padding:12px 14px;text-align:left;font-weight:600;color:#0f766e;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.attendance-detail-dialog__full-table tbody td{padding:12px 14px;color:#374151;border-top:1px solid #E5E7EB}.attendance-detail-dialog__summary-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.875rem}.attendance-detail-dialog__summary-table tbody tr{border-bottom:1px solid #F3F4F6}.attendance-detail-dialog__summary-table tbody tr:last-child{border-bottom:none}.attendance-detail-dialog__summary-table th,.attendance-detail-dialog__summary-table td{padding:10px 12px 10px 0;vertical-align:top;text-align:left}.attendance-detail-dialog__summary-table th{color:#6b7280;font-weight:500;width:100px}.attendance-detail-dialog__summary-table td{color:#111827}.attendance-detail-dialog__label{color:#6b7280!important}.attendance-detail-dialog__user-table{width:100%;border-collapse:collapse;font-size:.875rem}.attendance-detail-dialog__user-table thead{background:#f0fdfa}.attendance-detail-dialog__user-table thead th{padding:12px 14px;text-align:left;font-weight:600;color:#0f766e;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.attendance-detail-dialog__user-table tbody tr{border-bottom:1px solid #F3F4F6}.attendance-detail-dialog__user-table tbody tr:last-child{border-bottom:none}.attendance-detail-dialog__user-table tbody tr:hover{background:#f9fafb}.attendance-detail-dialog__user-table td{padding:12px 14px;color:#374151}.attendance-detail-dialog__status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.attendance-detail-dialog__status--present{background:#d1fae5;color:#059669}.attendance-detail-dialog__status--absent{background:#fee2e2;color:#dc2626}.attendance-detail-dialog__status--late{background:#fef3c7;color:#d97706}.attendance-detail-dialog__status--excused{background:#e0e7ff;color:#4338ca}@media(max-width:1280px){.attendance-dashboard__stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.attendance-overview__header,.attendance-overview__toolbar{flex-direction:column;align-items:stretch}.attendance-overview__search{min-width:100%}.attendance-overview__filters{flex-wrap:wrap}}@media(max-width:768px){.attendance-dashboard__header,.attendance-dashboard__content{padding:16px 20px}.attendance-dashboard__stats{gap:16px;margin-bottom:20px}.attendance-overview{padding:20px}.attendance-overview__table thead th,.attendance-overview__table tbody td{padding:12px 10px;font-size:.75rem}.attendance-stat-card__value{font-size:1.75rem}}@media(max-width:576px){.attendance-dashboard__header{flex-direction:column;gap:12px;padding:12px 16px}.attendance-dashboard__content{padding:12px 16px}.attendance-dashboard__stats{grid-template-columns:1fr;gap:12px}.attendance-overview__table-container{margin:0 -20px;border-radius:0;border-left:none;border-right:none}.attendance-overview__table thead th:first-child,.attendance-overview__table tbody td:first-child{padding-left:16px}.attendance-overview__table thead th:last-child,.attendance-overview__table tbody td:last-child{padding-right:16px}}.settings-page{flex:1;background-color:#f9fafb;min-height:100vh}.settings-page__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.settings-page__header-left{display:flex;flex-direction:column;gap:4px}.settings-page__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.settings-page__subtitle{font-size:.875rem;color:#6b7280;margin:0}.settings-page__header-right{display:flex;align-items:center;gap:16px}.settings-page__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.settings-page__icon-btn:hover{background-color:#f3f4f6}.settings-page__icon-btn svg{font-size:24px}.settings-page__content{padding:24px 32px;max-width:900px}.settings-section{background-color:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.settings-section__title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 16px}.settings-section__subtitle{font-size:.875rem;color:#6b7280;margin:-8px 0 16px}.profile-photo__file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none}.profile-photo{display:flex;align-items:center;gap:20px}.profile-photo__avatar-wrapper{position:relative;width:80px;height:80px}.profile-photo__avatar{width:80px;height:80px;border-radius:50%;object-fit:cover}.profile-photo__camera-btn{position:absolute;bottom:0;right:0;width:28px;height:28px;border-radius:50%;background-color:#166fb3;border:2px solid #FFFFFF;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.profile-photo__camera-btn:hover{background-color:#1259a0}.profile-photo__camera-btn svg{font-size:14px}.profile-photo__info{display:flex;flex-direction:column;gap:2px}.profile-photo__name{font-size:1rem;font-weight:600;color:#111827;margin:0}.profile-photo__subtitle{font-size:.75rem;color:#6b7280;margin:0}.profile-photo__email{font-size:.875rem;color:#6b7280;margin:0 0 4px}.profile-photo__change-btn{background:none;border:none;padding:0;font-size:.875rem;font-weight:500;color:#ea580c;cursor:pointer;text-align:left}.profile-photo__change-btn:hover{text-decoration:underline}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.form-group--full{grid-column:1/-1}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:6px}.form-input{width:100%;padding:12px 16px;font-size:.875rem;color:#111827;background-color:#fff;border:1px solid #E5E7EB;border-radius:8px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-input::placeholder{color:#9ca3af}.form-input:focus{border-color:#166fb3;box-shadow:0 0 0 3px #166fb31a}.form-input--error{border-color:#ef4444}.form-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-error{display:block;font-size:12px;color:#ef4444;margin-top:4px}.save-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background-color:#ffc107;color:#111827;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-btn svg{font-size:18px}.save-btn:hover{background-color:#edb100}.save-btn--primary{background-color:#166fb3;color:#fff}.save-btn--primary:hover{background-color:#1259a0}@media(max-width:768px){.settings-page__header,.settings-page__content{padding:16px 20px}.form-grid{grid-template-columns:1fr;gap:16px}.form-group--full{grid-column:1}.settings-section{padding:20px}}@media(max-width:576px){.settings-page__header{padding:12px 16px;flex-direction:column;gap:12px}.settings-page__header-right{width:100%;justify-content:flex-end}.settings-page__content{padding:12px 16px}.settings-section{padding:16px;margin-bottom:16px}.settings-section__title{font-size:1rem}.profile-photo{flex-direction:column;align-items:center;text-align:center}.profile-photo__info{align-items:center}.form-input{padding:10px 14px}.save-btn{width:100%;justify-content:center;padding:12px 16px}}.teacher-dashboard{padding:24px 32px;min-height:100vh}.teacher-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.teacher-dashboard__header-left{display:flex;flex-direction:column;gap:4px}.teacher-dashboard__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.teacher-dashboard__subtitle{font-size:.875rem;color:#6b7280;margin:0}.teacher-dashboard__header-right{display:flex;gap:12px}.teacher-dashboard__icon-btn{width:40px;height:40px;border:none;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.teacher-dashboard__icon-btn:hover{background-color:#f3f4f6}.teacher-dashboard__icon-btn svg{font-size:24px;color:#374151}.teacher-dashboard__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.teacher-dashboard__stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 1px 3px #0000000d}.teacher-dashboard__stat-info{display:flex;flex-direction:column;gap:4px}.teacher-dashboard__stat-title{font-size:.875rem;color:#6b7280}.teacher-dashboard__stat-value{font-size:1.75rem;font-weight:700;color:#ffc107}.teacher-dashboard__stat-subtitle{font-size:.75rem;color:#9ca3af}.teacher-dashboard__stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.teacher-dashboard__stat-icon svg{font-size:24px}.teacher-dashboard__main{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:24px}.teacher-dashboard__chart-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.teacher-dashboard__chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.teacher-dashboard__section-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 4px}.teacher-dashboard__section-subtitle{font-size:.75rem;color:#9ca3af;margin:0}.teacher-dashboard__chart-legend{display:flex;gap:16px}.teacher-dashboard__legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#6b7280}.teacher-dashboard__legend-dot{width:10px;height:10px;border-radius:50%}.teacher-dashboard__legend-dot--highest{background-color:#2563eb}.teacher-dashboard__legend-dot--lowest{background-color:#f59e0b}.teacher-dashboard__chart{width:100%}.teacher-dashboard__risk-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.teacher-dashboard__risk-table{margin-top:16px}.teacher-dashboard__risk-header{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;padding:12px 0;border-bottom:1px solid #E5E7EB;font-size:.75rem;color:#6b7280;text-transform:uppercase}.teacher-dashboard__risk-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;padding:16px 0;align-items:center;border-bottom:1px solid #F3F4F6;font-size:.875rem;color:#374151}.teacher-dashboard__risk-row:last-child{border-bottom:none}.teacher-dashboard__risk-name{display:flex;align-items:center;gap:12px}.teacher-dashboard__risk-name img{width:32px;height:32px;border-radius:50%;object-fit:cover}.teacher-dashboard__risk-avatar{width:32px;height:32px;border-radius:50%;background-color:#fef3c7;color:#d97706;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teacher-dashboard__state{padding:24px 0;text-align:center;font-size:.875rem;color:#9ca3af}.teacher-dashboard__risk-grade{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#fee2e2;color:#dc2626;font-size:.75rem;font-weight:600;border-radius:50%}.teacher-dashboard__classes-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.teacher-dashboard__classes-table{margin-top:16px}.teacher-dashboard__classes-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;padding:12px 0;border-bottom:1px solid #E5E7EB;font-size:.75rem;color:#6b7280}.teacher-dashboard__classes-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;padding:16px 0;align-items:center;font-size:.875rem;color:#374151}.teacher-dashboard__classes-average{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;background-color:#dcfce7;color:#16a34a;font-size:.75rem;font-weight:500;border-radius:12px}.teacher-dashboard__classes-progress{display:flex;align-items:center;gap:12px}.teacher-dashboard__progress-bar{flex:1;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.teacher-dashboard__progress-fill{height:100%;background-color:#16a34a;border-radius:4px}@media(max-width:1200px){.teacher-dashboard__stats{grid-template-columns:repeat(2,1fr)}.teacher-dashboard__main{grid-template-columns:1fr}}@media(max-width:768px){.teacher-dashboard{padding:16px}.teacher-dashboard__header{flex-direction:column;gap:16px}.teacher-dashboard__header-right{width:100%;justify-content:flex-end}.teacher-dashboard__stats{grid-template-columns:1fr}.teacher-dashboard__stat-card{padding:16px}.teacher-dashboard__chart-header{flex-direction:column;gap:12px}.teacher-dashboard__chart{overflow-x:auto;min-width:500px}.teacher-dashboard__chart-section{overflow-x:auto}.teacher-dashboard__risk-header,.teacher-dashboard__risk-row{grid-template-columns:1.5fr .8fr .8fr .8fr;font-size:.75rem}.teacher-dashboard__risk-name{gap:8px}.teacher-dashboard__risk-name img{width:28px;height:28px}.teacher-dashboard__risk-grade{width:40px;height:40px}.teacher-dashboard__classes-header,.teacher-dashboard__classes-row{grid-template-columns:1.5fr .8fr .8fr .8fr 1.2fr;font-size:.75rem;gap:8px}}@media(max-width:480px){.teacher-dashboard{padding:12px}.teacher-dashboard__title{font-size:1.25rem}.teacher-dashboard__risk-header,.teacher-dashboard__risk-row{grid-template-columns:1fr 1fr}.teacher-dashboard__risk-header span:nth-child(3),.teacher-dashboard__risk-header span:nth-child(4),.teacher-dashboard__risk-row span:nth-child(3),.teacher-dashboard__risk-row span:nth-child(4){display:none}.teacher-dashboard__risk-name .teacher-dashboard__risk-grade{display:flex}.teacher-dashboard__classes-header,.teacher-dashboard__classes-row{grid-template-columns:1fr 1fr 1fr}.teacher-dashboard__classes-header span:nth-child(4),.teacher-dashboard__classes-header .teacher-dashboard__classes-progress,.teacher-dashboard__classes-row span:nth-child(4),.teacher-dashboard__classes-row .teacher-dashboard__classes-progress{display:none}}.teacher-classes{padding:24px 32px;min-height:100vh}.teacher-classes__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.teacher-classes__header-left{display:flex;flex-direction:column;gap:4px}.teacher-classes__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.teacher-classes__subtitle{font-size:.875rem;color:#6b7280;margin:0}.teacher-classes__header-right{display:flex;gap:12px}.teacher-classes__icon-btn{width:40px;height:40px;border:none;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.teacher-classes__icon-btn:hover{background-color:#f3f4f6}.teacher-classes__icon-btn svg{font-size:24px;color:#374151}.teacher-classes__actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.teacher-classes__search{flex:1;max-width:600px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:12px 16px}.teacher-classes__search svg{color:#9ca3af;font-size:20px}.teacher-classes__search input{flex:1;border:none;background:none;font-size:.875rem;color:#374151}.teacher-classes__search input::placeholder{color:#9ca3af}.teacher-classes__search input:focus{outline:none}.teacher-classes__add-btn{display:inline-flex;align-items:center;gap:8px;background:#166fb3;color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.teacher-classes__add-btn:hover{background:#105386}.teacher-classes__add-btn svg{font-size:20px}.teacher-classes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.teacher-classes__card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB;transition:all .2s ease}.teacher-classes__card:hover{box-shadow:0 4px 12px #0000001a}.teacher-classes__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teacher-classes__room-badge{display:inline-block;padding:4px 10px;background:#fef3c7;color:#d97706;font-size:.75rem;font-weight:500;border-radius:6px}.teacher-classes__more-btn{width:32px;height:32px;border:none;background:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.teacher-classes__more-btn:hover{background-color:#f3f4f6}.teacher-classes__more-btn svg{font-size:20px;color:#6b7280}.teacher-classes__card-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 4px}.teacher-classes__card-code{font-size:.75rem;color:#9ca3af;display:block;margin-bottom:8px}.teacher-classes__card-description{font-size:.875rem;color:#166fb3;font-weight:500;margin:0 0 16px;line-height:1.4}.teacher-classes__card-footer{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #F3F4F6}.teacher-classes__card-info{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#6b7280}.teacher-classes__card-info svg{font-size:16px;color:#9ca3af}@media(max-width:1200px){.teacher-classes__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.teacher-classes{padding:16px}.teacher-classes__header{flex-direction:column;gap:16px}.teacher-classes__header-right{width:100%;justify-content:flex-end}.teacher-classes__actions{flex-direction:column;align-items:stretch}.teacher-classes__search{max-width:none}.teacher-classes__add-btn{justify-content:center}.teacher-classes__grid{grid-template-columns:1fr}}@media(max-width:480px){.teacher-classes{padding:12px}.teacher-classes__title{font-size:1.25rem}.teacher-classes__card{padding:16px}.teacher-classes__card-title{font-size:1rem}}.teacher-submissions{padding:24px 32px;min-height:100vh}.teacher-submissions__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.teacher-submissions__header-left{display:flex;flex-direction:column;gap:4px}.teacher-submissions__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.teacher-submissions__subtitle{font-size:.875rem;color:#6b7280;margin:0}.teacher-submissions__header-right{display:flex;gap:12px}.teacher-submissions__icon-btn{width:40px;height:40px;border:none;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.teacher-submissions__icon-btn:hover{background-color:#f3f4f6}.teacher-submissions__icon-btn svg{font-size:24px;color:#374151}.teacher-submissions__search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:12px 16px;margin-bottom:24px}.teacher-submissions__search svg{color:#9ca3af;font-size:20px}.teacher-submissions__search input{flex:1;border:none;background:none;font-size:.875rem;color:#374151}.teacher-submissions__search input::placeholder{color:#9ca3af}.teacher-submissions__search input:focus{outline:none}.teacher-submissions__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.teacher-submissions__card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB;transition:all .2s ease}.teacher-submissions__card:hover{box-shadow:0 4px 12px #0000001a}.teacher-submissions__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teacher-submissions__student-name{font-size:1.125rem;font-weight:600;color:#111827}.teacher-submissions__status{display:inline-block;padding:4px 12px;background:#dcfce7;color:#16a34a;font-size:.75rem;font-weight:500;border-radius:6px}.teacher-submissions__project-title{font-size:.875rem;font-weight:500;color:#166fb3;margin:0 0 4px}.teacher-submissions__class-name{font-size:.875rem;color:#6b7280;display:block;margin-bottom:16px}.teacher-submissions__card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #F3F4F6}.teacher-submissions__date{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#ffc107}.teacher-submissions__date svg{font-size:16px}.teacher-submissions__actions{display:flex;gap:8px}.teacher-submissions__state{text-align:center;padding:48px 0;font-size:.875rem;color:#6b7280}.teacher-submissions__state--error{color:#dc2626}.teacher-submissions__late-badge{display:inline-block;padding:2px 8px;background:#fee2e2;color:#dc2626;font-size:.75rem;font-weight:500;border-radius:4px;margin-bottom:8px}.teacher-submissions__action-btn{width:32px;height:32px;border:none;background:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.teacher-submissions__action-btn svg{font-size:18px}.teacher-submissions__action-btn--view{color:#166fb3}.teacher-submissions__action-btn--view:hover{background:#dbeafe}.teacher-submissions__action-btn--edit{color:#ffc107}.teacher-submissions__action-btn--edit:hover{background:#fef3c7}.teacher-submissions__action-btn--delete{color:#dc2626}.teacher-submissions__action-btn--delete:hover{background:#fee2e2}@media(max-width:1200px){.teacher-submissions__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.teacher-submissions{padding:16px}.teacher-submissions__header{flex-direction:column;gap:16px}.teacher-submissions__header-right{width:100%;justify-content:flex-end}.teacher-submissions__grid{grid-template-columns:1fr}}@media(max-width:480px){.teacher-submissions{padding:12px}.teacher-submissions__title{font-size:1.25rem}.teacher-submissions__card{padding:16px}.teacher-submissions__student-name{font-size:1rem}}.teacher-attendance{padding:24px 32px;min-height:100vh}.teacher-attendance__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.teacher-attendance__header-left{display:flex;flex-direction:column;gap:4px}.teacher-attendance__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.teacher-attendance__subtitle{font-size:.875rem;color:#6b7280;margin:0}.teacher-attendance__header-right{display:flex;gap:12px}.teacher-attendance__icon-btn{width:40px;height:40px;border:none;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.teacher-attendance__icon-btn:hover{background-color:#f3f4f6}.teacher-attendance__icon-btn svg{font-size:24px;color:#374151}.teacher-attendance__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.teacher-attendance__stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 1px 3px #0000000d}.teacher-attendance__stat-info{display:flex;flex-direction:column;gap:8px}.teacher-attendance__stat-title{font-size:.875rem;color:#6b7280}.teacher-attendance__stat-value{font-size:1.75rem;font-weight:700;color:#ffc107}.teacher-attendance__stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.teacher-attendance__stat-icon svg{font-size:24px}.teacher-attendance__breakdown{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d}.teacher-attendance__section-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 20px}.teacher-attendance__table{width:100%;overflow-x:auto}.teacher-attendance__table-header{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr;padding:16px 0;border-bottom:1px solid #E5E7EB;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.teacher-attendance__table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr;padding:20px 0;border-bottom:1px solid #F3F4F6;font-size:.875rem;color:#374151;align-items:center}.teacher-attendance__table-row:last-child{border-bottom:none}.teacher-attendance__rate{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;background-color:#fef3c7;color:#d97706;font-size:.75rem;font-weight:600;border-radius:12px}.teacher-attendance__state{text-align:center;padding:32px 0;font-size:.875rem;color:#6b7280}.teacher-attendance__state--error{color:#dc2626}.teacher-attendance__reports{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.teacher-attendance__filters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.teacher-attendance__filter-group{display:flex;flex-direction:column;gap:8px}.teacher-attendance__filter-label{font-size:.875rem;color:#374151;font-weight:500}.teacher-attendance__select{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:12px 16px;gap:12px}.teacher-attendance__select svg{color:#9ca3af;font-size:20px}.teacher-attendance__select select{flex:1;border:none;background:none;font-size:.875rem;color:#374151;cursor:pointer;appearance:none;padding-right:24px}.teacher-attendance__select select:focus{outline:none}.teacher-attendance__select-arrow{position:absolute;right:12px;pointer-events:none}.teacher-attendance__download-btn{display:inline-flex;align-items:center;gap:8px;background:#166fb3;color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.teacher-attendance__download-btn:hover{background:#105386}.teacher-attendance__download-btn svg{font-size:20px}@media(max-width:1200px){.teacher-attendance__stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.teacher-attendance{padding:16px}.teacher-attendance__header{flex-direction:column;gap:16px}.teacher-attendance__header-right{width:100%;justify-content:flex-end}.teacher-attendance__stats{grid-template-columns:1fr}.teacher-attendance__stat-card{padding:16px}.teacher-attendance__table-header,.teacher-attendance__table-row{grid-template-columns:1.2fr .8fr .8fr .8fr .8fr .8fr;font-size:.75rem;gap:8px}.teacher-attendance__filters{grid-template-columns:1fr}.teacher-attendance__download-btn{width:100%;justify-content:center}}@media(max-width:480px){.teacher-attendance{padding:12px}.teacher-attendance__title{font-size:1.25rem}.teacher-attendance__table-header,.teacher-attendance__table-row{grid-template-columns:1fr 1fr 1fr}.teacher-attendance__table-header span:nth-child(4),.teacher-attendance__table-header span:nth-child(5),.teacher-attendance__table-row span:nth-child(4),.teacher-attendance__table-row span:nth-child(5){display:none}}.student-dashboard{flex:1;background-color:#f9fafb;min-height:100vh}.student-dashboard__calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.student-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.student-dashboard__header-left{display:flex;flex-direction:column;gap:4px}.student-dashboard__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.student-dashboard__subtitle{font-size:.875rem;color:#6b7280;margin:0}.student-dashboard__header-right{display:flex;align-items:center;gap:16px}.student-dashboard__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.student-dashboard__icon-btn:hover{background-color:#f3f4f6}.student-dashboard__icon-btn svg{font-size:24px}.student-dashboard__content{padding:24px 32px;display:grid;grid-template-columns:1fr 320px;gap:24px}.student-dashboard__main{display:flex;flex-direction:column;gap:24px}.student-dashboard__welcome-banner{background:linear-gradient(180deg,#1c84eb,#1563b0);border-radius:16px;padding:32px;color:#fff;position:relative;overflow:hidden;min-height:160px;display:flex;align-items:center}.student-dashboard__welcome-text span{font-size:.875rem;opacity:.9}.student-dashboard__welcome-text h2{font-size:2rem;font-weight:700;margin:8px 0}.student-dashboard__welcome-text p{font-size:.875rem;opacity:.9;margin:0}.student-dashboard__welcome-banner-image{position:absolute;bottom:-30px;right:0;max-width:300px;width:100%;height:197px;object-fit:cover;border-radius:16px}.student-dashboard__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.student-dashboard__tasks{background-color:#fff;border-radius:12px;padding:24px;border:1px solid #E5E7EB}.student-dashboard__tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.student-dashboard__tasks-header h3{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.student-dashboard__view-all{border:none;background:none;color:#ea580c;font-size:.875rem;font-weight:500;cursor:pointer}.student-dashboard__view-all:hover{text-decoration:underline}.student-dashboard__tasks-list{display:flex;flex-direction:column;gap:0}.student-dashboard__sidebar-right{display:flex;flex-direction:column;gap:24px}.student-dashboard__profile-card{background-color:#fff;border-radius:12px;padding:24px;border:1px solid #E5E7EB;text-align:center}.student-dashboard__profile-card h3{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 16px;text-align:left}.student-dashboard__profile-card h4{font-size:1rem;font-weight:600;color:#111827;margin:12px 0 4px}.student-dashboard__profile-card p{font-size:.875rem;color:#6b7280;margin:0}.student-dashboard__profile-avatar{position:relative;width:110px;height:110px;margin:0 auto}.student-dashboard__progress-ring{width:110px;height:110px;position:absolute;top:0;left:0}.student-dashboard__profile-img{width:90px;height:90px;border-radius:50%;overflow:hidden;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.student-dashboard__profile-img img{width:100%;height:100%;object-fit:cover}.student-dashboard__calendar{margin-top:20px;padding-top:16px;border-top:1px solid #E5E7EB}.student-dashboard__calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.student-dashboard__calendar-header span{font-size:.875rem;font-weight:600;color:#111827}.student-dashboard__calendar-header button{border:none;background:none;padding:4px;display:flex;align-items:center;color:#6b7280}.student-dashboard__calendar-header button:hover{color:#111827}.student-dashboard__calendar-header button svg{font-size:20px}.student-dashboard__calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.student-dashboard__calendar-day-label{font-size:.75rem;color:#9ca3af;font-weight:500;padding:4px 0}.student-dashboard__calendar-day{font-size:.75rem;color:#374151;padding:8px 4px;border-radius:50%;cursor:pointer}.student-dashboard__calendar-day:hover{background-color:#f3f4f6}.student-dashboard__calendar-day--selected{background-color:#2563eb;color:#fff}.student-dashboard__calendar-day--selected:hover{background-color:#1d4ed8}.student-dashboard__calendar-day--today{background-color:#ffc107;color:#fff}.student-dashboard__calendar-day--today:hover{background-color:#1d4ed8}.student-dashboard__calendar-day--empty{cursor:default}.student-dashboard__calendar-day--empty:hover{background:none}.student-dashboard__todo{background-color:#fff;border-radius:12px;padding:20px;border:1px solid #E5E7EB}.student-dashboard__todo h3{font-size:1rem;font-weight:700;color:#111827;margin:0 0 16px}.student-dashboard__todo-list{display:flex;flex-direction:column;gap:16px}.stat-card-student{background-color:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB;display:flex;flex-direction:column;gap:12px}.stat-card-student__title{font-size:.875rem;color:#374151;font-weight:600}.stat-card-student__bottom{display:flex;justify-content:space-between;align-items:flex-end}.stat-card-student__left{display:flex;flex-direction:column;gap:4px}.stat-card-student__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-card-student__icon svg{font-size:24px}.stat-card-student__value{font-size:28px;font-weight:700;display:block;line-height:1}.stat-card-student__detail{font-size:.75rem;color:#9ca3af}.writing-task-item{display:flex;gap:16px;padding:12px 0}.writing-task-item__timeline{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.writing-task-item__dot{width:14px;height:14px;border-radius:50%;background-color:#2563eb;flex-shrink:0}.writing-task-item__dot--empty{background-color:transparent;border:2px solid #D1D5DB}.writing-task-item__line{width:2px;flex:1;background-color:#d1d5db;margin-top:4px}.writing-task-item__content{flex:1;display:flex;justify-content:space-between;align-items:flex-start;background-color:#f9fafb;border-radius:12px;padding:16px;border:1px solid #E5E7EB}.writing-task-item__info{display:flex;gap:12px;align-items:flex-start}.writing-task-item__icon{width:36px;height:36px;border-radius:8px;background-color:#dbeafe;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.writing-task-item__icon svg{font-size:20px}.writing-task-item__title{font-size:.875rem;font-weight:600;color:#111827;margin:0 0 2px}.writing-task-item__subject{font-size:.75rem;color:#6b7280;margin:0 0 4px}.writing-task-item__date{font-size:.75rem;color:#9ca3af;display:flex;align-items:center;gap:4px}.writing-task-item__progress-area{display:flex;align-items:center;gap:10px;flex-shrink:0}.writing-task-item__draft-badge{font-size:.75rem;color:#6b7280;background-color:#f3f4f6;padding:4px 10px;border-radius:12px;white-space:nowrap}.writing-task-item__progress-bar{width:80px;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.writing-task-item__progress-fill{height:100%;background-color:#10b981;border-radius:3px}.writing-task-item__progress-text{font-size:.75rem;color:#6b7280;min-width:30px}.writing-task-item__not-started{font-size:.75rem;color:#9ca3af;background-color:#f3f4f6;padding:4px 10px;border-radius:12px}.todo-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #E5E7EB}.todo-item:last-child{padding-bottom:0;border-bottom:none}.todo-item__checkbox{width:18px;height:18px;margin-top:2px;accent-color:#2563EB;cursor:pointer;flex-shrink:0}.todo-item__content{display:flex;flex-direction:column;gap:2px}.todo-item__text{font-size:.875rem;color:#111827;font-weight:500}.todo-item__meta{display:flex;align-items:center;gap:8px}.todo-item__subject{font-size:.75rem;color:#6b7280}.todo-item__time{font-size:.75rem;color:#ea580c;font-weight:500}@media(max-width:1280px){.student-dashboard__content{grid-template-columns:1fr}.student-dashboard__sidebar-right{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.student-dashboard__stats,.student-dashboard__sidebar-right{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.student-dashboard__header{padding:16px 20px;flex-direction:column;gap:12px}.student-dashboard__content{padding:16px 20px}.student-dashboard__stats,.student-dashboard__sidebar-right{grid-template-columns:1fr}.student-dashboard__welcome-banner{padding:24px}.student-dashboard__welcome-text h2{font-size:1.5rem}.writing-task-item__content{flex-direction:column;gap:12px}}@media(max-width:576px){.student-dashboard__header,.student-dashboard__content{padding:12px 16px}}.student-assignments{flex:1;background-color:#f9fafb;min-height:100vh}.student-assignments__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.student-assignments__header-left{display:flex;flex-direction:column;gap:4px}.student-assignments__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.student-assignments__subtitle{font-size:.875rem;color:#6b7280;margin:0}.student-assignments__header-right{display:flex;align-items:center;gap:16px}.student-assignments__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.student-assignments__icon-btn:hover{background-color:#f3f4f6}.student-assignments__icon-btn svg{font-size:24px}.student-assignments__content{padding:24px 32px}.student-assignments__tabs{display:flex;gap:0;margin-bottom:24px;background-color:#f3f4f6;border-radius:12px;padding:4px}.student-assignments__tab{flex:1;padding:12px 24px;border:none;background:none;font-size:.875rem;font-weight:500;color:#6b7280;border-radius:10px;transition:all .2s ease;cursor:pointer}.student-assignments__tab:hover{color:#374151}.student-assignments__tab--active{background-color:#2563eb;color:#fff}.student-assignments__tab--active:hover{color:#fff}.student-assignments__list{display:flex;flex-direction:column;gap:20px}.assignment-card{background-color:#fff;border-radius:12px;padding:24px;border:1px solid #E5E7EB;transition:box-shadow .2s ease}.assignment-card:hover{box-shadow:0 4px 12px #0000000d}.assignment-card__header{margin-bottom:16px}.assignment-card__title-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.assignment-card__title{font-size:1rem;font-weight:600;color:#111827;margin:0}.assignment-card__status{font-size:.75rem;padding:4px 12px;border-radius:12px;font-weight:500;white-space:nowrap}.assignment-card__status--in-progress{background-color:#d1fae5;color:#059669}.assignment-card__status--to-do{background-color:#dbeafe;color:#2563eb}.assignment-card__status--submitted{background-color:#f3f4f6;color:#6b7280}.assignment-card__arrow{margin-left:auto;color:#9ca3af;font-size:20px!important}.assignment-card__course{font-size:.875rem;color:#6b7280;margin:0 0 2px}.assignment-card__description{font-size:.875rem;color:#9ca3af;margin:0}.assignment-card__progress{margin-bottom:16px}.assignment-card__progress-label{font-size:.75rem;color:#6b7280;display:block;margin-bottom:6px}.assignment-card__progress-row{display:flex;align-items:center;gap:12px}.assignment-card__progress-bar{flex:1;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.assignment-card__progress-fill{height:100%;background-color:#10b981;border-radius:4px;transition:width .3s ease}.assignment-card__progress-text{font-size:.875rem;font-weight:500;color:#374151;min-width:36px;text-align:right}.assignment-card__footer{display:flex;justify-content:space-between;align-items:center}.assignment-card__meta{display:flex;gap:16px;align-items:center}.assignment-card__date{font-size:.75rem;color:#6b7280;display:flex;align-items:center;gap:4px}.assignment-card__days-left{font-size:.75rem;color:#10b981;display:flex;align-items:center;gap:4px}.assignment-card__days-left--urgent{color:#dc2626;font-weight:600}.assignment-card__type{font-size:.75rem;padding:4px 14px;border-radius:6px;font-weight:500;background-color:#dbeafe;color:#2563eb}.assignment-card__drafts{font-size:.75rem;padding:4px 14px;border-radius:6px;font-weight:500;background-color:#f3f4f6;color:#6b7280}.student-assignments__loading,.student-assignments__error,.student-assignments__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#6b7280}.student-assignments__loading p,.student-assignments__error p,.student-assignments__empty p{margin-top:16px;font-size:16px}.student-assignments__loading button,.student-assignments__error button,.student-assignments__empty button{margin-top:16px;padding:8px 24px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.student-assignments__loading button:hover,.student-assignments__error button:hover,.student-assignments__empty button:hover{background-color:#1d4ed8}@media(max-width:768px){.student-assignments__header{padding:16px 20px;flex-direction:column;gap:12px}.student-assignments__content{padding:16px 20px}.student-assignments__tabs{overflow-x:auto}.student-assignments__tab{padding:10px 16px;white-space:nowrap}.assignment-card{padding:16px}.assignment-card__title-row{flex-wrap:wrap}.assignment-card__footer{flex-direction:column;align-items:flex-start;gap:12px}}@media(max-width:576px){.student-assignments__header,.student-assignments__content{padding:12px 16px}}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.student-writing-editor{flex:1;background-color:#f9fafb;min-height:100vh}.student-writing-editor__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.student-writing-editor__header-left{display:flex;flex-direction:column;gap:4px}.student-writing-editor__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.student-writing-editor__subtitle{font-size:.875rem;color:#6b7280;margin:0}.student-writing-editor__header-right{display:flex;align-items:center;gap:16px}.student-writing-editor__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.student-writing-editor__icon-btn:hover{background-color:#f3f4f6}.student-writing-editor__icon-btn svg{font-size:24px}.student-writing-editor__content{padding:24px 32px;display:grid;grid-template-columns:1fr 300px;gap:24px}.student-writing-editor__main{display:flex;flex-direction:column;gap:0}.student-writing-editor__banner{background:url(/assets/writing_banner-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:16px;padding:50px 32px;color:#fff;min-height:140px;display:flex;align-items:center;margin-bottom:0;position:relative}.student-writing-editor__banner img{position:absolute;bottom:0;right:0;max-width:250px;width:100%;height:100%;object-fit:cover;border-radius:16px}.student-writing-editor__banner-text h2{font-size:1.75rem;font-weight:700;margin:0 0 8px}.student-writing-editor__banner-text p{font-size:.875rem;opacity:.9;margin:0 0 16px}.student-writing-editor__learn-more{background-color:#fff;color:#111827;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.student-writing-editor__learn-more:hover{opacity:.9}.student-writing-editor__editor-wrapper{background-color:#fff;border:1px solid #E5E7EB;border-radius:0 0 12px 12px;overflow:hidden;margin-top:40px}.student-writing-editor__editor-wrapper .quill .ql-toolbar{border:none;border-bottom:1px solid #E5E7EB;background-color:#fafafa;padding:10px 16px}.student-writing-editor__editor-wrapper .quill .ql-container{border:none;font-family:Poppins,sans-serif;font-size:1rem;min-height:350px}.student-writing-editor__editor-wrapper .quill .ql-editor{padding:20px;line-height:1.7;color:#111827}.student-writing-editor__editor-wrapper .quill .ql-editor.ql-blank:before{color:#9ca3af;font-style:normal}.student-writing-editor__actions{display:flex;gap:12px;margin-top:16px}.student-writing-editor__ai-review-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#1f2937;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.student-writing-editor__ai-review-btn:hover{background-color:#111827}.student-writing-editor__ai-review-btn svg{font-size:20px}.student-writing-editor__save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#fff;color:#374151;border:1px solid #D1D5DB;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.student-writing-editor__save-btn:hover{background-color:#f9fafb}.student-writing-editor__save-btn svg{font-size:20px}.student-writing-editor__sidebar-right{display:flex;flex-direction:column;gap:16px}.student-writing-editor__sidebar-title{font-size:1rem;font-weight:700;color:#111827;margin:0}.student-writing-editor__stat-card{border-radius:12px;padding:20px;color:#fff}.student-writing-editor__stat-card--red{background:url(/assets/paragraph-info-box_bg.png);background-size:cover;background-position:center;background-repeat:no-repeat}.student-writing-editor__stat-card--green{background:url(/assets/paragraph-success-box_bg.png);background-size:cover;background-position:center;background-repeat:no-repeat}.student-writing-editor__stat-label{font-size:.875rem;display:block;opacity:.9;margin-bottom:8px}.student-writing-editor__stat-value{font-size:2rem;font-weight:700;display:block}.student-writing-editor__topics{display:flex;flex-direction:column;gap:12px}.student-writing-editor__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.student-writing-editor__loading p{margin-top:16px;font-size:16px}.student-writing-editor__assignment-details{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:#fff;border-radius:12px;border:1px solid #E5E7EB}.student-writing-editor__assignment-details .detail-item{display:flex;justify-content:space-between;align-items:center}.student-writing-editor__assignment-details .detail-item .detail-label{font-size:.875rem;font-weight:500;color:#6b7280}.student-writing-editor__assignment-details .detail-item .detail-value{font-size:.875rem;font-weight:600;color:#111827;text-align:right;text-transform:capitalize}.essay-topic-item{display:flex;align-items:center;gap:12px;background-color:#fff;border-radius:12px;padding:14px;border:1px solid #E5E7EB}.essay-topic-item__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.essay-topic-item__icon svg{font-size:20px}.essay-topic-item__info{flex:1;display:flex;flex-direction:column;min-width:0}.essay-topic-item__title{font-size:.75rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.essay-topic-item__time{font-size:.75rem;color:#9ca3af}.essay-topic-item__more{border:none;background:none;color:#9ca3af;display:flex;align-items:center;padding:4px;cursor:pointer}.essay-topic-item__more:hover{color:#6b7280}.essay-topic-item__more svg{font-size:18px}@media(max-width:1280px){.student-writing-editor__content{grid-template-columns:1fr}.student-writing-editor__sidebar-right{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.student-writing-editor__sidebar-right .student-writing-editor__sidebar-title:first-child{grid-column:1/-1}}@media(max-width:768px){.student-writing-editor__header{padding:16px 20px;flex-direction:column;gap:12px}.student-writing-editor__content{padding:16px 20px}.student-writing-editor__banner{padding:24px}.student-writing-editor__sidebar-right{grid-template-columns:1fr}.student-writing-editor__actions{flex-direction:column}}@media(max-width:576px){.student-writing-editor__header,.student-writing-editor__content{padding:12px 16px}.student-writing-editor__textarea{min-height:250px}}.ai-review-dialog .ai-results__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.ai-review-dialog .ai-results__stats .stat-box{padding:16px;background-color:#f3f4f6;border-radius:8px;text-align:center}.ai-review-dialog .ai-results__stats .stat-box--error{background-color:#fee2e2}.ai-review-dialog .ai-results__stats .stat-box--quality{background-color:#d1fae5}.ai-review-dialog .ai-results__stats .stat-box .stat-label{display:block;font-size:12px;color:#6b7280;margin-bottom:8px;font-weight:500}.ai-review-dialog .ai-results__stats .stat-box .stat-value{display:block;font-size:24px;font-weight:700;color:#111827}.ai-review-dialog .ai-results__error-breakdown{margin-bottom:24px}.ai-review-dialog .ai-results__error-breakdown h4{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.ai-review-dialog .ai-results__error-breakdown .error-types{display:flex;flex-wrap:wrap;gap:12px}.ai-review-dialog .ai-results__error-breakdown .error-type-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f9fafb;border-radius:6px;border:1px solid #E5E7EB}.ai-review-dialog .ai-results__error-breakdown .error-type-item .error-type-dot{width:10px;height:10px;border-radius:50%}.ai-review-dialog .ai-results__error-breakdown .error-type-item .error-type-name{font-size:14px;color:#374151;text-transform:capitalize}.ai-review-dialog .ai-results__error-breakdown .error-type-item .error-type-count{font-size:14px;font-weight:600;color:#111827;margin-left:auto}.ai-review-dialog .ai-results__highlighted{margin-bottom:24px}.ai-review-dialog .ai-results__highlighted h4{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.ai-review-dialog .ai-results__highlighted .highlighted-text{padding:16px;background-color:#f9fafb;border-radius:8px;border:1px solid #E5E7EB;line-height:1.8;font-size:14px;color:#374151;max-height:300px;overflow-y:auto}.ai-review-dialog .ai-results__errors h4{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.ai-review-dialog .ai-results__errors .errors-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.ai-review-dialog .ai-results__errors .error-item{padding:12px;background-color:#f9fafb;border-radius:8px;border-left:4px solid #DC2626}.ai-review-dialog .ai-results__errors .error-item__header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.ai-review-dialog .ai-results__errors .error-item__type{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase}.ai-review-dialog .ai-results__errors .error-item__text{font-size:14px;font-weight:600;color:#111827;font-family:monospace}.ai-review-dialog .ai-results__errors .error-item__message{font-size:13px;color:#6b7280;margin:0;line-height:1.6}.ai-review-dialog .ai-results__success{text-align:center;padding:48px 24px}.ai-review-dialog .ai-results__success h3{font-size:24px;font-weight:600;color:#10b981;margin:16px 0 8px}.ai-review-dialog .ai-results__success p{font-size:16px;color:#6b7280;margin:0}@media(max-width:768px){.ai-review-dialog .ai-results__stats{grid-template-columns:repeat(2,1fr)}}.student-draft-history{padding:24px;background-color:#f8fafc;min-height:100vh}.student-draft-history__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.student-draft-history__header-left{flex:1;min-width:300px}.student-draft-history__title{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px}.student-draft-history__subtitle{font-size:16px;color:#6b7280;margin:0}.student-draft-history__header-right{display:flex;gap:12px}.student-draft-history__icon-btn{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6b7280}.student-draft-history__icon-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.student-draft-history__icon-btn:disabled{opacity:.5;cursor:not-allowed}.student-draft-history__content{display:flex;flex-direction:column;gap:24px}.student-draft-history__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:8px}.student-draft-history__search-bar{display:flex;gap:16px;flex-wrap:wrap}.student-draft-history__search-input{flex:1;min-width:300px;position:relative}.student-draft-history__search-input .student-draft-history__search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;z-index:1}.student-draft-history__search-input input{width:100%;padding:14px 16px 14px 48px;border:1px solid #e5e7eb;border-radius:12px;font-size:15px;background:#fff;transition:all .2s ease}.student-draft-history__search-input input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.student-draft-history__search-input input:disabled{background:#f9fafb;cursor:not-allowed}.student-draft-history__filter-btn{display:flex;align-items:center;gap:8px;padding:14px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;font-size:15px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;position:relative}.student-draft-history__filter-btn:hover{background:#f9fafb;border-color:#d1d5db}.student-draft-history__filter-btn:disabled{opacity:.5;cursor:not-allowed}.student-draft-history__filter-btn--active{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.student-draft-history__filter-btn--active:hover{background:#dbeafe}.student-draft-history__filter-badge{background:#3b82f6;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:600}.student-draft-history__list{display:flex;flex-direction:column;gap:16px}.student-draft-history__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;background:#fff;border-radius:16px;border:1px dashed #d1d5db}.student-draft-history__empty h3{font-size:20px;font-weight:600;color:#374151;margin:0 0 8px}.student-draft-history__empty p{font-size:16px;color:#6b7280;margin:0}.student-draft-history__filter-popover .MuiPopover-paper{border-radius:12px;box-shadow:0 10px 25px #0000001a;border:1px solid #e5e7eb;margin-top:8px}.filter-popover-content{width:300px;padding:0}.filter-popover-header{padding:20px 20px 16px;border-bottom:1px solid #e5e7eb}.filter-popover-header h3{font-size:18px;font-weight:600;color:#111827;margin:0 0 16px}.filter-popover-actions{display:flex;gap:12px}.filter-action-btn{font-size:14px;font-weight:500;color:#3b82f6;background:none;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}.filter-action-btn:hover{background:#eff6ff}.filter-popover-options{padding:16px 20px;max-height:250px;overflow-y:auto}.filter-status-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#374151}.filter-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.filter-popover-footer{padding:16px 20px 20px;border-top:1px solid #e5e7eb}.draft-stat-card{background:#fff;border-radius:16px;padding:20px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.draft-stat-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.draft-stat-card__title{font-size:14px;font-weight:500;color:#6b7280}.draft-stat-card__icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}.draft-stat-card__value{font-size:28px;font-weight:700}.draft-item{background:#fff;border-radius:16px;padding:20px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;transition:all .2s ease;cursor:pointer}.draft-item:hover{box-shadow:0 4px 12px #00000014;border-color:#d1d5db;transform:translateY(-2px)}.draft-item__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.draft-item__title-row{display:flex;align-items:flex-start;gap:12px;flex:1}.draft-item__icon{color:#6b7280;margin-top:2px}.draft-item__title{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px;line-height:1.4}.draft-item__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.draft-item__subject{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.draft-item__time{display:flex;align-items:center;gap:4px;font-size:13px;color:#6b7280}.draft-item__words{font-size:13px;color:#6b7280}.draft-item__status{font-size:13px;font-weight:600;padding:6px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.draft-item__status--draft{background:#fef3c7;color:#d97706}.draft-item__status--in-progress{background:#dbeafe;color:#2563eb}.draft-item__status--under-review{background:#d1fae5;color:#059669}.draft-item__status--submitted{background:#fee2e2;color:#dc2626}.draft-item__progress{margin-top:16px}.draft-item__progress-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:8px;display:block}.draft-item__progress-row{display:flex;align-items:center;gap:12px}.draft-item__progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.draft-item__progress-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .3s ease}.draft-item__progress-text{font-size:14px;font-weight:600;color:#374151;min-width:40px;text-align:right}.draft-item__due{display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6;color:#6b7280;font-size:14px}@media(max-width:768px){.student-draft-history{padding:16px}.student-draft-history__header{flex-direction:column;align-items:flex-start}.student-draft-history__stats{grid-template-columns:1fr 1fr}.student-draft-history__search-bar{flex-direction:column}.student-draft-history__search-input{min-width:100%}.draft-item__header{flex-direction:column;align-items:flex-start;gap:12px}.draft-item__title-row{width:100%}.draft-item__meta{flex-wrap:wrap}.filter-popover-content{width:280px}}.student-progress{flex:1;background-color:#f9fafb;min-height:100vh}.student-progress__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.student-progress__header-left{display:flex;flex-direction:column;gap:4px}.student-progress__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.student-progress__subtitle{font-size:.875rem;color:#6b7280;margin:0}.student-progress__header-right{display:flex;align-items:center;gap:16px}.student-progress__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;transition:background-color .2s ease}.student-progress__icon-btn:hover{background-color:#f3f4f6}.student-progress__icon-btn svg{font-size:24px}.student-progress__content{padding:24px 32px}.student-progress__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.student-progress__tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid #E5E7EB;padding-bottom:0}.student-progress__tab{display:flex;align-items:center;gap:6px;padding:12px 0;border:none;background:none;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.student-progress__tab svg{font-size:18px}.student-progress__tab:hover{color:#374151}.student-progress__tab--active{color:#2563eb;border-bottom-color:#2563eb}.student-progress__courses{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.progress-stat-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #E5E7EB}.progress-stat-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.progress-stat-card__title{font-size:.875rem;color:#6b7280;font-weight:500}.progress-stat-card__icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.progress-stat-card__icon svg{font-size:22px}.progress-stat-card__value{font-size:2rem;font-weight:700;display:block}.course-card{background-color:#fff;border-radius:12px;padding:20px;border:1px solid #E5E7EB;transition:box-shadow .2s ease}.course-card:hover{box-shadow:0 4px 12px #0000000d}.course-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.course-card__status{font-size:.75rem;padding:3px 10px;border-radius:6px;background-color:#d1fae5;color:#059669;font-weight:500}.course-card__star{color:#f59e0b;font-size:20px!important;cursor:pointer}.course-card__title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 4px}.course-card__instructor{font-size:.875rem;color:#6b7280;margin:0 0 8px}.course-card__grade{font-size:1.75rem;font-weight:700;color:#10b981;display:block;margin-bottom:12px}.course-card__completion{margin-bottom:16px}.course-card__completion-label{font-size:.75rem;color:#6b7280;display:block;margin-bottom:6px}.course-card__completion-bar{width:100%;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.course-card__completion-fill{height:100%;background-color:#10b981;border-radius:3px}.course-card__footer{display:flex;justify-content:space-between;align-items:center}.course-card__tags{display:flex;gap:6px}.course-card__tag{font-size:.75rem;padding:3px 10px;border-radius:6px;background-color:#f3f4f6;color:#6b7280}.course-card__last-active{font-size:.75rem;color:#9ca3af;display:flex;align-items:center;gap:4px}@media(max-width:1280px){.student-progress__stats,.student-progress__courses{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.student-progress__header{padding:16px 20px;flex-direction:column;gap:12px}.student-progress__content{padding:16px 20px}.student-progress__courses{grid-template-columns:1fr}.student-progress__tabs{gap:16px}}@media(max-width:576px){.student-progress__header,.student-progress__content{padding:12px 16px}.student-progress__stats{grid-template-columns:1fr}}.parent-dashboard{padding:24px 32px;background-color:#f9fafb;min-height:100vh}.parent-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.parent-dashboard__title{font-size:1.5rem;font-weight:700;color:#111827}.parent-dashboard__subtitle{font-size:.875rem;color:#6b7280;margin-top:2px}.parent-dashboard__header-right{display:flex;gap:8px}.parent-dashboard__icon-btn{width:40px;height:40px;border:none;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#374151;cursor:pointer;transition:background-color .2s}.parent-dashboard__icon-btn:hover{background-color:#f3f4f6}.parent-dashboard__icon-btn svg{font-size:24px}.parent-dashboard__banner{background:url(/assets/parent_banner-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:20px;padding:0 32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;position:relative;overflow:hidden;min-height:180px}.parent-dashboard__banner-content{display:flex;flex-direction:column;gap:8px;z-index:1}.parent-dashboard__banner-label{font-size:.875rem;color:#fffc;font-weight:500}.parent-dashboard__banner-name{font-size:28px;font-weight:700;color:#fff}.parent-dashboard__banner-badge{display:inline-flex;align-items:center;background-color:#16a34a;color:#fff;font-size:.75rem;font-weight:600;padding:6px 16px;border-radius:20px;width:fit-content}.parent-dashboard__banner-right{display:flex;align-items:center;gap:24px;z-index:1}.parent-dashboard__banner-img{max-width:209px;width:100%;height:208px;object-fit:contain}.parent-dashboard__attendance{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.parent-dashboard__attendance-label{font-size:.75rem;color:#fffc;font-weight:500}.parent-dashboard__attendance-value{font-size:36px;font-weight:700;color:#fca5a5}.parent-dashboard__attendance-update{font-size:.75rem;color:#ffffffb3;display:flex;align-items:center;gap:4px}.parent-dashboard__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.parent-dashboard__stat-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000f}.parent-dashboard__stat-title{font-size:.875rem;font-weight:600;color:#374151;display:block;margin-bottom:12px}.parent-dashboard__stat-body{display:flex;justify-content:space-between;align-items:flex-end}.parent-dashboard__stat-left{display:flex;flex-direction:column}.parent-dashboard__stat-value{font-size:28px;font-weight:700;line-height:1}.parent-dashboard__stat-subtitle{font-size:.75rem;color:#9ca3af;margin-top:4px}.parent-dashboard__stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.parent-dashboard__stat-icon svg{font-size:24px}.parent-dashboard__main{display:grid;grid-template-columns:1fr 1fr;gap:24px}.parent-dashboard__section-header{margin-bottom:20px}.parent-dashboard__section-title{font-size:1.25rem;font-weight:700;color:#111827}.parent-dashboard__section-subtitle{font-size:.875rem;color:#9ca3af;margin-top:2px}.parent-dashboard__submissions{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000f}.parent-dashboard__submissions-list{display:flex;flex-direction:column;gap:0}.parent-dashboard__submission-item{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #F3F4F6}.parent-dashboard__submission-item:last-child{border-bottom:none}.parent-dashboard__submission-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.parent-dashboard__submission-info{flex:1;display:flex;flex-direction:column;gap:2px}.parent-dashboard__submission-title{font-size:.875rem;font-weight:600;color:#111827}.parent-dashboard__submission-date{font-size:.75rem;color:#9ca3af}.parent-dashboard__submission-status{font-size:.75rem;font-weight:600}.parent-dashboard__submission-score{width:44px;height:44px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.parent-dashboard__submission-eye{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.parent-dashboard__late-badge{color:#dc2626;font-weight:600}.parent-dashboard__loading{display:flex;justify-content:center;padding:32px 0}.parent-dashboard__empty{text-align:center;padding:32px 0;color:#9ca3af;font-size:.875rem}.parent-dashboard__feedback{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000f}.parent-dashboard__feedback-list{display:flex;flex-direction:column;gap:12px}.parent-dashboard__feedback-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px}.parent-dashboard__feedback-icon{flex-shrink:0}.parent-dashboard__feedback-icon svg{font-size:28px}.parent-dashboard__feedback-info{flex:1;display:flex;flex-direction:column;gap:2px}.parent-dashboard__feedback-title{font-size:.875rem;font-weight:700;color:#111827}.parent-dashboard__feedback-desc{font-size:.75rem;color:#6b7280;line-height:1.4}.parent-dashboard__feedback-count{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:60px}.parent-dashboard__feedback-count-value{font-size:1.25rem;font-weight:700}.parent-dashboard__feedback-count-label{font-size:10px;color:#6b7280;text-align:center}@media(max-width:1024px){.parent-dashboard{padding:20px}.parent-dashboard__stats{grid-template-columns:repeat(2,1fr)}.parent-dashboard__main{grid-template-columns:1fr}.parent-dashboard__banner-img{width:120px;height:120px}}@media(max-width:768px){.parent-dashboard{padding:70px 16px 16px}.parent-dashboard__stats{grid-template-columns:1fr}.parent-dashboard__banner{flex-direction:column;text-align:center;padding:20px}.parent-dashboard__banner-right{flex-direction:column}.parent-dashboard__attendance{align-items:center}}.parent-assignments{flex:1;background-color:#f9fafb;min-height:100vh}.parent-assignments__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB}.parent-assignments__header-left{display:flex;flex-direction:column;gap:4px}.parent-assignments__title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.parent-assignments__subtitle{font-size:.875rem;color:#6b7280;margin:0}.parent-assignments__header-right{display:flex;align-items:center;gap:16px}.parent-assignments__icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:#374151;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.parent-assignments__icon-btn:hover{background-color:#f3f4f6}.parent-assignments__icon-btn svg{font-size:24px}.parent-assignments__content{padding:24px 32px}.parent-assignments__list{display:flex;flex-direction:column;gap:16px}.parent-assignments__loading,.parent-assignments__error,.parent-assignments__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#6b7280}.parent-assignments__loading p,.parent-assignments__error p,.parent-assignments__empty p{margin-top:16px;font-size:16px}.parent-assignments__loading button,.parent-assignments__error button,.parent-assignments__empty button{margin-top:16px;padding:8px 24px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.parent-assignments__loading button:hover,.parent-assignments__error button:hover,.parent-assignments__empty button:hover{background-color:#1d4ed8}.parent-assignment-card{display:flex;align-items:center;justify-content:space-between;background-color:#fff;border-radius:12px;padding:20px 24px;border:1px solid #E5E7EB;transition:box-shadow .2s ease}.parent-assignment-card:hover{box-shadow:0 4px 12px #0000000d}.parent-assignment-card__left{display:flex;align-items:center;gap:16px;flex:1}.parent-assignment-card__icon{width:44px;height:44px;border-radius:10px;background-color:#eef2ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.parent-assignment-card__icon svg{font-size:20px;color:#4f46e5}.parent-assignment-card__info{display:flex;flex-direction:column;gap:2px}.parent-assignment-card__title{font-size:1rem;font-weight:600;color:#111827;margin:0}.parent-assignment-card__course{font-size:.875rem;color:#6b7280;margin:0}.parent-assignment-card__meta{display:flex;align-items:center;gap:12px;margin-top:4px}.parent-assignment-card__date{font-size:.75rem;color:#9ca3af}.parent-assignment-card__type{font-size:.75rem;padding:2px 10px;border-radius:6px;font-weight:500;background-color:#dbeafe;color:#2563eb}.parent-assignment-card__right{display:flex;align-items:center;gap:12px}.parent-assignment-card__status{font-size:.75rem;padding:4px 12px;border-radius:12px;font-weight:500;white-space:nowrap}.parent-assignment-card__status--not-started{background-color:#f3f4f6;color:#6b7280}.parent-assignment-card__status--in-progress{background-color:#fef3c7;color:#d97706}.parent-assignment-card__status--submitted{background-color:#d1fae5;color:#059669}.parent-assignment-card__status--under-review{background-color:#dbeafe;color:#2563eb}.parent-assignment-card__status--graded{background-color:#ede9fe;color:#7c3aed}.parent-assignment-card__score{font-size:.75rem;color:#6b7280;font-weight:500}.parent-assignment-card__arrow{color:#9ca3af;font-size:20px!important}@media(max-width:768px){.parent-assignments__header{padding:16px 20px;flex-direction:column;gap:12px}.parent-assignments__content{padding:16px 20px}.parent-assignment-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.parent-assignment-card__right{width:100%;justify-content:flex-end}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Poppins,sans-serif;font-size:1rem;font-weight:400;color:#333;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{text-decoration:none;color:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}button{font-family:Poppins,sans-serif;cursor:pointer}input,textarea,select{font-family:Poppins,sans-serif}.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9fafb,#eff6ff);padding:20px}.not-found__content{text-align:center;max-width:480px}.not-found__illustration{margin-bottom:32px}.not-found__illustration svg{max-width:100%;height:auto}.not-found__code{font-family:Poppins,sans-serif;font-size:120px;font-weight:700;color:#2196f3;line-height:1;margin:0 0 8px;text-shadow:4px 4px 0 rgba(33,150,243,.1)}.not-found__title{font-family:Poppins,sans-serif;font-size:28px;font-weight:700;color:#111827;margin:0 0 12px}.not-found__description{font-family:Poppins,sans-serif;font-size:1rem;color:#6b7280;margin:0 0 32px;line-height:1.6}.not-found__actions{display:flex;align-items:center;justify-content:center;gap:16px}.not-found__btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:8px;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.not-found__btn svg{font-size:20px}.not-found__btn--back{background-color:#fff;color:#374151;border:1px solid #E5E7EB}.not-found__btn--back:hover{background-color:#f9fafb;border-color:#d1d5db}.not-found__btn--home{background-color:#ffc107;color:#333}.not-found__btn--home:hover{background-color:#ffb300}@media(max-width:576px){.not-found__code{font-size:80px}.not-found__title{font-size:22px}.not-found__description{font-size:.875rem}.not-found__actions{flex-direction:column;width:100%}.not-found__btn{width:100%;padding:12px 24px}}
