body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#2d3748;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:2px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;letter-spacing:-.02em}.navigation{align-items:center;display:flex;gap:1rem}.date-display-container{position:relative}.current-date{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #0000;border-radius:12px;color:#2d3748;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1rem;transition:all .3s ease}.current-date:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff;transform:translateY(-1px)}.date-picker-icon{transition:transform .3s ease}.current-date:hover .date-picker-icon{transform:scale(1.1)}.date-picker-dropdown{background:#fff;border:1px solid #0000001a;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;left:50%;margin-top:.5rem;min-width:250px;padding:1.5rem;position:absolute;top:100%;transform:translateX(-50%);z-index:1000}.date-picker-input{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.date-picker-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.quick-actions{display:flex;gap:.5rem}.quick-action-btn{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:none;border-radius:8px;color:#4a5568;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.quick-action-btn:hover{transform:translateY(-1px)}.nav-button,.quick-action-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nav-button{border:none;border-radius:12px;box-shadow:0 4px 6px -1px #667eea4d;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.nav-button:hover{box-shadow:0 8px 15px -3px #667eea66;transform:translateY(-2px)}.nav-button:active{transform:translateY(0)}.current-month{color:#4a5568;font-size:1.5rem;font-weight:600;min-width:250px;text-align:center}.calendar-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;padding:2.5rem}.calendar-header{grid-gap:1.5rem;border-bottom:2px solid #e2e8f0;display:grid;gap:1.5rem;grid-template-columns:repeat(5,1fr);margin-bottom:2rem;padding-bottom:1.5rem}.day-header{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;color:#667eea;font-size:1rem;font-weight:700;letter-spacing:.1em;padding:.75rem;text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(5,1fr)}.calendar-day{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #0000;border-radius:16px;cursor:pointer;min-height:140px;padding:1.25rem;position:relative;transition:all .3s ease}.calendar-day:hover{background:linear-gradient(135deg,#e6fffa,#b2f5ea);border-color:#38b2ac;box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-4px)}.calendar-day.other-month{background:linear-gradient(135deg,#f7fafc,#e2e8f0);opacity:.4}.calendar-day.today{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 20px 25px -5px #667eea66;color:#fff}.day-number{color:inherit;font-size:1.25rem;margin-bottom:.75rem}.day-events{display:flex;flex-direction:column;gap:.5rem}.event-item{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem .75rem;transition:all .3s ease}.event-item:hover{box-shadow:0 4px 8px #667eea66;transform:scale(1.05)}.event-item.class-7w-ma2{background:linear-gradient(135deg,#ff6b6b,#f093fb);box-shadow:0 2px 4px #ff6b6b4d}.event-item.class-7w-ma2:hover{box-shadow:0 4px 8px #ff6b6b66}.event-item.class-8e-ma1{background:linear-gradient(135deg,#c41e3a,#ff9800);box-shadow:0 2px 4px #c41e3a4d}.event-item.class-8e-ma1:hover{box-shadow:0 4px 8px #c41e3a66}.event-item.class-8w-ma1{background:linear-gradient(135deg,#f57f17,#ffeb3b);box-shadow:0 2px 4px #f57f174d}.event-item.class-8w-ma1:hover{box-shadow:0 4px 8px #f57f1766}.event-item.class-9e-ma3b{background:linear-gradient(135deg,#4caf50,#8bc34a);box-shadow:0 2px 4px #4caf504d}.event-item.class-9e-ma3b:hover{box-shadow:0 4px 8px #4caf5066}.event-item.class-9w-ma2{background:linear-gradient(135deg,#2196f3,#9c27b0);box-shadow:0 2px 4px #2196f34d}.event-item.class-9w-ma2:hover{box-shadow:0 4px 8px #2196f366}.event-item.class-intervention{background:linear-gradient(135deg,#4a5568,#a0aec0);box-shadow:0 2px 4px #4a55684d}.event-item.class-intervention:hover{box-shadow:0 4px 8px #4a556866}.event-item.lesson{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 2px 4px #f093fb4d}.event-item.lesson:hover{box-shadow:0 4px 8px #f093fb66}.time-grid{grid-gap:1.5rem;border-top:2px solid #e2e8f0;display:grid;gap:1.5rem;grid-template-columns:100px 1fr;margin-top:2rem;padding-top:2rem}.time-labels{display:flex;flex-direction:column;gap:.75rem}.time-label{border-radius:12px;font-size:1rem;height:70px}.time-slots{display:flex;flex-direction:column;gap:.75rem}.time-slot{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;height:70px;padding:0 1rem;position:relative;transition:all .3s ease}.time-slot:hover{background:linear-gradient(135deg,#e6fffa,#b2f5ea);border-color:#38b2ac;box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-2px)}.time-slot.has-event{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 8px 15px -3px #667eea66;color:#fff}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #fff3;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;max-width:700px;overflow-y:auto;padding:2.5rem;width:100%}.modal-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.close-button{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:12px;box-shadow:0 4px 6px -1px #f093fb4d;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:48px;justify-content:center;padding:.75rem;transition:all .3s ease;width:48px}.close-button:hover{box-shadow:0 8px 15px -3px #f093fb66;transform:scale(1.1)}.form-group{margin-bottom:1.5rem}.form-label{color:#4a5568;display:block;font-size:1rem;font-weight:600;margin-bottom:.75rem}.form-input,.form-select,.form-textarea{background:#fffc;border:2px solid #e2e8f0;border-radius:12px;font-family:inherit;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-textarea{min-height:120px;resize:vertical}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.button-group{border-top:2px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px -1px #667eea4d;color:#fff}.btn-primary:hover{box-shadow:0 8px 15px -3px #667eea66;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e2e8f0;color:#4a5568}.btn-secondary:hover{background:linear-gradient(135deg,#edf2f7,#e2e8f0);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 6px -1px #f093fb4d;color:#fff}.btn-danger:hover{box-shadow:0 8px 15px -3px #f093fb66;transform:translateY(-2px)}.btn-info{background:linear-gradient(135deg,#17a2b8,#138496);box-shadow:0 4px 6px -1px #17a2b84d;color:#fff}.btn-info:hover{box-shadow:0 8px 15px -3px #17a2b866;transform:translateY(-2px)}.view-toggle{display:flex;justify-content:center;margin-bottom:2rem}.view-toggle-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 25px #0000001a;display:flex;padding:.5rem}.view-toggle-button{align-items:center;background:#0000;border:none;border-radius:12px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.view-toggle-button:hover{background:#667eea1a;color:#667eea;transform:translateY(-1px)}.view-toggle-button.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.view-toggle-button.active:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.week-view-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;padding:2rem}.week-header{margin-bottom:2rem;text-align:center}.week-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.week-grid{display:flex;flex-direction:column;gap:.5rem}.week-day-headers{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:100px repeat(5,1fr);margin-bottom:1rem}.time-column-header{background:#0000}.week-day-header{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #0000;border-radius:12px;padding:1rem;text-align:center}.week-day-header.today{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.day-name{color:#667eea;font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.day-number{color:#2d3748;font-size:1.5rem;font-weight:700}.week-day-header.today .day-name,.week-day-header.today .day-number{color:#fff}.week-time-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:100px repeat(5,1fr);min-height:60px}.time-label{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);color:#4a5568;font-size:.9rem;font-weight:600;padding:0 1rem}.time-label,.week-time-slot{border-radius:8px;display:flex}.week-time-slot{background:#ffffff80;border:1px solid #0000000d;cursor:pointer;flex-direction:column;gap:.25rem;min-height:60px;padding:.5rem;transition:all .2s ease}.week-time-slot:hover{background:#fffc;box-shadow:0 4px 15px #0000001a;transform:translateY(-1px)}.week-time-slot.today{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea33}.week-event-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:.8rem;padding:.5rem;transition:all .3s ease}.week-event-item:hover{box-shadow:0 4px 8px #667eea66;transform:scale(1.02)}.week-event-item.class-7w-ma2{background:linear-gradient(135deg,#ff6b6b,#f093fb);box-shadow:0 2px 4px #ff6b6b4d}.week-event-item.class-7w-ma2:hover{box-shadow:0 4px 8px #ff6b6b66}.week-event-item.class-8e-ma1{background:linear-gradient(135deg,#c41e3a,#ff9800);box-shadow:0 2px 4px #c41e3a4d}.week-event-item.class-8e-ma1:hover{box-shadow:0 4px 8px #c41e3a66}.week-event-item.class-8w-ma1{background:linear-gradient(135deg,#f57f17,#ffeb3b);box-shadow:0 2px 4px #f57f174d}.week-event-item.class-8w-ma1:hover{box-shadow:0 4px 8px #f57f1766}.week-event-item.class-9e-ma3b{background:linear-gradient(135deg,#4caf50,#8bc34a);box-shadow:0 2px 4px #4caf504d}.week-event-item.class-9e-ma3b:hover{box-shadow:0 4px 8px #4caf5066}.week-event-item.class-9w-ma2{background:linear-gradient(135deg,#2196f3,#9c27b0);box-shadow:0 2px 4px #2196f34d}.week-event-item.class-9w-ma2:hover{box-shadow:0 4px 8px #2196f366}.week-event-item.class-intervention{background:linear-gradient(135deg,#4a5568,#a0aec0);box-shadow:0 2px 4px #4a55684d}.week-event-item.class-intervention:hover{box-shadow:0 4px 8px #4a556866}.event-title{font-size:.9rem;font-weight:600;line-height:1.2;margin-bottom:.25rem}.event-room{font-size:.7rem;margin-top:auto;opacity:.9}.day-view-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;padding:2rem}.day-header{margin-bottom:2rem}.day-navigation{align-items:center;display:flex;gap:2rem;justify-content:space-between}.day-title-section{flex:1 1;text-align:center}.day-nav-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.75rem;transition:all .3s ease}.day-nav-button:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.day-nav-button:active{transform:translateY(0)}.day-title{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;display:flex;font-size:2rem;font-weight:700;gap:1rem;justify-content:center;margin-bottom:.5rem}.today-badge{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px;box-shadow:0 2px 8px #f093fb4d;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.day-summary{color:#4a5568;font-size:1.1rem}.day-table{background:#fff;border:1px solid #0000000d;border-radius:12px;display:flex;flex-direction:column;margin-bottom:2rem}.day-table-row{border-bottom:1px solid #0000000d;display:grid;grid-template-columns:100px 1fr}.day-table-row:last-child{border-bottom:none}.day-time-cell{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-right:1px solid #0000000d;color:#4a5568;display:flex;font-size:.9rem;font-weight:600;justify-content:center;min-height:80px;padding:0 1rem}.day-events-cell{background:#ffffff4d;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:4px;position:relative;transition:all .2s ease}.day-events-cell:hover{background:#fff9}.day-event-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:80px;overflow:hidden;padding:.75rem;transition:all .3s ease;width:100%}.day-event-item:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.day-event-item.class-7w-ma2{background:linear-gradient(135deg,#ff6b6b,#f093fb);box-shadow:0 4px 15px #ff6b6b4d}.day-event-item.class-7w-ma2:hover{box-shadow:0 8px 25px #ff6b6b66}.day-event-item.class-8e-ma1{background:linear-gradient(135deg,#c41e3a,#ff9800);box-shadow:0 4px 15px #c41e3a4d}.day-event-item.class-8e-ma1:hover{box-shadow:0 8px 25px #c41e3a66}.day-event-item.class-8w-ma1{background:linear-gradient(135deg,#f57f17,#ffeb3b);box-shadow:0 4px 15px #f57f174d}.day-event-item.class-8w-ma1:hover{box-shadow:0 8px 25px #f57f1766}.day-event-item.class-9e-ma3b{background:linear-gradient(135deg,#4caf50,#8bc34a);box-shadow:0 4px 15px #4caf504d}.day-event-item.class-9e-ma3b:hover{box-shadow:0 8px 25px #4caf5066}.day-event-item.class-9w-ma2{background:linear-gradient(135deg,#2196f3,#9c27b0);box-shadow:0 4px 15px #2196f34d}.day-event-item.class-9w-ma2:hover{box-shadow:0 8px 25px #2196f366}.day-event-item.class-intervention{background:linear-gradient(135deg,#4a5568,#a0aec0);box-shadow:0 4px 15px #4a55684d}.day-event-item.class-intervention:hover{box-shadow:0 8px 25px #4a556866}.event-time{font-size:.75rem;font-weight:500;margin-bottom:.25rem;opacity:.9}.event-description{font-size:.85rem;margin-top:.5rem;opacity:.8}.day-summary-section{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #0000000d;border-radius:16px;padding:1.5rem}.day-summary-section h3{color:#2d3748;font-size:1.2rem;margin-bottom:1rem}.day-lessons-list{display:flex;flex-direction:column;gap:.75rem}.day-lesson-summary{align-items:center;background:#fffc;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.day-lesson-summary:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.day-lesson-summary.year7{border-left:4px solid #f093fb}.day-lesson-summary.year8{border-left:4px solid #a8edea}.day-lesson-summary.year9{border-left:4px solid #667eea}.lesson-time{min-width:120px}.lesson-title{margin-bottom:.25rem}.notes-section{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #0000000d;border-radius:16px;margin-top:2rem;padding:1.5rem}.notes-header{justify-content:space-between;margin-bottom:1rem}.notes-header,.notes-title{align-items:center;display:flex}.notes-title{gap:.5rem}.notes-title h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0}.notes-title svg{color:#667eea}.notes-status{align-items:center;display:flex;gap:.5rem}.saving-indicator{align-items:center;color:#667eea;display:flex;font-size:.85rem;font-weight:500;gap:.25rem}.saving-indicator svg{animation:spin 1s linear infinite}.saved-indicator{color:#48bb78;font-size:.85rem;font-weight:500}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.weekend-toggle{display:flex;justify-content:center;margin-top:.75rem}.toggle-label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.toggle-checkbox{display:none}.toggle-slider{background-color:#cbd5e0;border-radius:12px;height:24px;position:relative;transition:background-color .3s ease;width:44px}.toggle-slider:before{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s ease;width:20px}.toggle-checkbox:checked+.toggle-slider{background-color:#667eea}.toggle-checkbox:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-text{font-weight:500;-webkit-user-select:none;user-select:none}.weekend-badge{background:linear-gradient(135deg,#ff9a9e,#fecfef);border-radius:12px;color:#744210;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-left:.5rem;padding:.25rem .75rem;text-transform:uppercase}.lesson-flow-container{background:linear-gradient(135deg,#f7fafc,#edf2f7);margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.lesson-flow-header{align-items:center;border-bottom:2px solid #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.back-button{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .3s ease}.back-button:hover{background:#5a67d8;transform:translateY(-1px)}.lesson-flow-title{align-items:center;color:#2d3748;display:flex;font-size:2rem;font-weight:700;gap:.75rem;margin:0}.lesson-flow-controls{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem}.class-selector,.date-range-selector{display:flex;flex-direction:column;gap:.5rem}.class-selector label,.date-range-selector label{color:#4a5568;font-size:.9rem;font-weight:600}.class-select-dropdown,.date-range-dropdown{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.class-select-dropdown:focus,.date-range-dropdown:focus{border-color:#667eea;outline:none}.lesson-flow-content{background:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001a;padding:2rem}.class-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.class-header,.class-name{align-items:center;display:flex}.class-name{color:#2d3748;font-size:1.5rem;font-weight:700;gap:.75rem;margin:0}.class-stats{color:#667eea;font-size:1rem;font-weight:600}.lessons-timeline{display:flex;flex-direction:column;gap:2rem}.lesson-flow-content .day-group{position:relative}.lesson-flow-content .day-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.lesson-flow-content .day-date{font-size:1.2rem;font-weight:600;margin:0}.lesson-flow-content .day-count{background:#fff3;border-radius:20px;font-size:.9rem;font-weight:500;padding:.25rem .75rem}.lesson-flow-content .day-lessons{display:flex;flex-direction:column;gap:1rem;position:relative}.lesson-card{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .3s ease}.lesson-card:hover{border-color:#667eea;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.lesson-card.first-lesson{border-left:4px solid #48bb78}.lesson-card.last-lesson{border-left:4px solid #ed8936}.lesson-card.previous-lesson{background:#f1f5f9;border-left:4px solid #94a3b8;opacity:.7}.lesson-card.previous-lesson .lesson-time,.lesson-card.previous-lesson .lesson-title{color:#64748b}.lesson-time{align-items:center;color:#4a5568;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;min-width:140px}.lesson-details{flex:1 1}.lesson-title{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.lesson-room{align-items:center;color:#6b7280;display:flex;font-size:.9rem;gap:.25rem;margin-bottom:.5rem}.lesson-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0}.lesson-flow-indicator{align-items:center;display:flex}.flow-arrow{animation:pulse 2s infinite;color:#cbd5e0}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.no-class-selected,.no-lessons{color:#6b7280;padding:4rem 2rem;text-align:center}.no-class-selected svg,.no-lessons svg{color:#cbd5e0;margin-bottom:1rem}.no-class-selected h3,.no-lessons h3{color:#4a5568;font-size:1.5rem;margin:0 0 .5rem}.no-class-selected p,.no-lessons p{font-size:1rem;line-height:1.5;margin:0}.form-label-with-button{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.generate-gc-text-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.generate-gc-text-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.generate-gc-text-btn:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed;transform:none}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.notes-content{position:relative}.notes-loading{align-items:center;color:#4a5568;display:flex;gap:.5rem;justify-content:center;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}.notes-textarea{background:#fffc;border:2px solid #e2e8f0;border-radius:12px;color:#2d3748;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.95rem;line-height:1.6;min-height:200px;padding:1rem;resize:vertical;transition:all .3s ease;width:100%}.notes-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.notes-textarea::placeholder{color:#a0aec0;font-style:italic}.mobile-landing{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:9999}.mobile-landing,.mobile-landing-content{align-items:center;display:flex;justify-content:center}.mobile-landing-content{color:#fff;flex-direction:column;gap:2rem;max-width:400px;text-align:center;width:100%}.mobile-landing-header{align-items:center;display:flex;flex-direction:column;gap:1rem}.mobile-landing-title{font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000004d}.mobile-landing-time{background:#fff3;border:1px solid #ffffff4d;border-radius:16px;font-size:3rem;font-weight:800;padding:1rem 2rem;text-shadow:0 2px 4px #0000004d}.mobile-landing-event,.mobile-landing-time{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-landing-event{background:#ffffff26;border:1px solid #fff3;border-radius:20px;display:flex;flex-direction:column;gap:1rem;padding:2rem;width:100%}.mobile-landing-event-title{font-size:1.8rem;font-weight:600;margin:0;text-shadow:0 1px 2px #0000004d}.mobile-landing-subject{background:#fff3;border-radius:12px;display:inline-block;font-size:1.2rem;font-weight:500;opacity:.9;padding:.5rem 1rem}.mobile-landing-room{align-items:center;display:flex;font-size:1rem;gap:.5rem;justify-content:center;opacity:.9}.mobile-landing-description{font-size:1rem;line-height:1.5;opacity:.8;text-align:left}.mobile-landing-no-events{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;display:flex;flex-direction:column;gap:1rem;padding:3rem 2rem}.mobile-landing-no-events p{font-size:1.2rem;margin:0;opacity:.8}.mobile-landing-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:16px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;padding:1rem 2rem;text-shadow:0 1px 2px #0000004d;transition:all .3s ease}.mobile-landing-button:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.mobile-landing-button:active{transform:translateY(0)}@media (max-width:768px){.header,.main-content{padding:1rem}.header-content{flex-direction:column;gap:1rem}.app-title{font-size:2rem}.calendar-container{padding:1.5rem}.calendar-grid{gap:1rem;grid-template-columns:1fr}.calendar-day{min-height:100px}.form-row{grid-template-columns:1fr}.button-group{flex-direction:column}.time-grid{grid-template-columns:1fr}.time-labels{display:none}.view-toggle-container{flex-direction:column;gap:.5rem}.view-toggle-button{justify-content:center}.week-day-headers,.week-time-row{gap:.5rem;grid-template-columns:1fr}.time-label{display:none}.week-time-slot{min-height:40px}.day-table-row{grid-template-columns:1fr}.day-time-cell{display:none}.day-title{font-size:1.5rem}.day-lesson-summary,.day-title{flex-direction:column;gap:.5rem}.day-lesson-summary{align-items:flex-start}.lesson-time{min-width:auto}.navigation{flex-direction:column;gap:.5rem}.current-date{font-size:.9rem;padding:.5rem .75rem}.date-picker-dropdown{left:0;min-width:200px;transform:none}.day-navigation{flex-direction:column;gap:1rem}.day-nav-button{padding:.5rem}.notes-header{align-items:flex-start;flex-direction:column;gap:.5rem}.notes-textarea{font-size:.9rem;min-height:150px}}.loading{align-items:center;color:#4a5568;display:flex;font-size:1.2rem;height:200px;justify-content:center}.empty-state{color:#4a5568;padding:3rem;text-align:center}.empty-state h3{color:#2d3748;font-size:1.5rem;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.calendar-container,.modal-content{animation:fadeIn .5s ease}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}
/*# sourceMappingURL=main.19e7761c.css.map*/