.schedule-page{gap:var(--space-6);flex-direction:column;width:100%;display:flex}.schedule-page .add-homework-button{border-radius:var(--radius-xs);background:var(--overlay-10);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;right:16px}@media (hover:hover){.schedule-page .add-homework-button:hover{background:var(--overlay-20)}}.schedule-page .add-homework-button:active{transform:scale(.95)}.schedule-page .page-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.schedule-page .page-header h1{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0}.schedule-page .page-header .group-badge{background:var(--surface-2);border:1px solid var(--stroke);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.schedule-page .error-state{text-align:center;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:60px 20px}.schedule-page .error-state h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.schedule-page .error-state p{font-size:var(--text-base);margin:0 0 var(--space-6) 0;line-height:1.4}.schedule-page .error-state .retry-button{background:var(--overlay-10);color:var(--text-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:transform var(--duration-fast) var(--ease-fast);border:none}.schedule-page .error-state .retry-button:active{transform:scale(.98)}.schedule-page .error-state .retry-button{transition:all .2s}@media (hover:hover){.schedule-page .error-state .retry-button:hover{background:var(--overlay-15)}}.schedule-page .schedule-timeline{gap:var(--space-3);flex-direction:column;display:flex}.schedule-page .empty-schedule{text-align:center;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:60px 20px}.schedule-page .empty-schedule h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.schedule-page .empty-schedule p{font-size:var(--text-base);margin:0;line-height:1.4}.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{background:var(--surface-1);border-radius:var(--radius-lg);padding:var(--space-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;padding-top:calc(var(--app-top) + 60px);border-top-left-radius:0;border-top-right-radius:0;overflow:hidden auto}.modal-content h2{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0 0 var(--space-5) 0;text-align:center}.form-group{margin-bottom:var(--space-4)}.form-group label{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);margin-bottom:var(--space-2);display:block}.form-group textarea{background:var(--surface-2);border-radius:var(--radius-xs);width:100%;padding:var(--space-3);color:var(--text-primary);font-size:var(--text-base);border:none;outline:none;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:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-1)}.modal-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}
.cabinets-list-page{gap:var(--space-6);flex-direction:column;width:100%;display:flex}.cabinets-list-page .error-state{text-align:center;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:60px 20px}.cabinets-list-page .error-state h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.cabinets-list-page .error-state p{font-size:var(--text-base);margin:0 0 var(--space-6) 0;line-height:1.4}.cabinets-list-page .error-state .retry-button{background:var(--overlay-10);color:var(--text-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:all .2s}.cabinets-list-page .error-state .retry-button:active{transform:translateY(0)}.cabinets-list-page .section-title{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.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:var(--text-secondary);z-index:2;pointer-events:none;position:absolute;left:16px}.cabinets-list-page .search-section .search-input-wrapper .search-input{background:var(--surface-2);border:1px solid var(--stroke-strong);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);font-size:var(--text-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 16px 16px 48px;transition:all .3s}.cabinets-list-page .search-section .search-input-wrapper .search-input::placeholder{color:var(--text-secondary)}.cabinets-list-page .search-section .search-input-wrapper .search-input:focus{border-color:var(--overlay-20);background:var(--surface-3);outline:none}.cabinets-list-page .stats-section{gap:var(--space-3);display:flex}.cabinets-list-page .stats-section .stat-card{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:1;transition:all .2s}@media (hover:hover){.cabinets-list-page .stats-section .stat-card:hover{background:var(--surface-3)}}.cabinets-list-page .stats-section .stat-card .stat-value{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-1);font-variant-numeric:tabular-nums}.cabinets-list-page .stats-section .stat-card .stat-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.cabinets-list-page .cabinets-grid{gap:var(--space-3);flex-direction:column;display:flex}.cabinets-list-page .cabinets-grid .cabinet-card{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s}@media (hover:hover){.cabinets-list-page .cabinets-grid .cabinet-card:hover{background:var(--surface-3);border-color:var(--overlay-15)}}.cabinets-list-page .cabinets-grid .cabinet-card:active{transform:translateY(0)}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-main{margin-bottom:var(--space-3)}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-main .cabinet-number{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-main .cabinet-name{color:var(--text-secondary);font-size:var(--text-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;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{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);display:flex}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-meta .cabinet-location svg{color:var(--text-secondary)}.cabinets-list-page .cabinets-grid .cabinet-card .cabinet-meta .cabinet-arrow{color:var(--text-secondary);transition:all .2s}.cabinets-list-page .cabinets-grid .cabinet-card:hover .cabinet-arrow{color:var(--text-primary);transform:translate(2px)}.cabinets-list-page .empty-state{text-align:center;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:60px 20px}.cabinets-list-page .empty-state h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.cabinets-list-page .empty-state p{font-size:var(--text-base);margin:0;line-height:1.4}
.cabinet-page{gap:var(--space-6);flex-direction:column;width:100%;display:flex}.cabinet-page .error-state{text-align:center;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:60px 20px}.cabinet-page .error-state h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.cabinet-page .error-state p{font-size:var(--text-base);margin:0 0 var(--space-6) 0;line-height:1.4}.cabinet-page .error-state .retry-button{background:var(--overlay-10);color:var(--text-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:all .2s}@media (hover:hover){.cabinet-page .error-state .retry-button:hover{background:var(--overlay-15)}}.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:var(--radius-xs);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{width:auto;height:calc(200px + var(--app-top) + var(--space-2));margin:calc(-1*(var(--app-top) + var(--space-2))) calc(-1*var(--space-5)) 0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface-2);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.cabinet-page .cabinet-image img{object-fit:cover;width:100%;height:100%}.cabinet-page .cabinet-image .image-overlay{padding:calc(var(--space-3) + var(--app-top) + var(--space-3)) calc(var(--space-3)*2) var(--space-5);background:linear-gradient(#0000004d,#000000b3);justify-content:space-between;align-items:flex-end;display:flex;position:absolute;inset:0}.cabinet-page .cabinet-image .image-overlay .image-overlay__actions{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.cabinet-page .cabinet-image .image-overlay .navigation-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--overlay-20);color:var(--text-primary);cursor:pointer;border:1px solid var(--text-tertiary);transition:all .2s;display:flex}@media (hover:hover){.cabinet-page .cabinet-image .image-overlay .navigation-button:hover{background:var(--text-tertiary)}}.cabinet-page .cabinet-image .image-overlay .navigation-button:active{transform:translateY(0)}.cabinet-page .cabinet-image .image-overlay .cabinet-number{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--weight-bold)}.cabinet-page .cabinet-image .image-overlay .status-tag{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex}.cabinet-page .cabinet-image .image-overlay .status-tag.occupied{color:var(--text-primary);background:#ff4757e6}.cabinet-page .cabinet-image .image-overlay .status-tag.free{color:var(--text-primary);background:#2ed573e6}.cabinet-page .section-title{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.cabinet-page .info-section .info-card{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:var(--space-5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cabinet-page .info-section .info-card .info-main .cabinet-name{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);line-height:1.3}.cabinet-page .info-section .info-card .info-main .cabinet-details{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-normal);flex-wrap:wrap;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:var(--text-secondary)}.cabinet-page .current-lesson-card{background:var(--danger-soft);border-radius:var(--radius-lg);padding:var(--space-5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid #ff47574d}.cabinet-page .current-lesson-card .current-lesson-header{align-items:center;gap:var(--space-2);color:var(--danger);font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);display:flex}.cabinet-page .current-lesson-card .current-lesson-content .lesson-subject{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.cabinet-page .current-lesson-card .current-lesson-content .lesson-details{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-base);display:flex}.cabinet-page .current-lesson-card .current-lesson-content .lesson-details span:nth-child(2n){color:var(--text-secondary)}.cabinet-page .schedule-section .date-selector{margin-bottom:var(--space-3)}.cabinet-page .schedule-section .schedule-list{gap:var(--space-3);flex-direction:column;display:flex}.cabinet-page .schedule-section .empty-schedule{text-align:center;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:60px 20px}.cabinet-page .schedule-section .empty-schedule h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.cabinet-page .schedule-section .empty-schedule p{font-size:var(--text-base);margin:0;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)}}
