.news{flex-direction:column;gap:10px;width:100%;display:flex}.news .title{color:#fff;font-size:12px;font-weight:600}.news .carousel-container{border-radius:12px;width:100%;position:relative;overflow:hidden}.news .carousel-container .carousel-track{width:100%;height:150px;position:relative;overflow:hidden}.news .carousel-container .carousel-track .carousel-slides{will-change:transform;width:100%;height:100%;display:flex}.news .carousel-container .carousel-track .carousel-slides .carousel-slide{flex:0 0 100%;width:100%;height:100%}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card{border-radius:12px;width:100%;height:100%;text-decoration:none;transition:transform .3s;display:block;position:relative;overflow:hidden}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card:active{transform:scale(.98)}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform .6s}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card:hover img{transform:scale(1.05)}.news .carousel-container .carousel-indicators{justify-content:center;gap:8px;margin-top:12px;display:flex}.news .carousel-container .carousel-indicators .indicator{cursor:pointer;background:#fff6;border-radius:50%;width:6px;height:6px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.news .carousel-container .carousel-indicators .indicator.active{background:#fff;transform:scale(1.3);box-shadow:0 0 8px #ffffff4d}.news .carousel-container .carousel-indicators .indicator:hover:not(.active){background:#ffffffb3;transform:scale(1.1)}.news .carousel-container:before,.news .carousel-container:after{content:"";z-index:2;pointer-events:none;opacity:.1;width:1px;position:absolute;top:0;bottom:24px}.news .carousel-container:before{background:linear-gradient(90deg,#ffffff1a,#0000);left:0}.news .carousel-container:after{background:linear-gradient(270deg,#ffffff1a,#0000);right:0}@media (prefers-reduced-motion:reduce){.carousel-slides,.indicator{transition:none!important}}
.sections{flex-direction:column;gap:10px;width:100%;display:flex}.sections .title{color:#fff;font-size:12px;font-weight:600}.sections .cards{flex-direction:column;gap:12px;display:flex}.sections .cards .card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#3232324d;border:none;border-radius:16px;align-items:center;height:132px;padding:12px 15px 15px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.sections .cards .card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}.sections .cards .card:active{transform:translateY(0)}.sections .cards .card .label{color:#fff;z-index:2;font-size:20px;font-weight:600}.sections .cards .card .bg{z-index:1;opacity:.7;pointer-events:none;width:295px;position:absolute}.sections .cards .card:first-child .bg{animation:.8s forwards slide-bg1;top:60%;left:45%;transform:rotate(-9deg)}@keyframes slide-bg1{0%{opacity:0;top:60%}to{opacity:.7;top:-35%}}.sections .cards .card:nth-child(2) .bg{animation:.8s .2s forwards slide-bg2;top:65%;left:50%;transform:rotate(14deg)}@keyframes slide-bg2{0%{opacity:0;top:65%}to{opacity:.7;top:-65%}}
.stats{flex-direction:column;gap:10px;width:100%;display:flex}.stats .title{color:#fff;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.stats .title .period-selector{position:relative}.stats .title .period-selector .period-dropdown-trigger{color:#7d7d7d;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;transition:all .2s;display:flex}.stats .title .period-selector .period-dropdown-trigger:hover{color:#9d9d9d;background:#7d7d7d1a}.stats .title .period-selector .period-dropdown-trigger .dropdown-arrow{color:#7d7d7d;transition:transform .2s}.stats .title .period-selector .period-dropdown-trigger .dropdown-arrow.open{transform:rotate(180deg)}.stats .title .period-selector .period-dropdown{z-index:1000;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:8px;min-width:200px;max-height:300px;animation:.2s ease-out fadeInDown;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.stats .title .period-selector .period-dropdown .period-option{color:#e1e5ee;cursor:pointer;padding:15px 12px;font-size:12px;transition:all .2s}.stats .title .period-selector .period-dropdown .period-option:hover{background:#ffffff0d}.stats .title .period-selector .period-dropdown .period-option.selected{color:#fff;background:#ffffff1a;font-weight:600}.stats .cards{gap:10px;display:flex}.stats .cards .stat-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;flex-direction:column;flex:1;justify-content:center;padding:12px;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex}.stats .cards .stat-card .label{color:#878787;font-size:12px;line-height:19.45px}.stats .cards .stat-card .value{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:40px;font-weight:600}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.top-students{padding-bottom:70px}.top-students .title{color:#fff;font-size:12px;font-weight:600}.top-students .list{flex-direction:column;gap:12px;display:flex}.top-students .list .student{background:#3232324d;border-radius:12px;align-items:center;gap:16px;padding:12px 16px;display:flex}.top-students .list .student .index{color:#858494;width:20px;font-size:20px;font-weight:600}.top-students .list .student .photo{background:#303030;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.top-students .list .student .photo .letter{color:#fff;font-size:13px;line-height:13px}.top-students .list .student .info{flex:1;justify-content:space-between;display:flex}.top-students .list .student .info .name{color:#fff;font-size:16px;font-weight:600}.top-students .list .student .info .score{color:#878787;text-align:right;font-size:16px;font-weight:600}
.about{flex-direction:column;gap:24px;width:100%;padding-bottom:70px;display:flex}.about .hero-section{text-align:center;flex-direction:column;align-items:center;padding:20px 0;display:flex}.about .hero-section .app-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:16px;display:flex}.about .hero-section .app-title{color:#fff;margin:0 0 8px;font-size:28px;font-weight:700}.about .hero-section .app-subtitle{color:#e1e5ee;margin:0 0 12px;font-size:16px}.about .hero-section .version{color:#878787;background:#3232324d;border-radius:12px;padding:6px 12px;font-size:14px}.about .add-to-home{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3232324d;border-radius:16px;justify-content:flex-start;align-items:center;width:100%;padding:35px 15px;transition:all .3s ease-in-out;display:inline-flex;position:relative;overflow:hidden}.about .add-to-home:hover{background:#32323266}.about .add-to-home__text{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;display:inline-flex}.about .add-to-home__subtitle{color:#7d7d7d;word-wrap:break-word;font-family:SF Pro Text,sans-serif;font-size:12px;font-weight:600;line-height:13px}.about .add-to-home__title{color:#fff;word-wrap:break-word;font-family:SF Pro Text,sans-serif;font-size:22px;font-weight:600;line-height:25px}.about .add-to-home__image{width:130px;animation:.8s forwards slide-phone;position:absolute;top:150px;left:78%;transform:translate(-50%)}@keyframes slide-phone{0%{opacity:0;top:150px}to{opacity:1;top:10px}}.about .developer-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:linear-gradient(135deg,#32323266 0%,#1e1e1e66 100%);border-radius:16px;width:100%;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.about .developer-card:hover{transform:translateY(-2px)}.about .developer-card:active{transform:translateY(0)}.about .developer-card .developer-header{background:linear-gradient(135deg,#1a1a1a 0%,#0a0a0a 100%);height:80px;position:relative}.about .developer-card .developer-header .developer-avatar{border:3px solid #303030;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-30px;left:20px}.about .developer-card .developer-header .developer-badge{color:#fff;letter-spacing:1px;background:#ffffff1a;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:700;position:absolute;top:15px;right:15px}.about .developer-card .developer-content{padding:40px 20px 20px}.about .developer-card .developer-content .developer-name{color:#fff;margin-bottom:4px;font-size:22px;font-weight:700}.about .developer-card .developer-content .developer-title{color:#b0b0b0;margin-bottom:16px;font-size:14px}.about .developer-card .developer-content .developer-contact{color:#4d9eff;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.about .developer-card .developer-content .developer-contact svg{opacity:.8}.about .description-section .section-title{color:#fff;margin:0 0 12px;font-size:20px;font-weight:600}.about .description-section .description{color:#e1e5ee;margin:0;font-size:15px;line-height:1.5}.about .features-section .section-title{color:#fff;margin:0 0 16px;font-size:20px;font-weight:600}.about .features-section .features-grid{flex-direction:column;gap:12px;display:flex}.about .features-section .features-grid .feature-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;gap:16px;padding:16px;display:flex}.about .features-section .features-grid .feature-card .feature-icon{background:#ffffff1a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.about .features-section .features-grid .feature-card .feature-content{flex:1}.about .features-section .features-grid .feature-card .feature-content .feature-title{color:#fff;margin:0 0 6px;font-size:16px;font-weight:600}.about .features-section .features-grid .feature-card .feature-content .feature-description{color:#b0b0b0;margin:0;font-size:14px;line-height:1.4}.about .info-section .info-card{background:#4caf501a;border:1px solid #4caf5033;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.about .info-section .info-card .info-content .info-title{color:#fff;margin-bottom:4px;font-size:14px;font-weight:600}.about .info-section .info-card .info-content .info-text{color:#b0b0b0;font-size:13px;line-height:1.4}.about .footer-section{text-align:center;border-top:1px solid #ffffff1a;padding:20px 0}.about .footer-section .footer-text{color:#878787;margin-bottom:4px;font-size:14px}.about .footer-section .footer-year{color:#5a5a5a;font-size:12px}
.custom-select{width:100%;position:relative}.custom-select .select-trigger{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;transition:all .2s;display:flex}.custom-select .select-trigger:hover{background:#3c3c3c4d}.custom-select .select-trigger .selected-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-select .select-trigger .dropdown-arrow{color:#878787;transition:transform .2s}.custom-select .select-trigger .dropdown-arrow.open{transform:rotate(180deg)}.custom-select .options-dropdown{z-index:1000;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:8px;width:100%;max-height:300px;font-size:14px;animation:.2s ease-out fadeInDown;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.custom-select .options-dropdown .option-item{color:#e1e5ee;cursor:pointer;padding:10px 12px;transition:all .2s}.custom-select .options-dropdown .option-item:hover{background:#ffffff0d}.custom-select .options-dropdown .option-item.selected{color:#fff;background:#ffffff1a;font-weight:600}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.options-dropdown::-webkit-scrollbar{width:4px;display:block}.options-dropdown::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.options-dropdown::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.options-dropdown::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
.assessment-page{flex-direction:column;gap:20px;width:100%;padding-bottom:70px;display:flex}.assessment-page .page-header{align-items:center;gap:12px;display:flex}.assessment-page .page-header h1{color:#fff;margin:0;font-size:24px;font-weight:700}.assessment-page .filters{flex-wrap:wrap;gap:12px;display:flex}.assessment-page .filters .filter-group{outline:none;flex:1;min-width:120px}.assessment-page .filters .filter-group label{color:#878787;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.assessment-page .filters .filter-group select{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);appearance:none;background:#3232324d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23878787' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:10px 30px 10px 12px;font-size:14px}.assessment-page .filters .filter-group select option{color:#fff;background:#1a1a1a}.assessment-page .subjects-list{flex-direction:column;gap:16px;display:flex}.assessment-page .subjects-list .subject-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;padding:16px}.assessment-page .subjects-list .subject-container .subject-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.assessment-page .subjects-list .subject-container .subject-header .subject-name{color:#fff;flex:1;margin:0;font-size:16px;font-weight:600}.assessment-page .subjects-list .subject-container .subject-header .subject-stats .average-grade{color:#878787;font-size:12px;font-weight:600}.assessment-page .subjects-list .subject-container .grades-items{flex-wrap:wrap;gap:8px;display:flex}.assessment-page .subjects-list .subject-container .grades-items .grade-value{cursor:pointer;text-align:center;border-radius:8px;min-width:40px;padding:12px;font-size:18px;font-weight:700;line-height:18px}.assessment-page .subjects-list .subject-container .grades-items .grade-value.grade-excellent{color:#fff;background:#2ed573}.assessment-page .subjects-list .subject-container .grades-items .grade-value.grade-good{color:#fff;background:#ffa502}.assessment-page .subjects-list .subject-container .grades-items .grade-value.grade-satisfactory{color:#fff;background:#ff6348}.assessment-page .subjects-list .subject-container .grades-items .grade-value.grade-unsatisfactory{color:#fff;background:#ff4757}
.attendance-page{flex-direction:column;gap:20px;width:100%;padding-bottom:70px;display:flex}.attendance-page .page-header{align-items:center;gap:12px;display:flex}.attendance-page .page-header h1{color:#fff;margin:0;font-size:24px;font-weight:700}.attendance-page .filters{flex-wrap:wrap;gap:12px;display:flex}.attendance-page .filters .filter-group{outline:none;flex:1;min-width:150px}.attendance-page .filters .filter-group label{color:#878787;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.attendance-page .filters .filter-group select{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);appearance:none;background:#3232324d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23878787' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:10px 30px 10px 12px;font-size:14px}.attendance-page .filters .filter-group select option{color:#fff;background:#1a1a1a}.attendance-page .subjects-list{flex-direction:column;gap:16px;display:flex}.attendance-page .subjects-list .subject-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;padding:16px}.attendance-page .subjects-list .subject-container .subject-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.attendance-page .subjects-list .subject-container .subject-header .subject-name{color:#fff;flex:1;margin:0;font-size:16px;font-weight:600}.attendance-page .subjects-list .subject-container .subject-header .subject-stats .total-absences{color:#878787;font-size:12px;font-weight:600}.attendance-page .subjects-list .subject-container .attendance-items{flex-wrap:wrap;gap:8px;display:flex}.attendance-page .subjects-list .subject-container .attendance-items .attendance-date{cursor:pointer;text-align:center;color:#fff;background:#ff4757;border-radius:8px;min-width:40px;padding:12px;font-size:12px;font-weight:700;line-height:12px}
.auth-container{opacity:0;justify-content:center;align-items:center;width:100%;height:100vh;transition:all .6s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(20px)}.auth-container.visible{opacity:1;transform:translateY(0)}.auth-container .greeting-step{text-align:center;width:100%;max-width:320px}.auth-container .greeting-step .greeting-content{flex-direction:column;align-items:center;gap:24px;display:flex}.auth-container .greeting-step .greeting-content .avatar-container{animation:1s cubic-bezier(.16,1,.3,1) forwards avatarAppear;position:relative}.auth-container .greeting-step .greeting-content .avatar-container .user-avatar{z-index:2;border:4px solid #ffffff1a;border-radius:50%;width:120px;height:120px;position:relative}.auth-container .greeting-step .greeting-content .avatar-container .avatar-glow{background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);border-radius:50%;animation:2s ease-in-out infinite alternate glow;position:absolute;inset:-10px}.auth-container .greeting-step .greeting-content .greeting-text .greeting-title{color:#fff;opacity:0;margin:0 0 8px;font-size:28px;font-weight:700;animation:.8s cubic-bezier(.16,1,.3,1) .3s forwards textSlideUp;transform:translateY(20px)}.auth-container .greeting-step .greeting-content .greeting-text .greeting-subtitle{color:#e1e5ee;opacity:0;margin:0;font-size:16px;animation:.8s cubic-bezier(.16,1,.3,1) .5s forwards textSlideUp;transform:translateY(20px)}.auth-container .greeting-step .greeting-content .loading-indicator{opacity:0;animation:.6s ease-in-out 1s forwards fadeIn}.auth-container .greeting-step .greeting-content .loading-indicator .dots{gap:8px;display:flex}.auth-container .greeting-step .greeting-content .loading-indicator .dots span{background:#fff9;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.auth-container .greeting-step .greeting-content .loading-indicator .dots span:first-child{animation-delay:-.32s}.auth-container .greeting-step .greeting-content .loading-indicator .dots span:nth-child(2){animation-delay:-.16s}.auth-container .greeting-step .greeting-content .loading-indicator .dots span:nth-child(3){animation-delay:0s}.auth-container .greeting-step .greeting-content .skip-button{color:#878787;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;transition:all .2s;animation:.6s ease-in-out 1.5s forwards fadeIn}.auth-container .greeting-step .greeting-content .skip-button:hover{color:#b0b0b0;background:#ffffff0d}.auth-container .form-step{width:100%;max-width:320px;animation:.6s cubic-bezier(.16,1,.3,1) forwards formSlideIn}.auth-container .form-step .form-header{text-align:center;margin-bottom:32px}.auth-container .form-step .form-header .form-avatar{margin-bottom:16px}.auth-container .form-step .form-header .form-avatar img{border:2px solid #ffffff1a;border-radius:50%;width:60px;height:60px}.auth-container .form-step .form-header .form-title{color:#fff;margin:0 0 8px;font-size:24px;font-weight:700}.auth-container .form-step .form-header .form-subtitle{color:#e1e5ee;margin:0;font-size:14px}.auth-container .form-step .auth-form{flex-direction:column;gap:20px;display:flex}.auth-container .form-step .auth-form .input-group .input-wrapper{align-items:center;display:flex;position:relative}.auth-container .form-step .auth-form .input-group .input-wrapper .input-icon{color:#878787;z-index:2;pointer-events:none;position:absolute;left:16px}.auth-container .form-step .auth-form .input-group .input-wrapper input{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:16px 16px 16px 52px;font-size:16px;transition:all .3s}.auth-container .form-step .auth-form .input-group .input-wrapper input::placeholder{color:#878787}.auth-container .form-step .auth-form .input-group .input-wrapper input:focus{background:#3c3c3c4d;border-color:#ffffff4d;outline:none;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.auth-container .form-step .auth-form .input-group .input-wrapper input:disabled{opacity:.6;cursor:not-allowed}.auth-container .form-step .auth-form .input-group .input-wrapper .password-toggle{color:#878787;cursor:pointer;background:0 0;border:none;border-radius:4px;width:20px;height:20px;padding:4px;transition:all .2s;position:absolute;top:13px;right:16px}.auth-container .form-step .auth-form .input-group .input-wrapper .password-toggle:hover:not(:disabled){color:#b0b0b0}.auth-container .form-step .auth-form .input-group .input-wrapper .password-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-container .form-step .auth-form .submit-button{color:#fff;cursor:pointer;background:#0f0f0f;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:12px;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.auth-container .form-step .auth-form .submit-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.auth-container .form-step .auth-form .submit-button:hover:not(:disabled):before{left:100%}.auth-container .form-step .auth-form .submit-button:active:not(:disabled){transform:translateY(0)}.auth-container .form-step .auth-form .submit-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.auth-container .form-step .auth-form .submit-button:disabled:before{display:none}.auth-container .form-step .form-footer{text-align:center;margin-top:24px}.auth-container .form-step .form-footer .help-text{color:#878787;margin:0;font-size:13px;line-height:1.4}@keyframes avatarAppear{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes glow{0%{opacity:.3;transform:scale(1)}to{opacity:.6;transform:scale(1.1)}}@keyframes textSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes formSlideIn{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}
.cabinet-page{flex-direction:column;gap:24px;width:100%;padding-bottom:70px;display:flex}.cabinet-page .error-state{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#878787;background:#3232324d;border-radius:16px;padding:60px 20px}.cabinet-page .error-state h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.cabinet-page .error-state p{margin:0 0 24px;font-size:14px;line-height:1.4}.cabinet-page .error-state .retry-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.cabinet-page .error-state .retry-button:hover{background:#ffffff26}.cabinet-page .error-state .retry-button:active{transform:translateY(0)}.cabinet-page .easter-egg{z-index:9998;opacity:0;width:80px;height:80px;transition:opacity .8s ease-in-out;position:fixed}.cabinet-page .easter-egg.visible{opacity:1}.cabinet-page .easter-egg img{object-fit:contain;border-radius:8px;width:100%;height:100%}.cabinet-page .easter-egg.position-1{animation:2s ease-in-out bounce-right;top:20%;right:10%}.cabinet-page .easter-egg.position-2{animation:2s ease-in-out bounce-left;bottom:30%;left:15%}.cabinet-page .easter-egg.position-3{animation:2s ease-in-out bounce-center;top:40%;left:50%;transform:translate(-50%)}.cabinet-page .easter-egg.position-4{animation:2s ease-in-out bounce-top-left;top:15%;left:20%}.cabinet-page .easter-egg.position-5{animation:2s ease-in-out bounce-bottom-right;bottom:20%;right:20%}.cabinet-page .cabinet-image{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;width:100%;height:200px;position:relative;overflow:hidden}.cabinet-page .cabinet-image img{object-fit:cover;width:100%;height:100%}.cabinet-page .cabinet-image .image-overlay{background:linear-gradient(#0000004d,#000000b3);justify-content:space-between;align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.cabinet-page .cabinet-image .image-overlay .navigation-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.cabinet-page .cabinet-image .image-overlay .navigation-button:hover{background:#ffffff4d}.cabinet-page .cabinet-image .image-overlay .navigation-button:active{transform:translateY(0)}.cabinet-page .cabinet-image .image-overlay .cabinet-number{color:#fff;font-size:32px;font-weight:700}.cabinet-page .cabinet-image .image-overlay .status-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.cabinet-page .cabinet-image .image-overlay .status-tag.occupied{color:#fff;background:#ff4757e6}.cabinet-page .cabinet-image .image-overlay .status-tag.free{color:#fff;background:#2ed573e6}.cabinet-page .section-title{color:#fff;align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:600;display:flex}.cabinet-page .info-section .info-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;padding:20px}.cabinet-page .info-section .info-card .info-main .cabinet-name{color:#fff;margin-bottom:8px;font-size:18px;font-weight:600;line-height:1.3}.cabinet-page .info-section .info-card .info-main .cabinet-details{color:#878787;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.cabinet-page .info-section .info-card .info-main .cabinet-details span:not(:last-child):not(:nth-child(2n)){white-space:nowrap}.cabinet-page .info-section .info-card .info-main .cabinet-details span:nth-child(2n){color:#b0b0b0}.cabinet-page .current-lesson-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ff47571a;border:2px solid #ff47574d;border-radius:16px;padding:20px}.cabinet-page .current-lesson-card .current-lesson-header{color:#ff4757;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.cabinet-page .current-lesson-card .current-lesson-content .lesson-subject{color:#fff;margin-bottom:6px;font-size:18px;font-weight:600}.cabinet-page .current-lesson-card .current-lesson-content .lesson-details{color:#b0b0b0;align-items:center;gap:8px;font-size:14px;display:flex}.cabinet-page .current-lesson-card .current-lesson-content .lesson-details span:nth-child(2n){color:#878787}.cabinet-page .schedule-section .schedule-list{flex-direction:column;gap:12px;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#3232324d;border:2px solid #0000;border-radius:16px;align-items:center;gap:16px;padding:20px;transition:all .2s;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item:hover{background:#3c3c3c4d}.cabinet-page .schedule-section .schedule-list .schedule-item:active{transform:translateY(0)}.cabinet-page .schedule-section .schedule-list .schedule-item.current{background:#ffffff0d;border-color:#fff3}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-time{flex-direction:column;align-items:center;min-width:70px;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-time .lesson-number{color:#fff;background:#ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-time .time-range{color:#b0b0b0;text-align:center;font-size:11px;font-weight:600;line-height:1.2}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-content{flex:1}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-content .lesson-subject{color:#fff;margin-bottom:4px;font-size:16px;font-weight:600}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-content .lesson-type{color:#b0b0b0;background:#ffffff1a;border-radius:6px;margin-bottom:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-content .lesson-details{flex-direction:column;gap:4px;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-content .lesson-details .detail-item{color:#878787;align-items:center;gap:6px;font-size:12px;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-content .lesson-details .detail-item svg{color:#b0b0b0}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-actions .zoom-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-actions .zoom-button:hover{background:#ffffff26}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-actions .zoom-button:active{transform:scale(.95)}.cabinet-page .schedule-section .schedule-list .schedule-item .schedule-actions .current-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#fff3;border-radius:6px;padding:4px 8px;font-size:9px;font-weight:700}.cabinet-page .schedule-section .empty-schedule{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#878787;background:#3232324d;border-radius:16px;padding:60px 20px}.cabinet-page .schedule-section .empty-schedule h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.cabinet-page .schedule-section .empty-schedule p{margin:0;font-size:14px;line-height:1.4}@keyframes bounce-right{0%{opacity:0;transform:translateY(20px)scale(.8)}20%{opacity:1;transform:translateY(-10px)scale(1.1)}40%{transform:translateY(5px)scale(.95)}60%{transform:translateY(-5px)scale(1.05)}80%{transform:translateY(2px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bounce-left{0%{opacity:0;transform:translate(-20px)scale(.8)}20%{opacity:1;transform:translate(10px)scale(1.1)}40%{transform:translate(-5px)scale(.95)}60%{transform:translate(5px)scale(1.05)}80%{transform:translate(-2px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes bounce-center{0%{opacity:0;transform:translate(-50%)scale(.5)rotate(-10deg)}25%{opacity:1;transform:translate(-50%)scale(1.2)rotate(5deg)}50%{transform:translate(-50%)scale(.9)rotate(-2deg)}75%{transform:translate(-50%)scale(1.1)rotate(1deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}@keyframes bounce-top-left{0%{opacity:0;transform:translate(-20px,-20px)scale(.6)}30%{opacity:1;transform:translate(10px,10px)scale(1.15)}60%{transform:translate(-5px,-5px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes bounce-bottom-right{0%{opacity:0;transform:translate(20px,20px)scale(.7)rotate(15deg)}25%{opacity:1;transform:translate(-10px,-10px)scale(1.2)rotate(-5deg)}50%{transform:translate(5px,5px)scale(.85)rotate(2deg)}75%{transform:translate(-2px,-2px)scale(1.05)rotate(-1deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}
.cabinets-list-page{flex-direction:column;gap:24px;width:100%;padding-bottom:70px;display:flex}.cabinets-list-page .error-state{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#878787;background:#3232324d;border-radius:16px;padding:60px 20px}.cabinets-list-page .error-state h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.cabinets-list-page .error-state p{margin:0 0 24px;font-size:14px;line-height:1.4}.cabinets-list-page .error-state .retry-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.cabinets-list-page .error-state .retry-button:active{transform:translateY(0)}.cabinets-list-page .section-title{color:#fff;align-items:center;gap:8px;margin-bottom:12px;font-size:16px;font-weight:600;display:flex}.cabinets-list-page .campus-section .campus-toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;padding:4px;display:flex}.cabinets-list-page .campus-section .campus-toggle .campus-button{color:#878787;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s}.cabinets-list-page .campus-section .campus-toggle .campus-button.active{color:#fff;background:#ffffff1a}.cabinets-list-page .campus-section .campus-toggle .campus-button:hover:not(.active){color:#b0b0b0}.cabinets-list-page .campus-section .campus-toggle .campus-button:active{transform:scale(.98)}.cabinets-list-page .search-section .search-input-wrapper{align-items:center;display:flex;position:relative}.cabinets-list-page .search-section .search-input-wrapper .search-icon{color:#878787;z-index:2;pointer-events:none;position:absolute;left:16px}.cabinets-list-page .search-section .search-input-wrapper .search-input{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border:1px solid #ffffff1a;border-radius:16px;width:100%;padding:16px 16px 16px 48px;font-size:15px;transition:all .3s}.cabinets-list-page .search-section .search-input-wrapper .search-input::placeholder{color:#878787}.cabinets-list-page .search-section .search-input-wrapper .search-input:focus{background:#3c3c3c4d;border-color:#fff3;outline:none}.cabinets-list-page .filter-section .floor-buttons{flex-wrap:wrap;gap:8px;display:flex}.cabinets-list-page .filter-section .floor-buttons .floor-button{color:#878787;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border:1px solid #ffffff1a;border-radius:12px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.cabinets-list-page .filter-section .floor-buttons .floor-button.active{color:#fff;background:#ffffff1a;border-color:#fff3}.cabinets-list-page .filter-section .floor-buttons .floor-button:hover:not(.active){color:#b0b0b0;background:#3c3c3c4d}.cabinets-list-page .filter-section .floor-buttons .floor-button:active{transform:scale(.95)}.cabinets-list-page .stats-section{gap:12px;display:flex}.cabinets-list-page .stats-section .stat-card{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;flex:1;padding:20px;transition:all .2s}.cabinets-list-page .stats-section .stat-card:hover{background:#3c3c3c4d}.cabinets-list-page .stats-section .stat-card .stat-value{color:#fff;font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:28px;font-weight:700}.cabinets-list-page .stats-section .stat-card .stat-label{color:#878787;font-size:12px;font-weight:600}.cabinets-list-page .cabinets-grid{flex-direction:column;gap:12px;display:flex}.cabinets-list-page .cabinets-grid .cabinet-card{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:16px;padding:20px;transition:all .3s}.cabinets-list-page .cabinets-grid .cabinet-card:hover{background:#3c3c3c4d;border-color:#ffffff26}.cabinets-list-page .cabinets-grid .cabinet-card:active{transform:translateY(0)}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-main{margin-bottom:12px}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-main .cabinet-number{color:#fff;margin-bottom:4px;font-size:20px;font-weight:700}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-main .cabinet-name{color:#b0b0b0;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.3;display:-webkit-box;overflow:hidden}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-meta{justify-content:space-between;align-items:center;display:flex}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-meta .cabinet-location{color:#878787;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-meta .cabinet-location svg{color:#b0b0b0}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-meta .cabinet-arrow{color:#878787;transition:all .2s}.cabinets-list-page .cabinets-grid .cabinet-card:hover .cabinet-arrow{color:#fff;transform:translate(2px)}.cabinets-list-page .empty-state{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#878787;background:#3232324d;border-radius:16px;padding:60px 20px}.cabinets-list-page .empty-state h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.cabinets-list-page .empty-state p{margin:0;font-size:14px;line-height:1.4}
.schedule-page{flex-direction:column;gap:24px;width:100%;padding-bottom:70px;display:flex}.schedule-page .add-homework-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s;display:flex;position:absolute;right:16px}.schedule-page .add-homework-button:hover{background:#fff3}.schedule-page .add-homework-button:active{transform:scale(.95)}.schedule-page .page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-page .page-header h1{color:#fff;margin:0;font-size:24px;font-weight:700}.schedule-page .page-header .group-badge{color:#878787;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;padding:6px 12px;font-size:12px;font-weight:600}.schedule-page .error-state{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#878787;background:#3232324d;border-radius:16px;padding:60px 20px}.schedule-page .error-state h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.schedule-page .error-state p{margin:0 0 24px;font-size:14px;line-height:1.4}.schedule-page .error-state .retry-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.schedule-page .error-state .retry-button:hover{background:#ffffff26}.schedule-page .date-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;justify-content:center;align-items:center;gap:16px;width:100%;padding:16px;display:flex;position:relative}.schedule-page .date-selector .date-nav-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;width:36px;height:36px;transition:all .2s}.schedule-page .date-selector .date-nav-button:hover{background:#fff3}.schedule-page .date-selector .date-nav-button:active{transform:scale(.95)}.schedule-page .date-selector .date-display{white-space:pre-wrap;color:#fff;align-items:center;gap:8px;display:flex;position:relative}.schedule-page .date-selector .date-display .date-text{flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:80px;font-size:16px;font-weight:600;display:flex}.schedule-page .date-selector .date-display .date-text b{opacity:.5;font-size:11px;font-weight:400!important}.schedule-page .date-selector .date-display .date-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute}.schedule-page .schedule-skeleton{flex-direction:column;gap:0;display:flex}.schedule-page .schedule-skeleton .skeleton-item{gap:16px;display:flex;position:relative}.schedule-page .schedule-skeleton .skeleton-item .skeleton-marker{flex-direction:column;flex-shrink:0;align-items:center;width:32px;padding-top:20px;display:flex}.schedule-page .schedule-skeleton .skeleton-item .skeleton-marker .skeleton-dot{background:#ffffff1a;border-radius:50%;width:24px;height:24px;animation:1.5s ease-in-out infinite skeleton-pulse}.schedule-page .schedule-skeleton .skeleton-item .skeleton-marker .skeleton-line{background:#ffffff0d;width:2px;min-height:52px;margin-top:8px;animation:1.5s ease-in-out .2s infinite skeleton-pulse}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#32323233;border-radius:16px;flex:1;margin-bottom:12px;padding:20px;animation:1.5s ease-in-out .1s infinite skeleton-pulse}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-header{align-items:center;gap:16px;margin-bottom:12px;display:flex}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-header .skeleton-number{background:#ffffff1a;border-radius:8px;width:32px;height:32px}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-header .skeleton-time{background:#ffffff1a;border-radius:4px;width:120px;height:16px}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-body .skeleton-subject{background:#ffffff1a;border-radius:4px;width:70%;height:18px;margin-bottom:8px}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-body .skeleton-type{background:#ffffff14;border-radius:6px;width:80px;height:14px;margin-bottom:12px}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-body .skeleton-details{flex-direction:column;gap:6px;display:flex}.schedule-page .schedule-skeleton .skeleton-item .skeleton-content .skeleton-body .skeleton-details .skeleton-detail{background:#ffffff14;border-radius:3px;width:60%;height:12px}.schedule-page .schedule-skeleton .skeleton-item.skeleton-break .skeleton-marker{padding-top:12px}.schedule-page .schedule-skeleton .skeleton-item.skeleton-break .skeleton-marker .skeleton-dot{width:16px;height:16px}.schedule-page .schedule-skeleton .skeleton-item.skeleton-break .skeleton-marker .skeleton-line{min-height:20px}.schedule-page .schedule-skeleton .skeleton-item.skeleton-break .skeleton-content{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:12px 0}.schedule-page .schedule-skeleton .skeleton-item.skeleton-break .skeleton-content .skeleton-break-text{background:#ffffff14;border-radius:3px;width:100px;height:12px}.schedule-page .schedule-skeleton .skeleton-item:last-child .skeleton-line{display:none}.schedule-page .schedule-timeline{flex-direction:column;gap:0;display:flex}.schedule-page .schedule-timeline .timeline-item{gap:16px;display:flex;position:relative}.schedule-page .schedule-timeline .timeline-item .timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot{z-index:2;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot.upcoming{color:#878787;background:#ffffff1a;border:2px solid #ffffff1a}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot.upcoming svg{width:12px;height:12px}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot.current{color:#000;background:#fff;border:2px solid #ffffff4d}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot.current svg{width:12px;height:12px}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot.completed{color:#fff;background:#fff3;border:2px solid #fff3}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-dot.completed svg{width:12px;height:12px}.schedule-page .schedule-timeline .timeline-item .timeline-marker .timeline-line{background:#ffffff1a;flex:1;width:2px}.schedule-page .schedule-timeline .timeline-item.lesson-item .timeline-marker{padding-top:20px}.schedule-page .schedule-timeline .timeline-item.lesson-item .timeline-marker .timeline-line{min-height:52px;margin-top:8px}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#3232324d;border-radius:16px;flex:1;margin-bottom:12px;padding:20px;transition:all .2s;position:relative}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item:hover{background:#3c3c3c4d}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item.current{background:#ffffff0d}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item.completed{opacity:.6}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-header{align-items:center;gap:16px;margin-bottom:12px;display:flex}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-header .lesson-number{color:#fff;background:#ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-header .lesson-time{color:#b0b0b0;flex:1;font-size:14px;font-weight:600}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-header .zoom-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-header .zoom-button:hover{background:#ffffff26}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-content .lesson-subject{color:#fff;margin-bottom:4px;font-size:16px;font-weight:600}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-content .lesson-type{color:#b0b0b0;background:#ffffff1a;border-radius:6px;margin-bottom:12px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-content .lesson-details{flex-direction:column;gap:6px;display:flex}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-content .lesson-details .detail-item{color:#878787;align-items:center;gap:8px;font-size:12px;display:flex}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .lesson-content .lesson-details .detail-item svg{color:#b0b0b0}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .current-progress{border-top:1px solid #ffffff1a;margin-top:16px;padding-top:16px}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .current-progress .progress-info{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .current-progress .progress-info .progress-text{color:#b0b0b0;font-size:12px;font-weight:600}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .current-progress .progress-info .time-remaining{color:#fff;font-size:12px;font-weight:600}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .current-progress .progress-bar{background:#ffffff1a;border-radius:2px;width:100%;height:4px;overflow:hidden}.schedule-page .schedule-timeline .timeline-item.lesson-item .schedule-item .current-progress .progress-bar .progress-fill{background:#fff;border-radius:2px;height:100%;transition:width .3s}.schedule-page .schedule-timeline .timeline-item.break-item .timeline-marker{padding-top:12px}.schedule-page .schedule-timeline .timeline-item.break-item .timeline-marker .timeline-dot{background:#ffffff1a;border:none;width:16px;height:16px}.schedule-page .schedule-timeline .timeline-item.break-item .timeline-marker .timeline-dot.current{background:#fff}.schedule-page .schedule-timeline .timeline-item.break-item .timeline-marker .timeline-dot.completed{background:#fff3}.schedule-page .schedule-timeline .timeline-item.break-item .timeline-marker .timeline-line{min-height:20px;margin-top:8px}.schedule-page .schedule-timeline .timeline-item.break-item .break-content{flex:1;align-items:center;margin-bottom:12px;padding:12px 0;display:flex}.schedule-page .schedule-timeline .timeline-item.break-item .break-content .break-info{color:#878787;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.schedule-page .schedule-timeline .timeline-item.break-item .break-content .break-info.current-break{color:#fff}.schedule-page .schedule-timeline .timeline-item.break-item .break-content .break-info.current-break .break-progress{background:#ffffff1a;border-radius:1px;width:100px;height:2px;margin-left:12px;overflow:hidden}.schedule-page .schedule-timeline .timeline-item.break-item .break-content .break-info.current-break .break-progress .progress-fill{background:#fff;border-radius:1px;height:100%;transition:width .3s}.schedule-page .schedule-timeline .timeline-item.break-item .break-content .break-info.completed-break{color:#b0b0b0;opacity:.6}.schedule-page .empty-schedule{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#878787;background:#3232324d;border-radius:16px;padding:60px 20px}.schedule-page .empty-schedule h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.schedule-page .empty-schedule p{margin:0;font-size:14px;line-height:1.4}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:flex-start;padding:0;display:flex;position:fixed;inset:0;opacity:1!important}.modal-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;padding:30px;padding-top:calc(var(--tg-content-safe-area-inset-top,0px) + 60px);background:#0a0a0a;border-radius:0 0 16px 16px;overflow:hidden auto}.modal-content h2{color:#fff;text-align:center;margin:0 0 20px;font-size:20px;font-weight:600}.form-group{margin-bottom:16px}.form-group label{color:#b0b0b0;margin-bottom:8px;font-size:14px;font-weight:400;display:block}.form-group textarea{color:#fff;background:#3232324d;border:none;border-radius:8px;outline:none;width:100%;padding:12px;font-size:14px;transition:all .2s;overflow:hidden;resize:none!important}.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.form-group .char-counter{text-align:right;color:#878787;margin-top:4px;font-size:12px}.modal-actions{gap:12px;margin-top:24px;display:flex}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}
.bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;background:#00000080;justify-content:center;gap:8px;width:100vw;padding:12px 18px 30px;animation:.6s cubic-bezier(.16,1,.3,1) forwards navMenu;display:flex;position:fixed;bottom:0;left:0}.bottom-nav.hiding{animation:.4s cubic-bezier(.4,0,.2,1) forwards navMenuHide}@keyframes navMenu{0%{bottom:-200px}to{bottom:0}}@keyframes navMenuHide{0%{opacity:1;bottom:0}to{opacity:0;bottom:-200px}}.bottom-nav .nav-item{cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.bottom-nav .nav-item svg{transition:all .2s cubic-bezier(.4,0,.2,1)}.bottom-nav .nav-item .label{white-space:nowrap;color:#fff;letter-spacing:.12px;margin-top:4px;font-size:9px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.bottom-nav .nav-item .label.inactive{color:#8e8e93}
.daily-report-page{flex-direction:column;gap:20px;width:100%;padding-bottom:70px;display:flex}.daily-report-page .page-header{align-items:center;gap:12px;display:flex}.daily-report-page .page-header h1{color:#fff;margin:0;font-size:24px;font-weight:700}.daily-report-page .view-mode-toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;padding:4px;display:flex}.daily-report-page .view-mode-toggle .mode-button{color:#878787;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.daily-report-page .view-mode-toggle .mode-button.active{color:#fff;background:#ffffff1a}.daily-report-page .view-mode-toggle .mode-button:hover:not(.active){color:#b0b0b0}.daily-report-page .date-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex}.daily-report-page .date-selector .date-nav-button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;width:36px;height:36px;transition:all .2s}.daily-report-page .date-selector .date-nav-button:hover{background:#fff3}.daily-report-page .date-selector .date-nav-button:active{transform:scale(.95)}.daily-report-page .date-selector .date-display{color:#fff;align-items:center;gap:8px;display:flex}.daily-report-page .date-selector .date-display .date-input{color:#fff;cursor:pointer;background:0 0;border:none;font-size:16px;font-weight:600}.daily-report-page .date-selector .date-display .date-input::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.daily-report-page .date-range-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;gap:16px;padding:16px;display:flex}.daily-report-page .date-range-selector .date-input-group{flex-direction:column;flex:1;gap:8px;display:flex}.daily-report-page .date-range-selector .date-input-group label{color:#878787;font-size:12px;font-weight:600}.daily-report-page .date-range-selector .date-input-group .date-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.daily-report-page .date-range-selector .date-input-group .date-input::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.daily-report-page .stats-summary{gap:12px;display:flex}.daily-report-page .stats-summary .stat-item{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;flex:1;padding:16px}.daily-report-page .stats-summary .stat-item .stat-value{color:#fff;margin-bottom:4px;font-size:24px;font-weight:700}.daily-report-page .stats-summary .stat-item .stat-label{color:#878787;font-size:12px;font-weight:600}.daily-report-page .section .section-title{color:#fff;margin-bottom:12px;font-size:18px;font-weight:600}.daily-report-page .grades-list{flex-direction:column;gap:8px;display:flex}.daily-report-page .grades-list .grade-item{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.daily-report-page .grades-list .grade-item:hover{background:#3c3c3c4d}.daily-report-page .grades-list .grade-item:active{transform:scale(.98)}.daily-report-page .grades-list .grade-item .grade-info{flex:1}.daily-report-page .grades-list .grade-item .grade-info .grade-subject{color:#fff;margin-bottom:4px;font-size:16px;font-weight:600}.daily-report-page .grades-list .grade-item .grade-info .grade-details{justify-content:flex-start;align-items:center;gap:12px;font-size:12px;display:flex}.daily-report-page .grades-list .grade-item .grade-info .grade-details .grade-type{white-space:nowrap;text-overflow:ellipsis;color:#b0b0b0;max-width:60%;overflow:hidden}.daily-report-page .grades-list .grade-item .grade-info .grade-details .grade-date{color:#878787}.daily-report-page .grades-list .grade-item .grade-value{text-align:center;border-radius:8px;min-width:40px;padding:8px 12px;font-size:18px;font-weight:700}.daily-report-page .grades-list .grade-item .grade-value.grade-excellent{color:#fff;background:#2ed573}.daily-report-page .grades-list .grade-item .grade-value.grade-good{color:#fff;background:#ffa502}.daily-report-page .grades-list .grade-item .grade-value.grade-satisfactory{color:#fff;background:#ff6348}.daily-report-page .grades-list .grade-item .grade-value.grade-unsatisfactory{color:#fff;background:#ff4757}.daily-report-page .absences-list{flex-direction:column;gap:8px;display:flex}.daily-report-page .absences-list .absence-item{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3232324d;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;transition:all .2s;display:flex}.daily-report-page .absences-list .absence-item:hover{background:#3c3c3c4d}.daily-report-page .absences-list .absence-item:active{transform:scale(.98)}.daily-report-page .absences-list .absence-item .absence-info{flex:1}.daily-report-page .absences-list .absence-item .absence-info .absence-subject{color:#fff;margin-bottom:4px;font-size:16px;font-weight:600}.daily-report-page .absences-list .absence-item .absence-info .absence-details .absence-date{color:#878787;font-size:12px}.daily-report-page .absences-list .absence-item .absence-hours{color:#fff;background:#ff4757;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700}.daily-report-page .empty-state{text-align:center;color:#878787;padding:40px 20px}.daily-report-page .empty-state h3{color:#fff;margin:16px 0 8px;font-size:20px;font-weight:600}.daily-report-page .empty-state p{margin:0;font-size:14px;line-height:1.4}
