body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.login-box h2{color:#333;margin-bottom:10px;text-align:center}.login-subtitle{color:#666;margin-bottom:30px}.error-message,.login-subtitle{font-size:.9rem;text-align:center}.error-message{background:#fee;border-radius:5px;color:#c33;padding:10px}.error-message,.form-group{margin-bottom:20px}.form-group label{margin-bottom:5px}.form-group input{border:2px solid #e0e0e0;border-radius:5px;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:transform .2s,box-shadow .2s;width:100%}.login-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.back-link{margin-top:20px;text-align:center}.back-link a{color:#667eea;font-size:.9rem;text-decoration:none}.back-link a:hover{text-decoration:underline}.task-list-container{background:#f5f7fa;display:flex;flex-direction:column;min-height:100vh}.task-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px}.task-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header-left{align-items:center;display:flex;gap:15px}.task-header h1{font-size:2rem;margin:0}.sync-status{animation:fadeIn .3s;background:#fff3;border-radius:12px;font-size:.85rem;padding:4px 12px}.sync-status.error{background:#ff47574d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-container{gap:20px}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#667eea}.loading-container p{color:#667eea;font-size:1.1rem}.user-info{align-items:center;display:flex;gap:15px}.user-info span{font-size:.9rem;opacity:.9}.back-button{background:#fff3;border:1px solid #ffffff4d;border-radius:5px;font-size:.95rem;font-weight:500;margin-right:20px;padding:8px 16px;transition:background .2s}.back-button:hover{background:#ffffff4d}.logout-button{background:#fff3;border:1px solid #ffffff4d;border-radius:5px;font-weight:500;padding:8px 20px;transition:background .2s}.logout-button:hover{background:#ffffff4d}.task-main{flex:1 1;padding:40px 20px}.task-content{margin:0 auto;max-width:1400px}.task-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:30px}.stat{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center}.stat-number{color:#667eea;display:block;font-size:2rem;font-weight:700;margin-bottom:5px}.stat-label{color:#666;font-size:.9rem}.add-task-form{display:flex;gap:10px;margin-bottom:30px}.task-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;padding:15px;transition:border-color .3s}.task-input:focus{border-color:#667eea;outline:none}.add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:15px 30px;transition:transform .2s,box-shadow .2s}.add-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.tasks-list{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.empty-state{color:#999;padding:60px 20px}.task-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;padding:20px;transition:background .2s}.task-item:last-child{border-bottom:none}.task-item:hover{background:#f9f9f9}.task-item.completed .task-text{color:#999;text-decoration:line-through}.task-checkbox{cursor:pointer;height:20px;margin-right:15px;width:20px}.task-text{color:#333;flex:1 1;font-size:1rem}.delete-button{background:#ff4757;border-radius:5px;font-size:.9rem;padding:8px 16px;transition:background .2s}.delete-button:hover{background:#ff3838}.create-list-section{margin-bottom:30px;text-align:center}.create-list-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:transform .2s,box-shadow .2s}.create-list-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.new-list-form{align-items:center;display:flex;gap:10px;justify-content:center}.list-name-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:250px;padding:12px 20px;transition:border-color .3s}.list-name-input:focus{border-color:#667eea;outline:none}.save-list-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.save-list-button:hover{background:#5568d3}.cancel-button{background:#e0e0e0;color:#333;font-weight:600;padding:12px 24px;transition:background .2s}.cancel-button:hover{background:#d0d0d0}.lists-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:30px}.list-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;min-height:400px;padding:20px;transition:transform .2s,box-shadow .2s}.list-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-3px)}.list-card-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.list-card-header h3{color:#333;flex:1 1;font-size:1.3rem;margin:0}.delete-list-button{background:#0000;border:none;color:#ff4757;cursor:pointer;font-size:1.8rem;line-height:1;padding:0 5px;transition:color .2s}.delete-list-button:hover{color:#ff3838}.list-card-stats{color:#666;display:flex;font-size:.9rem;gap:15px;margin-bottom:15px}.list-card-stats span{background:#f5f7fa;border-radius:5px;padding:5px 10px}.add-task-form-inline{display:flex;gap:8px;margin-bottom:15px}.task-input-inline{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:.95rem;padding:10px 12px;transition:border-color .3s}.task-input-inline:focus{border-color:#667eea;outline:none}.add-button-inline{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:transform .2s;width:40px}.add-button-inline:hover{transform:scale(1.05)}.tasks-list-inline{flex:1 1;max-height:500px;overflow-y:auto}.empty-state-inline{color:#999;font-size:.9rem;padding:40px 20px;text-align:center}.task-item-inline{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;gap:10px;padding:12px;transition:background .2s}.task-item-inline:last-child{border-bottom:none}.task-item-inline:hover{background:#f9f9f9}.task-item-inline.completed .task-text-inline{color:#999;text-decoration:line-through}.task-checkbox-inline{cursor:pointer;flex-shrink:0;height:18px;width:18px}.task-text-inline{color:#333;flex:1 1;font-size:.95rem;word-break:break-word}.delete-button-inline{background:#0000;border:none;color:#ff4757;cursor:pointer;flex-shrink:0;font-size:1.5rem;line-height:1;opacity:0;padding:0 5px;transition:opacity .2s,color .2s}.task-item-inline:hover .delete-button-inline{opacity:1}.delete-button-inline:hover{color:#ff3838}.note-bubble-container{align-items:center;display:flex;margin-left:8px;position:relative}.note-bubble{background:#0000;border:none;cursor:pointer;flex-shrink:0;font-size:1.2rem;padding:0 4px;transition:transform .2s}.note-bubble:hover{transform:scale(1.2)}.note-tooltip{background:#333;border-radius:6px;bottom:100%;box-shadow:0 2px 8px #0003;color:#fff;font-size:.85rem;line-height:1.4;margin-bottom:8px;max-width:250px;opacity:0;padding:8px 12px;pointer-events:none;transition:opacity .2s;white-space:pre-wrap;z-index:10}.note-tooltip,.note-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.note-tooltip:after{border:6px solid #0000;border-top-color:#333;content:"";top:100%}.note-bubble-container:hover .note-tooltip{opacity:1}.add-note-button{background:#0000;border:none;color:#999;cursor:pointer;flex-shrink:0;font-size:1rem;margin-left:8px;opacity:0;padding:0 4px;transition:opacity .2s,transform .2s}.task-item-inline:hover .add-note-button{opacity:1}.add-note-button:hover{color:#667eea;transform:scale(1.1)}.note-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.note-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;padding:24px;width:90%}.note-modal h4{color:#333;font-size:1.2rem;margin:0 0 16px}.note-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;min-height:120px;padding:12px;resize:vertical;transition:border-color .3s;width:100%}.note-textarea:focus{border-color:#667eea;outline:none}.note-modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.cancel-note-btn,.save-note-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .2s}.save-note-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.save-note-btn:hover{background:linear-gradient(135deg,#5568d3,#653a8b)}.cancel-note-btn{background:#e0e0e0;color:#333}.cancel-note-btn:hover{background:#d0d0d0}@media (max-width:768px){.task-header-content{flex-direction:column;gap:15px;text-align:center}.header-left{flex-direction:column;gap:8px}.task-header h1{font-size:1.5rem}.add-task-form{flex-direction:column}.task-item{padding:15px}.lists-grid{grid-template-columns:1fr}.list-card{min-height:300px}.new-list-form{flex-direction:column;width:100%}.list-name-input{min-width:0;width:100%}.cancel-button,.save-list-button{width:100%}.add-note-button,.delete-button-inline{opacity:1}.task-content{max-width:100%}.note-modal{width:95%}}.calendar-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.calendar-header{background:#fff;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.calendar-header-content{flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1400px}.calendar-header-content,.header-center,.header-left,.header-right{align-items:center;display:flex;gap:1rem}.header-center{flex:1 1;justify-content:center}.header-center h2{color:#667eea;font-size:1.5rem;margin:0 1rem;min-width:200px;text-align:center}.nav-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;padding:.5rem 1rem;transition:all .3s ease}.nav-button:hover{background:#5568d3;transform:scale(1.05)}.today-button{background:#764ba2;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.today-button:hover{background:#653a8a}.user-email{color:#666;font-size:.9rem}.calendar-weekdays{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin:2rem auto 0;max-width:1400px;padding:0 1rem}.weekday{background:#fff3;border-radius:8px;color:#fff;font-weight:700;padding:1rem;text-align:center}.calendar-grid{margin:0 auto;max-width:1400px;padding:1rem}.calendar-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.calendar-day{background:#fff;border-radius:8px;cursor:pointer;min-height:120px;overflow:hidden;padding:.5rem;position:relative;transition:all .3s ease}.calendar-day:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.calendar-day.disabled{background:#ffffff80;opacity:.4}.calendar-day.today{border:2px solid #764ba2;font-weight:700}.day-number{color:#333;display:block;font-size:1rem;margin-bottom:.5rem}.day-events{display:flex;flex-direction:column;gap:.25rem}.event-pill{background:#667eea;border-radius:4px;color:#fff;font-size:.75rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.event-pill:hover{background:#5568d3;transform:scale(1.02)}.more-events{color:#666;font-size:.7rem;padding:.25rem;text-align:center}.modal-overlay{background:#00000080}.modal-content{max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem}.modal-close{background:none;font-size:1.5rem;right:1rem;top:1rem}.modal-content h2{color:#667eea;margin-top:0}.form-group{margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.modal-buttons{display:flex;gap:.5rem;margin-top:1.5rem}.save-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem;transition:all .3s ease}.save-button:hover{background:#5568d3}.delete-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;transition:all .3s ease}.delete-button:hover{background:#c82333}.cancel-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-button:hover{background:#5a6268}.loading-container{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.calendar-header-content{flex-direction:column}.header-center{order:-1}.calendar-row{gap:5px}.calendar-day{min-height:80px;padding:.25rem}.day-number{font-size:.85rem}.event-pill{font-size:.65rem}.form-row{grid-template-columns:1fr}}.appointments-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding-bottom:2rem}.appointments-header{background:#fff;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.appointments-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.subtitle{color:#666;margin:.5rem auto 0;max-width:1400px;text-align:center}.admin-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.admin-button:hover{background:#218838}.tabs{display:flex;gap:1rem;margin:2rem auto 0;max-width:1400px;padding:0 1rem}.tab{background:#fffc;border:none;border-radius:8px 8px 0 0;cursor:pointer;flex:1 1;font-size:1rem;padding:1rem;transition:all .3s ease}.tab:hover{background:#ffffffe6}.tab.active{background:#fff;border-bottom:3px solid #667eea;font-weight:700}.booking-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;padding:2rem 1rem}.calendar-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem}.calendar-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.calendar-controls button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;padding:.5rem 1rem}.calendar-controls h3{color:#333;margin:0}.appt-calendar-weekdays{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.appt-calendar-weekdays .weekday{color:#666;font-weight:700;padding:.5rem;text-align:center}.appt-calendar-grid{margin-bottom:1.5rem}.appt-calendar-row{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:5px}.appt-calendar-day{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;min-height:70px;padding:.5rem;position:relative;text-align:center;transition:all .3s ease}.appt-calendar-day:hover:not(.disabled):not(.past){box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.appt-calendar-day.disabled{cursor:default;opacity:.3}.appt-calendar-day.past{background:#e9ecef;cursor:not-allowed;opacity:.5}.appt-calendar-day.today{border-color:#667eea;font-weight:700}.appt-calendar-day.available{background:#d4edda;border-color:#28a745}.appt-calendar-day.fully-booked{background:#f8d7da;border-color:#dc3545}.slot-indicator{color:#666;font-size:.7rem;margin-top:.25rem}.legend{display:flex;gap:1.5rem;justify-content:center}.legend-item{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.legend-box{border:2px solid;border-radius:4px;height:20px;width:20px}.legend-box.available{background:#d4edda;border-color:#28a745}.legend-box.fully-booked{background:#f8d7da;border-color:#dc3545}.legend-box.today{background:#fff;border-color:#667eea}.slots-panel{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem}.slots-panel h3{color:#333;margin-top:0}.no-slots{color:#666;padding:2rem;text-align:center}.slots-list{display:flex;flex-direction:column;gap:1rem}.slot-card{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;padding:1rem;position:relative;transition:all .3s ease}.slot-card:hover:not(.full){border-color:#667eea;transform:translateX(5px)}.slot-card.full{cursor:not-allowed;opacity:.5}.slot-card.selected{background:#e7f1ff;border-color:#667eea}.slot-time{color:#333;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.slot-availability{color:#666;font-size:.9rem}.delete-slot-btn{background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;height:24px;line-height:1;position:absolute;right:.5rem;top:.5rem;width:24px}.request-section{margin:2rem auto;max-width:600px;padding:0 1rem}.request-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem}.request-form-container h3{color:#333;margin-top:0}.request-form-container p{color:#666;margin-bottom:1.5rem}.booking-details{background:#f8f9fa;border-radius:8px;color:#667eea;font-weight:700;margin-bottom:1.5rem;padding:1rem;text-align:center}.confirm-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem;transition:all .3s ease}.confirm-button:hover{background:#218838}.submit-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.submit-button:hover{background:#5568d3}@media (max-width:1024px){.booking-section{grid-template-columns:1fr}}@media (max-width:768px){.appointments-header-content,.tabs{flex-direction:column}.appt-calendar-day{font-size:.85rem;min-height:50px;padding:.25rem}.slot-indicator{font-size:.6rem}}.admin-section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:2rem auto;max-width:1400px;padding:2rem}.admin-section h3{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.no-data{color:#999;font-style:italic;padding:3rem;text-align:center}.bookings-list{grid-gap:1rem;display:grid;gap:1rem}.booking-card{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;padding:1.25rem}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.booking-header strong{color:#333;font-size:1.1rem}.booking-email{color:#666;font-size:.9rem}.booking-details{color:#555;display:flex;flex-direction:column;gap:.5rem}.booking-details div{align-items:center;display:flex;gap:.5rem}.requests-list{grid-gap:1rem;display:grid;gap:1rem}.request-card{background:#f8f9fa;border-left:4px solid #ffc107;border-radius:8px;padding:1.25rem;position:relative}.request-card.approved{background:#f0f9f4;border-left-color:#28a745}.request-card.denied{background:#fdf0f0;border-left-color:#dc3545}.request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.request-header strong{color:#333;font-size:1.1rem}.status-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.denied{background:#f8d7da;color:#721c24}.request-details{color:#555;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.request-details div{align-items:center;display:flex;gap:.5rem}.request-actions{display:flex;gap:.75rem;margin-top:1rem}.approve-button,.deny-button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.5rem 1.25rem;transition:all .3s ease}.approve-button{background:#28a745;color:#fff}.approve-button:hover{background:#218838;transform:translateY(-2px)}.deny-button{background:#dc3545;color:#fff}.deny-button:hover{background:#c82333;transform:translateY(-2px)}.delete-request-button{background:#0000;border:none;border-radius:4px;color:#dc3545;cursor:pointer;font-size:.9rem;padding:.25rem .5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease}.delete-request-button:hover{background:#f8d7da}.lesson-planner-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.lesson-header{background:#fff;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.lesson-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1600px}.header-left h1{color:#333;font-size:1.5rem;margin:0}.create-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.create-button:hover{background:#5568d3;transform:scale(1.05)}.lesson-main{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:350px 1fr;margin:2rem auto;max-width:1600px;min-height:calc(100vh - 200px);padding:0 1rem}.lesson-sidebar{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;height:-webkit-fit-content;height:fit-content;padding:1.5rem;position:-webkit-sticky;position:sticky;top:2rem}.search-section{margin-bottom:1.5rem}.search-input{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.search-input:focus{border-color:#667eea;outline:none}.filter-section{margin-bottom:1.5rem}.filter-section label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.filter-select{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.lessons-list h3{color:#333;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.no-lessons{color:#666;padding:2rem 1rem;text-align:center}.lesson-card{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:1rem;padding:1rem;transition:all .3s ease}.lesson-card:hover{border-color:#667eea;transform:translateX(5px)}.lesson-card.selected{background:#e7f1ff;border-color:#667eea}.lesson-card h4{color:#333;font-size:1rem;margin:0 0 .5rem}.lesson-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.duration-badge,.grade-badge,.subject-badge{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.subject-badge{background:#667eea;color:#fff}.grade-badge{background:#28a745;color:#fff}.duration-badge{background:#ffc107;color:#333}.lesson-date{color:#666;font-size:.85rem;margin:0}.lesson-content{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;min-height:500px;padding:2rem}.empty-state{align-items:center;color:#666;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:400px;text-align:center}.empty-state h2{color:#333;margin-bottom:1rem}.create-button-large{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;margin-top:2rem;padding:1rem 2rem;transition:all .3s ease}.create-button-large:hover{background:#5568d3;transform:scale(1.05)}.lesson-detail-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.lesson-detail-header h2{color:#333;margin:0 0 1rem}.lesson-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.detail-date{color:#666;margin:.5rem 0 0}.lesson-actions{display:flex;gap:.5rem}.edit-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.edit-btn:hover{background:#5568d3}.delete-btn{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.delete-btn:hover{background:#c82333}.lesson-sections{display:flex;flex-direction:column;gap:1.5rem}.lesson-section{background:#f8f9fa;border-radius:8px;padding:1.5rem}.lesson-section h3{color:#667eea;font-size:1.1rem;margin:0 0 1rem}.lesson-section p{color:#333;line-height:1.6;margin:0}.preserve-whitespace{white-space:pre-wrap}.lesson-modal{max-height:90vh;max-width:800px;overflow-y:auto}.lesson-form{display:flex;flex-direction:column;gap:1rem}.back-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.back-button:hover{background:#5a6268}.logout-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.logout-button:hover{background:#c82333}@media (max-width:1200px){.lesson-main{grid-template-columns:300px 1fr}}@media (max-width:768px){.lesson-header-content{flex-direction:column}.lesson-main{grid-template-columns:1fr}.lesson-sidebar{position:static}.lesson-detail-header{flex-direction:column;gap:1rem}.lesson-actions{width:100%}.delete-btn,.edit-btn{flex:1 1}}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 20px;position:relative;text-align:center}.auth-corner{position:absolute;right:20px;top:20px;z-index:10}.corner-auth-info{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:25px;display:flex;gap:12px;padding:8px 16px}.corner-email{font-size:.9rem;font-weight:500;opacity:.95}.corner-logout-button{background:#fff3;border:1px solid #ffffff4d;border-radius:15px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 14px;transition:all .2s}.corner-logout-button:hover{background:#ffffff4d;transform:scale(1.05)}.corner-login-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #fff6;border-radius:25px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 24px;transition:all .3s}.corner-login-button:hover{background:#ffffff4d;border-color:#fff9;box-shadow:0 4px 12px #0003;transform:scale(1.05)}.modal-overlay{align-items:center;animation:fadeIn .2s;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:400px;padding:40px;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{background:#0000;border:none;color:#999;cursor:pointer;font-size:2rem;height:30px;line-height:1;padding:0;position:absolute;right:15px;top:15px;transition:color .2s;width:30px}.modal-close:hover{color:#333}.modal-content h2{color:#333;margin:0 0 10px;text-align:center}.modal-subtitle{color:#666;margin-bottom:30px}.modal-error,.modal-subtitle{font-size:.9rem;text-align:center}.modal-error{background:#fee;border-radius:5px;color:#c33;padding:10px}.modal-error,.modal-form-group{margin-bottom:20px}.modal-form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.modal-form-group input{border:2px solid #e0e0e0;border-radius:5px;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.modal-form-group input:focus{border-color:#667eea;outline:none}.modal-login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:transform .2s,box-shadow .2s;width:100%}.modal-login-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.hero h1{font-size:3.5rem;font-weight:700;margin-bottom:10px}.tagline{font-size:1.3rem;opacity:.9}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:60px 20px;width:100%}.scheduler-section{margin-bottom:60px;text-align:center}.scheduler-section h2{color:#333;font-size:2.5rem;margin-bottom:20px}.scheduler-section p{color:#666;font-size:1.1rem;margin:0 auto 30px;max-width:600px}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.cta-button{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;display:inline-block;font-size:1.2rem;font-weight:600;padding:15px 40px;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.cta-button:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-3px)}.login-prompt{color:#666;font-size:1.2rem;font-style:italic;margin:2rem 0}.features{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:40px 0}.feature{background:#f8f9fa;border-radius:10px;padding:30px;text-align:center;transition:transform .3s ease}.feature:hover{transform:translateY(-5px)}.feature h3{color:#667eea;font-size:1.3rem;margin-bottom:10px}.feature p{color:#666}.footer{background:#333;color:#fff;margin-top:auto;padding:20px;text-align:center}.footer p{opacity:.8}@media (max-width:768px){.hero h1{font-size:2.5rem}.scheduler-section h2{font-size:2rem}.auth-corner{right:15px;top:15px}.corner-auth-info{gap:8px;padding:6px 12px}.corner-email{font-size:.8rem}.corner-logout-button{font-size:.75rem;padding:5px 12px}.corner-login-button{font-size:.85rem;padding:8px 18px}.modal-content{padding:30px 20px;width:95%}}
/*# sourceMappingURL=main.6e8f53b2.css.map*/