.schedule-container{padding:0}.schedule-clock{justify-content:flex-end;align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.schedule-clock__time{color:var(--text);letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:600}.schedule-clock__date{color:var(--text-muted);font-size:.85rem;font-weight:400}.week-nav{justify-content:center;align-items:center;gap:20px;margin-bottom:28px;display:flex}.week-nav-btn{border:2px solid var(--border);background:var(--bg-card);width:40px;height:40px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .3s;display:flex}.week-nav-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.week-label{color:var(--text);text-align:center;letter-spacing:1px;min-width:230px;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:400}.week-badge{background:var(--accent);color:var(--text-inverse);vertical-align:middle;letter-spacing:.5px;text-transform:uppercase;border-radius:20px;margin-left:8px;padding:2px 10px;font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;display:inline-block}.schedule-legend{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:24px;padding:14px 22px;display:flex}.legend-item{color:var(--text-muted);align-items:center;gap:10px;font-size:.88rem;font-weight:400;display:flex}.legend-color{border-radius:2px;width:24px;height:4px;display:inline-block}.legend-oge{background:var(--danger)}.legend-ege{background:var(--info)}.legend-middle{background:var(--accent)}.legend-individual{background:var(--warning)}.schedule-grid-wrapper{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--bg-card);border-radius:14px;margin-bottom:40px;overflow-x:auto}.schedule-grid{grid-template-columns:100px repeat(7,1fr);min-width:1050px;display:grid;position:relative}.schedule-now-line{border-top:2px solid var(--danger);z-index:15;pointer-events:none;height:0;position:absolute;left:0;right:0}.schedule-now-line:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.schedule-now-line__label{background:var(--danger);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;position:absolute;top:-19px;left:6px}.schedule-header{background:var(--text);color:var(--text-inverse);text-align:center;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--white-a08);padding:14px 10px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:500;line-height:1.5}.schedule-header:first-child{border-radius:13px 0 0}.schedule-header:last-child{border-radius:0 13px 0 0}.schedule-time{background:var(--bg);color:var(--text-muted);text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);letter-spacing:.5px;flex-direction:column;justify-content:center;align-items:center;padding:14px 8px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:400;line-height:1.6;display:flex}.schedule-empty{background:var(--bg);border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--border-strong);justify-content:center;align-items:center;min-height:110px;font-size:.85rem;display:flex}.schedule-cell{background:var(--bg-card);border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:4px;min-height:110px;padding:14px 12px 12px;transition:box-shadow .25s,background .25s;display:flex;position:relative;overflow:visible}.schedule-cell:hover{background:var(--accent-soft);box-shadow:var(--shadow-hover);z-index:5}.schedule-cell:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.schedule-oge:before{background:var(--danger)}.schedule-ege:before{background:var(--info)}.schedule-middle:before{background:var(--accent)}.schedule-individual:before{background:var(--warning)}.schedule-cell.schedule-oge .schedule-subject{color:var(--danger-dark)}.schedule-cell.schedule-ege .schedule-subject{color:var(--info)}.schedule-cell.schedule-middle .schedule-subject{color:var(--accent-dark)}.schedule-cell.schedule-individual .schedule-subject{color:var(--warning)}.schedule-subject{margin-top:4px;padding-right:22px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;line-height:1.3}.schedule-teacher{color:var(--text-muted);font-size:.78rem;font-weight:300}.cell-info-wrap{z-index:20;position:absolute;top:8px;right:8px}.cell-info-btn{background:var(--bg);border:1px solid var(--border);width:20px;height:20px;color:var(--text-dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;transition:all .2s;display:flex}.cell-info-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.cell-tooltip{display:none}.cell-actions{gap:5px;margin-top:auto;padding-top:6px;display:flex}.cell-btn{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 6px;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;text-decoration:none;transition:all .25s;display:flex}.cell-btn-online{background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--border-strong)}.cell-btn-online:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cell-btn-online.disabled{background:var(--bg);color:var(--border-strong);border:1px solid var(--border);opacity:.5;cursor:not-allowed}.cell-btn-record{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.cell-btn-record:hover{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent)}.cell-btn-record.disabled{background:var(--bg);color:var(--border-strong);border:1px solid var(--border);cursor:not-allowed;pointer-events:none;opacity:.5}.schedule-info{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:32px;display:grid}.info-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:14px;padding:20px;transition:all .3s;display:flex}.info-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.info-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.info-card h4{color:var(--text);margin-bottom:6px;font-size:.95rem;font-weight:600}.info-card p{color:var(--text-muted);font-size:.87rem;font-weight:300;line-height:1.6}.info-card a{color:var(--accent);font-weight:500;text-decoration:none}.info-card a:hover{text-decoration:underline}.schedule-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:10px;display:flex}@media (max-width:768px){.schedule-clock{justify-content:flex-start}.schedule-grid{grid-template-columns:72px repeat(7,1fr);min-width:800px}.schedule-header,.schedule-time{padding:10px 4px;font-size:.7rem}.schedule-cell{min-height:90px;padding:10px 8px 8px}.schedule-subject{font-size:.75rem}.schedule-teacher{font-size:.68rem}.cell-btn{font-size:.62rem}.schedule-info{grid-template-columns:1fr}.schedule-cta{flex-direction:column;align-items:center}}.schedule-admin-add{justify-content:flex-end;margin-bottom:16px;display:flex}.schedule-header--today{background:linear-gradient(180deg, var(--blue-nav) 0%, var(--blue-nav-dark) 100%)}.schedule-header__date{opacity:.85;font-size:.78rem;font-weight:400}.schedule-cell-link{cursor:pointer;flex-direction:column;gap:4px;text-decoration:none;display:flex}.schedule-cell-badges{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.schedule-cell-badge{font-size:.65rem}.schedule-cell-badge--correct{color:var(--accent)}.schedule-cell-badge--wrong{color:var(--danger)}.schedule-grid-loading{text-align:center;color:var(--text-muted);padding:40px}.schedule-guest-info{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-top:24px;padding:16px 20px}.schedule-guest-info i{color:var(--accent);margin-right:8px}.schedule-cell{background:var(--bg-card);border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;transition:box-shadow .25s;display:flex;position:relative;overflow:visible}.schedule-cell--single{min-height:110px;padding:0}.schedule-cell--multi{gap:4px;min-height:110px;padding:4px}.schedule-card{border-radius:8px;flex-direction:column;flex:1;gap:4px;margin-top:4px;padding:10px 12px 8px;text-decoration:none;transition:background .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.schedule-cell--single .schedule-card{border-radius:0;flex:1;min-height:110px;margin-top:0}.schedule-card:hover{background:var(--accent-soft);box-shadow:var(--shadow-hover);z-index:5}.schedule-card:before{content:"";border-radius:8px 8px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.schedule-cell--single .schedule-card:before{border-radius:0}.schedule-card.schedule-oge:before{background:var(--danger)}.schedule-card.schedule-ege:before{background:var(--info)}.schedule-card.schedule-middle:before{background:var(--accent)}.schedule-card.schedule-individual:before{background:var(--warning)}.schedule-card.schedule-oge .schedule-subject{color:var(--danger-dark)}.schedule-card.schedule-ege .schedule-subject{color:var(--info)}.schedule-card.schedule-middle .schedule-subject{color:var(--accent-dark)}.schedule-card.schedule-individual .schedule-subject{color:var(--warning)}.schedule-cell--multi .schedule-card:not(:last-child){border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;margin-bottom:0}.schedule-refresh{padding:0}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.schedule-toolbar h1{letter-spacing:-.025em;text-transform:none;margin:0 0 6px;font-family:inherit;font-size:1.65rem}.schedule-toolbar p{color:var(--text-muted);margin:0;font-size:.88rem}.schedule-week-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schedule-week-nav strong{padding:0 8px;font-size:.95rem}.schedule-week-nav button{border:1px solid var(--border);background:var(--bg-card);min-width:44px;min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:10px;display:inline-flex}.schedule-week-nav button:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.schedule-week-nav button:disabled{color:var(--accent-dark);background:var(--accent-soft);cursor:default}.schedule-week-nav .schedule-today-button{padding:10px 14px;font-size:.85rem}.schedule-overview{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.schedule-top-actions{justify-items:end;gap:10px;margin-left:auto;display:grid}.schedule-refresh .schedule-add-button{min-height:52px;padding:12px 30px;font-size:.95rem;font-weight:650}.schedule-refresh .schedule-add-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.schedule-refresh-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:.8rem;display:flex}.schedule-refresh-legend>span{align-items:center;gap:7px;display:inline-flex}.schedule-refresh-legend>span>i{background:var(--lesson-color);border-radius:50%;width:8px;height:8px}.schedule-refresh .schedule-oge{--lesson-color:var(--danger);--lesson-soft:var(--danger-soft)}.schedule-refresh .schedule-ege{--lesson-color:var(--info);--lesson-soft:var(--info-soft)}.schedule-refresh .schedule-middle{--lesson-color:var(--accent);--lesson-soft:var(--accent-soft)}.schedule-refresh .schedule-individual{--lesson-color:var(--warning);--lesson-soft:var(--warning-soft)}.schedule-timeline-wrapper{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;padding-bottom:10px;overflow-x:auto}.schedule-board-head,.schedule-board-body{display:grid}.schedule-board-head{color:#fff;background:var(--c-1f4938);border-bottom:1px solid var(--border)}.schedule-board-head>div{text-align:center;border-left:1px solid #ffffff18;gap:6px;padding:14px 8px;font-size:.78rem;display:grid}.schedule-board-head>span{text-align:center;align-self:center;font-size:.72rem}.schedule-board-head>div>span{color:#d1e2d8;font-size:.74rem}.schedule-board-head .is-today{background:var(--c-1f4938);color:#fff;box-shadow:inset 0 -4px 0 var(--accent)}.schedule-board-body{position:relative}.schedule-time-axis{border-right:1px solid var(--border);background:var(--bg);position:relative}.schedule-time-axis>span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem;position:absolute;left:8px;transform:translateY(-50%)}.schedule-time-axis>span:first-child{transform:translateY(4px)}.schedule-time-axis>span:last-child{transform:translateY(-100%)}.schedule-day-column{border-right:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent 0,transparent 119px,var(--border) 119px,var(--border) 120px);min-width:0;position:relative}.schedule-day-column:last-of-type{border-right:0}.schedule-day-column.is-today{background-color:color-mix(in srgb,var(--accent-soft) 25%,var(--bg-card))}.schedule-refresh .schedule-card{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:10px;flex-direction:column;gap:5px;min-height:44px;margin:0;padding:9px 9px 7px;display:flex;box-shadow:0 2px 5px #12201606}.schedule-refresh .schedule-card--timeline{position:absolute;overflow:hidden}.schedule-refresh .schedule-card:before{background:var(--lesson-color);height:3px}.schedule-refresh .schedule-card:hover{border-color:var(--lesson-color);background:var(--lesson-soft,var(--accent-soft));box-shadow:0 3px 10px #1220160c}.schedule-refresh .schedule-card-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.schedule-refresh .schedule-subject{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.schedule-refresh .schedule-teacher{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.schedule-refresh .schedule-continuation{color:var(--text-muted);font-size:.65rem}.schedule-refresh .schedule-card--compact{gap:2px;padding:5px 7px}.schedule-refresh .schedule-card--compact .schedule-card-time{font-size:.7rem}.schedule-refresh .schedule-card--compact .schedule-subject{-webkit-line-clamp:1;font-size:.72rem}.schedule-refresh .schedule-card--compact :is(.schedule-teacher,.schedule-cell-badges,.schedule-continuation){display:none}.schedule-refresh .schedule-cell-badges{margin-top:auto}.schedule-refresh .schedule-cell-badge{border-radius:5px;padding:3px 5px;font-size:.64rem;line-height:1.35}.schedule-refresh .schedule-cell-badge:is(.is-correct,.is-ongoing){color:var(--accent-dark);background:var(--accent-soft)}.schedule-refresh .schedule-cell-badge.is-incorrect{color:var(--danger-dark);background:var(--danger-soft)}.schedule-current-line{border-top:1px solid var(--danger);z-index:6;pointer-events:none;position:absolute;left:0;right:0}.schedule-current-line>span{background:var(--danger);color:#fff;border-radius:5px;padding:2px 4px;font-size:.7rem;position:absolute;top:-9px;left:4px}.schedule-day-list{display:none}.schedule-state,.schedule-empty-week{border:1px solid var(--border);color:var(--text-muted);text-align:center;background:var(--bg-card);border-radius:14px;padding:22px}.schedule-empty-week{margin:0 0 16px;font-size:.85rem}.schedule-error{color:var(--danger-dark)}.schedule-filters{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;margin-bottom:22px;padding:12px 16px}.schedule-filters-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-filter-tabs{background:var(--bg);border:1px solid var(--border);border-radius:24px;gap:4px;padding:4px;display:flex}.schedule-filter-tabs button{min-height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:20px;padding:9px 17px;font:600 .85rem/1.4 Inter,sans-serif}.schedule-filter-tabs button[aria-pressed=true]{color:var(--accent-dark);border-color:var(--border);background:var(--accent-soft)}.schedule-filter-tabs i{margin-right:5px}.schedule-filter-config{border:1px solid var(--border);min-height:44px;color:var(--text);background:var(--bg-card);cursor:pointer;border-radius:22px;justify-content:center;align-items:center;gap:9px;padding:9px 15px;font:600 .82rem/1.4 Inter,sans-serif;display:inline-flex}.schedule-filter-config:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.schedule-filter-config i{color:var(--accent)}.schedule-scope-group{margin-top:18px}.schedule-scope-group h3{color:var(--text-muted);margin:0 0 9px;font:650 .85rem/1.4 Inter,sans-serif}.schedule-scope-list{flex-wrap:wrap;gap:8px;display:flex}.schedule-scope{border:1px solid var(--border);background:var(--bg-card);max-width:100%;min-height:42px;color:var(--text-muted);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:9px;padding:9px 13px;font:500 .82rem/1.4 Inter,sans-serif;transition:border-color .15s,background .15s;display:inline-flex}.schedule-scope span{overflow-wrap:anywhere;min-width:0}.schedule-scope i{color:var(--text-muted);flex:none}.schedule-scope.is-favorite{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--border-strong)}.schedule-scope.is-favorite i{color:var(--accent)}.schedule-scope:hover:not(:disabled){border-color:var(--accent)}.schedule-filters button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.schedule-filters button:disabled{opacity:.6;cursor:default}.schedule-filter-note{color:var(--text-muted);margin:13px 0 0;font-size:.77rem;line-height:1.5}.schedule-filter-error{color:var(--danger-dark);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:.85rem;display:flex}.schedule-filter-error button{border:1px solid var(--border);background:var(--bg-card);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:8px 14px}.schedule-scope-dialog{border:1px solid var(--border);width:min(640px,100% - 28px);max-width:none;max-height:calc(100dvh - 32px);color:var(--text);background:var(--bg-card);border-radius:20px;margin:auto;padding:0;box-shadow:0 20px 70px #10241930}.schedule-scope-dialog::backdrop{background:#13271e80}.schedule-scope-dialog-content{flex-direction:column;max-height:calc(100dvh - 32px);display:flex}.schedule-scope-dialog header{border-bottom:1px solid var(--border);text-align:left;flex:none;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:18px 20px;display:flex}.schedule-scope-dialog header h2{margin:0;font:700 1.1rem/1.4 Inter,sans-serif}.schedule-dialog-close{border:1px solid var(--border);background:var(--bg);width:44px;height:44px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.schedule-scope-dialog-body{overscroll-behavior:contain;min-height:0;padding:20px;overflow-y:auto}.schedule-scope-dialog-body>.schedule-filter-note:first-child{margin:0 0 16px;font-size:.85rem}.schedule-scope-dialog footer{border-top:1px solid var(--border);text-align:left;flex:none;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 20px;display:flex}.schedule-scope-dialog footer span{color:var(--text-muted);font-size:.75rem}.schedule-scope-dialog footer .back-btn{min-height:44px;padding:10px 24px;font-size:.85rem}@media (max-width:767px){.schedule-filters{padding:12px}.schedule-filter-tabs{width:100%}.schedule-filter-tabs button{flex:1;min-height:44px;padding:9px 12px}.schedule-filter-config{width:100%}.schedule-scope{min-height:44px}.schedule-scope-dialog header,.schedule-scope-dialog-body{padding:16px}.schedule-scope-dialog footer{padding:12px 16px}.schedule-timeline-wrapper{display:none}.schedule-toolbar{gap:16px}.schedule-toolbar h1{font-size:1.4rem}.schedule-week-nav{gap:6px}.schedule-week-nav strong{padding:0 2px;font-size:.88rem}.schedule-top-actions{justify-items:start;width:100%;margin-left:0}.schedule-refresh .schedule-add-button{padding:12px 24px}.schedule-day-list{gap:18px;display:grid}.schedule-day-list>section{gap:8px;min-width:0;display:grid}.schedule-day-list h2{background:var(--c-1f4938);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 2px;padding:12px 14px;font-size:.96rem;display:flex}.schedule-day-list h2 span{color:#d1e2d8;font-size:.74rem;font-weight:500}.schedule-day-list .is-today h2{box-shadow:inset 0 -3px 0 var(--accent)}.schedule-day-list>section>p{color:var(--text-muted);margin:0;font-size:.8rem}.schedule-refresh .schedule-day-list .schedule-card{padding:13px 14px}.schedule-refresh .schedule-day-list .schedule-subject{font-size:.92rem}.schedule-refresh .schedule-day-list .schedule-card-time{font-size:.85rem}.schedule-refresh .schedule-day-list .schedule-teacher{font-size:.8rem}}
