.material-icons{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Icons;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.container{flex-direction:column;gap:16px;max-width:600px;min-height:calc(100vh - 80px);margin:0 auto;padding:16px 16px 100px;display:flex;overflow-x:hidden}.schedule-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 0;display:flex}.schedule-title{color:var(--color-text);background:linear-gradient(135deg,var(--color-primary)0%,#7c5ac4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:28px;font-weight:700}.menu-button{background:var(--color-surface-container);cursor:pointer;width:40px;height:40px;color:var(--color-text);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.menu-button:hover{background:var(--color-surface-hover);transform:rotate(90deg)}.menu-button .material-icons{font-size:24px}.dropdown-backdrop{z-index:1500;background-color:#0006;animation:.2s fadeIn;position:fixed;inset:0}.dropdown-menu{background:var(--color-surface);z-index:1501;border-radius:16px;min-width:240px;padding:8px;animation:.2s slideDown;position:fixed;top:60px;right:16px;box-shadow:0 8px 24px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.dropdown-item:hover{background:var(--color-surface-hover);transform:translate(4px)}.dropdown-item .material-icons{color:var(--color-primary);font-size:22px}h1{color:var(--color-text);margin:0;font-size:24px}.linkButton{color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;width:fit-content;padding:8px 4px;font-size:16px;font-weight:500}.linkButton:hover{background-color:var(--color-surface-hover)}.card{background-color:var(--color-surface);-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:12px;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:12px;min-height:72px;padding:16px;display:flex;overflow-x:auto}.card::-webkit-scrollbar{display:none}.listCard{flex-flow:column wrap;flex-grow:1;align-items:stretch;gap:8px;min-height:300px;overflow-x:visible}.courseLabel{color:var(--color-text);white-space:nowrap;flex-shrink:0;margin-right:8px;font-weight:500}.courseButton{cursor:pointer;background-color:var(--color-surface-container);min-width:48px;min-height:48px;color:var(--color-text);border:none;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;padding:10px 16px;font-size:16px;font-weight:500;transition:all .2s;display:flex}.courseButton.active{background-color:var(--color-primary);color:var(--color-on-primary);transform:scale(1.05)}.groupGrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;width:100%;display:grid}.groupButton{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);text-align:center;background-color:#0000;border-radius:8px;padding:16px 8px;font-size:14px;font-weight:500}.groupButton.active{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.searchInput{border:1px solid var(--color-border);background-color:var(--color-surface-container);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:28px;padding:12px 16px;font-size:16px}.searchInput::placeholder{color:var(--color-secondary-text)}.searchInput:focus{outline:2px solid var(--color-primary);border-color:#0000}.teacherList{flex-direction:column;flex-grow:1;width:100%;margin-top:8px;display:flex;overflow-y:auto}.teacherButton{border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background-color:#0000;justify-content:space-between;align-items:center;padding:16px 8px;font-size:16px;display:flex}.teacherButton:hover{background-color:var(--color-surface-hover)}.teacherButton:last-child{border-bottom:none}.teacherButton.active{font-weight:700}.checkIcon{color:var(--color-primary);font-size:20px;font-weight:700}.fab-container{z-index:100;box-sizing:border-box;justify-content:center;max-width:600px;margin:0 auto;padding:0 16px;display:flex;position:fixed;bottom:24px;left:0;right:0}.fab{background-color:var(--color-primary);width:100%;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:16px;font-weight:500;transition:background-color .2s;display:flex;box-shadow:0 4px 12px #0003}.fab:hover{background-color:#5a3f9c}.schedule-tabs-container{-ms-overflow-style:none;scrollbar-width:none;width:100%;overflow-x:auto}.schedule-tabs-container::-webkit-scrollbar{display:none}.schedule-tabs{border-bottom:2px solid var(--color-surface-container);gap:8px;display:flex}.tab-button{color:var(--color-secondary-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 16px;font-size:14px;font-weight:500}.tab-button.active{color:var(--color-primary);border-bottom:2px solid var(--color-primary)}.schedule-list{flex-direction:column;gap:12px;display:flex}.lesson-card{background-color:var(--color-surface);text-align:left;box-sizing:border-box;border:none;border-radius:12px;align-items:flex-start;gap:12px;width:100%;min-height:104px;padding:16px;font-family:inherit;display:flex}.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-content{align-items:flex-start;min-height:40px;display:flex}.lesson-index{color:var(--color-secondary-text);min-width:20px;padding-top:2px;font-size:14px;font-weight:500}.lesson-content{flex-direction:column;flex-grow:1;gap:8px;display:flex}.lesson-name{color:var(--color-text);font-size:16px;font-weight:700}.lesson-details{color:var(--color-secondary-text);font-size:14px;line-height:1.4}.lesson-subgroup{color:var(--color-secondary-text);gap:12px;font-size:14px;display:flex}.lesson-time-with-icon{flex-direction:column;justify-content:space-between;align-items:flex-end;min-height:50px;display:flex}.lesson-time{color:var(--color-secondary-text);text-align:right;white-space:pre-wrap;font-size:14px;font-weight:500;line-height:1.4}.week-switcher-container{background-color:var(--color-surface);border-top:1px solid var(--color-border);box-sizing:border-box;z-index:50;justify-content:space-between;align-items:center;gap:8px;max-width:600px;margin:0 auto;padding:12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.back-button{text-align:center;background-color:var(--color-surface-container);width:48px;height:48px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:24px;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000001a}.back-button:hover{background-color:var(--color-surface-hover)}.week-switcher-button{background-color:var(--color-surface-container);cursor:pointer;border:none;border-radius:12px;flex-grow:1;justify-content:flex-start;align-items:center;gap:12px;min-height:48px;padding:12px 20px;transition:all .2s;display:flex}.week-switcher-button:hover{background-color:var(--color-surface-hover)}.week-switcher-button:disabled{opacity:.6;cursor:not-allowed}.week-text{color:var(--color-text);flex-direction:column;align-items:flex-start;font-size:14px;font-weight:500;line-height:1.2;display:flex}.week-name{font-size:15px;font-weight:600}.week-current{color:var(--color-secondary-text);align-items:center;gap:4px;font-size:12px;display:flex}.calendar-button{text-align:center;background-color:var(--color-surface-container);width:48px;height:48px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:24px;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000001a}.calendar-button:hover{background-color:var(--color-surface-hover)}.calendar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background-color:#0009;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.calendar-modal{background:linear-gradient(135deg,var(--color-surface)0%,#2a2a2a 100%);border-radius:24px;width:100%;max-width:380px;padding:24px;animation:.3s slideUp;box-shadow:0 12px 48px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-month-year{color:var(--color-text);text-transform:capitalize;font-size:18px;font-weight:600}.calendar-nav-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.calendar-nav-btn:hover{background-color:var(--color-surface-hover);transform:scale(1.1)}.calendar-nav-btn .material-icons{font-size:28px}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;display:grid}.calendar-weekday{text-align:center;color:var(--color-secondary-text);padding:8px 0;font-size:12px;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px;display:grid}.calendar-day{aspect-ratio:1;background:var(--color-surface-container);color:var(--color-text);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:all .2s;display:flex}.calendar-day:hover:not(.empty){background-color:var(--color-surface-hover);transform:scale(1.05)}.calendar-day.empty{cursor:default;background:0 0}.calendar-day.today{border:2px solid var(--color-primary)}.calendar-footer{border-top:1px solid #ffffff1a;justify-content:space-between;gap:12px;padding-top:16px;display:flex}.calendar-cancel-btn,.calendar-today-btn{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.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{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-background);border-radius:28px;flex-direction:column;gap:16px;width:100%;max-width:500px;padding:24px;display:flex;box-shadow:0 4px 12px #0000001a}.modal-content h3{color:var(--color-text);margin:0;font-size:20px}.modal-textarea{border:1px solid var(--color-border);background-color:var(--color-surface-container);width:100%;min-height:100px;color:var(--color-text);box-sizing:border-box;resize:vertical;border-radius:12px;padding:12px;font-family:inherit;font-size:16px}.modal-textarea:focus{outline:2px solid var(--color-primary);border-color:#0000}.modal-subgroup-selector{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.modal-subgroup-selector p{margin:0;font-weight:500}.modal-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.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%,#673ab71a 100%);transition:all .3s;transform:translateY(-2px);box-shadow:0 4px 12px #673ab74d}.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%,#673ab70d 100%)}.lesson-card.current-lesson.empty .lesson-name{color:var(--color-primary);opacity:.8}.lesson-card.class-hour{opacity:.9;background-color:var(--color-surface-container)!important;min-height:80px!important}.lesson-card.class-hour .lesson-content{gap:4px}.lesson-card.class-hour .lesson-details{color:var(--color-secondary-text);font-size:13px;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);transition:all .3s;transform:translateY(-2px);box-shadow:0 4px 12px #673ab74d;background:linear-gradient(135deg,var(--color-surface-container)0%,#673ab71a 100%)!important}.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{justify-content:center;margin-bottom:8px;display:flex}.overrides-toggle{background-color:var(--color-surface-container);border:2px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:24px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .3s;display:flex;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{color:#fff;background-color:#f44;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;animation:2s infinite pulse;display:flex;position:absolute;top:-6px;right:-6px}@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{align-items:center!important;min-height:60px!important;padding:12px 16px!important}.lesson-card.empty .lesson-content,.lesson-card.class-hour .lesson-content{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:4px!important;width:100%!important;min-height:auto!important}.lesson-card.empty .lesson-name,.lesson-card.class-hour .lesson-name{white-space:nowrap!important;margin:0!important;font-size:15px!important;line-height:1.2!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{white-space:nowrap!important;min-height:auto!important;color:var(--color-secondary-text)!important;margin:0!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important}.lesson-card.empty .lesson-time-with-icon,.lesson-card.class-hour .lesson-time-with-icon{flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:auto!important}.lesson-card.empty .lesson-name{color:var(--color-secondary-text)!important;font-weight:600!important}.lesson-card.class-hour .lesson-name{color:var(--color-text)!important;font-size:15px!important;font-weight:700!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{color:var(--color-secondary-text);font-size:14px;font-weight:500}.calendar-modal input[type=text]{font-family:inherit;transition:all .2s}.calendar-modal input[type=text]:focus{outline:none;box-shadow:0 0 0 2px #673ab733;border-color:var(--color-primary)!important}.calendar-modal input[type=text]::placeholder{color:var(--color-secondary-text);opacity:.7}.calendar-day{transition:all .2s;position:relative}.calendar-day:hover:not(.empty){background-color:var(--color-primary);color:var(--color-on-primary);transform:scale(1.1)}.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-day:hover:not(.empty):after{content:attr(title);background:var(--color-surface);color:var(--color-text);white-space:nowrap;z-index:10;border-radius:6px;margin-bottom:8px;padding:6px 12px;font-size:12px;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.note-modal{max-height:80vh;overflow-y:auto}.modal-textarea.large-textarea{resize:vertical;border-radius:16px;padding:16px;font-size:16px;line-height:1.5;min-height:200px!important}.edit-icons{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.note-icon{opacity:.8;color:var(--color-primary);justify-content:center;align-items:center;animation:2s infinite pulse-note;display:flex}@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;justify-content:center;align-items:center;display:flex}.lesson-card.clickable:hover .edit-icon{opacity:1;color:var(--color-primary)}.schedule-list{position:relative;overflow:hidden}.swipe-indicator{width:40px;height:40px;color:var(--color-primary);opacity:0;z-index:10;background:#673ab71a;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:opacity .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.swipe-indicator.left{left:10px}.swipe-indicator.right{right:10px}.schedule-list.swiping .swipe-indicator{opacity:1}.schedule-tabs{border-bottom:2px solid var(--color-surface-container);gap:4px;width:max-content;min-width:100%;padding-bottom:2px;display:flex}.tab-button{color:var(--color-secondary-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;min-width:60px;margin-bottom:-2px;padding:12px;font-size:13px;font-weight:500;transition:all .2s}.tab-button.active{color:var(--color-primary);border-bottom:2px solid var(--color-primary);font-weight:600}@media (max-width:480px){.card{gap:8px;min-height:64px;padding:12px}.courseButton{min-width:44px;min-height:44px;padding:8px 14px;font-size:15px}.courseLabel{margin-right:4px;font-size:15px}.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{min-width:50px;padding:10px 8px;font-size:12px}.schedule-tabs{gap:2px}.calendar-modal{max-width:340px;padding:16px}.calendar-day{font-size:13px}.calendar-modal input[type=text]{padding:10px 12px;font-size:14px}.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;min-height:60px;padding:10px}.courseButton{min-width:40px;min-height:40px;padding:6px 12px;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{min-width:45px;padding:10px 6px;font-size:11px}.groupGrid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px}}@media (min-width:481px) and (max-width:768px){.tab-button{min-width:80px;padding:12px 16px;font-size:14px}}@media (min-width:769px){.tab-button{min-width:100px;padding:12px 20px;font-size:14px}.swipe-hint{display:none}}.lesson-card .material-icons{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Icons;font-style:normal;font-weight:400;line-height:1;display:inline-block}.schedule-list{transition:transform .3s}.schedule-list.slide-left{opacity:.7;transform:translate(-10px)}.schedule-list.slide-right{opacity:.7;transform:translate(10px)}.swipe-hint{text-align:center;color:var(--color-secondary-text);opacity:.7;margin-top:8px;font-size:12px;animation:3s ease-in-out infinite fadeInOut}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:.7}}.debug-info{color:#666;margin-top:20px;font-size:12px}body{background-color:var(--color-background);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root{--color-background:#fff;--color-text:#1c1b1f;--color-primary:#6650a4;--color-on-primary:#fff;--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}}
