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;padding:12px;transition:border-color .3s}.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:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.task-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 10px #0000001a;color:#1f2937;padding:20px}.task-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header-left{gap:15px}.task-header h1{color:#1f2937;font-size:2rem;margin:0}.sync-status{animation:fadeIn .3s;background:#f3f4f6;border-radius:12px;color:#667eea;font-size:.85rem;padding:4px 12px}.sync-status.error{background:#fee2e2;color:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-container{gap:20px}.loading-spinner{border:4px solid #f3f3f3}.loading-container p{color:#667eea;font-size:1.1rem}.user-info{align-items:center;gap:15px}.user-info span{color:#6b7280;font-size:.9rem}.back-button{border:1px solid #e5e7eb;border-radius:5px;font-size:.95rem;margin-right:20px;padding:8px 16px;transition:background .2s}.logout-button{background:#667eea;border-radius:5px;padding:8px 20px}.logout-button:hover{background:#5568d3}.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;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;padding:15px;transition:border-color .3s}.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{border-bottom:1px solid #f0f0f0;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;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{cursor:move;cursor:grab}.list-card:active{cursor:grabbing}.list-card.dragging-list{opacity:.5;transform:scale(.98)}.list-card-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:10px;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.list-drag-handle{color:#9ca3af;cursor:grab;flex-shrink:0;font-size:1.3rem;font-weight:700;line-height:1;padding:0 4px;-webkit-user-select:none;user-select:none}.list-drag-handle:active{cursor:grabbing}.list-card-header h3{color:#333;flex:1 1;font-size:1.3rem;margin:0}.list-header-actions{align-items:center;display:flex;gap:8px}.list-name-edit{border:2px solid #667eea;border-radius:4px;flex:1 1;font-family:inherit;font-size:1.3rem;font-weight:700;margin:0;padding:.25rem .5rem}.list-name-edit:focus{border-color:#764ba2;outline:none}.clear-all-button{background:#0000;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:1.2rem;padding:4px 8px;transition:background .2s,transform .2s}.clear-all-button:hover{background:#fff3cd;transform:scale(1.1)}.delete-list-button{background:#0000;border:none;color:#ff4757;cursor:pointer;flex-shrink:0;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;cursor:move;cursor:grab;display:flex;gap:10px;padding:12px;transition:background .2s}.task-item-inline:active{cursor:grabbing}.task-item-inline.dragging{background:#f3f4f6;opacity:.5}.drag-handle{font-weight:700;line-height:1;padding:0 4px}.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;transition:background .3s ease}.calendar-container.dark{background:linear-gradient(135deg,#1a1a2e,#16213e)}.calendar-header{background:#fff;box-shadow:0 2px 10px #0000001a;margin-bottom:0;padding:1rem 0 0;transition:background .3s ease,color .3s ease}.calendar-container.dark .calendar-header{background:#1f2937;box-shadow:0 2px 10px #00000080}.calendar-header-wrapper{display:flex;flex-direction:column;gap:0;padding:0 2rem;position:relative;width:100%}.calendar-header-row-1{align-items:start;display:flex;justify-content:space-between;margin-bottom:.75rem;width:100%}.calendar-header-row-1 .back-button{align-self:center}.calendar-header-row-1 h1{align-self:center;color:#333;font-size:1.5rem;left:50%;margin:0;position:absolute;transform:translateX(-50%);transition:color .3s ease}.calendar-container.dark .calendar-header-row-1 h1{color:#f3f4f6}.header-controls-top{align-items:center;display:flex;gap:.5rem;margin-left:auto}.logout-button-small{background:#ef4444;border:2px solid #ef4444;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.logout-button-small:hover{background:#dc2626;border-color:#dc2626;transform:scale(1.02)}.calendar-header-row-2{padding-bottom:.75rem}.calendar-header-row-2,.calendar-header-row-3{align-items:center;display:flex;justify-content:center;width:100%}.calendar-header-row-3{border-bottom:2px solid #e5e7eb;padding-bottom:1rem;transition:border-color .3s ease}.calendar-container.dark .calendar-header-row-3{border-bottom-color:#4b5563}.header-navigation{align-items:center;display:flex;gap:.5rem}.header-navigation h2{color:#667eea;font-size:1.25rem;margin:0 .5rem;min-width:180px;text-align:center;transition:color .3s ease}.calendar-container.dark .header-navigation h2{color:#93c5fd}.back-button,.create-event-button,.dark-mode-button,.export-button,.login-button,.logout-button,.nav-button,.print-button,.today-button{background:#667eea;border:2px solid #667eea;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.back-button:hover,.create-event-button:hover,.login-button:hover,.logout-button:hover,.nav-button:hover,.today-button:hover{background:#5568d3;border-color:#5568d3;transform:scale(1.02)}.create-event-button{background:#10b981;border-color:#10b981;font-weight:600}.create-event-button:hover{background:#059669;border-color:#059669}.view-selector{background:#f3f4f6;border-radius:10px;display:flex;gap:.5rem;padding:.5rem;transition:background .3s ease}.calendar-container.dark .view-selector{background:#374151}.view-button{background:#0000;border:2px solid #0000;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.view-button:hover{background:#667eea1a;color:#667eea}.view-button.active{background:#667eea;border-color:#667eea;color:#fff}.calendar-container.dark .view-button{color:#9ca3af}.calendar-container.dark .view-button:hover{background:#93c5fd1a;color:#93c5fd}.calendar-container.dark .view-button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode-button{background:#f59e0b;border-color:#f59e0b;font-size:1.2rem;padding:.4rem .7rem}.dark-mode-button:hover{background:#d97706;border-color:#d97706}.calendar-container.dark .dark-mode-button{background:#fbbf24;border-color:#fbbf24}.calendar-container.dark .dark-mode-button:hover{background:#f59e0b;border-color:#f59e0b}.export-button{background:#10b981;border-color:#10b981;font-size:1.2rem;padding:.4rem .7rem}.export-button:hover{background:#059669;border-color:#059669}.print-button{background:#6366f1;border-color:#6366f1;font-size:1.2rem;padding:.4rem .7rem}.print-button:hover{background:#4f46e5;border-color:#4f46e5}.logout-button{background:#ef4444;border-color:#ef4444}.logout-button:hover{background:#dc2626;border-color:#dc2626}.calendar-weekdays{grid-gap:10px;background:#f3f4f6;gap:10px;margin:0 auto;max-width:1400px;padding:.75rem 1rem;transition:background .3s ease}.weekday{background:#667eea1a;border-radius:8px;color:#667eea;font-size:.9rem;font-weight:700;padding:.75rem;text-align:center;transition:all .3s ease}.calendar-container.dark .calendar-weekdays{background:#374151}.calendar-container.dark .weekday{background:#ffffff1a;color:#93c5fd}.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{border-radius:8px;overflow:hidden;transition:all .2s ease}.calendar-day:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.calendar-day.dark{background:#374151;color:#f3f4f6}.calendar-day.dark:hover{background:#4b5563;box-shadow:0 4px 12px #0000004d}.calendar-day.disabled{opacity:.4}.calendar-day.today{border:2px solid #764ba2;font-weight:700}.calendar-container.dark .calendar-day.today{border-color:#93c5fd}.day-number{color:#333;display:block;font-size:.9rem;transition:color .3s ease}.calendar-day.dark .day-number{color:#f3f4f6}.day-events{display:flex;flex-direction:column;gap:.25rem}.event-pill{border:1px solid #0003;border-radius:4px;color:#fff;font-size:.7rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.event-pill:hover{filter:brightness(1.1);transform:scale(1.02)}.more-events{color:#666;font-size:.7rem;padding:.25rem;text-align:center;transition:color .3s ease}.calendar-day.dark .more-events{color:#9ca3af}.semester-view{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1600px;padding:1rem}.semester-month{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem;transition:all .3s ease}.calendar-container.dark .semester-month{background:#1f2937;box-shadow:0 2px 8px #0000004d}.semester-month-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;transition:border-color .3s ease}.calendar-container.dark .semester-month-header{border-bottom-color:#4b5563}.semester-month-header h3{color:#667eea;font-size:1.1rem;font-weight:600;margin:0;transition:color .3s ease}.calendar-container.dark .semester-month-header h3{color:#93c5fd}.event-count{background:#f3f4f6;border-radius:12px;color:#6b7280;font-size:.8rem;font-weight:500;padding:.25rem .75rem;transition:all .3s ease}.calendar-container.dark .event-count{background:#374151;color:#9ca3af}.calendar-grid.compact{padding:0}.calendar-weekdays.compact{grid-gap:2px;background:#0000;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;padding:.5rem 0}.calendar-weekdays.compact .weekday{background:#0000;border-radius:4px;font-size:.7rem;padding:.25rem}.calendar-day.compact{font-size:.75rem;min-height:50px;padding:.25rem}.calendar-day.compact .day-number{font-size:.75rem;margin-bottom:.25rem}.calendar-day.compact .event-pill{font-size:.6rem;padding:.15rem .3rem}.calendar-day.compact .more-events{font-size:.6rem}.semester-events-list{border-top:2px solid #e5e7eb;margin-top:1rem;padding-top:1rem;transition:border-color .3s ease}.calendar-container.dark .semester-events-list{border-top-color:#4b5563}.semester-events-header{color:#667eea;font-size:.85rem;font-weight:600;margin-bottom:.75rem;transition:color .3s ease}.calendar-container.dark .semester-events-header{color:#93c5fd}.list-view{margin:0 auto;max-width:1200px;padding:1.5rem}.list-view-month{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease}.calendar-container.dark .list-view-month{background:#1f2937;box-shadow:0 2px 8px #0000004d}.list-view-month-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;transition:border-color .3s ease}.calendar-container.dark .list-view-month-header{border-bottom-color:#4b5563}.list-view-month-header h3{color:#667eea;font-size:1.5rem;font-weight:700;margin:0;transition:color .3s ease}.calendar-container.dark .list-view-month-header h3{color:#93c5fd}.event-list{display:flex;flex-direction:column;gap:.75rem}.event-list-item{background:#f9fafb;border-left:4px solid #667eea;border-radius:8px;cursor:pointer;display:flex;overflow:hidden;padding:1rem;position:relative;transition:all .2s ease}.event-list-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.calendar-container.dark .event-list-item{background:#374151}.calendar-container.dark .event-list-item:hover{box-shadow:0 4px 12px #0000004d}.event-list-color{bottom:0;left:0;position:absolute;top:0;width:4px}.event-list-content{flex:1 1;margin-left:.5rem}.event-list-title{color:#111827;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;transition:color .3s ease}.calendar-container.dark .event-list-title{color:#f3f4f6}.event-list-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;margin-bottom:.5rem;transition:color .3s ease}.calendar-container.dark .event-list-meta{color:#9ca3af}.event-list-date{color:#667eea;font-weight:500;transition:color .3s ease}.calendar-container.dark .event-list-date{color:#93c5fd}.event-list-time{align-items:center;display:flex}.event-list-time:before{content:"🕐";margin-right:.25rem}.event-list-type{border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.event-list-description{color:#4b5563;font-size:.9rem;line-height:1.5;margin-top:.5rem;transition:color .3s ease}.calendar-container.dark .event-list-description{color:#d1d5db}.no-events-message{color:#9ca3af;font-size:1.1rem;padding:3rem;text-align:center}.calendar-container.dark .no-events-message{color:#6b7280}.modal-content{transition:background .3s ease,color .3s ease}.modal-content.dark{background:#1f2937;color:#f3f4f6}.modal-close{transition:color .2s ease}.modal-content.dark .modal-close{color:#9ca3af}.modal-content.dark .modal-close:hover{color:#f3f4f6}.modal-content h2{color:#667eea;transition:color .3s ease}.modal-content.dark h2{color:#93c5fd}.color-bar{border-radius:12px 12px 0 0;height:8px;margin:-2rem -2rem 1.5rem;width:calc(100% + 4rem)}.event-type-badge{border-radius:20px;color:#fff;font-weight:700;margin-bottom:1.5rem;padding:.5rem 1rem}.event-time-info{grid-gap:1.5rem;background:#f3f4f6;border-radius:8px;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem;padding:1.5rem;transition:background .3s ease}.modal-content.dark .event-time-info{background:#374151}.time-block{text-align:left}.time-label{color:#6b7280;font-size:.75rem;font-weight:700;margin-bottom:.5rem;transition:color .3s ease}.modal-content.dark .time-label{color:#9ca3af}.time-date{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:.25rem;transition:color .3s ease}.modal-content.dark .time-date{color:#f3f4f6}.time-time{color:#4b5563;font-size:1rem;transition:color .3s ease}.modal-content.dark .time-time{color:#d1d5db}.event-description-display{margin-bottom:1.5rem}.description-label{color:#4b5563;font-size:1rem;font-weight:700;margin-bottom:.75rem;transition:color .3s ease}.modal-content.dark .description-label{color:#d1d5db}.description-text{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;color:#111827;font-size:1.1rem;line-height:1.6;padding:1rem;transition:all .3s ease}.modal-content.dark .description-text{background:#374151;border-color:#4b5563;color:#f3f4f6}.form-group{margin-bottom:1rem}.form-group label{color:#333;font-weight:500;transition:color .3s ease}.modal-content.dark .form-group label{color:#f3f4f6}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #ddd;border-radius:8px;color:#333;font-family:inherit;transition:all .3s ease;width:100%}.modal-content.dark .form-group input,.modal-content.dark .form-group select,.modal-content.dark .form-group textarea{background:#374151;border-color:#4b5563;color:#f3f4f6}.modal-content.dark .form-group input:focus,.modal-content.dark .form-group select:focus,.modal-content.dark .form-group textarea:focus{border-color:#93c5fd}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.color-picker{display:flex;flex-wrap:wrap;gap:.5rem}.color-option{border:3px solid #0000;border-radius:50%;cursor:pointer;height:40px;transition:all .2s ease;width:40px}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#111827;box-shadow:0 0 0 3px #667eea4d}.modal-content.dark .color-option.selected{border-color:#f3f4f6;box-shadow:0 0 0 3px #93c5fd4d}.color-option:disabled{cursor:not-allowed;opacity:.6}.login-prompt-modal{background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;color:#92400e;font-weight:500;margin-bottom:1rem;padding:.75rem;text-align:center}.modal-content.dark .login-prompt-modal{background:#451a03;border-color:#d97706;color:#fbbf24}.modal-buttons{flex-wrap:wrap;gap:.5rem}.save-button{background:#667eea;border-radius:8px;transition:all .2s ease}.save-button:hover{background:#5568d3;transform:scale(1.02)}.delete-button{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.delete-button:hover{background:#dc2626;transform:scale(1.02)}.cancel-button{background:#6b7280;border-radius:8px;color:#fff;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button:hover{background:#4b5563;transform:scale(1.02)}.loading-container{color:#fff;min-height:100vh}.loading-spinner{border:4px solid #ffffff4d;height:50px;margin-bottom:1rem;width:50px}@media print{.calendar-header-content button,.user-email{display:none!important}.calendar-container{background:#fff}.calendar-grid,.calendar-weekdays{max-width:100%}.event-pill{border:1px solid #000}}@media (max-width:1024px){.calendar-header-wrapper{padding:0 1.5rem}.calendar-header-row-1{flex-wrap:wrap;gap:.75rem;justify-content:space-between}.calendar-header-row-1 h1{flex-basis:100%;font-size:1.4rem;margin-top:.75rem;order:3;position:static;text-align:center;transform:none}.calendar-header-row-1 .back-button{order:1}.header-controls-top{order:2}.header-navigation h2{font-size:1.2rem;min-width:150px}.back-button,.create-event-button,.login-button,.logout-button,.logout-button-small,.nav-button,.theme-toggle,.today-button{font-size:.85rem;padding:.4rem .6rem}.view-button{font-size:.85rem;padding:.4rem .8rem}.semester-view{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.calendar-header-wrapper{padding:0 1rem}.calendar-header-row-1{flex-wrap:wrap;gap:.5rem;justify-content:center}.calendar-header-row-1 .back-button{font-size:.85rem;order:1;padding:.4rem .6rem}.header-controls-top{gap:.4rem;margin-left:0;order:2}.theme-toggle{font-size:.85rem;padding:.4rem .6rem}.login-button,.logout-button-small{font-size:.8rem;padding:.4rem .6rem}.header-controls-top{margin-left:auto}.calendar-header-row-1 h1{flex-basis:100%;font-size:1.3rem;margin-top:.5rem;order:3;position:static;text-align:center;transform:none}.header-navigation h2{font-size:1.1rem;padding:0 .5rem}.create-event-button,.nav-button,.today-button{font-size:.85rem;padding:.4rem .6rem}.view-selector{flex-wrap:wrap;gap:.4rem}.view-button{font-size:.8rem;padding:.35rem .7rem}.semester-view{gap:1rem;grid-template-columns:1fr;padding:.75rem}.list-view{padding:.75rem}.list-view-month{margin-bottom:1rem;padding:1rem}.list-view-month-header h3{font-size:1.25rem}.event-list-item{padding:.75rem}.event-list-title{font-size:1rem}.event-list-meta{font-size:.85rem;gap:.5rem}.calendar-row{gap:5px}.calendar-day{min-height:80px;padding:.25rem}.day-number{font-size:.8rem}.event-pill{font-size:.65rem;padding:.2rem .4rem}.event-time-info,.form-row{grid-template-columns:1fr}.event-time-info{gap:1rem}.modal-content{padding:1.5rem}}@media (max-width:480px){.calendar-header{padding:.75rem 0}.calendar-header-wrapper{padding:0 .75rem}.calendar-header-row-1{gap:.4rem}.calendar-header-row-1 h1{font-size:1.1rem;margin-top:.4rem;position:static;transform:none}.header-controls-top{flex-wrap:nowrap;gap:.3rem;justify-content:flex-end;margin-left:auto}.header-navigation{gap:.4rem}.header-navigation h2{font-size:.95rem;margin:0 .25rem;padding:0}.back-button,.create-event-button,.dark-mode-button,.export-button,.login-button,.logout-button,.logout-button-small,.nav-button,.print-button,.theme-toggle,.today-button{font-size:.75rem;padding:.35rem .5rem}.dark-mode-button,.export-button,.print-button,.theme-toggle{font-size:.95rem;padding:.35rem .5rem}.calendar-day{padding:.2rem}.event-pill{font-size:.6rem;padding:.15rem .3rem}.calendar-weekdays{gap:5px;padding:0 .5rem}.weekday{font-size:.75rem;padding:.5rem .25rem}.calendar-grid{padding:.5rem}.calendar-day{min-height:60px}.view-selector{flex-wrap:wrap;gap:.3rem;padding:.4rem}.view-button{flex:1 1;font-size:.75rem;min-width:80px;padding:.3rem .6rem}.list-view,.semester-view{padding:.5rem}.list-view-month{padding:.75rem}.list-view-month-header{align-items:flex-start;flex-direction:column;gap:.5rem}.list-view-month-header h3{font-size:1.1rem}.event-list-item{padding:.75rem}.event-list-item:hover{transform:translateX(2px)}.event-list-title{font-size:.95rem}.event-list-meta{align-items:flex-start;flex-direction:column;gap:.25rem}.event-list-description{font-size:.85rem}.modal-buttons{flex-direction:column}.cancel-button,.delete-button,.save-button{width:100%}}.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{flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1400px}.appointments-header-content,.header-left{align-items:center;display:flex;gap:1.5rem}.header-left{flex:1 1;min-width:0}.header-title-section{display:flex;flex-direction:column;gap:.25rem}.header-left .subtitle{color:#666;font-size:.95rem;margin:0}.header-right{align-items:center;display:flex;flex-shrink:0;gap:.75rem;margin-left:auto}.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}.tab.add-slot-tab{background:linear-gradient(135deg,#2563eb,#1e40af);border-bottom:3px solid #0000;color:#fff;font-weight:600;transition:all .3s ease}.tab.add-slot-tab:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 4px 12px #2563eb66;transform:translateY(-2px)}.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{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:#cfe2ff;border-color:#0d6efd}.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:#cfe2ff;border-color:#0d6efd}.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-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:1.5rem}.month-filter,.slots-panel-header{align-items:center;display:flex;gap:1rem}.month-filter h3{color:#333;margin:0;min-width:150px;text-align:center}.month-nav-btn{background:#667eea;border:none;border-radius:8px;color:#fff;font-size:1.2rem;padding:.5rem 1rem;transition:all .2s ease}.month-nav-btn:hover{background:#5568d3;transform:scale(1.05)}.time-filter{align-items:center;display:flex;gap:.75rem}.time-filter label{color:#333;font-size:.95rem;font-weight:600}.time-filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:all .2s ease}.time-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.time-filter-select:hover{border-color:#667eea}.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:.5rem}.slot-card{background:#f8f9fa;border:2px solid #0000;padding:.65rem .85rem;position:relative;transition:all .3s ease}.slot-card:hover{border-color:#667eea;transform:translateX(5px)}.slot-card.clickable{cursor:pointer}.slot-card.clickable:hover{background:#e7f1ff;box-shadow:0 2px 8px #667eea33}.slot-card.selected{background:#e7f1ff;border-color:#667eea}.slot-card-layout{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 80px}.slot-card-left{flex:1 1;min-width:0}.slot-card-center{flex-direction:column;gap:.25rem}.slot-card-center,.slot-card-right{align-items:center;display:flex;text-align:center}.slot-card-right{justify-content:center}.slot-time{color:#333;font-size:.95rem;margin-bottom:0}.slot-date{color:#667eea;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.slot-notes{background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#856404;font-size:.75rem;margin-top:.35rem;padding:.35rem .5rem}.reserved-by-label{color:#667eea;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.reserved-name{align-items:center;color:#333;display:flex;font-size:.85rem;font-weight:600;gap:.35rem}.slot-status{color:#666;font-size:.85rem}.slot-availability-vertical{color:#666;font-size:.8rem;font-weight:500;line-height:1.2}.slot-cancelled{color:#dc3545;font-size:.85rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.delete-slot-btn{font-size:1rem;height:24px;position:absolute;right:.5rem;top:.5rem;width:24px}.cancel-booking-btn-inline,.delete-slot-btn{background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;line-height:1}.cancel-booking-btn-inline{flex-shrink:0;font-size:.6rem;height:14px;transition:all .2s ease;width:14px}.cancel-booking-btn-inline:hover{background:#c82333;transform:scale(1.15)}.modal-slots-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-x:hidden;overflow-y:auto;padding:.25rem}.modal-slots-list .slot-card{box-sizing:border-box;cursor:pointer;min-width:0;width:100%}.modal-slots-list .slot-card:not(.full):hover{box-shadow:0 6px 16px #667eea4d;transform:translateY(-2px)}.confirm-button.danger{background:#dc3545}.confirm-button.danger:hover{background:#c82333}.booking-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1rem;text-align:center}.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{padding:1rem}.appointments-header-content,.header-left{align-items:flex-start;flex-direction:column;gap:1rem}.header-left,.header-title-section{width:100%}.header-left h1{font-size:1.3rem}.header-right{justify-content:flex-end;width:100%}.tabs{flex-direction:column}.appt-calendar-day{font-size:.85rem;min-height:50px;padding:.25rem}.slot-indicator{font-size:.6rem}.slots-panel-header{align-items:stretch;flex-direction:column}.month-filter{justify-content:center}.time-filter{align-items:stretch;flex-direction:column}.time-filter-select{width:100%}.request-actions{flex-direction:column}.approve-button,.deny-button{width:100%}}.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;padding:3rem}.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-card.as-host{background:#f0f4ff;border-left-color:#667eea}.booking-card.as-client{border-left-color:#10b981}.booking-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.booking-header>div{display:flex;flex-direction:column;gap:.5rem}.booking-header strong{color:#333;font-size:1.1rem}.booking-email{color:#666;font-size:.9rem}.role-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.host-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.client-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.cancel-session-btn{background:#f56565;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.cancel-session-btn:hover{background:#e53e3e;box-shadow:0 2px 8px #f565654d;transform:translateY(-2px)}.section-description{font-size:.95rem;margin:-.5rem 0 1.5rem}.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{font-size:.85rem;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}.appointments-container .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.appointments-container .modal-content{background:#fff;border-radius:12px;box-sizing:border-box;max-height:90vh;max-width:600px;overflow-y:auto;padding:1.5rem;position:relative;width:90%}.appointments-container .modal-close{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;transition:all .2s;width:32px;z-index:10}.appointments-container .modal-close:hover{background:#e5e7eb;color:#1f2937;transform:rotate(90deg)}.appointments-container .form-group{margin-bottom:1.25rem}.appointments-container .form-group label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.appointments-container .form-group input,.appointments-container .form-group select{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:.95rem;padding:.75rem;width:100%}.appointments-container .form-group input:focus,.appointments-container .form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.appointments-container .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.checkbox-group{margin-bottom:1.5rem}.checkbox-label{background:#f8f9fa;border-radius:6px;padding:.75rem 1rem;transition:all .2s ease}.checkbox-label:hover{background:#e9ecef}.checkbox-label input[type=checkbox]{flex-shrink:0;height:20px;margin:0 1rem 0 0;width:20px}.checkbox-label span{color:#333;font-size:.95rem;font-weight:500;line-height:1.4;-webkit-user-select:none;user-select:none}.days-of-week-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-top:.5rem}.day-checkbox{background:#f8f9fa;border:2px solid #e9ecef;border-radius:6px;flex-direction:column;justify-content:center;padding:.875rem .5rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.day-checkbox:hover{background:#e9ecef;border-color:#667eea}.day-checkbox input[type=checkbox]{accent-color:#667eea;display:block;margin:0 auto}.day-checkbox input[type=checkbox]:checked+span{color:#667eea;font-weight:700}.day-checkbox span{color:#4b5563;display:block;font-size:.875rem;font-weight:500;line-height:1.2;text-align:center;width:100%}.appointments-container .modal-buttons{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.appointments-container .cancel-button,.appointments-container .confirm-button{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.appointments-container .confirm-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.appointments-container .confirm-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.appointments-container .cancel-button{background:#f3f4f6;color:#4b5563}.appointments-container .cancel-button:hover{background:#e5e7eb}@media (max-width:768px){.days-of-week-grid{grid-template-columns:repeat(4,1fr)}.day-checkbox{padding:.5rem .25rem}.appointments-container .form-row{grid-template-columns:1fr}.appointments-container .modal-buttons{flex-direction:column}.appointments-container .cancel-button,.appointments-container .confirm-button{width:100%}}.hosts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.info-banner{background:#eef2ff;border-left:4px solid #667eea;border-radius:6px;margin-bottom:2rem;padding:1rem 1.5rem}.info-banner p{color:#4c51bf;font-size:.95rem;margin:0}.add-host-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.add-host-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.hosts-section-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr}.availability-section h4,.hosts-list h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.host-card{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:box-shadow .2s}.host-card:hover{box-shadow:0 2px 8px #0000001a}.host-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:50px;justify-content:center;width:50px}.host-info{flex:1 1}.host-name{color:#333;font-weight:600;margin-bottom:.25rem}.host-email{color:#666;font-size:.875rem}.host-actions{display:flex;gap:.5rem}.delete-host-btn,.edit-host-btn{border:none;border-radius:5px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .2s}.edit-host-btn{background:#667eea;color:#fff}.edit-host-btn:hover{background:#5568d3}.delete-host-btn{background:#f56565;color:#fff}.delete-host-btn:hover{background:#e53e3e}.availability-section{background:#f8f9fa;border-radius:8px;padding:1.5rem}.availability-help{color:#666;font-size:.875rem;margin-bottom:1.5rem}.availability-calendar-container{display:flex;flex-direction:column;gap:2rem}.availability-week-block{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.availability-week-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;padding:1rem;text-align:center}.availability-calendar-grid{padding:1rem}.availability-day-headers{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(5,1fr);margin-bottom:.75rem}.availability-day-header{background:#f3f4f6;border-radius:4px;color:#667eea;font-size:.875rem;font-weight:700;padding:.5rem;text-align:center}.availability-days-container{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(5,1fr)}.availability-day-column{display:flex;flex-direction:column;gap:.5rem;min-height:100px}.no-slots-day{background:#f9fafb;border:1px dashed #d1d5db;border-radius:4px;color:#9ca3af;font-size:.875rem;font-style:italic;padding:1rem;text-align:center}.availability-slot-card{background:#fafbfc;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem;transition:box-shadow .2s}.availability-slot-card:hover{border-color:#667eea;box-shadow:0 2px 6px #667eea26}.availability-slot-time{border-bottom:1px solid #e2e8f0;color:#333;font-size:.8125rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem;text-align:center}.availability-hosts-list{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:center}.availability-host-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:.25rem;padding:.25rem .5rem;transition:background .2s}.availability-host-option:hover{background:#e0e7ff}.availability-host-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.host-option-initials{color:#667eea;font-size:.75rem;font-weight:600}.host-select{background:#fff;border:2px solid #e2e8f0;border-radius:5px;cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.host-select:focus{border-color:#667eea;outline:none}.host-initials-row{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:4px}.host-initial-circle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:24px;justify-content:center;width:24px}@media (max-width:1024px){.availability-day-headers,.availability-days-container,.hosts-section-content{grid-template-columns:1fr}.availability-day-header{font-size:1rem}.availability-slot-card{padding:1rem}}.booking-summary-container{max-height:600px;overflow-y:auto;padding:.5rem}.summary-slot-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.summary-slot-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.slot-time-large{color:#667eea;font-size:1.25rem;font-weight:700}.slot-status-badge{background:#667eea;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.available-hosts-summary{background:#fff;border-radius:8px;margin-bottom:1rem;padding:.75rem}.available-hosts-summary strong{color:#333;font-size:.95rem}.bookings-summary{margin-top:1rem}.bookings-summary strong{color:#333;display:block;font-size:.95rem;margin-bottom:.75rem}.summary-booking-item{background:#fff;border-left:4px solid #667eea;border-radius:8px;margin-top:.75rem;padding:1rem 3.5rem 1rem 1rem;position:relative}.booking-student-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.student-name{color:#333;font-size:1rem;font-weight:600}.student-email{color:#666;font-size:.85rem}.booking-host-badge{background:#e7eaf6;border-radius:12px;color:#667eea;display:inline-block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;padding:.25rem .75rem}.booking-reason{background:#f8f9fa;border-radius:4px;color:#555;font-size:.9rem;font-style:italic;margin-top:.5rem;padding:.5rem}.summary-booking-item .cancel-booking-btn-inline{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;height:auto;line-height:1.5;padding:.4rem .8rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .2s ease;white-space:nowrap}.summary-booking-item .cancel-booking-btn-inline:hover{background:#c82333;transform:translateY(-50%) scale(1.05)}.no-bookings-message{background:#fff;border-radius:8px;color:#999;font-style:italic;margin-top:1rem;padding:2rem;text-align:center}.availability-slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1rem}.availability-slot-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:1rem;text-align:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}.availability-slot-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.availability-slot-card.available{background:#d4edda;border-color:#28a745}.availability-slot-card.unavailable{background:#fff;border-color:#ddd}.availability-slot-card .slot-time{color:#333;font-size:1rem;font-weight:600;margin-bottom:.5rem}.availability-slot-card .slot-status{align-items:center;display:flex;font-size:.9rem;gap:.5rem;justify-content:center}.availability-slot-card.available .status-icon{color:#28a745;font-size:1.2rem}.availability-slot-card.unavailable .status-icon{color:#999;font-size:1.2rem}.availability-slot-card.available .status-text{color:#28a745;font-weight:600}.availability-slot-card.unavailable .status-text{color:#999}.saving-indicator{border-radius:8px;padding:1rem 1.5rem;right:2rem}.spinner-small{animation:spin 1s linear infinite;border:3px solid #f3f3f3}.empty-state{margin-top:2rem;padding:3rem}.empty-state h4{color:#333;margin-bottom:.5rem}.empty-state p{color:#666}.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;padding:.75rem;width:100%}.filter-section{margin-bottom:1.5rem}.filter-section label{color:#333;font-weight:500;margin-bottom:.5rem}.filter-select{border:1px solid #ddd;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}.lesson-card{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;margin-bottom: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{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}.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-radius:8px;color:#fff;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}.preserve-whitespace{white-space:pre-wrap}.lesson-modal{max-height:90vh;max-width:800px;overflow-y:auto}.lesson-form{gap:1rem}.back-button{background:#6c757d;transition:all .3s ease}.back-button:hover{background:#5a6268}.logout-button{background:#dc3545;border-radius:8px;color:#fff;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}}.dashboard-layout{background:#f5f5f5;display:flex;height:100vh}.dashboard-sidebar{background:#fff;box-shadow:2px 0 10px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:260px;z-index:100}.sidebar-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.back-home{align-items:center;color:#667eea;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;text-decoration:none;transition:color .2s}.back-home:hover{color:#764ba2}.sidebar-title{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.sidebar-user{color:#6b7280;font-size:.875rem;margin:0}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem}.nav-link{align-items:center;border-radius:.5rem;color:#4b5563;display:flex;font-weight:500;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.nav-link:hover{background:#f3f4f6;color:#667eea}.nav-link.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sidebar-footer{border-top:1px solid #e5e7eb;padding:1rem}.logout-button{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#ef4444;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;transition:background .2s;width:100%}.logout-button:hover{background:#fee2e2}.dashboard-main{flex:1 1;margin-left:260px;min-height:100vh;overflow-y:auto;padding:2rem}.mobile-menu-button{align-items:center;background:#fff;border:none;border-radius:.5rem;box-shadow:0 2px 8px #00000026;color:#667eea;cursor:pointer;display:none;height:48px;justify-content:center;left:1rem;position:fixed;top:1rem;transition:all .2s;width:48px;z-index:90}.mobile-menu-button:hover{background:#f3f4f6;transform:scale(1.05)}.close-sidebar-button{align-items:center;background:#0000;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;display:none;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s;width:32px}.close-sidebar-button:hover{background:#f3f4f6;color:#667eea}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99}@media (max-width:768px){.close-sidebar-button,.mobile-menu-button{display:flex}.sidebar-overlay{display:block}.dashboard-sidebar{transform:translateX(-100%);transition:transform .3s}.dashboard-sidebar.open{transform:translateX(0)}.dashboard-main{margin-left:0;padding:5rem 1.5rem 1.5rem}}.dashboard-container{margin:0 auto;max-width:1200px}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card{align-items:center;border-radius:.75rem;box-shadow:0 2px 8px #00000014;display:flex;gap:1.5rem;text-decoration:none;transition:all .3s}.stat-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:.75rem;color:#fff;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.stat-icon.units{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.lessons{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon.classes{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-icon.classrooms{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-content{flex:1 1}.stat-number{color:#1f2937;line-height:1}.stat-label{color:#6b7280;font-size:1rem}.daily-view-section{margin-bottom:3rem}.daily-view-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.day-column{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;overflow:hidden}.day-header{align-items:center;display:flex;flex-direction:column;padding:1.25rem 1.5rem}.day-header.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.day-header.tomorrow{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.day-header h3{font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.date-label{font-size:.875rem;margin:0;opacity:.9}.day-content{min-height:200px;padding:1.5rem}.no-lessons{color:#9ca3af;padding:3rem 1rem}.no-lessons p{font-size:.9375rem}.lesson-item{background:#f9fafb;border-left:3px solid #667eea;border-radius:.375rem;margin-bottom:.5rem;padding:.875rem 1rem}.lesson-item:last-child{margin-bottom:0}.lesson-title{font-size:.9375rem;margin-bottom:.25rem}.lesson-unit{font-size:.8125rem;margin-bottom:.25rem}.lesson-duration{color:#9ca3af;font-size:.8125rem;font-style:italic}.quick-actions{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;padding:2rem}.quick-actions h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-card{align-items:center;background:#f9fafb;border:2px solid #0000;border-radius:.5rem;color:#4b5563;display:flex;font-weight:500;gap:.75rem;padding:1rem 1.5rem;text-decoration:none;transition:all .2s}.action-card:hover{background:#fff;border-color:#667eea;color:#667eea;transform:translateX(4px)}.action-card svg{flex-shrink:0}.team-dashboard-section{margin-top:3rem}.team-dashboard-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.team-dashboard-section h3{color:#333;font-size:1.25rem;margin:0 0 1.5rem}.weekly-curriculum-section{margin-bottom:2rem;margin-top:3rem}.weekly-curriculum-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.weekly-curriculum-section .week-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr)}@media (max-width:768px){.daily-view-grid,.stats-grid{grid-template-columns:1fr}.day-content{min-height:150px;padding:1rem}.actions-grid{grid-template-columns:1fr}.quick-actions{padding:1.5rem}.team-section{padding:1rem}.weekly-curriculum-section .week-grid{grid-template-columns:1fr}}.planner-calendar-container{margin:0 auto;max-width:1400px}.calendar-header{align-items:flex-start;display:flex;justify-content:center;margin-bottom:2.5rem;padding-bottom:1rem;text-align:center}.calendar-header h1{color:#1f2937;font-size:2.25rem;font-weight:700;letter-spacing:-.025em;margin:0 0 .75rem}.weekly-view-section{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;box-sizing:border-box;margin-bottom:2rem;overflow:hidden;padding:1.5rem}.week-controls{gap:1rem;margin-bottom:1.5rem}.week-controls,.week-nav-btn{align-items:center;display:flex;justify-content:center}.week-nav-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;padding:.5rem;transition:all .2s}.week-nav-btn:hover{background:#f3f4f6;border-color:#667eea;color:#667eea}.today-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.5rem;transition:all .2s}.today-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.class-filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;font-size:.875rem;font-weight:500;outline:none;padding:.5rem 1rem;transition:all .2s}.class-filter-select:hover{background:#f9fafb;border-color:#667eea}.class-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.week-grid{grid-gap:.5rem;box-sizing:border-box;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr);width:100%}.week-day-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:.5rem;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:150px;min-width:0;padding:.75rem;transition:all .2s}.week-day-card:hover{background:#fff;border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.week-day-card.today{background:linear-gradient(135deg,#e0e7ff,#f5f3ff);border-color:#667eea}.week-day-header{border-bottom:1px solid #e5e7eb;margin-bottom:.75rem;padding-bottom:.5rem}.week-day-name{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.week-day-number{color:#1f2937;font-size:.875rem;font-weight:600;margin-top:.25rem}.week-day-card.today .week-day-name,.week-day-card.today .week-day-number{color:#667eea}.week-day-card.drag-over{background:linear-gradient(135deg,#dbeafe,#e0f2fe)!important;border-color:#3b82f6!important;box-shadow:inset 0 0 0 3px #3b82f6,0 8px 20px #3b82f659;position:relative;transform:scale(1.04) translateY(-3px);transition:all .2s ease;z-index:10}.week-day-card.drag-over:after{background:#3b82f6;border-radius:.5rem;box-shadow:0 4px 12px #3b82f666;color:#fff;content:"↓ Drop here";font-size:.875rem;font-weight:700;left:50%;padding:.5rem 1rem;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.week-day-lessons{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.week-lesson-item{align-items:flex-start;background:#fff;border-left:3px solid #667eea;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;cursor:move;cursor:grab;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem;transition:all .2s;user-select:none;-webkit-user-select:none}.week-lesson-content{flex:1 1;min-width:0}.week-lesson-item:hover{background:linear-gradient(135deg,#e0e7ff,#f5f3ff);box-shadow:0 2px 4px #667eea26;transform:translateX(2px)}.week-lesson-item:active{cursor:grabbing;opacity:.7}.week-lesson-title{word-wrap:break-word;color:#1f2937;font-size:.8125rem;font-weight:600;line-height:1.3}.week-lesson-unit{word-wrap:break-word;color:#6b7280;font-size:.6875rem;line-height:1.2;margin-top:.125rem}.week-lesson-resource-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.875rem;gap:.25rem;padding:.25rem .5rem;position:relative;transition:all .2s}.week-lesson-resource-btn:hover{box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.week-lesson-resource-btn .resource-badge{align-items:center;background:#ffffff4d;border-radius:50%;display:flex;font-size:.65rem;font-weight:600;height:16px;justify-content:center;width:16px}.week-no-lessons{color:#9ca3af;font-size:.75rem;font-style:italic;padding:1rem .5rem;text-align:center}.calendar-controls{gap:2rem;margin-bottom:2rem}.calendar-controls,.month-nav-btn{align-items:center;display:flex;justify-content:center}.month-nav-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;padding:.5rem;transition:all .2s}.month-nav-btn:hover{background:#f3f4f6;border-color:#667eea;color:#667eea}.month-title{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0;min-width:250px;text-align:center}.calendar-grid-wrapper{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;overflow:hidden}.calendar-weekdays{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:grid;grid-template-columns:repeat(7,1fr)}.weekday-header{color:#4b5563;font-size:.875rem;font-weight:600;padding:1rem;text-align:center}.calendar-days-grid{grid-gap:1px;background:#e5e7eb;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;cursor:pointer;display:flex;flex-direction:column;min-height:120px;padding:.5rem;position:relative;transition:all .2s}.calendar-day.empty{background:#f9fafb;cursor:default}.calendar-day:not(.empty):hover{background:#f9fafb;box-shadow:inset 0 0 0 2px #667eea}.calendar-day.today{background:linear-gradient(135deg,#e0e7ff,#f5f3ff)}.day-number{color:#1f2937;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.calendar-day.today .day-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:.75rem;height:24px;justify-content:center;width:24px}.day-lessons{flex:1 1;flex-direction:column;gap:.25rem}.day-lessons,.lesson-pill{display:flex;overflow:hidden}.lesson-pill{background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-left:3px solid #667eea;border-radius:.25rem;cursor:move;cursor:grab;flex-direction:column;font-size:.75rem;gap:.125rem;padding:.25rem .5rem;transition:all .2s;user-select:none;-webkit-user-select:none}.lesson-pill:hover{background:linear-gradient(135deg,#c7d2fe,#ddd6fe);box-shadow:0 2px 4px #667eea33;transform:translateY(-1px)}.lesson-pill:active{cursor:grabbing;opacity:.5}.lesson-pill.dragging,.week-lesson-item.dragging{opacity:.3;transform:scale(.95)}.calendar-day.drag-over{background:linear-gradient(135deg,#dbeafe,#e0f2fe)!important;box-shadow:inset 0 0 0 3px #3b82f6,0 8px 20px #3b82f659!important;transform:scale(1.05) translateY(-3px);transition:all .2s ease;z-index:10}.calendar-day.drag-over:after{animation:bounce .6s ease-in-out infinite;color:#3b82f6;content:"↓";font-size:2.5rem;font-weight:900;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes bounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}.lesson-unit{color:#6b7280;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-lessons{color:#6b7280;font-size:.75rem;font-weight:500;padding:.25rem;text-align:center}.day-details-modal h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.day-lessons-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.lesson-detail-card{background:#f9fafb;border-left:4px solid #667eea;border-radius:.5rem;padding:1rem}.lesson-detail-card h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.lesson-description{font-size:.875rem;line-height:1.5;margin:0 0 .75rem}.meta-tag{align-items:center;background:#fff;border-radius:1rem;color:#4b5563;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.no-lessons{color:#6b7280;padding:2rem;text-align:center}.no-lessons p{margin:0}.modal-actions{justify-content:flex-end}@media (max-width:1024px){.calendar-days-grid{font-size:.875rem}.calendar-day{min-height:100px}}@media (max-width:768px){.calendar-header{flex-direction:column;gap:1rem}.calendar-controls{gap:1rem}.month-title{font-size:1.25rem;min-width:200px}.week-grid{grid-template-columns:1fr}.week-day-card{min-height:100px}.calendar-day{min-height:80px;padding:.25rem}.weekday-header{font-size:.75rem;padding:.5rem}.lesson-pill{font-size:.6875rem;padding:.125rem .25rem}.modal-content{padding:1.5rem}}.team-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem}.team-header{align-items:center;display:flex;gap:1.5rem;margin:0 auto 2rem;max-width:1400px}.team-header h1{color:#fff;font-size:2rem;margin:0}.team-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px}.team-section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;padding:2rem}.team-section h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.task-form{display:flex;gap:.75rem;margin-bottom:1.5rem}.task-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .2s}.task-input:focus{border-color:#667eea;outline:none}.add-btn{border-radius:8px;padding:.75rem 1.5rem}.tasks-list{display:flex;flex-direction:column;gap:.75rem;max-height:600px;overflow-y:auto}.task-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.task-item:hover{box-shadow:0 2px 8px #0000001a}.task-item.completed{background:#e6f7ed;opacity:.8}.task-checkbox-label{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:.75rem}.checkbox-container{height:20px;position:relative;width:20px}.task-checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.completed-avatar{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.65rem;font-weight:700;height:24px;justify-content:center;pointer-events:none;position:absolute;right:-8px;top:-8px;width:24px;z-index:1}.task-title{color:#333;font-size:1rem;line-height:1.4}.task-item.completed .task-title{color:#718096;text-decoration:line-through}.task-meta{align-items:center;display:flex;font-size:.875rem;gap:.75rem}.task-creator{color:#718096;font-style:italic}.task-completer{color:#10b981;font-weight:600}.delete-task-btn{align-items:center;background:#f56565;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;line-height:1;transition:all .2s;width:24px}.delete-task-btn:hover{background:#e53e3e;transform:scale(1.1)}.messages-section{display:flex;flex-direction:column}.messages-list{display:flex;flex:1 1;flex-direction:column;gap:1rem;margin-bottom:1.5rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.message-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:1rem}.message-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.message-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:40px;justify-content:center;width:40px}.message-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.message-info strong{color:#333;font-size:.95rem}.message-time{color:#718096;font-size:.75rem}.delete-message-btn{align-items:center;background:#f56565;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:24px;justify-content:center;line-height:1;transition:all .2s;width:24px}.delete-message-btn:hover{background:#e53e3e;transform:scale(1.1)}.message-content{word-wrap:break-word;color:#333;line-height:1.6;white-space:pre-wrap}.message-form{display:flex;flex-direction:column;gap:.75rem}.message-input{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;resize:vertical;transition:border-color .2s}.message-input:focus{border-color:#667eea;outline:none}.send-btn{align-self:flex-end;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s}.send-btn:hover{transform:translateY(-2px)}.no-data{color:#718096;padding:2rem;text-align:center}@media (max-width:1024px){.team-content{grid-template-columns:1fr}.messages-list,.tasks-list{max-height:400px}}@media (max-width:768px){.team-dashboard{padding:1rem}.team-header{align-items:flex-start;flex-direction:column}.team-section{padding:1rem}}.units-container{margin:0 auto;max-width:1200px}.filter-section{margin-bottom:2rem}.filter-section label{color:#374151;display:block;font-weight:600;margin-bottom:.75rem}.class-filter-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.class-filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.class-filter-btn:hover{background:#f5f7ff;border-color:#667eea;color:#667eea}.class-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.class-filter-btn.active:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.units-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.unit-card{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s}.unit-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.card-header h3{color:#1f2937;flex:1 1;font-size:1.25rem;font-weight:600;margin:0}.unit-number{color:#667eea;font-weight:700}.card-description{color:#6b7280;line-height:1.6;margin-bottom:1rem}.card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.card-classes{border-top:1px solid #e5e7eb;color:#4b5563;font-size:.875rem;padding-top:.75rem}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:.5rem;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.empty-message{background:#fef3c7;border-radius:.5rem;color:#6b7280;font-size:.875rem;margin:0;padding:.75rem}@media (max-width:768px){.page-header{flex-direction:column;gap:1rem}.form-row,.units-grid{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}}.lessons-container{margin:0 auto;max-width:1200px}.view-controls{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.toggle-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;font-size:.875rem}.toggle-btn:hover{background:#f3f4f6}.toggle-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.unit-filter{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.lessons-list{display:flex;flex-direction:column;gap:1rem}.lesson-card{background:#fff;border-left:4px solid #e5e7eb;border-radius:.75rem;box-shadow:0 2px 8px #00000014;padding:1rem;transition:all .3s}.lesson-card.compact{padding:.75rem 1rem}.lesson-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-2px)}.lesson-card.drag-over{background:#f0f4ff;border:2px solid #667eea}.lesson-card.unit-color-1{border-left-color:#667eea}.lesson-card.unit-color-1 .lesson-number{color:#667eea}.lesson-card.unit-color-2{border-left-color:#10b981}.lesson-card.unit-color-2 .lesson-number{color:#10b981}.lesson-card.unit-color-3{border-left-color:#f59e0b}.lesson-card.unit-color-3 .lesson-number{color:#f59e0b}.lesson-card.unit-color-4{border-left-color:#ec4899}.lesson-card.unit-color-4 .lesson-number{color:#ec4899}.lesson-card.unit-color-5{border-left-color:#14b8a6}.lesson-card.unit-color-5 .lesson-number{color:#14b8a6}.lesson-card.unit-color-6{border-left-color:#ef4444}.lesson-card.unit-color-6 .lesson-number{color:#ef4444}.lesson-card.unit-color-7{border-left-color:#6366f1}.lesson-card.unit-color-7 .lesson-number{color:#6366f1}.lesson-card.unit-color-8{border-left-color:#eab308}.lesson-card.unit-color-8 .lesson-number{color:#eab308}.drag-handle{color:#9ca3af;cursor:grab;flex-shrink:0;font-size:1.2rem;padding:0 .5rem;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.drag-handle:hover{color:#667eea}.lesson-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.lesson-title-section{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.lesson-icon{color:#667eea;flex-shrink:0}.lesson-title-info{flex:1 1;min-width:0}.lesson-title-section h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-number{color:#667eea;font-weight:700}.lesson-meta-inline{display:flex;flex-wrap:wrap;gap:.375rem}.tag-small{align-items:center;background:#f3f4f6;border-radius:.75rem;color:#6b7280;display:inline-flex;font-size:.75rem;font-weight:500;padding:.125rem .5rem}.lesson-description{color:#6b7280;line-height:1.6;margin-bottom:1rem}.lesson-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{align-items:center;background:#f3f4f6;border-radius:1rem;display:inline-flex;font-weight:500}.lesson-units,.tag{color:#4b5563;font-size:.875rem}.lesson-units{border-top:1px solid #e5e7eb;padding-top:.75rem}.lesson-objectives{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.objectives-label{color:#6b7280;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.lesson-objectives ul{list-style-type:disc;margin:0;padding-left:1.5rem}.lesson-objectives li{color:#4b5563;font-size:.875rem;margin-bottom:.25rem}.more-indicator{color:#9ca3af!important;font-style:italic}.card-actions{align-items:center;gap:.25rem}.btn-icon{position:relative}.btn-icon.expand-btn{color:#9ca3af}.btn-icon.resources-btn{color:#059669}.btn-icon.resources-btn:hover{background:#d1fae5;color:#047857}.resource-count{background:#059669;border-radius:.75rem;color:#fff;font-size:.625rem;font-weight:600;line-height:1;padding:.125rem .3rem;position:absolute;right:2px;top:2px}.lesson-details{animation:slideDown .2s ease-out;border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-section{margin-bottom:1rem}.detail-section:last-child{margin-bottom:0}.detail-section strong{color:#374151;display:block;font-size:.875rem;margin-bottom:.375rem}.detail-section p{color:#6b7280;font-size:.875rem;line-height:1.6;margin:0}.detail-section ul{list-style-type:disc;margin:0;padding-left:1.25rem}.detail-section li{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:.25rem}.procedures-text{white-space:pre-wrap}.standards-list{display:flex;flex-wrap:wrap;gap:.375rem}.resource-link{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;color:#667eea}.resource-link:hover{background:#f3f4f6;box-shadow:0 2px 4px #667eea1a}.resource-link.disabled{background:#fef2f2;border-color:#fca5a5;cursor:not-allowed;opacity:.6}.resource-link.disabled:hover{background:#fef2f2;border-color:#fca5a5;box-shadow:none}.resource-error{color:#dc2626;font-size:.75rem;font-style:italic}.resource-link span{flex:1 1}.resource-type-badge{background:#e0e7ff;border-radius:.75rem;color:#667eea;font-size:.75rem;font-weight:500;padding:.125rem .5rem;text-transform:capitalize}.modal-content.lesson-modal{max-width:1100px!important}.lesson-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{gap:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #667eea1a}.form-row.three-cols{grid-template-columns:1fr 1fr 1fr}.array-field{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.add-field-btn{border:none;color:#667eea;padding:.5rem 0;text-align:left}.add-field-btn:hover{text-decoration:underline}.modal-actions{margin-top:1rem}.checkbox-group{background:#f9fafb;border-radius:.5rem;display:flex;flex-direction:column;gap:.75rem;max-height:200px;overflow-y:auto;padding:.75rem}.checkbox-label{border-radius:.375rem;gap:.75rem;padding:.5rem;transition:background .2s}.checkbox-label:hover{background:#f3f4f6}.checkbox-label input[type=checkbox]{accent-color:#667eea;height:1.125rem;width:1.125rem}.checkbox-label span{color:#374151;font-size:.9375rem}.field-hint{background:#fef3c7;border-radius:.5rem;color:#6b7280;margin:0;padding:.75rem}.resources-list{gap:1rem}.resource-item{border-radius:.5rem}.resource-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.resource-type-select{border-radius:.375rem;cursor:pointer;flex:1 1}.resource-type-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.resource-description{border-radius:.375rem;box-sizing:border-box;font-size:.9375rem;margin-bottom:.75rem;padding:.75rem;width:100%}.resource-description:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.file-upload-section{border-radius:.375rem}.file-uploaded{color:#059669;font-size:.875rem;gap:.5rem}.file-uploaded span{flex:1 1}.view-file-btn{border-radius:.25rem;color:#667eea;font-weight:500;padding:.25rem .5rem}.view-file-btn:hover{background:#f3f4f6;text-decoration:underline}.file-input{cursor:pointer;flex:1 1}.file-input:disabled{cursor:not-allowed;opacity:.5}.uploading-text{color:#667eea;font-weight:500}.url-input-wrapper{border-radius:.375rem}.url-icon{color:#9ca3af}.resource-url{background:#0000;font-size:.9375rem}.url-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.url-input-wrapper:focus-within .url-icon{color:#667eea}.schedule-list{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;overflow:hidden}.schedule-list-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.schedule-list-header .week-controls{align-items:center;display:flex;gap:1rem;justify-content:center}.schedule-list-header .week-nav-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.schedule-list-header .week-nav-btn:hover{background:#f3f4f6;border-color:#667eea;color:#667eea}.schedule-list-header .today-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.5rem;transition:all .2s}.schedule-list-header .today-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.week-range{color:#1f2937;font-size:1.125rem;font-weight:700;margin:0}.schedule-hint{color:#6b7280;font-size:.875rem;font-weight:500;margin:0;text-align:center}.schedule-date-slot{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:1.5rem;min-height:80px;padding:1rem 1.5rem;position:relative;transition:all .25s ease}.schedule-date-slot.today{background:linear-gradient(135deg,#fefce8,#fef3c7);border-left:4px solid #f59e0b}.schedule-date-slot.drag-over{background:linear-gradient(135deg,#dbeafe,#e0f2fe)!important;border-left:6px solid #3b82f6!important;border-right:6px solid #3b82f6!important;box-shadow:inset 0 0 0 3px #3b82f6,0 8px 24px #3b82f640!important;transform:scale(1.02);z-index:5}.schedule-date-slot.drag-over:before{background:#3b82f6;border-radius:.5rem;box-shadow:0 4px 12px #3b82f666;color:#fff;content:"Drop lesson here";font-size:.9375rem;font-weight:700;left:50%;letter-spacing:.025em;padding:.75rem 1.5rem;pointer-events:none!important;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:15}.schedule-date-slot.drag-over *{pointer-events:none!important}.schedule-date-info{display:flex;flex-direction:column;flex-shrink:0;gap:.25rem;min-width:150px;padding-top:.25rem}.schedule-day{color:#667eea;font-size:.9375rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.schedule-date{color:#6b7280;font-size:.875rem;font-weight:500}.schedule-date-slot.today .schedule-day{color:#f59e0b}.schedule-date-slot.today .schedule-date{color:#92400e}.schedule-lessons-container{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-width:0}.schedule-lesson-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-left:4px solid #667eea;border-radius:.5rem;cursor:move;cursor:grab;display:flex;gap:1rem;padding:.875rem 1rem;transition:all .2s;user-select:none;-webkit-user-select:none}.schedule-lesson-item.unit-color-1{border-left-color:#667eea}.schedule-lesson-item.unit-color-1 .lesson-number{color:#667eea}.schedule-lesson-item.unit-color-2{border-left-color:#10b981}.schedule-lesson-item.unit-color-2 .lesson-number{color:#10b981}.schedule-lesson-item.unit-color-3{border-left-color:#f59e0b}.schedule-lesson-item.unit-color-3 .lesson-number{color:#f59e0b}.schedule-lesson-item.unit-color-4{border-left-color:#ec4899}.schedule-lesson-item.unit-color-4 .lesson-number{color:#ec4899}.schedule-lesson-item.unit-color-5{border-left-color:#14b8a6}.schedule-lesson-item.unit-color-5 .lesson-number{color:#14b8a6}.schedule-lesson-item.unit-color-6{border-left-color:#ef4444}.schedule-lesson-item.unit-color-6 .lesson-number{color:#ef4444}.schedule-lesson-item.unit-color-7{border-left-color:#6366f1}.schedule-lesson-item.unit-color-7 .lesson-number{color:#6366f1}.schedule-lesson-item.unit-color-8{border-left-color:#eab308}.schedule-lesson-item.unit-color-8 .lesson-number{color:#eab308}.schedule-lesson-item:hover{background:#fff;box-shadow:0 2px 6px #667eea26;transform:translateX(4px)}.schedule-lesson-item:active{cursor:grabbing;opacity:.5}.schedule-lesson-item[draggable=true].dragging{opacity:.3;transform:scale(.95)}.schedule-drag-handle{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:20px}.drag-dots{background-image:radial-gradient(circle,#9ca3af 2px,#0000 0);background-position:0 0,0 6px;background-size:6px 6px;height:16px;opacity:.4;width:6px}.schedule-lesson-item:hover .drag-dots{opacity:1}.schedule-lesson-info{flex:1 1;min-width:0}.schedule-lesson-title{color:#1f2937;font-size:.9375rem;font-weight:600;margin-bottom:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-lesson-meta{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-actions{display:flex;flex-shrink:0;gap:.5rem}.schedule-no-lessons{color:#9ca3af;font-size:.875rem;font-style:italic;padding:1.5rem;text-align:center}@media (max-width:768px){.schedule-date-slot{flex-direction:column;gap:1rem}.schedule-date-info{border-bottom:1px solid #e5e7eb;min-width:0;min-width:auto;padding-bottom:.75rem;width:100%}.schedule-lesson-item{flex-wrap:wrap}.schedule-actions{justify-content:flex-end;width:100%}.page-header{flex-direction:column;gap:1rem}.view-controls{align-items:stretch;flex-direction:column}.view-toggle{width:100%}.toggle-btn{flex:1 1}.form-row{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}}.assignment-due-date{color:#6b7280;font-size:.875rem;font-style:italic;margin-left:.5rem}.classes-container{margin:0 auto;max-width:1200px}.classes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.class-card{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s}.class-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.class-icon{color:#9333ea;flex-shrink:0}.class-card h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.class-details{display:flex;flex-direction:column;gap:.5rem}.btn-scope{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:.625rem 1rem;transition:all .2s;width:100%}.btn-scope:hover{box-shadow:0 4px 12px #0596694d;transform:translateY(-2px)}.array-field{margin-bottom:1.5rem}.array-input-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.array-input-row input{flex:1 1}.btn-icon-small{background:#0000;border-radius:.375rem;flex-shrink:0;padding:.5rem}.btn-icon-small.delete:hover{color:#ef4444}.add-field-btn{background:#0000;border:2px dashed #d1d5db;border-radius:.5rem;color:#6b7280;font-weight:500}.add-field-btn:hover{background:#667eea0d;border-color:#667eea;color:#667eea}@media (max-width:768px){.page-header{flex-direction:column;gap:1rem}.classes-grid,.form-row{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}}.classrooms-container{margin:0 auto;max-width:1200px}.page-header h1{margin:0 0 .5rem}.btn-primary{display:flex}.classrooms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.classroom-card{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s}.classroom-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.classroom-icon{color:#9333ea;flex-shrink:0}.card-actions{display:flex;gap:.5rem}.btn-icon{background:#0000;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s}.btn-icon:hover{background:#f3f4f6;color:#667eea}.btn-icon.delete:hover{background:#fee2e2;color:#ef4444}.classroom-card h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.classroom-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.detail-label{color:#6b7280}.detail-value{color:#1f2937;font-weight:500}.modal-content{max-width:600px}.modal-content h2{margin:0 0 1.5rem}.form-group input{border:1px solid #d1d5db;border-radius:.5rem;box-sizing:border-box;padding:.75rem}@media (max-width:768px){.page-header{flex-direction:column;gap:1rem}.classrooms-grid,.form-row{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}}.schedule-container{margin:0 auto;max-width:1400px}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:1rem}.page-header h1{color:#1f2937;font-size:2.25rem;font-weight:700;letter-spacing:-.025em;margin:0 0 .75rem}.subtitle{color:#6b7280;font-size:1.0625rem;line-height:1.6}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.schedule-table-wrapper{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;overflow:auto;width:100%}.schedule-table{border-collapse:collapse;width:100%}.schedule-table thead{background:#f9fafb}.day-header{color:#1f2937;width:120px}.classroom-header,.day-header{border-bottom:2px solid #e5e7eb;font-weight:600;padding:1rem;text-align:left}.classroom-header{border-left:1px solid #e5e7eb;min-width:200px}.classroom-name{color:#1f2937;font-size:.9375rem}.classroom-period{color:#6b7280;font-size:.75rem;font-weight:400;margin-top:.25rem}.day-cell{background:#f9fafb;color:#4b5563;font-weight:500;padding:1rem}.day-cell,.schedule-cell{border-bottom:1px solid #e5e7eb;vertical-align:top}.schedule-cell{background:#fff;border-left:1px solid #e5e7eb;padding:.75rem}.cell-content{display:flex;flex-direction:column;gap:.5rem;min-height:100px}.schedule-item{align-items:flex-start;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border:1px solid #c7d2fe;border-radius:.5rem;gap:.5rem;padding:.75rem}.schedule-item:hover{box-shadow:0 2px 8px #667eea33}.item-content{min-width:0}.lesson-title{color:#1f2937;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-time{color:#6b7280;font-size:.75rem;margin-top:.25rem}.delete-btn{background:#0000;border:none;border-radius:.25rem;color:#ef4444;cursor:pointer;flex-shrink:0;padding:.25rem;transition:all .2s}.delete-btn:hover{background:#fee2e2}.add-lesson-btn{align-items:center;background:#0000;border:2px dashed #d1d5db;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;justify-content:center;padding:.5rem;transition:all .2s;width:100%}.add-lesson-btn:hover{background:#f5f7ff;border-color:#667eea;color:#667eea}.empty-state{border-radius:.75rem;box-shadow:0 2px 8px #00000014}.empty-icon{color:#d1d5db;margin:0 auto 1rem}.empty-state h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0 0 1.5rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #f3f4f6;border-top-color:#667eea;height:48px;width:48px}.modal-overlay{inset:0}.modal-content{border-radius:1rem;box-shadow:0 20px 60px #0000004d}.modal-content h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.modal-subtitle{font-size:1rem;margin:0 0 1.5rem}.form-group label{font-size:.875rem}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:.5rem;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.field-hint{color:#f59e0b;font-size:.875rem;margin:.5rem 0 0}.field-hint a{color:#667eea;text-decoration:underline}.modal-actions{gap:1rem;margin-top:1.5rem}.btn-secondary{background:#f3f4f6;border:none;border-radius:.5rem;color:#4b5563;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.modal-actions .btn-primary{flex:1 1}@media (max-width:1024px){.schedule-table-wrapper{overflow-x:auto}.schedule-table{min-width:800px}}@media (max-width:768px){.page-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}}.scope-sequence-container{margin:0 auto;max-width:1400px;padding:2rem}.back-button{background:none;color:#667eea;gap:.25rem;margin-bottom:.5rem;padding:.5rem 0}.back-button:hover{color:#5a67d8;text-decoration:underline}.header-actions{gap:.75rem}.scope-header-form{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1.5fr 1.5fr}.scope-header-form,.scope-title-display{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.scope-title-display{align-items:center;display:flex;justify-content:space-between}.scope-title-display h2{color:#1f2937;font-size:1.5rem;margin:0}.period-type-badge{align-items:center;background:#ede9fe;border-radius:1rem;color:#6d28d9;display:inline-flex;font-size:.875rem;font-weight:600;padding:.375rem .875rem}.scope-content{margin-top:1.5rem}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.add-period-btn{flex:1 1;min-width:200px}.periods-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:1.5rem}.period-card{background:#fff;border-radius:.75rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.period-card:hover{box-shadow:0 4px 8px #00000026}.period-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:1.25rem}.period-title-section{align-items:flex-start;display:flex;gap:.75rem}.period-icon{flex-shrink:0;opacity:.9}.period-header h3{font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.period-dates{font-size:.875rem;margin:0;opacity:.9}.period-actions{display:flex;gap:.5rem}.period-actions .btn-icon{background:#fff3;color:#fff}.period-actions .btn-icon:hover{background:#ffffff4d}.period-entries{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:100px;padding:1rem}.entry-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:.875rem;transition:background .2s}.entry-card:hover{background:#f3f4f6}.entry-header{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem}.entry-title-container{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.entry-icon{color:#667eea;flex-shrink:0}.entry-header h4{color:#1f2937;font-size:.9375rem;font-weight:600;margin:0}.entry-type-badge{align-items:center;background:#dbeafe;border-radius:.75rem;color:#1e40af;display:inline-flex;font-size:.6875rem;font-weight:600;letter-spacing:.025em;padding:.125rem .5rem;text-transform:uppercase}.entry-actions{display:flex;gap:.25rem;margin-left:auto}.entry-objectives,.entry-resources,.entry-standards{color:#4b5563;font-size:.8125rem;margin-bottom:.5rem}.entry-objectives strong,.entry-resources strong,.entry-standards strong{color:#374151;font-weight:600}.entry-description{color:#6b7280;font-size:.8125rem;line-height:1.5;margin:.5rem 0 0}.no-entries{color:#9ca3af;font-size:.875rem;margin:0;padding:2rem 1rem;text-align:center}.add-entry-btn{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;margin:.5rem 1rem 1rem;padding:.75rem;transition:all .2s}.add-entry-btn:hover{background:#fff;border-color:#667eea;color:#667eea}@media (max-width:768px){.scope-sequence-container{padding:1rem}.periods-grid,.scope-header-form{grid-template-columns:1fr}.header-actions{flex-direction:column;width:100%}.header-actions .btn-primary,.header-actions .btn-secondary{justify-content:center;width:100%}}.scope-sequence-container .empty-state{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:3rem 2rem;text-align:center}.scope-sequence-container .empty-state .empty-icon{color:#d1d5db;margin-bottom:1rem}.scope-sequence-container .empty-state h3{color:#374151;margin:0 0 .5rem}.scope-sequence-container .empty-state p{color:#6b7280;margin:0 0 1.5rem}.error-state{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin:2rem auto;max-width:500px;padding:3rem 2rem;text-align:center}.error-state p{color:#ef4444;font-weight:600;margin-bottom:1.5rem}.modal-subtitle{color:#6b7280;font-size:.875rem;margin:-.5rem 0 1.5rem}.auto-build-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;margin-top:1.5rem;padding:1rem}.auto-build-info p{color:#0c4a6e;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.auto-build-info ul{color:#0369a1;font-size:.8125rem;line-height:1.6;margin:0;padding-left:1.25rem}.auto-build-info li{margin-bottom:.25rem}.workflow-hint{background:#fefce8;border:1px solid #fde047;border-radius:.5rem;margin-bottom:1.5rem;padding:1.25rem}.workflow-hint p{color:#713f12;font-size:.9375rem;font-weight:600;margin:0 0 .75rem}.workflow-hint ol{color:#854d0e;font-size:.875rem;line-height:1.7;margin:0;padding-left:1.5rem}.workflow-hint li{margin-bottom:.5rem}.entry-unit-info{align-items:center;background:#f3e8ff;border-radius:.375rem;color:#6b21a8;display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;margin-top:.5rem;padding:.375rem .5rem}.unit-badge-icon{color:#7c3aed;flex-shrink:0}.inline-period-form{background:#fff;border:2px solid #667eea;border-radius:.75rem;box-shadow:0 2px 8px #667eea1a;margin-bottom:1.5rem;padding:1.5rem}.inline-period-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr;margin-bottom:1rem}.inline-form-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-sm{font-size:.875rem;padding:.5rem 1rem}.period-info-inline{flex:1 1}.period-name-input{background:#fff3;border:1px solid #fff6;border-radius:.375rem;color:#fff;font-size:1.125rem;font-weight:600;margin-bottom:.5rem;padding:.5rem .75rem;transition:all .2s;width:100%}.period-name-input:focus{background:#ffffff4d;border-color:#fff9;outline:none}.period-name-input::placeholder{color:#ffffffb3}.period-dates-edit{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.period-dates-edit span{color:#ffffffe6;font-size:.875rem}.period-date-input{background:#fff3;border:1px solid #fff6;border-radius:.375rem;color:#fff;font-size:.875rem;min-width:150px;padding:.375rem .5rem;transition:all .2s}.period-date-input:focus{background:#ffffff4d;border-color:#fff9;outline:none}.period-date-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}@media (max-width:768px){.inline-period-form .form-row{grid-template-columns:1fr}.period-dates-edit{align-items:flex-start;flex-direction:column}.period-date-input{width:100%}}.user-management{margin:0 auto;max-width:1200px;padding:2rem}.page-header{margin-bottom:2rem}.header-text{display:flex;flex-direction:column}.page-header h1{color:#1a202c;font-size:2rem;margin-bottom:.5rem}.page-header p{color:#718096;font-size:1rem}.access-denied{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:4rem 2rem;text-align:center}.access-denied h2{color:#e53e3e;margin-bottom:1rem}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.users-header h2{color:#2d3748;font-size:1.5rem}.add-user-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s}.add-user-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.no-users{background:#fff;border:2px dashed #e2e8f0;border-radius:12px;padding:3rem;text-align:center}.users-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.user-card{word-wrap:break-word;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;padding:1.5rem;transition:box-shadow .3s}.user-card:hover{box-shadow:0 4px 16px #00000026}.user-card-header{border-bottom:2px solid #f7fafc;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.user-avatar,.user-card-header{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.25rem;font-weight:700;height:60px;justify-content:center;width:60px}.user-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.user-info h3{color:#1a202c;font-size:1.125rem;line-height:1.3;margin:0}.user-info p{color:#718096;font-size:.875rem;line-height:1.3;margin:0;overflow-wrap:break-word;word-break:break-word}.user-role-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-top:.5rem;padding:.25rem .75rem;text-transform:uppercase}.user-role-badge.admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.user-role-badge.officer{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.user-role-badge.varsity{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.user-permissions{margin-bottom:1.5rem}.user-permissions h4{color:#718096;font-size:.875rem;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.permission-checkbox{align-items:flex-start;background:#f7fafc;border-radius:6px;cursor:pointer;display:flex;flex-direction:row;flex-wrap:wrap;gap:0;margin-bottom:.5rem;padding:.75rem;transition:background .2s}.permission-checkbox:hover{background:#edf2f7}.permission-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-right:.5rem;margin-top:.1rem;width:18px}.permission-checkbox span{color:#2d3748;display:inline-block;font-weight:600;line-height:1.4}.permission-checkbox small{color:#718096;display:block;font-size:.75rem;margin-left:calc(18px + .5rem);margin-top:.25rem;width:100%}.user-actions{display:flex;gap:.5rem}.user-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:.625rem;transition:all .2s}.edit-btn{background:#edf2f7;color:#2d3748}.edit-btn:hover{background:#e2e8f0}.delete-btn{background:#fff5f5;color:#e53e3e}.delete-btn:hover{background:#fed7d7}.modal-close{background:#f3f4f6;border-radius:50%;color:#6b7280;font-size:1.5rem;height:32px;transition:all .2s;width:32px}.modal-close:hover{background:#e5e7eb;color:#1f2937;transform:rotate(90deg)}.modal-content h2{padding-right:2rem}.form-group input[type=email],.form-group input[type=text],.form-group select.role-select{border:2px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select.role-select:focus{border-color:#667eea;outline:none}.form-group select.role-select{background-color:#fff;cursor:pointer}@media (max-width:768px){.user-management{padding:1rem}.page-header h1{font-size:1.5rem}.users-header{align-items:stretch;flex-direction:column;gap:1rem}.add-user-button{width:100%}.users-grid{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}}.point-tracker{background:#f7fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.point-tracker-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-with-back{display:flex;flex:1 1;flex-direction:column;gap:1rem}.back-button{align-self:flex-start;background:#667eea;color:#fff;display:flex;font-size:1rem;padding:.75rem 1.25rem;transition:all .2s ease}.back-button:hover{background:#5a67d8;transform:translateX(-3px)}.point-tracker-header h1{color:#1a202c;font-size:2.5rem;margin:0}.apply-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s}.apply-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.admin-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:2rem}.admin-tabs .tab{background:none;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-weight:600;padding:1rem 2rem;position:relative;transition:all .2s}.admin-tabs .tab:hover{color:#2d3748}.admin-tabs .tab.active{border-bottom-color:#667eea;color:#667eea}.admin-tabs .badge{background:#e53e3e;border-radius:12px;color:#fff;font-size:.75rem;margin-left:.5rem;padding:.125rem .5rem}.tracker-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:400px 1fr;height:calc(100vh - 220px)}.applications-panel,.members-panel,.records-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-y:auto;padding:1.5rem}.panel-header{align-items:center;border-bottom:2px solid #f7fafc;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.panel-header h2{color:#1a202c;flex-shrink:0;font-size:1.5rem;margin:0}.total-points{color:#667eea;font-size:1.25rem;font-weight:700;margin:.25rem 0 0}.add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.8125rem;font-weight:600;padding:.5rem .75rem;transition:transform .2s;white-space:nowrap}.add-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.members-list{display:flex;flex-direction:column;gap:.75rem}.member-item{align-items:center;background:#f7fafc;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.member-item:hover{background:#edf2f7;transform:translateX(4px)}.member-item.selected{background:#e6f2ff;border-color:#667eea}.member-info{flex:1 1}.member-name{color:#1a202c;font-size:1rem;font-weight:600}.member-points{color:#667eea;font-size:.9rem;font-weight:700;margin-top:.25rem}.member-actions{display:flex;gap:.5rem}.icon-btn{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.875rem;padding:.375rem .625rem;transition:all .2s}.icon-btn:hover{background:#f7fafc;border-color:#cbd5e0}.leaderboard-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1200px;padding:1.5rem}.search-bar-container{margin-bottom:1.5rem;position:relative}.search-bar{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s ease;width:100%}.search-bar:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-bar::placeholder{color:#a0aec0}.clear-search{align-items:center;background:#e2e8f0;border:none;border-radius:50%;color:#4a5568;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:center;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:all .2s ease;width:2rem}.clear-search:hover{background:#cbd5e0;color:#1a202c}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem;max-height:600px;overflow-y:auto;padding-right:.5rem}.leaderboard-list::-webkit-scrollbar{width:8px}.leaderboard-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.leaderboard-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.leaderboard-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}.leaderboard-item{align-items:center;background:#f7fafc;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.leaderboard-item:hover{background:#edf2f7;transform:translateX(4px)}.leaderboard-item.selected{background:#e6f2ff;border-color:#667eea}.leaderboard-rank{color:#667eea;font-size:1.25rem;font-weight:700;min-width:50px;text-align:center}.leaderboard-info{flex:1 1}.leaderboard-name{color:#1a202c;font-size:1rem;font-weight:600;margin-bottom:.25rem}.leaderboard-details{color:#718096;display:flex;font-size:.875rem;gap:1rem}.leaderboard-details span{background:#e2e8f0;border-radius:4px;padding:.125rem .5rem}.leaderboard-points{color:#667eea;font-size:1.125rem;font-weight:700;min-width:80px;text-align:right}.records-list{display:flex;flex-direction:column;gap:1rem}.record-item{background:#f7fafc;border-left:4px solid #667eea;border-radius:8px;padding:1.25rem}.record-header-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.record-header{flex:1 1;gap:1rem}.record-creator,.record-header{align-items:center;display:flex}.record-creator{gap:.5rem}.creator-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;cursor:help;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:36px;justify-content:center;width:36px}.points-badge{border-radius:20px;font-size:1rem;font-weight:700;padding:.375rem .875rem}.points-badge.positive{background:#c6f6d5;color:#22543d}.points-badge.negative{background:#fed7d7;color:#742a2a}.category-label{color:#718096;font-size:.875rem;font-weight:600}.record-event{color:#2d3748;font-size:.95rem;margin-bottom:.5rem}.record-event strong{color:#667eea;font-weight:700;margin-right:.25rem}.record-notes{color:#4a5568;font-size:.9rem;margin-bottom:.5rem}.record-notes strong{color:#667eea;font-weight:700;margin-right:.25rem}.record-meta{color:#718096;display:flex;font-size:.8rem;gap:1.5rem;margin-top:.75rem}.record-meta strong{color:#4a5568;font-weight:700}.record-actions{display:flex;gap:.5rem;margin-top:.75rem}.delete-btn-small,.edit-btn-small{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.375rem .75rem;transition:all .2s}.edit-btn-small{background:#edf2f7;color:#2d3748}.edit-btn-small:hover{background:#e2e8f0}.delete-btn-small{background:#fff5f5;color:#e53e3e}.delete-btn-small:hover{background:#fed7d7}.applications-panel h2{margin-bottom:1.5rem}.applications-list{display:flex;flex-direction:column;gap:1rem}.application-item{background:#f7fafc;border-left:4px solid #cbd5e0;border-radius:8px;padding:1.25rem}.application-item.pending{background:#fffbeb;border-left-color:#f59e0b}.application-item.approved{background:#ecfdf5;border-left-color:#10b981}.application-item.rejected{background:#fef2f2;border-left-color:#ef4444}.application-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.status-badge{display:inline-block;font-weight:700;margin-left:.5rem}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.application-notes{color:#4a5568;margin-bottom:.75rem}.application-meta{color:#718096;font-size:.8rem;margin-bottom:.75rem}.application-actions{display:flex;gap:.5rem;margin-top:1rem}.approve-btn,.reject-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.approve-btn{background:#10b981;color:#fff}.approve-btn:hover{background:#059669}.reject-btn{background:#ef4444;color:#fff}.reject-btn:hover{background:#dc2626}.empty-state{color:#718096;padding:3rem 1rem}.modal-content{max-width:500px}.modal-content.large-modal{max-width:700px}.modal-content h2{margin-bottom:1rem}.modal-content h3{color:#1a202c;font-size:1.5rem;margin:0}.total-points-modal{color:#667eea;font-size:1.25rem;font-weight:700;margin:.5rem 0 0}.modal-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.close-btn{background:none;border:none;color:#718096;cursor:pointer;font-size:2rem;line-height:1;padding:0;transition:color .2s}.close-btn:hover{color:#2d3748}.modal-body{max-height:60vh;overflow-y:auto}.modal-subtitle{color:#718096;margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group small{display:block}.modal-actions{display:flex;gap:.75rem;margin-top:2rem}.modal-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .2s}.cancel-btn{background:#edf2f7;color:#2d3748}.cancel-btn:hover{background:#e2e8f0}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.header-buttons{display:flex;flex-shrink:0;gap:.375rem}.csv-btn{background:linear-gradient(135deg,#f59e0b,#d97706);font-size:.8125rem;padding:.5rem .75rem}.csv-btn:hover{box-shadow:0 4px 12px #f59e0b66}.member-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.member-category,.member-grade{border-radius:12px;font-size:.75rem;font-weight:600;padding:.125rem .5rem}.member-grade{background:#e6f3ff;color:#1e40af}.member-category{background:#f0fdf4;color:#15803d}.member-name.clickable{color:#667eea;cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.member-name.clickable:hover{color:#5568d3}.csv-format-example{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;margin:1rem 0;padding:1rem}.csv-format-example code{color:#2d3748;font-family:Courier New,monospace;font-size:.9rem}.file-selected{color:#667eea;font-size:.9rem;font-weight:600;margin-top:.5rem}.upload-status{border-left:4px solid;border-radius:6px;margin:1rem 0;padding:1rem}.upload-status.loading{background:#e6f3ff;border-left-color:#3b82f6;color:#1e40af}.upload-status.success{background:#f0fdf4;border-left-color:#22c55e;color:#15803d}.upload-status.error{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.upload-errors{margin-top:.75rem}.upload-errors ul{font-size:.85rem;margin:.5rem 0 0 1.5rem}.member-detail-view{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.detail-row{grid-gap:1rem;background:#f7fafc;border-radius:6px;display:grid;gap:1rem;grid-template-columns:140px 1fr;padding:.75rem}.detail-row label{color:#4a5568;font-weight:600}.detail-row span{color:#1a202c}.detail-row.sensitive{background:#fff5e6;border-left:4px solid #f59e0b}.detail-row.sensitive label{color:#92400e}@media (max-width:768px){.point-tracker{padding:1rem}.point-tracker-header{align-items:flex-start;flex-direction:column;gap:1rem}.point-tracker-header h1{font-size:1.75rem}.tracker-content{grid-template-columns:1fr;height:auto}.members-panel{max-height:400px}.records-panel{max-height:600px}.admin-tabs .tab{font-size:.9rem;padding:.75rem 1rem}.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}.form-row{grid-template-columns:1fr}.header-buttons{flex-direction:column;width:100%}.header-buttons button{width:100%}.detail-row{gap:.5rem;grid-template-columns:1fr}}.assignments-container{margin:0 auto;max-width:1400px;padding:2rem}.assignments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.assignments-header h1{color:#1a202c;font-size:2rem;margin-bottom:.5rem}.subtitle{margin:0}.create-btn{font-size:1rem}.assignments-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.search-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;min-width:250px;padding:.75rem 1rem}.search-input:focus{border-color:#667eea;outline:none}.filter-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1rem;min-width:150px;padding:.75rem 1rem}.filter-select:focus{border-color:#667eea;outline:none}.assignments-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;text-align:center}.stat-card.overdue{border-left-color:#e53e3e}.stat-card.upcoming{border-left-color:#f6ad55}.stat-card.standalone{border-left-color:#48bb78}.stat-number{color:#1a202c;font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#718096;font-size:.875rem;font-weight:500}.assignments-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.assignment-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:all .3s}.assignment-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.assignment-card.overdue{background:#fff5f5;border-left-color:#e53e3e}.assignment-card.upcoming{background:#fffaf0;border-left-color:#f6ad55}.assignment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.assignment-header h3{color:#1a202c;flex:1 1;font-size:1.25rem;margin:0}.assignment-actions{display:flex;gap:.5rem}.delete-icon,.edit-icon{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:transform .2s}.delete-icon:hover,.edit-icon:hover{transform:scale(1.2)}.assignment-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.assignment-meta{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem}.meta-item{display:flex;font-size:.875rem;gap:.5rem}.meta-label{color:#718096;font-weight:600}.meta-value{color:#2d3748}.meta-value.overdue-text{color:#e53e3e;font-weight:600}.assignment-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.unit-tag{background:#e6fffa;color:#234e52}.lesson-tag{background:#fed7e2;color:#702459}.standalone-tag{background:#e6fffa;color:#285e61}.empty-state h2{color:#2d3748;margin-bottom:.5rem}.modal-overlay{background:#00000080;padding:1rem}.modal-content{max-height:90vh;max-width:900px;overflow-y:auto;padding:2rem;width:100%}.modal-close{align-items:center;background:none;color:#718096;display:flex;height:2rem;justify-content:center;right:1rem;top:1rem;width:2rem}.modal-close:hover{color:#2d3748}.modal-content h2{color:#1a202c;margin-bottom:1.5rem;margin-top:0}.assignment-form{gap:1.25rem}.assignment-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#2d3748;font-size:.9rem}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group small{color:#718096;font-size:.875rem;margin-top:.25rem}.modal-buttons{display:flex;gap:1rem;margin-top:1.5rem}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .2s}.save-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.cancel-button{background:#edf2f7;border:none;border-radius:6px;color:#2d3748;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .2s}.cancel-button:hover{background:#e2e8f0}.grade-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.grade-badge.major{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.grade-badge.minor{background:#dbeafe;border:1px solid #60a5fa;color:#1e40af}.assignments-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.view-toggle{background:#f7fafc;border-radius:8px;display:flex;gap:.5rem;padding:.25rem}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#4a5568;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#667eea}.toggle-btn:hover:not(.active){background:#ffffff80}.assignments-list-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.assignments-table{border-collapse:collapse;width:100%}.assignments-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.assignments-table th{font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.assignments-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.assignments-table tbody tr:hover{background-color:#f7fafc}.assignments-table tbody tr.overdue{background-color:#fff5f5}.assignments-table tbody tr.upcoming{background-color:#fffaf0}.assignments-table td{font-size:.9rem;padding:1rem}.assignment-title-cell{min-width:200px}.title-with-desc{display:flex;flex-direction:column;gap:.25rem}.title-with-desc strong{color:#1a202c;font-size:1rem}.description-preview{color:#718096;font-size:.8rem;line-height:1.4}.no-date{color:#a0aec0;font-style:italic}.unit-label{color:#234e52}.standalone-label,.unit-label{background:#e6fffa;border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.standalone-label{color:#285e61}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-badge.active{background:#e6fffa;color:#234e52}.status-badge.overdue{background:#fed7d7;color:#9b2c2c}.status-badge.upcoming{background:#fef5e7;color:#d69e2e}.actions-cell{display:flex;gap:.5rem}.action-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:transform .2s}.action-btn:hover{transform:scale(1.2)}@media (max-width:768px){.assignments-container{padding:1rem}.assignments-header{align-items:flex-start;flex-direction:column;gap:1rem}.create-btn{width:100%}.assignments-controls{align-items:stretch;flex-direction:column}.assignments-filters{flex-direction:column}.filter-select,.search-input,.view-toggle{width:100%}.toggle-btn{flex:1 1}.assignments-grid{grid-template-columns:1fr}.assignments-list-view{overflow-x:auto}.assignments-table{min-width:800px}.form-row{grid-template-columns:1fr}.modal-content{padding:1.5rem}.modal-buttons{flex-direction:column}}.assignment-resources{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.assignment-resources strong{color:#374151;display:block;font-size:.875rem;margin-bottom:.5rem}.resources-links{display:flex;flex-direction:column;gap:.5rem}.resource-link{background:#f3f4f6;border-radius:6px;color:#3b82f6;display:inline-flex;gap:.5rem;padding:.5rem}.resource-link:hover{background:#e5e7eb;color:#2563eb}.resource-link svg{flex-shrink:0}.resource-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:1rem}.resource-controls{align-items:center;display:flex;gap:.5rem}.resource-description{flex:1 1}.resource-description,.resource-type-select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem}.resource-type-select{background:#fff}.file-upload-section{background:#fff;border:1px dashed #d1d5db;border-radius:6px;padding:.75rem}.file-uploaded{align-items:center;display:flex;gap:1rem;justify-content:space-between}.file-uploaded span{color:#059669;font-size:.875rem}.view-file-btn{background:#3b82f6;border-radius:6px;color:#fff;font-size:.875rem;padding:.375rem .75rem;text-decoration:none;transition:background .2s}.view-file-btn:hover{background:#2563eb}.file-input-wrapper{align-items:center;color:#6b7280;display:flex;gap:.5rem}.file-input,.uploading-text{font-size:.875rem}.uploading-text{color:#6b7280;font-style:italic}.url-input-wrapper{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:.5rem;padding:.75rem}.url-icon{color:#6b7280;flex-shrink:0}.resource-url{border:none;flex:1 1;font-size:.875rem;outline:none}.add-field-btn{align-items:center;background:#f3f4f6;border:1px dashed #9ca3af;border-radius:6px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.add-field-btn:hover{background:#e5e7eb;border-color:#6b7280}.btn-icon-small{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:.25rem;transition:all .2s}.btn-icon-small:hover{background:#f3f4f6}.btn-icon-small.delete{color:#dc2626}.btn-icon-small.delete:hover{background:#fee2e2}.daily-summary-manager{margin:0 auto;max-width:1400px;padding:2rem}.manager-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.manager-header h1{color:#1a202c;font-size:2rem;margin-bottom:.5rem}.header-actions{display:flex;gap:1rem}.view-summary-btn{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.view-summary-btn:hover{background:#4338ca;transform:translateY(-2px)}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s}.create-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedule-timeline{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.timeline-header{margin-bottom:2rem}.timeline-header h2{color:#1a202c;font-size:1.5rem;margin-bottom:.5rem}.timeline-header p{color:#718096}.schedule-list{display:flex;flex-direction:column;gap:1rem}.schedule-item{align-items:center;background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;display:flex;gap:1.5rem;padding:1.5rem;transition:all .2s}.schedule-item.timer{border-left-color:#f59e0b}.schedule-item:hover{background:#f3f4f6;transform:translateX(4px)}.item-time{display:flex;flex-direction:column;gap:.5rem;min-width:80px}.time-badge{background:#667eea;border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;text-align:center}.schedule-item.timer .time-badge{background:#f59e0b}.item-content{align-items:center;display:flex;flex:1 1;gap:1rem}.item-icon{font-size:2rem}.timer-icon.seats{filter:hue-rotate(45deg)}.timer-icon.bell{filter:hue-rotate(90deg)}.item-details h3{color:#1a202c;font-size:1.125rem;margin:0 0 .25rem}.item-meta{color:#718096;font-size:.875rem;margin:0}.item-days{display:flex;gap:.25rem}.day-badge{align-items:center;background:#e5e7eb;border-radius:6px;color:#9ca3af;display:flex;font-size:.75rem;font-weight:600;height:32px;justify-content:center;width:32px}.day-badge.active{background:#667eea;color:#fff}.item-actions{display:flex;gap:.5rem}.delete-btn,.edit-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:transform .2s}.delete-btn:hover,.edit-btn:hover{transform:scale(1.2)}.schedule-modal{max-width:600px}.schedule-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.days-selector{display:flex;flex-direction:column;gap:.5rem}.day-checkbox{align-items:center;background:#f9fafb;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:background .2s}.day-checkbox:hover{background:#f3f4f6}.day-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.empty-state p{margin-bottom:1.5rem}.create-btn-large{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;padding:1rem 2rem;transition:transform .2s}.create-btn-large:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.daily-summary-manager{padding:1rem}.manager-header{flex-direction:column;gap:1rem}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.schedule-item{flex-wrap:wrap}.item-time{flex-direction:row}.item-days{justify-content:center;order:1;width:100%}.form-row{grid-template-columns:1fr}}.checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-weight:600;gap:.5rem;margin-bottom:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.countdown-input{align-items:center;background:#f9fafb;border-radius:6px;display:flex;gap:.5rem;margin-top:.5rem;padding:.75rem}.countdown-input input[type=number]{border:2px solid #e5e7eb;border-radius:6px;font-weight:600;padding:.5rem;text-align:center;width:60px}.countdown-input span{color:#6b7280;font-size:.875rem}.daily-summary-view{height:100vh;overflow:auto;padding:1.5rem}.daily-summary-loading,.daily-summary-view{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.daily-summary-loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center}.summary-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.625rem 1.5rem}.header-left-section{align-items:flex-start}.header-center-section,.header-left-section{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.header-center-section{align-items:center;justify-content:center}.header-right-section{align-items:center;display:flex;flex:1 1;gap:.5rem;justify-content:flex-end}.header-left-section h1{color:#1a202c;font-size:1.25rem;margin:0;white-space:nowrap}.current-class-info{align-items:center;display:flex;gap:.75rem}.class-name-header{color:#667eea;font-size:1.25rem;font-weight:700}.period-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.class-time-header{color:#718096;font-size:.875rem;font-weight:600}.current-time{font-size:1.5rem}.current-time,.current-time-large{color:#667eea;font-family:Courier New,monospace;font-weight:700;white-space:nowrap}.current-time-large{font-size:2.5rem;letter-spacing:.05em;text-align:center}.clock-toggle-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;transition:all .2s;width:36px}.clock-toggle-btn:hover{background:#e5e7eb;box-shadow:0 4px 8px #00000026;transform:scale(1.05)}.clock-toggle-btn-compact{align-items:center;background:#f3f4f6;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s;width:32px}.clock-toggle-btn-compact:hover{background:#e5e7eb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.timer-toggle-btn-compact{align-items:center;background:#f3f4f6;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s;width:32px}.timer-toggle-btn-compact:hover{background:#e5e7eb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.settings-btn{background:#f3f4f6;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#4b5563;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.settings-btn:hover{background:#e5e7eb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.back-btn-compact{align-items:center;background:#f3f4f6;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#4b5563;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.back-btn-compact:hover{background:#e5e7eb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.manual-timer-widget{position:fixed;-webkit-user-select:none;user-select:none;z-index:1000}.timer-toggle-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50px;box-shadow:0 4px 12px #10b98166;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;padding:1rem 1.5rem;transition:all .2s}.timer-toggle-btn:hover{box-shadow:0 6px 16px #10b98180;transform:translateY(-2px)}.timer-panel{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;min-width:300px;padding:1.5rem}.timer-panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.timer-mode-switch{background:#f3f4f6;border-radius:8px;display:flex;gap:.25rem;padding:.25rem}.timer-mode-switch button{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.timer-mode-switch button.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#667eea}.timer-close-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .2s;width:28px}.timer-close-btn:hover{background:#e5e7eb;color:#1f2937}.countdown-setup{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem}.countdown-setup label{color:#374151;font-size:.875rem;font-weight:600}.countdown-setup input{border:2px solid #e5e7eb;border-radius:6px;flex:1 1;font-size:1rem;font-weight:600;padding:.5rem;text-align:center}.countdown-setup input:focus{border-color:#667eea;outline:none}.timer-display{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;color:#1a202c;font-family:Courier New,monospace;font-size:3rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;padding:1.5rem;text-align:center}.timer-controls{display:flex;gap:.75rem}.timer-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s}.start-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.start-btn:hover{box-shadow:0 4px 8px #10b9814d;transform:translateY(-2px)}.stop-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stop-btn:hover{box-shadow:0 4px 8px #f59e0b4d;transform:translateY(-2px)}.reset-btn{background:#f3f4f6;color:#374151}.reset-btn:hover{background:#e5e7eb;transform:translateY(-2px)}.timer-warnings{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.timer-warning{align-items:center;animation:pulse 2s ease-in-out infinite;background:#fff;border-left:6px solid #f59e0b;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;gap:1.5rem;padding:1rem 1.5rem}.timer-warning.bell{border-left-color:#dc2626}.timer-warning.tardy{animation:flashTardy 1s ease-in-out infinite;border-left-color:#f59e0b}.timer-warning.countdown{animation:flashBell 1s ease-in-out infinite}.timer-icon{font-size:2.5rem}.timer-message h2{color:#1a202c;font-size:1.25rem;margin:0 0 .25rem}.timer-message p{color:#718096;font-size:1rem;margin:0}.current-class-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:1.5rem}.summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-auto-rows:1fr;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.summary-card{background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;display:flex;flex-direction:column;min-height:100%;overflow-y:auto;padding:1.5rem}.summary-card h3{align-items:center;color:#1a202c;display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin:0 0 .75rem}.summary-card h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 .5rem}.lesson-unit-badge{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;color:#4b5563;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.lesson-section,.lesson-unit-badge{margin-bottom:.75rem}.lesson-section strong{color:#4b5563;display:block;font-size:.75rem;margin-bottom:.25rem}.lesson-section p{color:#1a202c;font-size:.875rem;line-height:1.5;margin:0}.summary-card-column{display:flex;flex-direction:column;gap:1rem;height:100%}.summary-card-compact{background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;flex:1 1;overflow-y:auto;padding:1.5rem}.summary-card-compact h3{align-items:center;color:#1a202c;display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin:0 0 .75rem}.assignments-list{list-style:none;margin:0;padding:0}.assignments-list li{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem;padding:.5rem .75rem}.assignments-list li.due-today{background:#fef2f2;border-left:3px solid #dc2626}.assignments-list strong{color:#1a202c;font-size:.875rem}.assignment-due{color:#718096;font-size:.75rem;white-space:nowrap}.assignments-list li.due-today .assignment-due{color:#dc2626;font-weight:600}.resources-list{display:flex;flex-direction:column;gap:.5rem}.resource-link{align-items:center;background:#fff;border:2px solid #0000;border-radius:8px;color:#1a202c;display:flex;font-size:.875rem;gap:.25rem;justify-content:flex-start;padding:.5rem .75rem;text-decoration:none;transition:all .2s}.resource-link:hover{background:#667eea;border-color:#667eea;color:#fff;transform:translateX(4px)}.resource-icon{font-size:1.25rem}.weekly-summary{background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;box-sizing:border-box;padding:1.5rem}.weekly-summary h3{align-items:center;color:#1a202c;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem;margin:0 0 1rem}.weekly-days-grid{grid-gap:.5rem;box-sizing:border-box;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr);width:100%}.weekly-day-column{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;min-width:0;overflow:hidden;transition:all .2s}.weekly-day-column.today{border:2px solid #667eea;box-shadow:0 4px 12px #667eea4d}.weekly-day-header{background:#f3f4f6;border-bottom:2px solid #e5e7eb;padding:.75rem;text-align:center}.weekly-day-column.today .weekly-day-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.weekly-day-header h4{font-size:.875rem;font-weight:700;letter-spacing:.05em;margin:0 0 .25rem;text-transform:uppercase}.weekly-date-label{font-size:.75rem;opacity:.8}.weekly-day-content{display:flex;flex-direction:column;gap:.5rem;min-height:100px;padding:.75rem}.no-lessons-day{color:#9ca3af;font-style:italic;padding:1rem 0;text-align:center}.no-lessons-day p{font-size:.75rem;margin:0}.weekly-lesson-item{background:#f9fafb;border-left:3px solid #667eea;border-radius:6px;padding:.75rem;transition:all .2s}.weekly-lesson-item:hover{box-shadow:0 2px 6px #0000001a;transform:translateX(2px)}.weekly-lesson-item-title{color:#1a202c;font-size:.8125rem;font-weight:600;line-height:1.3;margin-bottom:.25rem}.weekly-lesson-item-unit{color:#6b7280;font-size:.6875rem;margin-bottom:.25rem}.weekly-lesson-item-duration{color:#9ca3af;font-size:.6875rem;margin-bottom:.5rem}.weekly-lesson-item-resources{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-top:.5rem}.weekly-resource-link-small{color:#667eea;display:block;font-size:.6875rem;text-decoration:none;transition:all .2s}.weekly-resource-link-small:hover{color:#764ba2;transform:translateX(2px)}.weekly-lessons-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.weekly-lesson-card{background:#fff;border-left:3px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s}.weekly-lesson-card:hover{border-left-color:#667eea;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.weekly-lesson-card.today{background:linear-gradient(135deg,#667eea,#764ba2);border-left-color:#764ba2;color:#fff}.weekly-lesson-header{align-items:center;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.weekly-lesson-card.today .weekly-lesson-header{border-bottom-color:#ffffff4d}.weekly-lesson-day{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.weekly-lesson-date{font-size:.75rem;opacity:.7}.weekly-lesson-title{font-size:.9375rem;font-weight:600;line-height:1.4;margin-bottom:.5rem}.weekly-lesson-unit{color:#6b7280;font-size:.75rem;font-weight:500;margin-bottom:.5rem}.weekly-lesson-card.today .weekly-lesson-unit{color:#fffc}.weekly-lesson-resources{border-top:1px solid #0000001a;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem}.weekly-lesson-card.today .weekly-lesson-resources{border-top-color:#ffffff4d}.weekly-resource-link{color:#667eea;display:inline-block;font-size:.8125rem;text-decoration:none;transition:all .2s}.weekly-resource-link:hover{color:#764ba2;transform:translateX(2px)}.weekly-lesson-card.today .weekly-resource-link{color:#fff;opacity:.9}.weekly-lesson-card.today .weekly-resource-link:hover{opacity:1}.no-data{color:#9ca3af;font-size:.875rem;font-style:italic;margin:0}.no-class-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:4rem 2rem;text-align:center}.no-class-message h2{color:#1a202c;font-size:2.5rem;margin-bottom:1rem}.no-class-message p{color:#718096;font-size:1.25rem}@media (max-width:1024px){.summary-grid{grid-template-columns:1fr}}@media (max-width:768px){.daily-summary-view{padding:1rem}.summary-header{flex-direction:column;gap:1rem;text-align:center}.class-header h2,.current-time{font-size:2rem}.manual-timer-widget{bottom:1rem;right:1rem}.timer-panel{min-width:260px}.timer-display{font-size:2.5rem;padding:1rem}.timer-toggle-btn{font-size:1rem;padding:.875rem 1.25rem}}.big-screen-view{overflow:auto;padding:2rem}.big-screen-loading,.big-screen-view{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.big-screen-loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:6px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:80px;width:80px}.big-screen-loading p{font-size:1.75rem;margin-top:1.5rem}.big-screen-header{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.header-center,.header-left,.header-right{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:1rem}.header-left{align-items:flex-start}.header-right{align-items:flex-end;flex-direction:row;gap:1rem}.current-class-info-big{align-items:center;display:flex;gap:1rem}.class-name-big{color:#667eea;font-size:2.5rem;font-weight:700;line-height:1.2}.period-badge-big{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;font-size:1.25rem;font-weight:600;padding:.5rem 1.25rem}.class-time-big{color:#718096;font-size:1.5rem;font-weight:600}.current-time-big{color:#667eea;font-family:Courier New,monospace;font-size:4rem;font-weight:700;letter-spacing:.05em}.control-btn-big{align-items:center;background:#f3f4f6;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#4b5563;cursor:pointer;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;padding:1rem 1.5rem;transition:all .2s}.control-btn-big:hover{background:#e5e7eb;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.timer-warnings-big{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.timer-warning-big{align-items:center;animation:pulse 2s ease-in-out infinite;background:#fff;border-left:10px solid #f59e0b;border-radius:16px;box-shadow:0 8px 24px #00000026;display:flex;gap:2rem;padding:2rem 3rem}.timer-warning-big.bell{border-left-color:#dc2626}.timer-warning-big.tardy{animation:flashTardy 1s ease-in-out infinite;border-left-color:#f59e0b}.timer-warning-big.countdown{animation:flashBell 1s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 8px 24px #00000026}50%{box-shadow:0 12px 32px #f59e0b80}}@keyframes flashTardy{0%,to{background:#fff;box-shadow:0 8px 24px #00000026}25%{background:linear-gradient(135deg,#fef3c7,#fed7aa);box-shadow:0 12px 32px #f59e0b99;transform:scale(1.02)}50%{background:linear-gradient(135deg,#fde68a,#fbbf24);box-shadow:0 16px 40px #f59e0bcc;transform:scale(1.03)}75%{background:linear-gradient(135deg,#fef3c7,#fed7aa);box-shadow:0 12px 32px #f59e0b99;transform:scale(1.02)}}@keyframes flashBell{0%,to{background:#fff;box-shadow:0 8px 24px #00000026}25%{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 12px 32px #dc262699;transform:scale(1.02)}50%{background:linear-gradient(135deg,#fca5a5,#f87171);box-shadow:0 16px 40px #dc2626cc;transform:scale(1.03)}75%{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 12px 32px #dc262699;transform:scale(1.02)}}.timer-icon-big{font-size:4rem}.timer-message-big h2{color:#1a202c;font-size:2rem;font-weight:700;margin:0 0 .5rem}.timer-message-big p{color:#718096;font-size:1.5rem;margin:0}.big-screen-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.lesson-card-big{background:#fff;border-left:8px solid #667eea;border-radius:16px;box-shadow:0 8px 24px #00000026;padding:2.5rem}.lesson-card-big h3{color:#1a202c;font-size:2rem;font-weight:700;margin:0 0 1.5rem}.lesson-card-big h4{color:#2d3748;font-size:1.75rem;font-weight:600;line-height:1.4;margin:0 0 1rem}.lesson-unit-badge-big{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:16px;color:#4b5563;display:inline-block;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem;padding:.5rem 1.25rem}.lesson-section-big{margin-bottom:1.5rem}.lesson-section-big strong{color:#4b5563;display:block;font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.lesson-section-big p{color:#1a202c;font-size:1.375rem;line-height:1.6;margin:0}.sidebar-big{display:flex;flex-direction:column;gap:2rem}.assignments-card-big,.resources-card-big{background:#fff;border-left:8px solid #667eea;border-radius:16px;box-shadow:0 8px 24px #00000026;padding:2rem}.assignments-card-big h3,.resources-card-big h3{color:#1a202c;font-size:1.75rem;font-weight:700;margin:0 0 1.25rem}.assignments-list-big{list-style:none;margin:0;padding:0}.assignments-list-big li{align-items:center;background:#f9fafb;border-radius:12px;display:flex;font-size:1.25rem;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.25rem}.assignments-list-big li.due-today{background:#fef2f2;border-left:6px solid #dc2626}.assignments-list-big strong{color:#1a202c;font-size:1.25rem;font-weight:600}.assignment-due-big{color:#718096;font-size:1.125rem;font-weight:500;white-space:nowrap}.assignments-list-big li.due-today .assignment-due-big{color:#dc2626;font-weight:700}.resources-list-big{display:flex;flex-direction:column;gap:1rem}.resource-link-big{align-items:center;background:#f9fafb;border:3px solid #0000;border-radius:12px;color:#1a202c;display:flex;font-size:1.25rem;font-weight:600;gap:1rem;padding:1rem 1.5rem;text-decoration:none;transition:all .2s}.resource-link-big:hover{background:#667eea;border-color:#667eea;color:#fff;transform:translateX(8px)}.resource-icon-big{font-size:1.75rem}.no-data-big{color:#9ca3af;font-size:1.25rem;font-style:italic;margin:0}.no-class-section-big{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;padding:6rem 3rem;text-align:center}.no-class-message-big h2{font-size:6rem;margin-bottom:1.5rem}.no-class-message-big p{color:#718096;font-size:2.5rem;font-weight:600}.manual-timer-widget-big{position:fixed;-webkit-user-select:none;user-select:none;z-index:1000}.timer-panel-big{background:#fff;border-radius:16px;box-shadow:0 12px 32px #00000040;min-width:400px;padding:2rem}.timer-panel-header-big{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.timer-mode-switch-big{background:#f3f4f6;border-radius:12px;display:flex;gap:.5rem;padding:.5rem}.timer-mode-switch-big button{background:#0000;border:none;border-radius:10px;color:#6b7280;cursor:pointer;font-size:1.125rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.timer-mode-switch-big button.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#667eea}.timer-close-btn-big{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:all .2s;width:40px}.timer-close-btn-big:hover{background:#e5e7eb;color:#1f2937}.countdown-setup-big{align-items:center;background:#f9fafb;border-radius:12px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.countdown-setup-big label{color:#374151;font-size:1.125rem;font-weight:600}.countdown-setup-big input{border:2px solid #e5e7eb;border-radius:10px;flex:1 1;font-size:1.25rem;font-weight:600;padding:.75rem;text-align:center}.countdown-setup-big input:focus{border-color:#667eea;outline:none}.timer-display-big{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:16px;color:#1a202c;font-family:Courier New,monospace;font-size:4.5rem;font-weight:700;letter-spacing:.05em;margin-bottom:1.5rem;padding:2rem;text-align:center}.timer-controls-big{display:flex;gap:1rem}.timer-btn-big{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:1.25rem;font-weight:600;padding:1rem 1.5rem;transition:all .2s}.start-btn-big{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.start-btn-big:hover{box-shadow:0 6px 16px #10b9814d;transform:translateY(-2px)}.stop-btn-big{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stop-btn-big:hover{box-shadow:0 6px 16px #f59e0b4d;transform:translateY(-2px)}.reset-btn-big{background:#f3f4f6;color:#374151}.reset-btn-big:hover{background:#e5e7eb;transform:translateY(-2px)}.host-availability-container{margin:0 auto;max-width:1200px;padding:2rem}.availability-header{margin-bottom:2rem}.availability-header h1{color:#1a202c;font-size:2rem;margin-bottom:.5rem}.availability-list{display:flex;flex-direction:column;gap:2rem}.date-group{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.date-header{border-bottom:2px solid #e5e7eb;color:#2d3748;font-size:1.25rem;margin-bottom:1rem;padding-bottom:.75rem}.slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.slot-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:1rem;text-align:center;transition:all .2s}.slot-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.slot-card.available{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.slot-card.available:hover{background:linear-gradient(135deg,#a7f3d0,#6ee7b7)}.slot-card.unavailable{background:#f9fafb;border-color:#e5e7eb}.slot-card.unavailable:hover{background:#f3f4f6}.slot-time{color:#1a202c;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.slot-status{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center}.slot-card.available .slot-status{color:#059669}.slot-card.unavailable .slot-status{color:#6b7280}.status-icon{font-size:1.25rem;font-weight:700}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:4rem 2rem;text-align:center}.empty-state h3{color:#2d3748;margin-bottom:.5rem}.empty-state p{color:#718096}.saving-indicator{align-items:center;background:#fff;border-radius:50px;bottom:2rem;box-shadow:0 4px 12px #0003;color:#667eea;display:flex;font-weight:600;gap:.75rem;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:1000}.spinner-small{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.host-availability-container{padding:1rem}.slots-grid{grid-template-columns:1fr}.slot-card{padding:1.25rem}.slot-time{font-size:1.25rem}}.user-profile-container{margin:0 auto;max-width:800px;padding:2rem}.profile-header{margin-bottom:2rem}.back-button{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;transition:all .2s}.back-button:hover{background:#e5e7eb;transform:translateX(-2px)}.profile-header h1{color:#1a202c;font-size:2rem;margin-bottom:.5rem}.subtitle{color:#718096;font-size:1rem}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.profile-section h2{color:#2d3748;font-size:1.5rem;margin-bottom:1rem}.section-description{color:#718096;line-height:1.5;margin-bottom:1.5rem}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item label{color:#4b5563;display:block;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.info-item p{color:#1a202c;font-size:1rem;margin:0}.info-note{background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:.9rem;line-height:1.5;margin-top:1.5rem;padding:1rem}.password-form{max-width:500px}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f9fafb;cursor:not-allowed}.alert{border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.alert-error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.alert-success{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.change-password-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s;width:100%}.change-password-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.change-password-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.user-profile-container{padding:1rem}.profile-section{padding:1.5rem}.info-grid{grid-template-columns:1fr}}*{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:40px 20px;position:relative;text-align:center}.header-quick-links{align-items:center;display:flex;gap:8px;left:20px;position:absolute;top:20px;z-index:10}.header-quick-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:all .3s}.header-quick-link:hover{background:#ffffff40;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.header-link-icon{font-size:1.1rem;justify-content:center}.auth-corner,.header-link-icon{align-items:center;display:flex}.auth-corner{gap:12px;position:absolute;right:20px;top:20px;z-index:10}.corner-users-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffa5004d;border:2px solid #ffa50099;border-radius:25px;color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:600;padding:10px 24px;text-decoration:none;transition:all .3s}.corner-users-button:hover{background:#ffa50066;border-color:#ffa500cc;box-shadow:0 4px 12px #ffa5004d;transform:scale(1.05)}.corner-logout-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-logout-button:hover{background:#ffffff4d;border-color:#fff9;box-shadow:0 4px 12px #0003;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)}.corner-user-name{background:#ffffff26;border:2px solid #ffffff4d;border-radius:25px;padding:10px 16px}.corner-profile-button,.corner-user-name{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:.95rem;font-weight:600}.corner-profile-button{background:#64c8ff4d;border:2px solid #64c8ff99;border-radius:25px;cursor:pointer;display:inline-block;padding:10px 24px;text-decoration:none;transition:all .3s}.corner-profile-button:hover{background:#64c8ff66;border-color:#64c8ffcc;box-shadow:0 4px 12px #64c8ff4d;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:2.5rem;font-weight:700;margin-bottom:10px}.tagline{font-size:1.3rem;opacity:.9}.main-content{background:#f8f9fa;flex:1 1;padding:0;width:100%}.scheduler-section{background:#fff;box-shadow:0 2px 4px #0000000d;margin:0 auto;max-width:1400px;padding:40px 20px;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)}.admin-button{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 15px #f59e0b66}.admin-button:hover{box-shadow:0 6px 20px #f59e0b99}.login-prompt{color:#666;font-size:1.2rem;font-style:italic;margin:2rem 0}.quick-links{border-top:2px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.quick-links h3{color:#333;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.quick-links-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.quick-link-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:#333;display:flex;flex-direction:column;font-weight:600;gap:.5rem;min-width:120px;padding:1.5rem 2rem;text-decoration:none;transition:all .3s ease}.quick-link-btn:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.quick-link-btn.tfa{border-color:#dc2626}.quick-link-btn.tfa:hover{background:#fef2f2;border-color:#dc2626}.quick-link-btn.nsda{border-color:#2563eb}.quick-link-btn.nsda:hover{background:#eff6ff;border-color:#2563eb}.quick-link-btn.uil{border-color:#f59e0b}.quick-link-btn.uil:hover{background:#fffbeb;border-color:#f59e0b}.quick-link-icon{font-size:2.5rem;line-height:1}.quick-link-btn span{font-size:1rem}.team-hub-section{background:#fff;box-shadow:0 2px 4px #0000000d;margin:20px auto;max-width:1400px;padding:40px}.team-hub-section h2{color:#333;font-size:2rem;margin-bottom:2rem;text-align:center}.team-hub-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.team-hub-column{display:flex;flex-direction:column;gap:1rem}.team-hub-column h3{align-items:center;color:#667eea;display:flex;font-size:1.5rem;gap:.5rem;margin-bottom:1rem}.team-message-form,.team-task-form{display:flex;gap:.75rem;margin-bottom:1.5rem}.team-message-input,.team-task-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .3s}.team-message-input:focus,.team-task-input:focus{border-color:#667eea;outline:none}.team-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.team-add-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.team-post-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;box-shadow:0 2px 8px #f59e0b4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2.5rem;transition:all .2s;white-space:nowrap}.team-post-btn:hover{box-shadow:0 4px 14px #f59e0b80;transform:translateY(-2px)}.team-hub-documents{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;grid-column:1/-1;padding:2rem}.team-hub-documents h3{color:#333;font-size:1.5rem;margin:0 0 .5rem}.documents-description{color:#666;font-size:.9rem;margin:0 0 1.5rem}.upload-section{margin-bottom:1.5rem}.upload-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 8px #10b9814d;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s}.upload-btn:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.team-documents-list{display:flex;flex-direction:column;gap:.75rem}.team-document-item{align-items:center;background:#f8f9fa;border-left:4px solid #10b981;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .2s}.team-document-item:hover{background:#f1f3f5;transform:translateX(4px)}.document-link{align-items:center;color:inherit;display:flex;flex:1 1;gap:1rem;text-decoration:none}.document-icon{flex-shrink:0;font-size:2rem}.document-info{flex:1 1}.document-name{color:#333;font-size:1rem;font-weight:600;margin-bottom:.25rem}.document-meta{color:#666;font-size:.85rem}.team-delete-document-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;line-height:1;padding:.25rem;transition:all .2s;width:28px}.team-delete-document-btn:hover{background:#dc2626;transform:scale(1.1)}.team-messages-list,.team-tasks-list{display:flex;flex-direction:column;gap:.75rem}.team-task-item{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;display:flex;gap:.75rem;padding:1rem;transition:all .2s}.team-task-item:hover{background:#f1f3f5;transform:translateX(4px)}.team-task-item.completed{border-left-color:#48bb78;opacity:.6}.team-task-item.completed .team-task-title{text-decoration:line-through}.team-task-checkbox-container{flex-shrink:0;height:20px;margin-right:.5rem;position:relative;width:20px}.team-task-checkbox{cursor:pointer;height:20px;width:20px}.team-task-completed-avatar{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.65rem;font-weight:700;height:24px;justify-content:center;pointer-events:none;position:absolute;right:-8px;top:-8px;width:24px;z-index:1}.team-task-title{color:#333;flex:1 1;font-size:.95rem}.team-task-meta{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.team-task-creator-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:.75rem;font-weight:600;height:32px;width:32px}.team-delete-task-btn,.team-task-creator-avatar{align-items:center;color:#fff;display:flex;flex-shrink:0;justify-content:center}.team-delete-task-btn{background:#ef4444;border:none;border-radius:50%;cursor:pointer;font-size:1.1rem;height:28px;line-height:1;padding:.25rem;transition:all .2s;width:28px}.team-delete-task-btn:hover{background:#dc2626;transform:scale(1.1)}.team-message-item{background:#f8f9fa;border-left:4px solid #f59e0b;border-radius:8px;padding:.875rem 1rem;transition:all .2s}.team-message-item:hover{background:#f1f3f5}.team-message-header{align-items:center;display:flex;gap:.75rem}.team-message-author{color:#667eea;flex-shrink:0;font-size:.9rem;font-weight:600}.team-message-content{color:#333;flex:1 1;font-size:.95rem;line-height:1.5}.team-delete-message-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;line-height:1;margin-left:auto;padding:.25rem;transition:all .2s;width:28px}.team-delete-message-btn:hover{background:#dc2626;transform:scale(1.1)}.team-no-items{color:#718096;font-style:italic;padding:2rem;text-align:center}.daily-schedule-section{background:#fff;box-shadow:0 2px 4px #0000000d;margin:20px auto;max-width:1400px;padding:40px}.daily-schedule-section h2{color:#333;font-size:2rem;margin-bottom:2rem;text-align:center}.desktop-only{display:inline;display:initial}.mobile-only{display:none!important}.curriculum-carousel{align-items:stretch;display:none;flex-direction:column;gap:1.5rem;position:relative}.carousel-nav{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:3rem;height:auto;justify-content:center;min-height:400px;transition:all .2s;width:50px}.carousel-nav:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:scale(1.05)}.carousel-nav:disabled{cursor:not-allowed;opacity:.3}.week-day-card-large{background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex:1 1;flex-direction:column;min-height:400px;padding:2rem;transition:all .3s}.week-day-card-large.today{background:linear-gradient(135deg,#f0f4ff,#e7f0ff);border-color:#667eea;box-shadow:0 4px 16px #667eea33}.carousel-indicators{border-top:2px solid #e2e8f0;display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem}.carousel-indicators .indicator{background:#e2e8f0;border:none;border-radius:6px;color:#718096;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.carousel-indicators .indicator:hover{background:#cbd5e0}.carousel-indicators .indicator.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.daily-view-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.daily-schedule-section .week-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr);width:100%}.saturday-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24}.saturday-card .week-day-name,.saturday-card .week-day-number{color:#92400e}.tournament-info{display:flex;flex-direction:column;gap:.75rem}.tournament-item{align-items:center;background:#fff;border-left:3px solid #f59e0b;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;display:flex;gap:.75rem;padding:.75rem}.tournament-icon{flex-shrink:0;font-size:1.5rem}.tournament-details{flex:1 1}.tournament-name{color:#1f2937;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.tournament-date{color:#6b7280;font-size:.75rem}.no-weekend-events{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.no-events-icon{font-size:2.5rem;margin-bottom:.5rem}.no-events-text{color:#92400e;font-size:.875rem;font-weight:600}.class-group{margin-bottom:1.5rem}.class-group:last-child{margin-bottom:0}.class-group-header{align-items:center;background:#f3f4f6;border-radius:.5rem;display:flex;gap:.5rem;margin-bottom:.75rem;padding:.75rem 1rem}.class-group-header svg{color:#667eea;flex-shrink:0}.class-name{color:#1f2937;font-size:.9375rem;font-weight:600}.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}.upcoming-events-section{background:#fff;box-shadow:0 2px 4px #0000000d;margin:20px auto;max-width:1400px;padding:40px 20px}.upcoming-events-section h2{color:#333;font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.events-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.event-card{align-items:flex-start;background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #00000014;display:flex;gap:1.25rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.event-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.event-date-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:.5rem;color:#fff;flex-shrink:0;min-width:60px;padding:.75rem;text-align:center}.event-month{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.event-day{font-size:1.5rem;font-weight:700;line-height:1;margin-top:.25rem}.event-details{flex:1 1}.event-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.event-day-name{color:#667eea;font-size:.875rem;font-weight:500;margin:0 0 .5rem}.event-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.event-time{color:#6b7280;font-size:.8125rem;font-weight:400}.event-type-badge{background:#f3f4f6;border-radius:1rem;color:#374151;display:inline-block;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.25rem .75rem;text-transform:capitalize}.event-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.event-link{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:.5rem;box-shadow:0 2px 4px #667eea4d;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.event-link:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.tournament-link{background:linear-gradient(135deg,#dc2626,#991b1b);box-shadow:0 2px 4px #dc26264d}.tournament-link:hover{box-shadow:0 4px 8px #dc262666}.schedule-link{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 4px #0596694d}.schedule-link:hover{box-shadow:0 4px 8px #05966966}.event-card.calendar-event .event-date-badge,.footer{color:#fff}.footer{background:#333;margin-top:auto;padding:20px;text-align:center}.footer p{opacity:.8}@media (max-width:768px){.hero h1{font-size:2.5rem}.hero{padding:60px 20px}.header-quick-links{flex-wrap:wrap;gap:4px;left:10px;top:10px}.header-quick-link{font-size:.75rem;gap:4px;padding:6px 10px}.header-link-icon{font-size:1rem}.auth-corner{gap:6px;right:10px;top:10px}.corner-user-name{display:none}.scheduler-section h2{font-size:2rem}.scheduler-section p{font-size:1rem;padding:0 1rem}.cta-buttons{align-items:center;flex-direction:column;padding:0 1rem}.cta-button{font-size:1.1rem;max-width:350px;padding:12px 30px;text-align:center;width:100%}.quick-links-grid{flex-direction:row;gap:1rem}.quick-link-btn{min-width:100px;padding:1rem 1.5rem}.quick-link-icon{font-size:2rem}.desktop-only{display:none!important}.mobile-only{display:block!important}.curriculum-carousel{display:flex!important;flex-direction:column;gap:1rem}.carousel-nav{font-size:2rem;height:50px;min-height:50px;width:100%}.week-day-card-large{min-height:300px;padding:1.5rem}.carousel-indicators{flex-wrap:wrap}.carousel-indicators .indicator{font-size:.75rem;padding:.4rem .75rem}.daily-schedule-section h2{font-size:1.5rem}.daily-schedule-section{padding:20px}.daily-view-grid,.daily-view-grid.weekly{grid-template-columns:1fr}.day-content{min-height:150px;padding:1rem}.events-list{grid-template-columns:1fr}.auth-corner{right:15px;top:15px}.corner-login-button,.corner-logout-button{font-size:.85rem;padding:8px 18px}.modal-content{padding:30px 20px;width:95%}.main-content{padding:40px 20px}.team-hub-section{padding:20px}.team-hub-section h2{font-size:1.5rem}.team-hub-content{gap:1.5rem;grid-template-columns:1fr}.team-hub-column h3{font-size:1.25rem}.team-message-form,.team-task-form{flex-direction:column}.team-add-btn{width:100%}.team-task-item{gap:.5rem;padding:.75rem}.team-message-item{padding:.75rem}.team-message-header{flex-wrap:wrap}.team-message-content{width:100%}.team-post-btn{padding:.75rem 2rem}.team-task-creator-avatar{font-size:.7rem;height:28px;width:28px}}
/*# sourceMappingURL=main.77c95dd1.css.map*/