:root{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2d2d2d;--bg-card:#242424;--accent-primary:#6c5ce7;--accent-secondary:#a29bfe;--text-primary:#fff;--text-secondary:#e0e0e0;--text-muted:#a0a0a0;--border-color:#404040;--success:#00b894;--warning:#fdcb6e;--error:#d63031;--current-class:#ff5252;--lecture:#6c5ce7;--practice:#00b894;--lab:#fd79a8}*{box-sizing:border-box;margin:0}*,body{padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121212;background-color:var(--bg-primary);color:#e0e0e0;color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.App{margin:0 auto;max-width:1400px;padding:clamp(12px,3vw,24px)}.app-header{border-bottom:1px solid #404040;border-bottom:1px solid var(--border-color);margin-bottom:clamp(20px,4vw,30px);padding-bottom:clamp(15px,3vw,20px);text-align:center}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6c5ce7,#a29bfe);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;background-clip:text;color:#fff;color:var(--text-primary);font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800;margin-bottom:clamp(8px,2vw,10px)}.app-subtitle{color:#a0a0a0;color:var(--text-muted);font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:400}.controls{background:#1e1e1e;background:var(--bg-secondary);border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;gap:clamp(16px,3vw,24px);margin-bottom:clamp(20px,4vw,30px);padding:clamp(16px,3vw,24px)}.view-mode-selector{background:#2d2d2d;background:var(--bg-tertiary);border-radius:12px;display:flex;gap:clamp(8px,2vw,12px);justify-content:center;margin:0 auto;padding:clamp(6px,1.5vw,8px);width:fit-content}.view-mode-btn{background:#0000;border:none;border-radius:8px;color:#e0e0e0;color:var(--text-secondary);cursor:pointer;font-size:clamp(.85rem,2vw,1rem);font-weight:600;padding:clamp(10px,2vw,12px) clamp(16px,3vw,24px);transition:all .3s ease}.view-mode-btn.active{background:#6c5ce7;background:var(--accent-primary);box-shadow:0 4px 12px #6c5ce74d;color:#fff;color:var(--text-primary)}.view-mode-btn:hover:not(.active){background:#6c5ce71a}.group-selector-container,.professor-selector-container{display:flex;flex-direction:column;gap:clamp(12px,2.5vw,16px)}.search-container{position:relative;width:100%}.group-search-dropdown,.professor-search-dropdown{border:2px solid #404040;border:2px solid var(--border-color)}.subgroup-selector{align-items:center;background:#2d2d2d;background:var(--bg-tertiary);border-radius:12px;display:flex;gap:clamp(8px,2vw,12px);padding:clamp(12px,2.5vw,14px)}.subgroup-selector label{color:#fff;color:var(--text-primary);font-size:clamp(.9rem,2.5vw,1rem);font-weight:600;white-space:nowrap}.subgroup-selector select{background:#1e1e1e;background:var(--bg-secondary);border:2px solid #404040;border:2px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:clamp(.85rem,2.5vw,.95rem);padding:clamp(8px,2vw,10px) clamp(12px,2.5vw,14px)}.mobile-week-navigation,.navigation-buttons{align-items:center;display:flex;gap:clamp(16px,3vw,20px);justify-content:center}.mobile-nav-button,.nav-button{align-items:center;background:#2d2d2d;background:var(--bg-tertiary);border:2px solid #404040;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;height:clamp(44px,8vw,50px);justify-content:center;transition:all .3s ease;width:clamp(44px,8vw,50px)}.mobile-nav-button:hover,.nav-button:hover{background:#6c5ce7;background:var(--accent-primary);border-color:#6c5ce7;border-color:var(--accent-primary);transform:scale(1.05)}.nav-icon{color:#fff;height:clamp(20px,4vw,24px);width:clamp(20px,4vw,24px)}.week-schedule{grid-gap:clamp(16px,3vw,20px);display:grid;gap:clamp(16px,3vw,20px);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:clamp(20px,4vw,30px)}.day-card:before{background:linear-gradient(90deg,#6c5ce7,#a29bfe);background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));content:"";height:4px;left:0;position:absolute;right:0;top:0}.day-card:hover{box-shadow:0 12px 32px #0000004d;transform:translateY(-5px)}.day-card h2{align-items:center;border-bottom:1px solid #404040;border-bottom:1px solid var(--border-color);color:#fff;color:var(--text-primary);display:flex;font-size:clamp(1.1rem,3vw,1.3rem);justify-content:space-between;margin-bottom:clamp(16px,3vw,20px);padding-bottom:clamp(12px,2.5vw,16px)}.day-offset-indicator{background:#6c5ce71a;border-radius:6px;color:#6c5ce7;color:var(--accent-primary);font-size:clamp(.8rem,2vw,.9rem);font-weight:600;padding:4px 8px}.subject-card{background:#1e1e1e;background:var(--bg-secondary);border-left:4px solid #0000;border-radius:12px;margin-bottom:clamp(12px,2.5vw,16px);padding:clamp(16px,3vw,20px);position:relative;transition:all .3s ease}.subject-card.lecture{border-left-color:#6c5ce7;border-left-color:var(--lecture)}.subject-card.practice{border-left-color:#00b894;border-left-color:var(--practice)}.subject-card.lab{border-left-color:#fd79a8;border-left-color:var(--lab)}.subject-card:hover{box-shadow:0 4px 12px #0003;transform:translateX(4px)}.subject-card.current-class{animation:pulse 2s infinite;border-color:#ff5252;border-color:var(--current-class);box-shadow:0 0 20px #ff52524d}.subject-card.past-class{filter:grayscale(.5);opacity:.7}.subject-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:clamp(10px,2vw,12px)}.subject-name{color:#fff;color:var(--text-primary);font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;margin-right:10px}.subject-time{background:#6c5ce7;background:var(--accent-primary);border-radius:6px;color:#fff;font-size:clamp(.8rem,2vw,.85rem);font-weight:600;padding:4px 8px;white-space:nowrap}.info-row{align-items:center;display:flex;gap:clamp(8px,2vw,12px);margin-bottom:clamp(8px,2vw,10px)}.info-row:last-child{margin-bottom:0}.icon{color:#fff;flex-shrink:0;height:clamp(16px,3vw,18px);width:clamp(16px,3vw,18px)}.info-row span{color:#e0e0e0;color:var(--text-secondary);font-size:clamp(.9rem,2.5vw,.95rem);line-height:1.4}.subgroup{background:#6c5ce71a;border-radius:6px;color:#6c5ce7;color:var(--accent-primary);display:inline-block;font-size:clamp(.8rem,2vw,.85rem);font-weight:600;margin-top:8px;padding:4px 8px}.error-state,.loading-state,.no-selection{background:#1e1e1e;background:var(--bg-secondary);border-radius:16px;margin:clamp(30px,6vw,40px) 0;padding:clamp(40px,8vw,60px) clamp(16px,3vw,20px);text-align:center}.loading-state{color:#a0a0a0;color:var(--text-muted);font-size:clamp(1rem,3vw,1.1rem)}.error-state{background:#d630311a;border:2px solid #d63031;border:2px solid var(--error);color:#d63031;color:var(--error)}.no-selection{background:#1e1e1e;background:var(--bg-secondary);border:2px dashed #404040;border:2px dashed var(--border-color);color:#a0a0a0;color:var(--text-muted)}.professor-search-container{margin-bottom:12px;position:relative}.professor-selector-container>div{position:relative}@keyframes pulse{0%{box-shadow:0 0 0 0 #ff525266}70%{box-shadow:0 0 0 10px #ff525200}to{box-shadow:0 0 0 0 #ff525200}}.day-card{animation:fadeIn .5s ease-out}@media (min-width:1280px){.week-schedule{grid-template-columns:repeat(5,1fr)}}@media (max-width:768px){.App{overflow-x:hidden;padding:12px}.controls{border-radius:12px;gap:16px;padding:16px 12px}.view-mode-selector{gap:4px;width:100%}.view-mode-btn{font-size:14px;padding:10px 12px}.mobile-week-navigation{gap:12px}.mobile-nav-button,.nav-button{height:44px;width:44px}.nav-icon{height:20px;width:20px}.week-schedule{display:block;margin-top:20px;overflow:hidden}.mobile-day-card{border-radius:12px;margin:0;padding:20px 16px;width:100%}.mobile-day-card.swipe-left{opacity:0;transform:translateX(-100%)}.mobile-day-card.swipe-right{opacity:0;transform:translateX(100%)}.day-card h2{align-items:flex-start;flex-direction:column;font-size:18px;gap:8px;margin-bottom:16px}.subject-card{margin-bottom:12px;padding:16px}.info-row{gap:10px;margin-bottom:10px}.icon{height:16px;width:16px}.professor-search-dropdown{max-height:50vh;overscroll-behavior:contain}}@keyframes swipeLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}@keyframes swipeRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes swipeInLeft{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes swipeInRight{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.swipe-left{animation:swipeLeft .3s ease-out forwards}.swipe-right{animation:swipeRight .3s ease-out forwards}.swipe-in-left{animation:swipeInLeft .3s ease-out forwards}.swipe-in-right{animation:swipeInRight .3s ease-out forwards}.professor-search-input:-webkit-autofill,.professor-search-input:-webkit-autofill:focus,.professor-search-input:-webkit-autofill:hover{-webkit-text-fill-color:#fff;-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:inset 0 0 0 1000px #2d2d2d;-webkit-box-shadow:0 0 0 1000px var(--bg-tertiary) inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.swipe-hint{align-items:center;display:flex;font-size:14px;gap:8px;justify-content:center;margin:16px 0}.swipe-hint:after,.swipe-hint:before{content:"←";font-size:16px}.swipe-hint:after{content:"→"}@media (max-width:480px){.day-card h2{align-items:flex-start;flex-direction:column;gap:8px}}.mobile-day-card{transition:transform .3s ease,opacity .3s ease}.mobile-day-card.swiping{transition:none}.swipe-hint{color:#6c5ce7;color:var(--accent-primary);font-size:clamp(.85rem,2vw,.9rem);margin-top:12px;opacity:.7;text-align:center}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1e1e1e;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#404040;background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6c5ce7;background:var(--accent-primary)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6c5ce7;outline:3px solid var(--accent-primary);outline-offset:2px}.no-group-selected{background-color:#2d2d2d;background-color:var(--bg-tertiary);border-radius:12px;margin-bottom:clamp(16px,3vw,20px);padding:clamp(16px,3vw,20px);text-align:center}.no-group-selected p{color:#a0a0a0;color:var(--text-muted);font-size:clamp(.9rem,2.5vw,1rem);margin-bottom:clamp(12px,2.5vw,16px)}.subject-type{border-radius:4px;display:inline-block;font-size:clamp(.75rem,2vw,.8rem);font-weight:600;margin-top:8px;padding:2px 8px}.subject-type.lecture{background:#6c5ce733;color:#6c5ce7;color:var(--lecture)}.subject-type.practice{background:#00b89433;color:#00b894;color:var(--practice)}.subject-type.lab{background:#fd79a833;color:#fd79a8;color:var(--lab)}.group-search-container,.group-search-wrapper{position:relative;width:100%}.group-search-dropdown,.professor-search-dropdown{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.group-search-container,.group-search-wrapper,.professor-search-container,.professor-search-wrapper{position:relative;width:100%}.group-search-input,.professor-search-input{background:#2d2d2d;background:var(--bg-tertiary);border:2px solid #404040;border:2px solid var(--border-color);border-radius:12px;color:#fff;color:var(--text-primary);font-size:clamp(.95rem,2.5vw,1rem);padding:clamp(12px,2.5vw,16px) clamp(16px,3vw,20px);transition:all .3s ease;width:100%}.group-search-input:focus,.professor-search-input:focus{border-color:#6c5ce7;border-color:var(--accent-primary);border-radius:12px 12px 0 0;box-shadow:0 0 0 4px #6c5ce71a;outline:none}.group-search-dropdown,.professor-search-dropdown{background:#2d2d2d;background:var(--bg-tertiary);border:2px solid #6c5ce7;border:2px solid var(--accent-primary);border-radius:0 0 12px 12px;border-top:none;box-shadow:0 8px 16px #0000004d;left:0;margin-top:-2px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.group-search-item,.professor-search-item{align-items:center;border-bottom:1px solid #404040;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;font-size:clamp(.9rem,2.5vw,1rem);padding:clamp(12px,2.5vw,14px) clamp(16px,3vw,20px);transition:background-color .2s ease}.group-search-item:last-child,.professor-search-item:last-child{border-bottom:none}.group-search-item:hover,.professor-search-item:hover{background:#6c5ce7;background:var(--accent-primary);color:#fff;color:var(--text-primary)}.day-card{background:#242424;background:var(--bg-card);border-radius:16px;box-shadow:0 8px 24px #0003;overflow:hidden;padding:clamp(16px,3vw,24px);position:relative;transition:transform .3s ease,box-shadow .3s ease}@media (max-width:768px){.week-schedule{display:block}.mobile-nav-button{height:25px;width:25px}.mobile-day-card{border-radius:12px;margin:0;padding:20px 16px;width:100%}}.professor-search-container p{color:#a0a0a0;color:var(--text-muted);font-size:clamp(.9rem,2.5vw,1rem);margin-bottom:clamp(8px,2vw,12px)}.selected-professor{display:none}.group-search-dropdown:empty:before,.professor-search-dropdown:empty:before{color:#a0a0a0;color:var(--text-muted);content:"Ничего не найдено";font-style:italic;padding:clamp(12px,2.5vw,14px) clamp(16px,3vw,20px)}.group-search-input:focus+.group-search-dropdown,.professor-search-input:focus+.professor-search-dropdown{border-color:#6c5ce7;border-color:var(--accent-primary)}@media (min-width:1023px) and (max-width:1440px){.week-schedule{grid-gap:clamp(16px,3vw,20px);display:grid;gap:clamp(16px,3vw,20px);grid-template-columns:repeat(6,minmax(280px,1fr));margin-top:clamp(20px,4vw,30px);overflow-x:auto;padding-bottom:10px}}.calendar-container{display:inline-block;margin:0 auto;max-width:400px;position:relative;width:100%}.calendar-button{background-color:#333;border:1px solid #444;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px;text-align:center;width:100%}.calendar-button:hover{background-color:#444}.calendar{background-color:#1e1e1e;border:1px solid #444;border-radius:4px;box-sizing:border-box;color:#fff;left:0;padding:10px;position:absolute;right:0;top:100%;width:100%;z-index:1000}.calendar-header{align-items:center;background-color:#2d2d2d;border-radius:4px;display:flex;gap:5px;justify-content:center;margin-bottom:10px;padding:8px}.calendar-header button{background-color:#444;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:14px;padding:5px 10px}.calendar-header button:hover{background-color:#555}.calendar-header input,.calendar-header select{background-color:#333;border:1px solid #444;border-radius:4px;color:#fff;flex:1 1;font-size:14px;padding:5px}.calendar-header input{pointer-events:none;-webkit-user-select:none;user-select:none}.calendar-weekdays{color:#fff;display:flex;justify-content:space-between;margin-bottom:10px}.weekday{color:#ccc;font-size:12px;text-align:center;width:30px}.calendar-days{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.day{align-items:center;background-color:#333;border:1px solid #444;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;height:30px;justify-content:center;width:100%}.day.empty{background-color:initial;border:none;cursor:default}.day:hover{background-color:#444}.day.selected{background-color:#007bff;color:#fff}@media (max-width:480px){.calendar-container{max-width:100%}.calendar-button{font-size:12px}.calendar-header{align-items:stretch;flex-direction:column}.calendar-header button{margin:5px 0;width:100%}.calendar-header button,.calendar-header input,.calendar-header select{box-sizing:border-box;margin:5px 0;width:100%}.calendar-header input{flex:1 1}.weekday{width:20px}.day,.weekday{font-size:10px}.day{height:25px}}.day.today{border:2px solid red}
/*# sourceMappingURL=main.30a90064.css.map*/