@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:root{--color-primary: #673ab7;--color-on-primary: #ffffff;--color-background: #121212;--color-surface: #1e1e1e;--color-surface-container: #252525;--color-surface-hover: #2d2d2d;--color-text: #ffffff;--color-secondary-text: #a0a0a0;--color-border: #333333}.container{display:flex;flex-direction:column;gap:16px;padding:16px 16px 100px;max-width:600px;margin:0 auto;min-height:calc(100vh - 80px);overflow-x:hidden}.schedule-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;margin-bottom:8px}.schedule-title{font-size:28px;font-weight:700;margin:0;color:var(--color-text);background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-button{background:var(--color-surface-container);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text)}.menu-button:hover{background:var(--color-surface-hover);transform:rotate(90deg)}.menu-button .material-icons{font-size:24px}.profile-switcher-container{display:flex;align-items:center;gap:12px;padding:8px 0;margin-bottom:8px}.profile-switcher{background:var(--color-surface-container);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--color-primary)}.profile-switcher:hover{background:var(--color-surface-hover);transform:scale(1.1)}.profile-switcher.rotating{animation:rotate .6s cubic-bezier(.4,0,.2,1)}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.profile-info{display:flex;flex-direction:column;gap:2px}.profile-name{font-size:14px;font-weight:600;color:var(--color-text)}.dropdown-backdrop{position:fixed;inset:0;background-color:#0006;z-index:1500;animation:fadeIn .2s ease}.dropdown-menu{position:fixed;top:60px;right:16px;background:var(--color-surface);border-radius:16px;padding:8px;min-width:240px;box-shadow:0 8px 24px #0000004d;animation:slideDown .2s ease;z-index:1501}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;border-radius:12px;color:var(--color-text);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-item:hover{background:var(--color-surface-hover);transform:translate(4px)}.dropdown-item .material-icons{font-size:22px;color:var(--color-primary)}h1{font-size:24px;margin:0;color:var(--color-text)}.linkButton{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:16px;font-weight:500;text-align:left;padding:8px 4px;border-radius:8px;width:fit-content}.linkButton:hover{background-color:var(--color-surface-hover)}.card{background-color:var(--color-surface);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:72px}.card::-webkit-scrollbar{display:none}.listCard{flex-grow:1;min-height:300px;flex-direction:column;align-items:stretch;gap:8px;overflow-x:visible;flex-wrap:wrap}.courseLabel{font-weight:500;color:var(--color-text);white-space:nowrap;flex-shrink:0;margin-right:8px}.courseButton{border:none;border-radius:20px;padding:10px 16px;min-width:48px;min-height:48px;font-size:16px;font-weight:500;cursor:pointer;background-color:var(--color-surface-container);color:var(--color-text);transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.courseButton.active{background-color:var(--color-primary);color:var(--color-on-primary);transform:scale(1.05)}.groupGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;width:100%}.groupButton{border:1px solid var(--color-border);border-radius:8px;padding:16px 8px;font-size:14px;font-weight:500;cursor:pointer;background-color:transparent;color:var(--color-text);text-align:center}.groupButton.active{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.searchInput{width:100%;padding:12px 16px;font-size:16px;border-radius:28px;border:1px solid var(--color-border);background-color:var(--color-surface-container);color:var(--color-text);box-sizing:border-box}.searchInput::placeholder{color:var(--color-secondary-text)}.searchInput:focus{outline:2px solid var(--color-primary);border-color:transparent}.teacherList{width:100%;flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;margin-top:8px}.teacherButton{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 8px;font-size:16px;background-color:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;cursor:pointer}.teacherButton:hover{background-color:var(--color-surface-hover)}.teacherButton:last-child{border-bottom:none}.teacherButton.active{font-weight:700}.checkIcon{font-size:20px;font-weight:700;color:var(--color-primary)}.fab-container{position:fixed;bottom:24px;left:0;right:0;display:flex;justify-content:center;z-index:100;max-width:600px;margin:0 auto;padding:0 16px;box-sizing:border-box}.fab{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;padding:16px 24px;font-size:16px;font-weight:500;border:none;border-radius:16px;background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 12px #0003;cursor:pointer;transition:background-color .2s ease}.fab:hover{background-color:#5a3f9c}.schedule-tabs-container{width:100%;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.schedule-tabs{display:flex;gap:4px;border-bottom:2px solid var(--color-surface-container);padding-bottom:2px;width:max-content;min-width:100%}.tab-button{background:none;border:none;color:var(--color-secondary-text);padding:12px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease;flex-shrink:0;min-width:60px}.tab-button.active{color:var(--color-primary);border-bottom:2px solid var(--color-primary);font-weight:600}.schedule-list{display:flex;flex-direction:column;gap:12px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.schedule-list.slide-left{animation:slideLeft .3s cubic-bezier(.4,0,.2,1)}.schedule-list.slide-right{animation:slideRight .3s cubic-bezier(.4,0,.2,1)}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.lesson-card{display:flex;gap:12px;background-color:var(--color-surface);border-radius:12px;padding:16px;border:none;width:100%;text-align:left;font-family:inherit;box-sizing:border-box;min-height:104px;align-items:flex-start;animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lesson-card.clickable{cursor:pointer}.lesson-card.clickable:hover{background-color:var(--color-surface-hover)}.lesson-card.empty{background-color:var(--color-surface);opacity:.7;align-items:flex-start;min-height:104px}.lesson-card.empty .lesson-name{color:var(--color-secondary-text);font-weight:400}.lesson-card.empty .lesson-content{min-height:40px;display:flex;align-items:flex-start}.lesson-index{font-size:14px;font-weight:500;color:var(--color-secondary-text);padding-top:2px;min-width:20px}.lesson-content{flex-grow:1;display:flex;flex-direction:column;gap:8px}.lesson-name{font-size:16px;font-weight:700;color:var(--color-text)}.lesson-details{font-size:14px;color:var(--color-secondary-text);line-height:1.4}.lesson-subgroup{display:flex;gap:12px;font-size:14px;color:var(--color-secondary-text)}.lesson-time-with-icon{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;min-height:50px}.lesson-time{font-size:14px;font-weight:500;color:var(--color-secondary-text);text-align:right;white-space:pre-wrap;line-height:1.4}.week-switcher-container{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:12px 16px;max-width:600px;margin:0 auto;box-sizing:border-box;z-index:50;gap:8px}.back-button{border-radius:50%;width:48px;height:48px;padding:0;font-size:24px;text-align:center;background-color:var(--color-surface-container);box-shadow:0 2px 6px #0000001a;color:var(--color-text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.back-button:hover{background-color:var(--color-surface-hover)}.week-switcher-button{display:flex;align-items:center;gap:12px;background-color:var(--color-surface-container);border:none;border-radius:12px;padding:12px 20px;cursor:pointer;flex-grow:1;justify-content:flex-start;transition:all .2s ease;min-height:48px}.week-switcher-button:hover{background-color:var(--color-surface-hover)}.week-switcher-button:disabled{opacity:.6;cursor:not-allowed}.week-text{display:flex;flex-direction:column;align-items:flex-start;font-size:14px;font-weight:500;color:var(--color-text);line-height:1.2}.week-name{font-weight:600;font-size:15px}.week-current{font-size:12px;color:var(--color-secondary-text);display:flex;align-items:center;gap:4px}.calendar-button{border-radius:50%;width:48px;height:48px;padding:0;font-size:24px;text-align:center;background-color:var(--color-surface-container);box-shadow:0 2px 6px #0000001a;color:var(--color-text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.calendar-button:hover{background-color:var(--color-surface-hover)}.calendar-backdrop{position:fixed;inset:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:16px;animation:fadeIn .2s ease}.calendar-modal{background:linear-gradient(135deg,var(--color-surface) 0%,#2a2a2a 100%);border-radius:24px;padding:24px;width:100%;max-width:380px;box-shadow:0 12px 48px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-month-year{font-size:18px;font-weight:600;color:var(--color-text);text-transform:capitalize}.calendar-nav-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.calendar-nav-btn:hover{background-color:var(--color-surface-hover);transform:scale(1.1)}.calendar-nav-btn .material-icons{font-size:28px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.calendar-weekday{text-align:center;font-size:12px;font-weight:600;color:var(--color-secondary-text);padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px}.calendar-day{aspect-ratio:1;border:none;background:var(--color-surface-container);color:var(--color-text);border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.calendar-day:hover:not(.empty){background-color:var(--color-primary);color:var(--color-on-primary);transform:scale(1.1)}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.selected{background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);color:#fff;font-weight:700;box-shadow:0 4px 12px #673ab766}.calendar-day.today:not(.selected){border:2px solid var(--color-primary);color:var(--color-primary);font-weight:600}.calendar-footer{display:flex;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.calendar-cancel-btn,.calendar-today-btn{flex:1;padding:12px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.calendar-cancel-btn{background-color:var(--color-surface-container);color:var(--color-text)}.calendar-cancel-btn:hover{background-color:var(--color-surface-hover)}.calendar-today-btn{background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);color:#fff;box-shadow:0 4px 12px #673ab74d}.calendar-today-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #673ab766}.calendar-cancel-btn .material-icons,.calendar-today-btn .material-icons{font-size:18px}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.modal-content{background-color:var(--color-background);border-radius:28px;padding:24px;width:100%;max-width:500px;display:flex;flex-direction:column;gap:16px;box-shadow:0 4px 12px #0000001a}.modal-content h3{margin:0;font-size:20px;color:var(--color-text)}.modal-textarea{width:100%;min-height:100px;padding:12px;font-size:16px;font-family:inherit;border-radius:12px;border:1px solid var(--color-border);background-color:var(--color-surface-container);color:var(--color-text);box-sizing:border-box;resize:vertical}.modal-textarea:focus{outline:2px solid var(--color-primary);border-color:transparent}.modal-subgroup-selector{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.modal-subgroup-selector p{margin:0;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.modal-actions .fab{width:auto;padding:12px 24px}.hidden-date-input{display:none}.lesson-card.current-lesson{border:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(103,58,183,.1) 100%);box-shadow:0 4px 12px #673ab74d;transform:translateY(-2px);transition:all .3s ease}.lesson-card.current-lesson .lesson-index,.lesson-card.current-lesson .lesson-name,.lesson-card.current-lesson .lesson-time{color:var(--color-primary);font-weight:700}.lesson-card.current-lesson.empty{background:linear-gradient(135deg,var(--color-surface) 0%,rgba(103,58,183,.05) 100%)}.lesson-card.current-lesson.empty .lesson-name{color:var(--color-primary);opacity:.8}.lesson-card.class-hour{min-height:80px!important;background-color:var(--color-surface-container)!important;opacity:.9}.lesson-card.class-hour .lesson-content{gap:4px}.lesson-card.class-hour .lesson-name{font-size:15px;font-weight:600;color:var(--color-text)}.lesson-card.class-hour .lesson-details{font-size:13px;color:var(--color-secondary-text);line-height:1.3}.lesson-card.class-hour .lesson-time{font-size:13px;line-height:1.3}.lesson-card.class-hour .lesson-index{visibility:hidden}.lesson-card.class-hour.current-lesson{border:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-surface-container) 0%,rgba(103,58,183,.1) 100%)!important;box-shadow:0 4px 12px #673ab74d;transform:translateY(-2px);transition:all .3s ease}.lesson-card.class-hour.current-lesson .lesson-name{color:var(--color-primary);font-weight:700}.lesson-card.class-hour.current-lesson .lesson-details{color:var(--color-primary);font-weight:500}.lesson-card.class-hour.current-lesson .lesson-time{color:var(--color-primary);font-weight:700}.overrides-toggle-container{display:flex;justify-content:center;margin-bottom:8px}.overrides-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--color-surface-container);border:2px solid var(--color-border);border-radius:24px;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative}.overrides-toggle:hover{background-color:var(--color-surface-hover);transform:translateY(-1px)}.overrides-toggle.active{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:0 4px 12px #673ab74d}.overrides-toggle.active:hover{background-color:#5a3f9c;transform:translateY(-1px)}.overrides-badge{position:absolute;top:-6px;right:-6px;background-color:#f44;color:#fff;border-radius:50%;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ff4444b3}50%{transform:scale(1.05);box-shadow:0 0 0 6px #f440}to{transform:scale(1);box-shadow:0 0 #f440}}.overrides-toggle .material-icons{font-size:18px}.lesson-card.empty,.lesson-card.class-hour{min-height:60px!important;padding:12px 16px!important;align-items:center!important}.lesson-card.empty .lesson-content,.lesson-card.class-hour .lesson-content{min-height:auto!important;gap:4px!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important}.lesson-card.empty .lesson-name,.lesson-card.class-hour .lesson-name{font-size:15px!important;line-height:1.2!important;margin:0!important;white-space:nowrap!important}.lesson-card.empty .lesson-details,.lesson-card.class-hour .lesson-details{font-size:12px!important;line-height:1.2!important;display:none!important}.lesson-card.empty .lesson-time,.lesson-card.class-hour .lesson-time{font-size:14px!important;font-weight:600!important;line-height:1.2!important;min-height:auto!important;white-space:nowrap!important;margin:0!important;color:var(--color-secondary-text)!important}.lesson-card.empty .lesson-time-with-icon,.lesson-card.class-hour .lesson-time-with-icon{min-height:auto!important;justify-content:center!important;flex-direction:row!important;align-items:center!important;gap:8px!important}.lesson-card.empty .lesson-name{color:var(--color-secondary-text)!important;font-weight:600!important}.lesson-card.class-hour .lesson-name{font-size:15px!important;font-weight:700!important;color:var(--color-text)!important}.lesson-card.empty .lesson-index,.lesson-card.class-hour .lesson-index{display:none!important}.lesson-card.empty.current-lesson,.lesson-card.class-hour.current-lesson{min-height:64px!important;transform:translateY(-1px)!important}.lesson-card:not(.empty):not(.class-hour) .lesson-time{font-size:14px;font-weight:500;color:var(--color-secondary-text)}.calendar-modal input[type=text]{font-family:inherit;transition:all .2s ease}.calendar-modal input[type=text]:focus{outline:none;border-color:var(--color-primary)!important;box-shadow:0 0 0 2px #673ab733}.calendar-modal input[type=text]::placeholder{color:var(--color-secondary-text);opacity:.7}.note-modal{max-height:80vh;overflow-y:auto}.modal-textarea.large-textarea{min-height:200px!important;font-size:16px;line-height:1.5;padding:16px;border-radius:16px;resize:vertical}.edit-icons{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.note-icon{opacity:.8;animation:pulse-note 2s infinite;color:var(--color-primary);display:flex;align-items:center;justify-content:center}@keyframes pulse-note{0%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(1)}}.edit-icon{color:var(--color-secondary-text);opacity:.7;display:flex;align-items:center;justify-content:center}.lesson-card.clickable:hover .edit-icon{opacity:1;color:var(--color-primary)}.swipe-hint{text-align:center;color:var(--color-secondary-text);font-size:12px;margin-top:8px;opacity:.7;animation:fadeInOut 3s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:.7}}.debug-info{margin-top:20px;font-size:12px;color:#666}@media(max-width:480px){.card{gap:8px;padding:12px;min-height:64px}.courseButton{padding:8px 14px;min-width:44px;min-height:44px;font-size:15px}.courseLabel{font-size:15px;margin-right:4px}.lesson-card.empty,.lesson-card.class-hour{min-height:56px!important;padding:10px 12px!important}.lesson-card.empty .lesson-name,.lesson-card.class-hour .lesson-name{font-size:14px!important}.lesson-card.empty .lesson-time,.lesson-card.class-hour .lesson-time{font-size:13px!important}.lesson-card.empty .lesson-time-with-icon,.lesson-card.class-hour .lesson-time-with-icon{gap:6px!important}.tab-button{padding:10px 8px;font-size:12px;min-width:50px}.schedule-tabs{gap:2px}.calendar-modal{padding:16px;max-width:340px}.calendar-day{font-size:13px}.calendar-modal input[type=text]{font-size:14px;padding:10px 12px}.modal-textarea.large-textarea{min-height:150px!important}.note-icon .material-icons,.edit-icon .material-icons{font-size:16px!important}.groupGrid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}}@media(max-width:360px){.card{gap:6px;padding:10px;min-height:60px}.courseButton{padding:6px 12px;min-width:40px;min-height:40px;font-size:14px}.courseLabel{font-size:14px}.lesson-card.empty .lesson-name,.lesson-card.class-hour .lesson-name{font-size:13px!important}.lesson-card.empty .lesson-time,.lesson-card.class-hour .lesson-time{font-size:12px!important}.tab-button{padding:10px 6px;font-size:11px;min-width:45px}.groupGrid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px}}@media(min-width:481px)and (max-width:768px){.tab-button{padding:12px 16px;font-size:14px;min-width:80px}}@media(min-width:769px){.tab-button{padding:12px 20px;font-size:14px;min-width:100px}.swipe-hint{display:none}}.lesson-card .material-icons{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.schedule-tabs-container{width:100%;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;position:relative}.schedule-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-surface-container);padding-bottom:2px;width:max-content;min-width:100%;position:relative}.tab-button{background:none;border:none;color:var(--color-secondary-text);padding:16px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .4s cubic-bezier(.4,0,.2,1);flex-shrink:0;min-width:80px;position:relative;overflow:hidden}.tab-button:not(.active):hover{color:var(--color-text);background:#673ab71a;transform:translateY(-1px)}.tab-button.active{color:var(--color-primary);font-weight:600}.tab-button-content{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;transition:all .3s ease}.tab-indicator{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);width:24px;height:3px;background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);border-radius:2px;animation:tabIndicatorSlide .4s cubic-bezier(.4,0,.2,1)}@keyframes tabIndicatorSlide{0%{transform:translate(-50%) scaleX(0);opacity:0}to{transform:translate(-50%) scaleX(1);opacity:1}}.tab-button.no-transition{transition:none!important}.schedule-list{display:flex;flex-direction:column;gap:12px;transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative}.schedule-list.slide-left{animation:slideContentLeft .4s cubic-bezier(.4,0,.2,1) both}.schedule-list.slide-right{animation:slideContentRight .4s cubic-bezier(.4,0,.2,1) both}@keyframes slideContentLeft{0%{opacity:1;transform:translate(0)}50%{opacity:.3;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideContentRight{0%{opacity:1;transform:translate(0)}50%{opacity:.3;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.lesson-card{display:flex;gap:12px;background-color:var(--color-surface);border-radius:16px;padding:20px;border:none;width:100%;text-align:left;font-family:inherit;box-sizing:border-box;min-height:104px;align-items:flex-start;animation:cardSlideIn .6s cubic-bezier(.4,0,.2,1) both;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.lesson-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.lesson-card:hover:before{left:100%}.lesson-card:nth-child(1){animation-delay:.05s}.lesson-card:nth-child(2){animation-delay:.1s}.lesson-card:nth-child(3){animation-delay:.15s}.lesson-card:nth-child(4){animation-delay:.2s}.lesson-card:nth-child(5){animation-delay:.25s}.lesson-card:nth-child(6){animation-delay:.3s}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}50%{transform:translateY(-5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.lesson-card.clickable{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.lesson-card.clickable:hover{background-color:var(--color-surface-hover);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #00000026}.lesson-card.current-lesson{border:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(103,58,183,.15) 100%);box-shadow:0 8px 32px #673ab74d;transform:translateY(-2px) scale(1.02);animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 8px 32px #673ab74d}50%{box-shadow:0 8px 40px #673ab780}}.swipe-hint{text-align:center;color:var(--color-secondary-text);font-size:14px;margin:16px 0;opacity:.8;display:flex;align-items:center;justify-content:center;gap:8px;animation:fadeInOut 3s ease-in-out infinite;transition:all .3s ease}.swipe-hint .material-icons{font-size:18px;animation:swipeHintIcon 2s ease-in-out infinite}@keyframes swipeHintIcon{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.week-switcher-button{display:flex;align-items:center;gap:12px;background-color:var(--color-surface-container);border:none;border-radius:16px;padding:16px 24px;cursor:pointer;flex-grow:1;justify-content:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:56px;position:relative;overflow:hidden}.week-switcher-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(103,58,183,.1),transparent);transition:left .6s ease}.week-switcher-button:hover:before{left:100%}.week-switcher-button:hover{background-color:var(--color-surface-hover);transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.schedule-list:empty:before{content:"Загрузка...";text-align:center;color:var(--color-secondary-text);font-size:16px;padding:40px;animation:pulseLoading 1.5s ease-in-out infinite}@keyframes pulseLoading{0%,to{opacity:.6}50%{opacity:1}}.overrides-toggle{display:flex;align-items:center;gap:12px;padding:16px 24px;background-color:var(--color-surface-container);border:2px solid var(--color-border);border-radius:28px;color:var(--color-text);font-size:15px;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.overrides-toggle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(103,58,183,.1),transparent);transition:left .6s ease}.overrides-toggle:hover:before{left:100%}.overrides-toggle:hover{background-color:var(--color-surface-hover);transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.overrides-toggle.active{background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);color:var(--color-on-primary);border-color:transparent;box-shadow:0 8px 32px #673ab766;transform:translateY(-2px)}.overrides-toggle.active:hover{transform:translateY(-3px);box-shadow:0 12px 40px #673ab780}.back-button,.calendar-button{border-radius:50%;width:56px;height:56px;padding:0;font-size:24px;text-align:center;background-color:var(--color-surface-container);box-shadow:0 4px 12px #0000001a;color:var(--color-text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.back-button:before,.calendar-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(103,58,183,.1),transparent);transition:left .6s ease}.back-button:hover:before,.calendar-button:hover:before{left:100%}.back-button:hover,.calendar-button:hover{background-color:var(--color-surface-hover);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #00000026}.schedule-tabs-container{scroll-behavior:smooth}@media(max-width:480px){.tab-button{padding:14px 12px;font-size:13px;min-width:70px}.tab-indicator{bottom:-16px;width:20px}.lesson-card{padding:16px;border-radius:14px}.swipe-hint{font-size:13px}}@media(prefers-reduced-motion:reduce){.lesson-card,.tab-button,.week-switcher-button,.overrides-toggle,.back-button,.calendar-button{animation:none!important;transition:none!important}.schedule-list.slide-left,.schedule-list.slide-right{animation:none!important}}.profile-switcher-container{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:8px;background:var(--color-surface-container);border-radius:16px;border:1px solid var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1)}.profile-switcher-container:hover{background:var(--color-surface-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.profile-switcher{background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff;position:relative;overflow:hidden}.profile-switcher:hover:not(:disabled){transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #673ab766}.profile-switcher:disabled{opacity:.6;cursor:not-allowed}.profile-switcher.rotating{animation:rotateSwitch .6s cubic-bezier(.4,0,.2,1)}@keyframes rotateSwitch{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.profile-info-only{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:8px;background:var(--color-surface-container);border-radius:16px;border:1px solid var(--color-border)}.profile-info-only .profile-info{display:flex;flex-direction:column;gap:4px;flex:1}.profile-switcher-container.switching{opacity:.7;pointer-events:none}.profile-info-only{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:8px;background:var(--color-surface-container);border-radius:16px;border:1px solid var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1)}.profile-info-only:hover{background:var(--color-surface-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.profile-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);border-radius:50%;color:#fff}.profile-icon .material-icons{font-size:20px}.profile-info{display:flex;flex-direction:column;gap:4px;flex:1}.profile-type{font-size:12px;color:var(--color-secondary-text);font-weight:500}.profile-name{font-size:16px;font-weight:600;color:var(--color-text)}.profile-hint{font-size:11px;color:var(--color-secondary-text);opacity:.8}.add-profile-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#673ab71a;border:1px solid var(--color-primary);border-radius:12px;color:var(--color-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.add-profile-button:hover{background:var(--color-primary);color:#fff;transform:scale(1.05)}.add-profile-button .material-icons{font-size:16px}.add-profile-text{font-size:11px;font-weight:600}@media(max-width:480px){.profile-info-only{gap:12px;padding:10px 12px}.add-profile-button{padding:6px 10px}.add-profile-text{display:none}}.schedule-tabs-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.schedule-tabs-container::-webkit-scrollbar{display:none}.schedule-tabs{display:flex;min-width:min-content;padding:0 8px}.tab-button{flex-shrink:0;min-width:120px}.history-modal-backdrop{position:fixed;inset:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-end;z-index:2000;animation:fadeIn .3s ease}.history-modal{background:var(--color-surface);border-top-left-radius:24px;border-top-right-radius:24px;padding:24px;width:100%;max-width:600px;box-shadow:0 -12px 48px #00000080;animation:slideUpFromBottom .4s cubic-bezier(.4,0,.2,1);max-height:85vh;display:flex;flex-direction:column;box-sizing:border-box}@keyframes slideUpFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.history-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.history-modal-title{font-size:22px;font-weight:700;color:var(--color-text);margin:0}.history-modal-close-btn{background:var(--color-surface-container);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text)}.history-modal-close-btn:hover{background:var(--color-surface-hover);transform:rotate(90deg)}.history-modal-content{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:12px;margin-right:-12px}.history-modal-content::-webkit-scrollbar{width:6px}.history-modal-content::-webkit-scrollbar-track{background:var(--color-surface);border-radius:3px}.history-modal-content::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:3px}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--color-secondary-text)}.history-empty .material-icons{font-size:48px;color:var(--color-primary);opacity:.7;margin-bottom:16px}.history-empty span{font-size:16px;font-weight:600;color:var(--color-text)}.history-empty p{font-size:14px;margin-top:8px}.history-list{display:flex;flex-direction:column;gap:16px;padding-bottom:16px}.history-entry-card{background:var(--color-surface-container);border-radius:16px;padding:16px;border:none;box-shadow:0 4px 12px #0000001a}.history-entry-date{font-size:18px;font-weight:700;color:var(--color-primary);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border);text-transform:capitalize}.history-override-list{display:flex;flex-direction:column;gap:16px}.history-override-item{display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--color-border);padding-bottom:12px}.history-override-list>.history-override-item:last-child{border-bottom:none;padding-bottom:0}.history-lesson-index{font-size:16px;color:var(--color-text);font-weight:700}.history-columns{display:flex;flex-direction:row;gap:16px}.history-column{flex:1;display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-radius:12px;min-height:60px;background:var(--color-surface);border:1px solid var(--color-border)}.history-column-header{font-size:13px;font-weight:700;text-transform:uppercase;opacity:1;margin-bottom:4px}.history-column-was .history-column-header{color:#ff8a80}.history-column-became{border:1px solid var(--color-primary)}.history-column-became .history-column-header{color:var(--color-primary)}.history-lesson{color:var(--color-text);font-size:15px;font-weight:500;font-style:normal;line-height:1.5;word-break:break-word}.history-lesson.no-lesson{color:var(--color-secondary-text);opacity:.8;font-style:italic;font-weight:400}.history-column-was .history-lesson.no-lesson{text-decoration:line-through}@media(max-width:480px){.history-modal{padding:16px}.history-entry-card{padding:12px}.history-entry-date{font-size:16px;margin-bottom:12px;padding-bottom:12px}.history-columns{flex-direction:column;gap:12px}.history-column{flex-basis:auto;padding:12px}.history-lesson-index{font-size:15px}.history-lesson{font-size:14px}}.add-course-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-label{font-size:12px;font-weight:600;color:var(--color-secondary-text);margin-left:4px}.form-input,.form-select{width:100%;padding:14px;font-size:16px;border-radius:12px;border:1px solid var(--color-border);background-color:var(--color-surface-container);color:var(--color-text);box-sizing:border-box;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #673ab733}.add-course-btn{margin-top:8px;width:100%;padding:16px;background:linear-gradient(135deg,var(--color-primary) 0%,#7c5ac4 100%);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #673ab74d}.add-course-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #673ab766}.delete-course-btn{padding:8px;background:#ff44441a;color:#f44;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;transition:all .2s ease}.delete-course-btn:hover{background:#f443;transform:scale(1.1)}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:flex-end;z-index:3000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.modal-content{background-color:var(--color-surface);width:100%;max-width:600px;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000004d;display:flex;flex-direction:column;max-height:85vh;animation:slideUpBottom .3s cubic-bezier(.16,1,.3,1);border-top:1px solid var(--color-border);margin-bottom:0}.modal-content:before{content:"";display:block;width:40px;height:4px;background-color:var(--color-border);margin:12px auto 4px;border-radius:2px;opacity:.5}.modal-header{padding:12px 16px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:20px;font-weight:600;display:flex;align-items:center;gap:10px;color:var(--color-text)}.close-button{background:var(--color-surface-container);border:none;color:var(--color-text);cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:var(--color-primary);color:#fff}.modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.note-card{background-color:var(--color-surface-container);border:1px solid var(--color-border);border-radius:16px;padding:16px 20px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start}.note-group-name{font-size:17px;font-weight:700;color:var(--color-primary);margin-bottom:4px}.note-date-info{font-size:13px;color:var(--color-secondary-text);display:flex;align-items:center;gap:6px}.note-badge{font-size:12px;color:var(--color-text);background-color:var(--color-surface);padding:4px 10px;border-radius:8px;font-weight:500;border:1px solid var(--color-border);white-space:nowrap}.note-content{font-size:16px;white-space:pre-wrap;color:var(--color-text);line-height:1.5;padding-top:10px;border-top:1px solid var(--color-border)}@keyframes slideUpBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.driver-active .driver-overlay{z-index:9000!important;opacity:.85!important}.driver-active .driver-popover{z-index:9100!important}.driver-active-element{z-index:9001!important;background:transparent!important;box-shadow:0 0 0 2px #d0bcffcc!important;border-radius:8px!important;pointer-events:none!important;outline:none!important}.driver-popover.driverjs-theme{background-color:#252529!important;color:#ede7f6!important;border:1px solid #4a4458!important;border-radius:20px!important;box-shadow:0 10px 40px #000000e6!important;padding:20px!important;max-width:300px!important;min-width:260px!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important}.driver-popover.driverjs-theme .driver-popover-title{font-family:-apple-system,sans-serif!important;font-size:18px!important;font-weight:700!important;color:#d0bcff!important;margin:0 0 8px!important;line-height:1.3!important;text-shadow:none!important}.driver-popover.driverjs-theme .driver-popover-description{font-family:-apple-system,sans-serif!important;font-size:14px!important;line-height:1.5!important;color:#e6e1e5!important;margin:0 0 20px!important;font-weight:400!important;text-shadow:none!important}.driver-popover.driverjs-theme .driver-popover-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:0!important;gap:12px!important}.driver-popover.driverjs-theme .driver-popover-prev-btn{all:unset!important;color:#999!important;font-family:-apple-system,sans-serif!important;font-size:14px!important;font-weight:500!important;padding:8px 12px!important;cursor:pointer!important;background:transparent!important;border-radius:8px!important;box-sizing:border-box!important}.driver-popover.driverjs-theme .driver-popover-prev-btn:hover{color:#fff!important;background-color:#ffffff1a!important}.driver-popover.driverjs-theme .driver-popover-next-btn,.driver-popover.driverjs-theme .driver-popover-done-btn{all:unset!important;background-color:#d0bcff!important;color:#381e72!important;font-family:-apple-system,sans-serif!important;font-size:14px!important;font-weight:600!important;border-radius:12px!important;padding:10px 0!important;cursor:pointer!important;text-align:center!important;flex:1!important;display:flex!important;justify-content:center!important;align-items:center!important;box-sizing:border-box!important}.driver-popover.driverjs-theme .driver-popover-next-btn:active{background-color:#e8def8!important;transform:scale(.98)}.driver-popover.driverjs-theme .driver-popover-close-btn,.driver-popover.driverjs-theme .driver-popover-arrow{display:none!important}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.offline-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#ff980026;border:1px solid rgba(255,152,0,.3);border-radius:12px;margin-bottom:8px;animation:fadeIn .3s ease}.offline-banner span:first-child{color:#ff9800;font-size:20px}.offline-banner span:last-child{font-size:14px;font-weight:600;color:#ffb74d}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes tail{0%{transform:rotate(60deg)}50%{transform:rotate(0)}to{transform:rotate(-20deg)}}@keyframes zzz{0%{color:transparent}50%{color:var(--color-primary)}to{color:transparent}}@keyframes slideUpSnack{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}.tab-button-content{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 0}.tab-day-name{font-size:14px;font-weight:700;color:var(--color-text);opacity:.6}.tab-day-date{font-size:14px;font-weight:700;color:var(--color-text);white-space:nowrap;opacity:.6}.tab-button.active .tab-day-name,.tab-button.active .tab-day-date{color:#8c67f6;opacity:1}.tab-indicator{margin-top:4px!important;height:3px!important;border-radius:4px!important}.calendar-modal-modern{background:var(--color-surface);width:90%;max-width:360px;border-radius:28px;padding:24px;box-shadow:0 20px 40px #0006;animation:slideUp .3s cubic-bezier(.2,.8,.2,1);border:1px solid var(--color-border)}.calendar-header-modern{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-month-year{font-size:18px;font-weight:800;text-transform:capitalize;color:var(--color-text)}.calendar-nav-btn{background:var(--color-surface-container);border:none;color:var(--color-text);width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer}.calendar-input-section{margin-bottom:24px}.input-modern-wrapper{display:flex;align-items:center;background:var(--color-surface-container);padding:0 16px;border-radius:16px;border:2px solid transparent;transition:all .2s}.input-modern-wrapper:focus-within{border-color:var(--color-primary);background:var(--color-surface)}.input-modern-wrapper input{background:transparent;border:none;color:var(--color-text);padding:14px 0;font-size:16px;width:100%;outline:none;font-family:"monospace";text-align:center;letter-spacing:2px}.calendar-weekdays-modern{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:12px}.calendar-weekday{font-size:13px;font-weight:700;color:var(--color-primary);opacity:.8}.calendar-days-modern{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:24px}.calendar-day-modern{aspect-ratio:1;border:none;background:transparent;color:var(--color-text);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;position:relative}.calendar-day-modern.today{color:var(--color-primary)}.calendar-day-modern.selected{background:var(--color-primary)!important;color:#fff!important}.calendar-day-modern.disabled{opacity:.2;cursor:not-allowed}.calendar-footer-modern{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-btn-primary{background:var(--color-primary);color:#fff;padding:14px;border-radius:16px;border:none;font-weight:700;cursor:pointer}.calendar-btn-secondary{background:var(--color-surface-container);color:var(--color-text);padding:14px;border-radius:16px;border:none;font-weight:700;cursor:pointer}.cat-loader-container{width:fit-content;height:fit-content;display:flex;align-items:center;justify-content:center;margin:50px auto}.cat-wrapper{width:fit-content;height:fit-content;display:flex;flex-direction:column;justify-content:center;align-items:center}.cat-svg-container{width:100%;height:fit-content;display:flex;align-items:center;justify-content:center;position:relative}.cat-body{width:80px;fill:var(--color-text)}.cat-tail{position:absolute;width:17px;top:50%;animation:tail .5s ease-in infinite alternate-reverse;transform-origin:top;fill:var(--color-text)}.cat-wall{width:300px;stroke:var(--color-border)}.cat-text-container{display:flex;flex-direction:column;width:50px;position:absolute;margin:0 0 100px 120px}.cat-zzz{color:var(--color-primary);font-weight:700;font-size:15px;animation:zzz 2s linear infinite}.cat-bigzzz{color:var(--color-primary);font-weight:700;font-size:25px;margin-left:10px;animation:zzz 2.3s linear infinite}.dropdown-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.dropdown-menu-attached{position:absolute;top:120%;right:0;background:var(--color-surface);border-radius:18px;box-shadow:0 10px 40px #00000040;padding:8px;width:260px;z-index:1001;border:1px solid var(--color-border);animation:scaleIn .2s ease forwards;transform-origin:top right}.dropdown-item{width:100%;display:flex;align-items:center;padding:12px 14px;border:none;background:transparent;font-size:14px;font-weight:700;cursor:pointer;border-radius:12px;transition:all .15s;text-align:left;gap:14px}.dropdown-item .material-icons{font-size:22px;color:#a88dff}.dropdown-item span{color:var(--color-text);opacity:.9}.dropdown-item:hover{background:var(--color-surface-container);transform:translate(4px)}@media(prefers-color-scheme:dark){.dropdown-menu-attached{background:#1a1a1ae6}.dropdown-item span{color:#fff}}@media(prefers-color-scheme:light){.dropdown-menu-attached{background:#ffffffe6}.dropdown-item span{color:#1a1a1a}}.modern-snackbar{position:fixed;bottom:40px;left:50%;transform:translate(-50%);width:90%;max-width:380px;background:#141414d9;-webkit-backdrop-filter:blur(166px);backdrop-filter:blur(166px);color:#fff;border-radius:24px;box-shadow:0 20px 50px #0000004d;z-index:2100;overflow:hidden;animation:slideUpSnack .5s ease;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;padding-right:6px}@media(prefers-color-scheme:light){.modern-snackbar{background:#ffffffd9;color:#000;border:1px solid rgba(0,0,0,.05)}.snackbar-title{color:#000}.snackbar-message{color:#000000b3}.snackbar-btn{background:#0000000d;color:#000}.snackbar-left-border{background:#6200ea}}.snackbar-left-border{width:4px;height:40px;background:#fff;border-radius:10px;margin-left:16px}.snackbar-content{display:flex;align-items:center;padding:14px 16px;gap:14px;flex:1}.snackbar-icon-area{width:40px;height:40px;background:linear-gradient(135deg,#6200ea,#9d46ff);border-radius:50%;display:flex;align-items:center;justify-content:center}.snackbar-text-area{flex:1;display:flex;flex-direction:column;justify-content:center}.snackbar-title{font-weight:800;font-size:14px;margin-bottom:2px}.snackbar-message{font-size:12px;opacity:.8;line-height:1.3}.snackbar-btn{padding:8px 14px;background:#ffffff26;border:none;border-radius:14px;color:inherit;font-weight:700;font-size:12px;cursor:pointer}.monitoring-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;animation:mFadeIn .3s ease}@keyframes mFadeIn{0%{opacity:0}to{opacity:1}}.monitoring-card{background:var(--color-surface, #1c1c1e);width:100%;max-width:850px;border-radius:36px;padding:32px;color:var(--color-text, #fff);border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 100px #0009;display:flex;flex-direction:column;max-height:90vh}.monitoring-header{margin-bottom:30px;flex-shrink:0}.monitoring-nav{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px}.nav-arrow.active{background:var(--color-primary, #8c67f6)!important;color:#fff!important;border-radius:16px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 8px 25px #8c67f680;transition:all .25s cubic-bezier(.175,.885,.32,1.275);opacity:1!important;z-index:5}.nav-arrow.active:active{transform:scale(.9) rotate(-5deg)}.nav-arrow.active .material-icons{font-size:36px!important;color:#fff!important}.nav-title{text-align:center;flex:1}.nav-title h3{margin:0;font-weight:950;font-size:32px;letter-spacing:-1px;color:var(--color-text)}.nav-title p{opacity:.6;margin:8px 0 0;text-transform:capitalize;font-weight:800;font-size:17px;color:var(--color-text)}.monitoring-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:300px}.monitoring-table-wrapper{overflow-y:auto;overflow-x:auto;margin-bottom:25px;border-radius:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);flex:1;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent}.monitoring-table{width:100%;border-collapse:separate;border-spacing:0;min-width:600px}.sticky-header{position:sticky;top:0;z-index:10;background:var(--color-surface, #1c1c1e);padding:24px!important;box-shadow:0 4px 12px #0000004d;color:var(--color-primary, #8c67f6)!important;font-weight:950!important;font-size:20px!important;text-transform:uppercase;border-bottom:2px solid rgba(255,255,255,.1)}.monitoring-table td{padding:22px;text-align:center;border-bottom:1px solid rgba(255,255,255,.04);border-right:1px solid rgba(255,255,255,.04)}.group-name-cell{position:sticky;left:0;z-index:5;text-align:center!important;font-weight:900;font-size:19px;background:var(--color-surface, #1c1c1e);color:var(--color-text);min-width:130px}.slot-cell{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:1px}.slot-cell.free{color:#4cd964;background:#4cd9641f}.slot-cell.busy{color:#ffffff1a;font-weight:700}.monitoring-close-btn{width:100%;padding:22px;border-radius:24px;border:none;background:var(--color-primary, #8c67f6);color:#fff;font-weight:900;cursor:pointer;font-size:17px;transition:all .2s;box-shadow:0 6px 25px #8c67f666;flex-shrink:0}.monitoring-close-btn:active{transform:translateY(2px);box-shadow:none}.monitoring-loader{padding:120px 0;text-align:center;font-weight:900;opacity:.5;font-size:20px}@media(prefers-color-scheme:light){.monitoring-overlay{background:#00000080}.monitoring-card{background:#fff;border-color:#0000001a;box-shadow:0 40px 100px #0003;color:#000}.monitoring-table-wrapper{background:#f8f9fa;border-color:#00000014}.sticky-header{background:#fff;color:#8c67f6!important;border-bottom:3px solid #eee;box-shadow:0 2px 8px #00000014;font-size:20px!important}.group-name-cell{background:#fff;color:#000;font-size:19px}.slot-cell.busy{color:#0000002e;background:#fafafa}.slot-cell.free{background:#4cd9642e;color:#1e7e34}.monitoring-table td{border-color:#eee}.nav-arrow.active{box-shadow:0 8px 20px #8c67f666}.nav-title h3,.nav-title p{color:#000}.monitoring-close-btn{box-shadow:0 6px 20px #8c67f64d}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--color-background)}:root{--color-background: #fff;--color-text: #1c1b1f;--color-primary: #6650a4;--color-on-primary: #ffffff;--color-surface: #f3edff;--color-surface-container: #e8def8;--color-surface-hover: #e6e0e9;--color-secondary-text: #625b71;--color-border: #cac4d0}@media(prefers-color-scheme:dark){:root{--color-background: #1c1b1f;--color-text: #e6e1e5;--color-primary: #d0bcff;--color-on-primary: #381e72;--color-surface: #2b2930;--color-surface-container: #4a4458;--color-surface-hover: #36343b;--color-secondary-text: #c8c5d0;--color-border: #908f94}}
