:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html{max-width:100%;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;height:auto}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:280px;max-width:100vw;margin:0;overflow-x:hidden}#root{flex-direction:column;width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}h1{font-size:clamp(1.75rem,5vw + .5rem,3.2rem);line-height:1.15}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.navbar{--navbar-height:70px;--nav-gradient:linear-gradient(135deg, #667eea 0%, #764ba2 100%);padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--nav-gradient);min-height:calc(var(--navbar-height) + env(safe-area-inset-top,0px));z-index:999;box-sizing:border-box;border-bottom:1px solid #ffffff38;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:100vw;height:auto;font-size:clamp(.95rem,2vw,1.2rem);display:flex;position:sticky;top:0;box-shadow:0 2px 14px #667eea59}.navbar-container{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:min(1200px,100%);margin:0 auto;padding:0 clamp(.75rem,4vw,3.125rem);display:flex;position:relative}.navbar-logo{color:#fff;cursor:pointer;text-shadow:0 1px 2px #0000001f;flex-shrink:1;align-items:center;gap:10px;min-width:0;font-size:clamp(1.15rem,4vw,2rem);font-weight:700;text-decoration:none;transition:all .3s;display:flex}.navbar-logo:hover{transform:scale(1.05)}.logo-icon{font-size:2.2rem}.nav-menu{text-align:center;align-items:center;gap:30px;margin:0;padding:0;list-style:none;display:flex}.nav-item{margin:0}.nav-link{color:#fff;cursor:pointer;text-shadow:0 1px 2px #0000001a;background:0 0;border:none;border-radius:4px;padding:10px 15px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s}.nav-link:hover{background-color:#fff3;transform:translateY(-2px)}.signup-btn{background-color:#ff6b6b;border-radius:25px;padding:10px 25px}.signup-btn:hover{background-color:#ff5252;box-shadow:0 4px 12px #ff6b6b66}.nav-user{color:#fff;text-shadow:0 1px 2px #0000001a;padding:0 10px;font-size:.95rem;font-weight:500}.logout-btn{background-color:#ff6b6b;border-radius:20px;padding:8px 20px;font-weight:600}.logout-btn:hover{background-color:#ff5252;box-shadow:0 4px 12px #ff6b6b66}.hamburger-menu{color:#fff;cursor:pointer;z-index:1001;text-shadow:0 1px 2px #0000001f;background:0 0;border:none;padding:10px 15px;font-size:1.8rem;transition:all .3s;display:none}.hamburger-menu:hover{transform:scale(1.1)}.hamburger-menu.active{transform:rotate(90deg)}@media screen and (max-width:768px){.navbar-container{padding:0 20px}.navbar-logo{font-size:1.5rem}.hamburger-menu{display:block}.nav-menu{top:var(--navbar-height);background:var(--nav-gradient);box-sizing:border-box;border-bottom:1px solid #fff3;border-radius:0;flex-direction:column;gap:0;width:100%;max-height:0;padding:0;transition:max-height .3s;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 12px 28px #667eea59}.nav-menu.active{-webkit-overflow-scrolling:touch;max-height:min(85vh,560px);padding:20px 0;overflow-y:auto}.nav-item{text-align:center;width:100%}.nav-link{border-radius:0;padding:15px 20px;display:block}.nav-link:hover{background-color:#ffffff26;transform:none}.nav-link.signup-btn{color:#ff6b6b;background-color:#0000;padding:15px 20px;font-weight:700}.nav-link.signup-btn:hover{background-color:#ff6b6b33}.nav-link.logout-btn{color:#ff6b6b;background-color:#0000;padding:15px 20px;font-weight:700}.nav-link.logout-btn:hover{background-color:#ff6b6b33}.nav-user{padding:15px 20px;font-size:.9rem;display:block}}@media screen and (max-width:480px){.navbar{--navbar-height:60px}.navbar-logo{font-size:1.2rem}.logo-icon,.hamburger-menu{font-size:1.5rem}.nav-menu.active{max-height:min(90vh,640px)}}.footer{color:#ecf0f1;box-sizing:border-box;background:#2c3e50;width:100%;margin-top:auto;padding:40px 0 0}.footer-container{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(1rem,3vw,1.875rem);max-width:min(1200px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1rem,4vw,1.25rem);display:grid}.footer-section h3{color:#667eea;margin-bottom:15px;font-size:1.5rem}.footer-section h4{color:#667eea;margin-bottom:15px}.footer-section p{color:#bdc3c7;margin:10px 0;line-height:1.6}.footer-section ul{margin:0;padding:0;list-style:none}.footer-section li{margin:8px 0}.footer-section a{color:#bdc3c7;text-decoration:none;transition:color .3s}.footer-section a:hover{color:#667eea}.social-links{gap:20px;display:flex}.social-links a{border:1px solid #667eea;border-radius:4px;padding:8px 12px;transition:all .3s}.social-links a:hover{color:#fff;background-color:#667eea}.footer-bottom{text-align:center;color:#95a5a6;background:#1a252f;border-top:1px solid #34495e;padding:20px}@media screen and (max-width:768px){.footer-container{grid-template-columns:1fr;gap:1.25rem}.footer-section h3{font-size:1.2rem}.social-links{flex-wrap:wrap}}@media screen and (max-width:480px){.footer{padding-top:clamp(1rem,4vw,2.5rem)}.footer-section h3{font-size:1.05rem}.footer-section p,.footer-section a{font-size:.95rem}}.booking-form-container{box-sizing:border-box;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);justify-content:center;align-items:center;width:100%;max-width:100vw;min-height:600px;padding:clamp(2rem,6vw,3.75rem) clamp(.75rem,3vw,1.25rem);display:flex}.booking-form-card{box-sizing:border-box;background:#fff;border-radius:12px;width:100%;max-width:min(600px,100%);padding:clamp(1.25rem,4vw,2.5rem);animation:.5s slideUp;box-shadow:0 10px 40px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.booking-form-card h2{color:#667eea;text-align:center;margin:0 0 10px;font-size:1.8rem}.form-subtitle{text-align:center;color:#7f8c8d;margin-bottom:30px;font-size:.95rem}.error-message{color:#d32f2f;background-color:#ffebee;border-left:4px solid #d32f2f;border-radius:6px;margin-bottom:15px;padding:12px}.booking-form{flex-direction:column;gap:20px;display:flex}.required-note{color:#e74c3c;font-size:.85rem;font-weight:400}.rollno-input-group{gap:10px;display:flex}.rollno-input-group input{flex:1}.verify-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#3498db;border:none;border-radius:6px;padding:12px 20px;font-weight:600;transition:all .3s}.verify-btn:hover:not(:disabled){background-color:#2980b9;transform:translateY(-2px)}.verify-btn:disabled{cursor:not-allowed;opacity:.7;background-color:#95a5a6}.verified-text{color:#27ae60;margin-top:5px;font-size:.85rem;font-weight:600}.form-group input,.form-group textarea,.form-group select{background-color:#f8f9fa;border:2px solid #ecf0f1;border-radius:6px;padding:12px 15px;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{cursor:not-allowed;background-color:#ecf0f1}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{background-color:#fff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media screen and (max-width:768px){.booking-form-card{padding:25px}.booking-form-card h2{font-size:1.5rem}.form-group input,.form-group textarea,.form-group select{font-size:16px}.rollno-input-group{flex-direction:column}.verify-btn{width:100%}}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;margin-top:10px;padding:12px 30px;font-size:1.05rem;font-weight:600;transition:all .3s}.submit-btn:active:not(:disabled){transform:translateY(0)}.success-message{text-align:center;padding:40px 20px;animation:.5s fadeIn}.success-icon{color:#27ae60;margin-bottom:15px;font-size:3rem}.success-message h3{color:#27ae60;margin:15px 0;font-size:1.5rem}.success-message p{color:#7f8c8d;line-height:1.6}@media screen and (max-width:768px){.booking-form-container{min-height:unset;padding-top:clamp(1.5rem,5vw,2.5rem);padding-bottom:clamp(1.5rem,5vw,2.5rem)}.booking-form-card{padding:1.5rem}.booking-form-card h2{font-size:1.5rem}.form-group input,.form-group textarea,.form-group select{font-size:16px}}@media screen and (max-width:480px){.booking-form-card h2{font-size:1.25rem}}.home{--nav-overlap:calc(70px + env(safe-area-inset-top,0px));background-color:#fff9e6;flex-direction:column;flex:1;width:100%;display:flex}@media screen and (max-width:480px){.home{--nav-overlap:calc(60px + env(safe-area-inset-top,0px))}}.hero{color:#fff;margin-top:calc(-1 * var(--nav-overlap));padding-top:calc(var(--nav-overlap) + clamp(2rem, 5vw, 3.75rem));box-sizing:border-box;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.25rem,4vw,2.5rem);width:100%;max-width:100%;margin:0;padding-bottom:clamp(2rem,5vw,3.75rem);padding-left:clamp(1rem,4vw,1.25rem);padding-right:clamp(1rem,4vw,1.25rem);display:grid}.hero-content{min-width:0}.hero-content h1{word-wrap:break-word;margin:0 0 20px;font-size:clamp(1.75rem,4vw + 1rem,3rem);font-weight:700;line-height:1.2}.hero-content p{opacity:.95;margin:0 0 30px;font-size:1.2rem;line-height:1.6}.hero-btn{color:#fff;cursor:pointer;background-color:#ff6b6b;border:none;border-radius:50px;padding:15px 40px;font-size:1.1rem;font-weight:700;transition:all .3s}.hero-btn:hover{background-color:#ff5252;transform:translateY(-3px);box-shadow:0 10px 25px #ff6b6b66}.hero-image{justify-content:center;align-items:center;display:flex}.illustration{font-size:8rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.features{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:60px 20px}.features h2{text-align:center;color:#2c3e50;margin-bottom:50px;font-size:2.5rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;display:grid}.feature-card{text-align:center;background:#fff;border-radius:12px;padding:30px;transition:all .3s;box-shadow:0 5px 20px #0000001a}.feature-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #667eea33}.feature-icon{margin-bottom:15px;font-size:3rem}.feature-card h3{color:#667eea;margin:15px 0;font-size:1.4rem}.feature-card p{color:#7f8c8d;margin:0;line-height:1.6}.about{box-sizing:border-box;background:#f8f9fa;width:100%;padding:60px 20px}.about-content{max-width:900px;margin:0 auto}.about-content h2{color:#2c3e50;text-align:center;margin-bottom:30px;font-size:2.5rem}.about-content p{color:#555;text-align:justify;margin-bottom:20px;font-size:1.1rem;line-height:1.8}.about-stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px;display:grid}.stat{background:#fff;border-radius:10px;padding:20px;box-shadow:0 5px 15px #00000014}.stat h3{color:#667eea;margin:0;font-size:2.5rem}.stat p{color:#7f8c8d;margin:10px 0 0}@media screen and (max-width:1024px){.hero{padding-top:calc(var(--nav-overlap) + 60px);grid-template-columns:1fr;padding-bottom:60px;padding-left:20px;padding-right:20px}.hero-content h1{font-size:2.2rem}.hero-content p{font-size:1rem}.illustration{font-size:6rem}}@media screen and (max-width:768px){.hero{padding-top:calc(var(--nav-overlap) + clamp(1.5rem, 4vw, 2.5rem));gap:1.25rem;padding-bottom:clamp(1.5rem,4vw,2.5rem);padding-left:clamp(1rem,4vw,1.25rem);padding-right:clamp(1rem,4vw,1.25rem)}.hero-content h1{font-size:clamp(1.5rem,5vw,1.8rem)}.features{padding:clamp(2rem,6vw,3.75rem) clamp(1rem,4vw,1.25rem)}.features h2{font-size:clamp(1.5rem,4vw,2rem)}.about-stats{grid-template-columns:1fr;gap:20px}.about-content p{text-align:left;font-size:1rem}}@media screen and (max-width:480px){.hero{text-align:center;grid-template-columns:1fr}.hero-content{order:1}.hero-image{order:0}.hero-content h1{font-size:clamp(1.35rem,6vw,1.65rem)}.hero-content p{font-size:.95rem}.hero-btn{width:100%;max-width:20rem;padding:.85rem 1.25rem}.illustration{font-size:clamp(3rem,18vw,5rem)}.features h2{margin-bottom:clamp(1.5rem,4vw,3rem)}.feature-card{padding:clamp(1.25rem,4vw,1.875rem)}.about-content h2{font-size:clamp(1.35rem,4vw,2rem)}.stat h3{font-size:clamp(1.75rem,8vw,2.5rem)}}@media screen and (min-width:1024px){.hero{padding-left:clamp(1.25rem,5vw,3rem);padding-right:clamp(1.25rem,5vw,3rem)}}.auth-form{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;max-width:min(400px,100%);margin:clamp(1.5rem,5vw,3rem) auto;padding:clamp(1.25rem,4vw,1.875rem);box-shadow:0 2px 4px #0000001a}.auth-form h2{text-align:center;color:#333;margin-bottom:20px}.register-tabs{border-bottom:2px solid #eee;gap:10px;margin-bottom:20px;display:flex}.tab-button{cursor:pointer;color:#666;background-color:#f5f5f5;border:none;border-bottom:3px solid #0000;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .3s}.tab-button:hover{background-color:#efefef}.tab-button.active{color:#007bff;background-color:#fff;border-bottom-color:#007bff;font-weight:600}.auth-form form{flex-direction:column;gap:15px;display:flex}.auth-form input,.auth-form select{border:1px solid #ddd;border-radius:4px;padding:10px;font-size:14px}.auth-form select{cursor:pointer}.auth-form button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;padding:10px;font-size:16px;font-weight:500}.auth-form button:hover{background-color:#0056b3}.error-message{color:#d32f2f;background-color:#ffebee;border-radius:4px;margin-bottom:15px;padding:10px}.success-message{color:#155724;background-color:#d4edda;border-radius:4px;margin-bottom:15px;padding:10px}.auth-helper{text-align:center;margin:4px 0 12px;font-size:.9rem}.auth-helper a{color:#007bff}.auth-hint{color:#666;margin:-6px 0 4px;font-size:.8rem;line-height:1.35}@media (max-width:480px){.auth-form h2{font-size:1.25rem}.tab-button{padding:.75rem .5rem;font-size:.85rem}}.login-page{background-color:#fff9e6;flex-direction:column;flex:1;width:100%;display:flex}.login-container{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.login-container .login-form-card,.login-container .auth-form{animation:.5s ease-in-out slideUp}.register-page{background-color:#fff9e6;flex-direction:column;flex:1;width:100%;display:flex}.register-container{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.register-container .register-form-card,.register-container .auth-form{animation:.5s ease-in-out slideUp}.slots-page{flex-direction:column;flex:1;width:100%;display:flex}.slots-container{box-sizing:border-box;background-color:#fff9e6;flex:1;width:100%;max-width:min(1200px,100%);margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem) clamp(.75rem,3vw,1.25rem);overflow:hidden auto}.slots-header{text-align:center;margin-bottom:40px}.slots-header h1{color:#2c3e50;margin:0 0 10px;font-size:2.5rem}.slots-header p{color:#7f8c8d;font-size:1.1rem}.slots-controls{flex-wrap:wrap;align-items:center;gap:15px;max-width:1200px;margin:0 auto 30px;display:flex}.subject-filter{cursor:pointer;background-color:#fff;border:2px solid #ecf0f1;border-radius:6px;padding:10px 15px;font-size:1rem;transition:all .3s}.subject-filter:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.error-message{color:#d32f2f;background-color:#ffebee;border-left:4px solid #d32f2f;border-radius:6px;max-width:1200px;margin:0 auto 20px;padding:15px}.loading{text-align:center;color:#7f8c8d;padding:60px 20px;font-size:1.1rem}.no-slots{text-align:center;background:#fff;border-radius:12px;max-width:600px;margin:0 auto;padding:60px 20px;box-shadow:0 4px 15px #0000001a}.no-slots p{color:#7f8c8d;margin:0;font-size:1.1rem}.bookings-section{max-width:1200px;margin:0 auto}.bookings-section h2{color:#2c3e50;margin-bottom:30px;font-size:1.8rem}.bookings-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:25px;display:grid}.booking-card{background:#fff;border-left:5px solid #667eea;border-radius:12px;padding:25px;transition:all .3s;box-shadow:0 4px 15px #0000001a}.booking-header{border-bottom:2px solid #ecf0f1;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;display:flex}.student-info h3{color:#2c3e50;margin:0 0 5px;font-size:1.3rem}.status-badge{white-space:nowrap;border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:600}.status-badge.pending{color:#856404;background-color:#fff3cd}.status-badge.confirmed{color:#0c5460;background-color:#d1ecf1}.status-badge.completed{color:#155724;background-color:#d4edda}.status-badge.cancelled{color:#721c24;background-color:#f8d7da}.booking-details{flex-direction:column;gap:12px;display:flex}.detail-item{justify-content:space-between;font-size:.95rem;display:flex}.detail-item .label{color:#7f8c8d;font-weight:600}.detail-item .value{color:#2c3e50;text-align:right;font-weight:500}@media screen and (max-width:768px){.slots-header h1{font-size:clamp(1.35rem,4vw,1.8rem)}.bookings-list{grid-template-columns:1fr}.slots-controls{flex-direction:column}.subject-filter{width:100%}}@media screen and (max-width:480px){.slots-header h1{font-size:1.35rem}.slots-header p{font-size:.95rem}.booking-card{padding:1rem}}.check-slots-page{background-color:#fff9e6;flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden auto}.check-slots-container{box-sizing:border-box;flex:1;width:100%;max-width:min(1200px,100%);margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.75rem,3vw,1rem)}.check-slots-header{text-align:center;margin-bottom:2rem}.check-slots-header h1{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem}.check-slots-header p{color:#7f8c8d;font-size:1.1rem}.search-filters{background:#fff;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.search-box{margin-bottom:1rem}.search-input{border:2px solid #e0e0e0;border-radius:6px;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.search-input:focus{border-color:#3498db;outline:none}.filter-controls{flex-wrap:wrap;gap:1rem;display:flex}.filter-select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;flex:200px;min-width:0;max-width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.filter-select:focus{border-color:#3498db;outline:none}.slots-by-teacher{flex-direction:column;gap:2rem;display:flex}.teacher-slots-group{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.teacher-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.teacher-header h2{margin:0;font-size:1.5rem}.teacher-subject{background:#fff3;border-radius:20px;padding:.5rem 1rem;font-size:.9rem}.slots-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem;padding:clamp(.75rem,2vw,1.5rem);display:grid}.slot-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:1.25rem;transition:transform .2s,box-shadow .2s}.slot-card-link{color:inherit;text-decoration:none;display:block}.slot-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.slot-date{color:#2c3e50;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.slot-time{justify-content:space-between;margin-bottom:.5rem;font-size:.95rem;display:flex}.time-label{color:#7f8c8d}.time-value{color:#2c3e50;font-weight:600}.slot-capacity{justify-content:space-between;margin-bottom:.5rem;font-size:.95rem;display:flex}.capacity-label{color:#7f8c8d}.capacity-value{color:#27ae60;font-weight:600}.slot-subject{margin-top:.75rem}.subject-badge{color:#fff;background:#3498db;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.slot-bookings{border-top:1px solid #e0e0e0;margin-top:.75rem;padding-top:.75rem}.bookings-label{color:#7f8c8d;font-size:.85rem}.loading,.no-slots{text-align:center;color:#7f8c8d;padding:3rem;font-size:1.1rem}.error-message{color:#c33;text-align:center;background:#fee;border-radius:6px;margin-bottom:1rem;padding:1rem}@media (max-width:768px){.check-slots-header h1{font-size:clamp(1.35rem,4vw,2rem)}.filter-controls{flex-direction:column}.filter-select{flex:none;width:100%}.slots-grid{grid-template-columns:1fr}.teacher-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width:480px){.check-slots-header h1{font-size:1.35rem}.check-slots-header p{font-size:.95rem}.search-filters{padding:1rem}}.slot-details-page{background-color:#fff9e6;flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden auto}.slot-details-container{box-sizing:border-box;flex:1;width:100%;max-width:min(1000px,100%);margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.75rem,3vw,1rem)}.slot-details-topbar{margin-bottom:1rem}.back-link{color:#2563eb;font-weight:600;text-decoration:none}.slot-details-card{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 10px 30px #0f172a14}.slot-details-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.slot-details-header h1{color:#0f172a;margin:0;font-size:1.6rem}.subject-pill{color:#fff;white-space:nowrap;background:#1d4ed8;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.slot-details-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.meta-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem}.meta-label{color:#64748b;margin-bottom:.25rem;font-size:.85rem;display:block}.meta-value{color:#0f172a;font-weight:600}.bookings-section h2{color:#0f172a;margin:0 0 .75rem}.booking-row{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.booking-main{justify-content:space-between;align-items:center;gap:1rem;display:flex}.student-name{color:#0f172a;font-weight:700}.student-sub{color:#64748b;font-size:.9rem}.booking-appointment{text-align:right}.appt-label{color:#64748b;font-size:.85rem}.appt-time{color:#16a34a;font-weight:700}.booking-details{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.detail-pill{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem .6rem;font-size:.85rem}.loading,.no-slots,.no-bookings{text-align:center;color:#64748b;padding:2rem}.error-message{color:#b91c1c;background:#fee2e2;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}@media (max-width:768px){.slot-details-meta{grid-template-columns:1fr}.booking-main{flex-direction:column;align-items:flex-start}.booking-appointment{text-align:left}.slot-details-header{flex-direction:column;align-items:flex-start}.slot-details-header h1{font-size:clamp(1.2rem,4vw,1.5rem)}}@media (max-width:480px){.slot-details-card{padding:1rem}.slot-details-topbar{margin-bottom:.75rem}}.booking-history{width:100%;padding:0}.no-bookings{text-align:center;background:#fff;border-radius:12px;padding:4rem 2rem;box-shadow:0 4px 15px #00000014}.no-bookings-text{color:#2c3e50;margin:0 0 .5rem;font-size:1.3rem;font-weight:600}.no-bookings-subtext{color:#7f8c8d;margin:0;font-size:1rem}.bookings-list{flex-direction:column;gap:1.5rem;display:flex}.booking-card{box-sizing:border-box;background:#fff;border-left:5px solid #3498db;border-radius:12px;max-width:100%;transition:all .3s;overflow:hidden;box-shadow:0 4px 15px #00000014}.booking-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.booking-card-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:1.5rem}.booking-title-section{justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-title{margin:0;font-size:1.3rem;font-weight:700}.status-badge{color:#fff;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.booking-card-body{padding:1.5rem}.booking-detail-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.booking-detail-row:last-of-type{margin-bottom:0}.detail-item{flex-direction:column;display:flex}.detail-item.half-width{grid-column:span 1}.detail-item label{color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.85rem;font-weight:700}.detail-value{color:#2c3e50;word-break:break-word;margin:0;font-size:1rem;font-weight:500}.booking-card-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;display:flex}.btn-cancel,.btn-delete-doubt{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s}.btn-cancel:hover,.btn-delete-doubt:hover{background-color:#c0392b;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.btn-cancel:active,.btn-delete-doubt:active{transform:translateY(0)}.booking-card-footer-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn-remove-history{color:#fff;cursor:pointer;background-color:#7f8c8d;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s}.btn-remove-history:hover{background-color:#636e72;transform:translateY(-2px);box-shadow:0 4px 12px #7f8c8d59}.btn-remove-history:active{transform:translateY(0)}@media (max-width:768px){.booking-title-section{flex-direction:column;align-items:flex-start}.status-badge{align-self:flex-start}.booking-detail-row{grid-template-columns:1fr}.detail-item.half-width{grid-column:span 1}.booking-card-footer{flex-direction:column}.btn-cancel,.btn-delete-doubt,.btn-remove-history{width:100%}}.student-booking-form-container{background:#fff;border-radius:12px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 15px #00000014}.booking-form-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.header-content h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.header-content p{color:#ffffffe6;margin:0;font-size:.95rem}.toggle-form-btn{color:#667eea;cursor:pointer;background:#fff;border:none;border-radius:25px;padding:.6rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.toggle-form-btn:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.toggle-form-btn.open{background:#ffffffe6}.student-booking-card{border-top:2px solid #f0f0f0;padding:2rem;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.student-booking-form{flex-direction:column;gap:1.5rem;display:flex}.form-error-message{color:#fff;background-color:#ff6b6b;border-left:4px solid #e74c3c;border-radius:8px;padding:1rem;font-weight:500;animation:.3s slideUp}.form-success-message{color:#fff;background-color:#27ae60;border-left:4px solid #229954;border-radius:8px;padding:1rem;font-weight:500;animation:.3s slideUp}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:#2c3e50;margin-bottom:.6rem;font-size:.95rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:.8rem;font-family:inherit;font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.input-disabled{color:#95a5a6;cursor:not-allowed;background-color:#f0f0f0}.form-group input:disabled::placeholder,.input-disabled::placeholder{color:#95a5a6}.form-group select:disabled{color:#95a5a6;cursor:not-allowed;background-color:#f0f0f0}.form-group textarea{resize:vertical;min-height:100px}.form-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;padding:.8rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{color:#495057;cursor:pointer;background:#e9ecef;border:none;border-radius:6px;padding:.8rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.cancel-btn:hover:not(:disabled){background:#dee2e6;transform:translateY(-2px)}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.student-booking-form-container{margin-bottom:1.5rem}.booking-form-header{flex-direction:column;align-items:flex-start}.toggle-form-btn{width:100%}.student-booking-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.submit-btn,.cancel-btn{width:100%}.header-content h2{font-size:1.2rem}.header-content p{font-size:.9rem}}@media (max-width:480px){.student-booking-card{padding:1rem}.booking-form-header{padding:1.25rem}}.dashboard-page{background-color:#fff9e6;flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden auto}.dashboard-header h1{color:#2c3e50;text-shadow:none;word-wrap:break-word;margin-bottom:.5rem;font-size:clamp(1.5rem,4vw + .5rem,2.8rem);font-weight:800}.dashboard-header p{color:#666;margin:0;font-size:1.1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stat-card{text-align:center;background:#fff;border-radius:12px;padding:1.5rem;transition:all .3s;box-shadow:0 4px 15px #0000001a}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.stat-card h3{color:#667eea;margin:0 0 .5rem;font-size:2.5rem;font-weight:800}.stat-card p{color:#7f8c8d;margin:0;font-size:1rem;font-weight:600}.filter-section{margin-bottom:2rem}.filter-section h2{color:#fff;margin:0 0 1.5rem;font-size:1.8rem;font-weight:700}.filter-tabs{flex-wrap:wrap;gap:1rem;display:flex}.filter-tab{color:#667eea;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #fff;border-radius:25px;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.filter-tab:hover{background-color:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.filter-tab.active{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border-color:#0000}.booking-history{background:#fff;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 4px 15px #0000001a}.bookings-list{padding:2rem}.bookings-list .booking-card:first-child{margin-top:0}@media (min-width:1024px){.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:768px){.dashboard-container{padding:1.5rem .5rem}.dashboard-header h1{font-size:2rem}.dashboard-header p{font-size:.95rem}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1rem}.stat-card h3{font-size:2rem}.stat-card p{font-size:.85rem}.filter-tabs{gap:.5rem}.filter-tab{padding:.6rem 1rem;font-size:.85rem}.bookings-list{padding:1rem}}@media (max-width:480px){.dashboard-container{padding:1rem .75rem}.dashboard-stats{grid-template-columns:1fr}.dashboard-header h1{font-size:1.6rem}.dashboard-header{margin-bottom:1.5rem}.filter-tabs{flex-direction:column}.filter-tab{text-align:center;width:100%;padding:.5rem .8rem}.stat-card{padding:.75rem}.stat-card h3{font-size:1.5rem}.stat-card p{font-size:.75rem}}.teacher-time-container{box-sizing:border-box;background:#fff;border-radius:12px;max-width:min(640px,100%);margin:0 auto 2rem;padding:clamp(1rem,4vw,2rem);box-shadow:0 4px 15px #00000014}.teacher-time-container h2{color:#2c3e50;margin:0 0 .5rem;font-size:1.8rem}.teacher-time-container .subtitle{color:#64748b;margin-bottom:1.5rem}.teacher-time-form .form-row{flex-direction:column;margin-bottom:1rem;display:flex}.teacher-time-form .form-row-inline{flex-direction:row;gap:1rem}.teacher-time-form label{margin-bottom:.25rem;font-weight:500}.teacher-time-form input,.teacher-time-form select{border:1px solid #cbd5f1;border-radius:8px;padding:.5rem .75rem;font-size:.95rem}.primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:999px;width:100%;padding:.75rem 1rem;font-weight:600;transition:all .3s}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.primary-btn:disabled{opacity:.6;cursor:default}.error-message{color:#fff;background-color:#ff6b6b;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex;box-shadow:0 4px 15px #ff6b6b4d}.error-message button{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;display:flex}.error-message button:hover{background-color:#0000001a;border-radius:50%}.success-message{color:#fff;background-color:#10b981;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex;box-shadow:0 4px 15px #10b9814d}.spinner{border:4px solid #667eea4d;border-top-color:#667eea;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.dashboard-page{background-color:#fff9e6;flex-direction:column;flex:1;width:100%;min-height:100vh;display:flex;overflow:hidden auto}.dashboard-container{box-sizing:border-box;flex:1;width:100%;max-width:min(1200px,100%);margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.75rem,3vw,1rem)}.main-content-grid{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,3vw,1.5rem);width:100%;max-width:1200px;margin:0 auto 2rem;display:grid}.current-student-column,.upcoming-column{min-width:0}.column-title{margin:0 0 1rem;font-size:clamp(1.1rem,2.5vw,1.35rem)}@media (max-width:1024px){.main-content-grid{grid-template-columns:1fr}}.dashboard-header{text-align:center;color:#333;margin-bottom:2rem}.dashboard-header h1{color:#2c3e50;word-wrap:break-word;margin-bottom:.5rem;font-size:clamp(1.5rem,4vw + .5rem,2.8rem);font-weight:800}.dashboard-header .subtitle{color:#666;margin:0;font-size:1.1rem}.dashboard-loading{color:#2c3e50;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:80vh;display:flex}.refresh-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.no-bookings{text-align:center;color:#999;background:#fff;border-radius:12px;max-width:1200px;margin:0 auto;padding:3rem;font-size:1.1rem}.slots-container{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto 2rem;display:flex}.slot-card{background:#fff;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 10px 30px #00000026}.slot-card:hover{box-shadow:0 15px 40px #00000040}.slot-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.slot-header h2{margin:0;font-size:1.3rem;font-weight:600}.slot-time{background:#fff3;border-radius:20px;padding:.5rem 1rem;font-size:1.1rem;font-weight:600}.bookings-list{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.booking-card{background:#f9f9f9;border:1px solid #eee;border-left:4px solid #f59e0b;border-radius:8px;padding:3rem 1.5rem 1.5rem;transition:all .3s;position:relative}.booking-card:hover{background:#f5f5f5;box-shadow:0 4px 12px #0000001a}.booking-card.completed{background:#f0fdf4;border-left-color:#10b981}.booking-top{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.student-info{flex:1}.student-name{color:#333;margin:0;font-size:1.1rem;font-weight:600}.roll-no{color:#666;margin:.25rem 0 0;font-size:.9rem}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-pending{color:#b45309;background:#fef3c7}.badge-confirmed{color:#1e40af;background:#dbeafe}.badge-completed{color:#166534;background:#dcfce7}.badge-cancelled{color:#991b1b;background:#fee2e2}.booking-details{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.detail-row{color:#555;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.detail-row .label{color:#333;min-width:150px;font-weight:600}.detail-row .value{color:#666;word-break:break-word;flex:1}.detail-row.completed-info{background:#e8f5e9;border-left:3px solid #10b981;border-radius:4px;padding:.5rem}.detail-row.completed-info .label{color:#2e7d32}.detail-row.completed-info .value{color:#1b5e20;font-weight:500}.complete-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.complete-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 5px 15px #10b98166}.complete-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.booking-info-note{color:#1e40af;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:6px;margin-top:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.current-bookings-section{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-left:4px solid #dc2626;border-radius:12px;max-width:1200px;margin:2rem auto;padding:1.5rem;box-shadow:0 10px 30px #dc262626}.current-doubt-slot-section{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:3px solid #dc2626;border-radius:12px;max-width:1200px;margin:2rem auto;padding:20px;box-shadow:0 10px 40px #dc262640}.slot-section-title{color:#7f1d1d;text-align:center;margin:0 0 20px;font-size:1.6rem;font-weight:800;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.current-slot-container{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;display:grid}.doubt-slot-card{background:#fff;border:3px solid #dc2626;border-radius:12px;flex-direction:column;gap:20px;padding:25px;animation:.4s slideUp;display:flex;box-shadow:0 8px 20px #dc262633}.student-slot-info{flex:1}.student-slot-name{color:#1f2937;margin:0 0 8px;font-size:1.3rem;font-weight:700}.student-slot-roll{color:#6b7280;margin:4px 0;font-size:.95rem}.student-slot-topic{color:#374151;background:#f3f4f6;border-radius:6px;margin:10px 0 4px;padding:8px 12px;font-size:1rem}.student-slot-time{color:#dc2626;margin:8px 0 0;font-size:.95rem;font-weight:600}.complete-session-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:8px;align-self:flex-start;padding:12px 20px;font-size:14px;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #10b98166}.complete-session-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-3px);box-shadow:0 6px 20px #10b98180}.complete-session-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.today-sessions-section{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;max-width:1200px;margin:2rem auto;padding:20px}.sessions-title{color:#1f2937;margin:0 0 20px;font-size:1.3rem;font-weight:700}.sessions-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;display:grid}.session-card{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:16px;transition:all .3s;box-shadow:0 2px 8px #0000000d}.session-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.session-card.completed{opacity:.7;background:#f0fdf4}.session-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.session-student h4{color:#1f2937;margin:0 0 4px;font-size:1rem}.session-student p{color:#6b7280;margin:0;font-size:.9rem}.session-status{white-space:nowrap;border-radius:20px;padding:4px 12px;font-size:.85rem;font-weight:600}.session-status.completed,.session-status.done{color:#166534;background:#dcfce7}.session-status.pending{color:#92400e;background:#fef3c7}.session-status.confirmed{color:#1e40af;background:#dbeafe}.session-details{color:#374151;margin:12px 0;font-size:.9rem}.session-details p{margin:6px 0}.section-title{color:#7f1d1d;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.4rem;font-weight:700;display:flex}.current-bookings-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.current-booking-card{background:#fff;border:2px solid #fecaca;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:15px;transition:all .3s;display:flex;box-shadow:0 4px 12px #dc262626}.current-booking-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #dc262640}.current-booking-header{flex:1;justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.current-booking-header h3{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.current-booking-header .roll-no{color:#6b7280;margin:0;font-size:.85rem}.mark-complete-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #10b9814d}.mark-complete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.no-bookings-message{text-align:center;max-width:1200px;margin:3rem auto;padding:40px 20px}.empty-state{background:#fff;border:2px dashed #e5e7eb;border-radius:12px;padding:40px;box-shadow:0 4px 16px #00000014}.empty-icon{margin-bottom:16px;font-size:3rem;display:block}.empty-state h3{color:#1f2937;margin:0 0 12px;font-size:1.4rem;font-weight:700}.empty-state>p{color:#6b7280;margin:8px 0;font-size:1rem}.empty-state .hint{color:#9ca3af;margin-top:12px;font-size:.95rem}.refresh-link-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;margin-top:20px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:all .3s}.refresh-link-btn:hover{background:#2563eb;transform:scale(1.05)}@media (max-width:768px){.current-bookings-section{margin:1rem;padding:1rem}.current-bookings-list{grid-template-columns:1fr}.section-title{font-size:1.2rem}.current-booking-content{padding:1rem}}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat{text-align:center;background:#fff;border-radius:12px;padding:1.5rem;transition:all .3s;box-shadow:0 4px 15px #0000001a}.stat:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.stat h4{color:#7f8c8d;margin:0 0 .5rem;font-size:1rem;font-weight:600}.stat-value{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:800}@media (max-width:768px){.dashboard-container{padding:1.5rem .5rem}.dashboard-header h1{font-size:2rem}.dashboard-header p{font-size:.95rem}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.stat{padding:1rem}.stat h4{font-size:.85rem}.stat-value{font-size:2rem}.slot-header{flex-direction:column;align-items:flex-start;gap:.75rem}.slot-time{align-self:flex-start}.booking-card{padding:1rem}.detail-row .label{min-width:100px}.dashboard-stats{grid-template-columns:1fr}}@media (max-width:480px){.dashboard-container{padding:1rem .75rem}.dashboard-stats{grid-template-columns:1fr}.dashboard-header h1{font-size:1.6rem}.dashboard-header{margin-bottom:1.5rem}.stat{padding:.75rem}.stat h4{font-size:.75rem}.stat-value{font-size:1.5rem}}.previous-slots-container,.slots-header{margin-bottom:2rem}.slots-header h2{color:#2c3e50;margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.slots-subtitle{color:#666;margin:0;font-size:.95rem}.loading-slots{text-align:center;color:#999;padding:3rem;font-size:1rem}.no-slots{text-align:center;color:#999;background:#fff;border-radius:12px;padding:3rem;font-size:1rem;box-shadow:0 5px 15px #00000014}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.slot-item{cursor:pointer;background:#fff;border-top:4px solid #667eea;border-radius:12px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 5px 15px #00000014}.slot-item:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000026}.slot-item.past{border-top-color:#10b981}.slot-item.upcoming{border-top-color:#f59e0b}.slot-status-badge{color:#667eea;z-index:10;background:#fffffff2;border-radius:20px;padding:.4rem .8rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;right:1rem}.slot-item.past .slot-status-badge{color:#1b5e20;background:#e8f5e9}.slot-item.upcoming .slot-status-badge{color:#e65100;background:#fff3e0}.slot-item-content{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.slot-subject{color:#333;margin:0;font-size:1.2rem;font-weight:600}.slot-info{flex-direction:column;gap:.5rem;display:flex}.slot-info p{color:#666;margin:0;font-size:.9rem}.slot-date,.slot-time{font-weight:500}.slot-capacity{color:#999;font-size:.85rem}.slot-actions{gap:.5rem;margin-top:.5rem;display:flex}.view-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s}.view-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px #667eea66}.view-btn:active{transform:translateY(0)}.delete-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ff6b6b;border:none;border-radius:6px;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s}.delete-btn:hover:not(:disabled){background:#ee5a52;transform:translateY(-1px);box-shadow:0 5px 15px #ff6b6b66}.delete-btn:active:not(:disabled){transform:translateY(0)}.delete-btn:disabled{opacity:.6;cursor:not-allowed}.back-btn{color:#333;cursor:pointer;background:#ffffff26;border:1px solid #0000001a;border-radius:8px;margin-bottom:1rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .3s;display:inline-block}.back-btn:hover{background:#ffffff40;transform:translate(-2px)}.slot-details-header{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.slot-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.bookings-container{max-width:1200px;margin:0 auto 2rem}.booking-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex;position:absolute;top:1rem;left:1rem}@media (max-width:768px){.slots-grid{grid-template-columns:1fr;padding:0 1rem}.slots-header{padding:0 1rem}.slots-header h2{font-size:1.6rem}.previous-slots-container{margin:2rem 0;padding:1rem 0}}@media (max-width:480px){.slots-grid{padding:0}.slot-item-content{padding:1rem}.slot-subject{font-size:1rem}.slot-status-badge{font-size:.7rem;top:.75rem;right:.75rem}.dashboard-header{margin:0 auto 1rem;padding:1rem}.dashboard-header h1{font-size:1.4rem}.slot-actions{flex-direction:column;gap:.75rem}.delete-btn{width:100%}}.section-title{align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.4rem;font-weight:700;display:flex}.current-slot-section{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border:3px solid #3b82f6;border-radius:12px;max-width:1200px;margin:0 auto 2rem;padding:1.5rem;animation:.4s slideDown;box-shadow:0 10px 40px #3b82f640}.teacher-dashboard-top-sections{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto 2rem;display:flex}.teacher-dashboard-top-sections .current-slot-section{margin:0}.teacher-dashboard-top-sections .upcoming-slots-section{margin:0;padding-bottom:0}.current-title{color:#1e40af}.current-slot-content{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 4px 12px #3b82f61a}.current-time-display{text-align:center;border-bottom:2px solid #dbeafe;margin-bottom:1.5rem;padding-bottom:1.5rem}.time-badge{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:25px;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;display:inline-block}.remaining-badge{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:20px;margin-left:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-block}.empty-current-slot{text-align:center;color:#6b7280;padding:2rem}.empty-current-slot .hint{color:#9ca3af;margin-top:.5rem;font-size:.9rem}.current-students-list{flex-direction:column;gap:1rem;display:flex}.current-student-item{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.current-student-item:hover{background:#e0f2fe;border-color:#7dd3fc}.current-student-item.active{border-color:#3b82f6;animation:2s infinite pulse-glow}@keyframes pulse-glow{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.students-list-section{max-width:1200px;margin:0 auto 2rem;padding:0 1rem}.students-list-section .section-title{color:#2c3e50;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.students-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.student-card{background:#fff;border-left:4px solid #f59e0b;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 4px 12px #00000014}.student-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.student-card-header{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.student-number{color:#fff;font-size:1rem;font-weight:700}.student-time{color:#fff;background:#fff3;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:600}.student-card-body{padding:1rem}.student-card-body .student-name{color:#1f2937;margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.student-roll{color:#6b7280;margin:0 0 .5rem;font-size:.9rem}.student-topic{color:#374151;margin:.5rem 0;font-size:.95rem;font-weight:500}.student-desc{color:#4b5563;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;margin:.75rem 0 0;padding:.5rem;font-size:.85rem}.no-students-message{max-width:1200px;margin:0 auto 2rem;padding:0 1rem}.current-student-card{flex-direction:column;gap:1rem;display:flex}.current-card-time{text-align:center}.current-card-time .time-badge{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:25px;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700}.current-card-info{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:10px;padding:1.25rem}.current-card-name{color:#1e40af;margin:0 0 .5rem;font-size:1.4rem;font-weight:700}.current-card-roll{color:#6b7280;margin:0 0 .5rem;font-size:.95rem}.current-card-topic{color:#1f2937;margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.current-card-desc{color:#4b5563;background:#fff;border-left:3px solid #3b82f6;border-radius:4px;margin:.5rem 0 0;padding:.75rem;font-size:.9rem}.mark-complete-btn.large{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:10px;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .3s}.mark-complete-btn.large:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.mark-complete-btn.large:disabled{opacity:.6;cursor:not-allowed}.empty-current{text-align:center;color:#6b7280;padding:2rem}.empty-current .empty-icon{margin-bottom:.5rem;font-size:3rem}.waiting-text{color:#9ca3af;margin-top:.5rem;font-size:.9rem}.upcoming-list{flex-direction:column;gap:.75rem;max-height:500px;display:flex;overflow-y:auto}.upcoming-item{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.upcoming-item:hover{background:#fde68a;transform:translate(4px)}.upcoming-item .queue-number{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.upcoming-item-info{flex:1;min-width:0}.upcoming-item-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.upcoming-item-meta{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin:.25rem 0 0;font-size:.8rem;overflow:hidden}.upcoming-item-desc{color:#4b5563;background:#fef3c7;border-left:2px solid #f59e0b;border-radius:3px;margin:.25rem 0 0;padding:.25rem .5rem;font-size:.75rem}.upcoming-item .time-slot-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:15px;flex-shrink:0;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.no-upcoming{text-align:center;color:#9ca3af;margin:0;padding:1rem}@media (max-width:900px){.students-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:600px){.students-grid{grid-template-columns:1fr}}.upcoming-student-card{background:#fff;border-left:5px solid #f59e0b;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;transition:all .3s;display:flex;box-shadow:0 4px 12px #f59e0b1a}.upcoming-student-card:hover{background:#fffbeb;transform:translate(4px)}.upcoming-student-left{flex:1;align-items:center;gap:1rem;display:flex}.queue-number{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:700;display:flex}.upcoming-student-info{flex:1}.upcoming-student-name{color:#1f2937;margin:0 0 .25rem;font-size:1.05rem;font-weight:600}.upcoming-student-meta{color:#6b7280;margin:.25rem 0;font-size:.9rem}.upcoming-student-desc{color:#4b5563;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;margin:.5rem 0 0;padding:.5rem;font-size:.85rem}.upcoming-student-time{flex-shrink:0}.time-slot-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.student-seq{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:600;display:flex}.student-details-current{flex:1;min-width:0}.student-name-current{color:#1e40af;margin:0 0 .25rem;font-size:1rem;font-weight:600}.student-meta{color:#1e7db1;margin:0;font-size:.9rem}.mark-complete-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:6px;flex-shrink:0;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .3s}.mark-complete-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.mark-complete-btn:disabled{opacity:.6;cursor:not-allowed}.upcoming-slots-section{max-width:1200px;margin:0 auto 2rem;padding:0 0 1.5rem}.upcoming-title{color:#b45309;margin:0 0 1.5rem}.upcoming-slots-list{flex-direction:column;gap:1.5rem;display:flex}.upcoming-slot-card{background:#fff;border-left:5px solid #f59e0b;border-radius:10px;transition:all .3s;overflow:hidden;box-shadow:0 4px 12px #f59e0b1a}.upcoming-slot-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b26}.slot-time-header{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.slot-order{white-space:nowrap;background:#fff3;border-radius:15px;padding:.35rem .75rem;font-size:.95rem;font-weight:700}.slot-time-display{text-align:center;flex:1;min-width:200px;font-size:1.1rem;font-weight:600}.slot-count{white-space:nowrap;background:#fff3;border-radius:15px;padding:.35rem .75rem;font-size:.9rem;font-weight:600}.slot-students{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.slot-student-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:1rem;padding:1rem;transition:all .3s;display:flex}.slot-student-item:hover{background:#f3f4f6;border-color:#d1d5db}.waiting-slot{background:linear-gradient(90deg,#fffbeb 0%,#fff 100%);border-left-color:#f59e0b}.waiting-slot .slot-time-header{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.waiting-student{background:#fef3c7;border-color:#fcd34d}.waiting-student:hover{background:#fde68a;border-color:#f59e0b}.seq-number{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:.85rem;font-weight:600;display:flex}.student-info-details{flex:1;min-width:0}.std-name{color:#1f2937;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.std-meta{color:#6b7280;margin:.25rem 0;font-size:.85rem}.std-desc{color:#4b5563;background:#fff;border-left:3px solid #3b82f6;border-radius:3px;margin:.5rem 0 0;padding:.5rem;font-size:.85rem}.mark-complete-small-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;transition:all .3s;display:flex}.mark-complete-small-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:scale(1.1);box-shadow:0 4px 12px #10b9814d}.mark-complete-small-btn:disabled{opacity:.6;cursor:not-allowed}.completed-slots-section{max-width:1200px;margin:0 auto 2rem;padding:0 0 1.5rem}.completed-title{color:#16a34a}.completed-slots-list{flex-direction:column;gap:1.5rem;display:flex}.completed-slot-card{opacity:.9;background:#fff;border-left:5px solid #10b981;border-radius:10px;transition:all .3s;overflow:hidden;box-shadow:0 4px 12px #10b9811a}.completed-slot-card:hover{box-shadow:0 8px 20px #10b98126}.slot-time-header.completed{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.completed-item{background:#f0fdf4;border-color:#86efac}.completed-item:hover{background:#dcfce7}.completed-badge{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:15px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.unscheduled-section{max-width:1200px;margin:0 auto 2rem;padding:0 0 1.5rem}.unscheduled-title{color:#7c3aed}.unscheduled-bookings-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.unscheduled-item{background:#fff;border:2px solid #e9d5ff;border-radius:10px;padding:1.25rem;transition:all .3s;box-shadow:0 4px 12px #7c3aed1a}.unscheduled-item:hover{border-color:#d8b4fe;transform:translateY(-2px);box-shadow:0 8px 16px #7c3aed26}.unscheduled-header{border-bottom:1px solid #e9d5ff;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.unscheduled-student{flex:1;min-width:0}.unscheduled-name{color:#5b21b6;margin:0 0 .25rem;font-size:1rem;font-weight:600}.unscheduled-meta{color:#8b5cf6;margin:0;font-size:.9rem}.unscheduled-status{white-space:nowrap;text-transform:uppercase;border-radius:15px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.unscheduled-status.pending{color:#92400e;background:#fef3c7}.unscheduled-status.confirmed{color:#1e40af;background:#dbeafe}.unscheduled-status.cancelled{color:#991b1b;background:#fee2e2}.unscheduled-topic{color:#374151;margin:.75rem 0 0;font-size:.95rem;font-weight:500}.unscheduled-desc{color:#6b7280;background:#f9fafb;border-left:3px solid #7c3aed;border-radius:3px;margin:.5rem 0 0;padding:.5rem;font-size:.9rem}@media (max-width:768px){.section-title{font-size:1.2rem}.slot-time-header{flex-direction:column;align-items:flex-start}.slot-time-display{text-align:left;width:100%}.current-student-item{flex-direction:column;align-items:flex-start}.mark-complete-btn{width:100%}.slot-student-item{flex-direction:column;align-items:flex-start}.mark-complete-small-btn{align-self:flex-start}.unscheduled-bookings-list{grid-template-columns:1fr}.current-slot-section{margin:0 1rem 2rem;padding:1rem}.upcoming-slots-section,.completed-slots-section,.unscheduled-section{margin:0 1rem}}.next-slot-section{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border:3px solid #3b82f6;border-radius:12px;max-width:1200px;margin:2rem auto;padding:20px;box-shadow:0 10px 40px #3b82f640}.next-slot-section .slot-section-title{color:#1e40af;margin:0 0 20px;font-size:1.6rem;font-weight:800;animation:.4s slideDown}.next-slot-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 20px #3b82f626}.next-slot-info{text-align:center;border-bottom:2px solid #dbeafe;margin-bottom:20px;padding-bottom:20px}.next-slot-time{color:#1e40af;margin:0;font-size:1.4rem;font-weight:700}.next-students-count{color:#1e7db1;margin:10px 0 0;font-size:1rem}.next-slot-students{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;display:grid}.next-student-item{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:8px;align-items:flex-start;gap:15px;padding:15px;transition:all .3s;display:flex}.next-student-item:hover{background:#e0f2fe;border-color:#7dd3fc;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f61a}.student-index{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:.9rem;font-weight:600;display:flex}.student-brief{flex:1}.student-brief-name{color:#1e40af;margin:0 0 .25rem;font-size:1rem;font-weight:600}.student-brief-topic{color:#1e7db1;margin:0;font-size:.9rem}@media (max-width:768px){.next-slot-section{margin:1rem;padding:1rem}.next-slot-container{padding:1rem}.next-slot-students{grid-template-columns:1fr}}.sessions-list{flex-direction:column;gap:1.5rem;display:flex}.session-time-slot{background:#fff;border-left:5px solid #667eea;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 4px 12px #00000014}.session-time-slot:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.time-slot-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.slot-number{min-width:120px;margin:0;font-size:1.3rem;font-weight:700}.slot-time{white-space:nowrap;background:#fff3;border-radius:20px;padding:.5rem 1rem;font-size:1.1rem;font-weight:600}.student-count{white-space:nowrap;background:#fff3;border-radius:20px;padding:.5rem 1rem;font-size:1rem;font-weight:600}.students-in-slot{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.student-in-slot{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;transition:all .3s;display:flex}.student-in-slot:hover{background:#f3f4f6;border-color:#d1d5db}.student-in-slot.completed{opacity:.85;background:#f0fdf4;border-color:#86efac}.student-info-inline{flex:1;align-items:flex-start;gap:1rem;display:flex}.student-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:.9rem;font-weight:600;display:flex}.student-info-inline>div{flex:1;min-width:0}.student-name-inline{color:#1f2937;margin:0 0 .25rem;font-size:1rem;font-weight:600}.student-details{color:#6b7280;margin:.25rem 0;font-size:.9rem}.student-description{color:#4b5563;background:#fff;border-left:3px solid #3b82f6;border-radius:4px;margin:.5rem 0 0;padding:.5rem;font-size:.9rem}.student-status{white-space:nowrap;border-radius:20px;margin-left:auto;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.student-status.completed,.student-status.done{color:#166534;background:#dcfce7}.student-status.pending{color:#92400e;background:#fef3c7}.student-status.confirmed{color:#1e40af;background:#dbeafe}.student-status.cancelled{color:#991b1b;background:#fee2e2}.student-in-slot .complete-btn{margin:.5rem 0 0}.no-timed-sessions{text-align:center;color:#6b7280;padding:2rem;font-size:1rem}.untimed-bookings-section{border-top:2px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.untimed-title{color:#f59e0b;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.2rem;font-weight:700;display:flex}.untimed-bookings{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.untimed-booking-card{background:#fffbeb;border:2px solid #fde68a;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all .3s;display:flex}.untimed-booking-card:hover{border-color:#fcd34d;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b26}.untimed-booking-card.completed{opacity:.8;background:#f0fdf4;border-color:#86efac}.booking-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-student-info{flex:1}.booking-student-info h4{color:#1f2937;margin:0 0 .25rem;font-size:1rem;font-weight:600}.booking-student-info p{color:#6b7280;margin:0;font-size:.9rem}.booking-status{white-space:nowrap;border-radius:20px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.booking-status.done{color:#166534;background:#dcfce7}.booking-status.pending{color:#b45309;background:#fed7aa}.booking-status.confirmed{color:#1e40af;background:#dbeafe}.booking-status.cancelled{color:#991b1b;background:#fee2e2}.booking-content{color:#374151;background:#fff;border-radius:6px;padding:.75rem;font-size:.9rem}.booking-content p{margin:.5rem 0}.booking-content p:first-child{margin-top:0}.untimed-booking-card .complete-btn{margin:.25rem 0 0}@media (max-width:768px){.sessions-list{gap:1rem}.time-slot-header{flex-direction:column;align-items:flex-start;padding:1rem}.slot-number{min-width:auto}.student-info-inline{flex-direction:column}.student-number{align-self:flex-start}.student-status{align-self:flex-start;margin-left:0}.students-in-slot{gap:1rem;padding:1rem}.untimed-bookings{grid-template-columns:1fr}.time-slot-header{flex-direction:column;align-items:flex-start}.slot-time,.student-count{justify-content:flex-start;width:100%}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#333;background-color:#fff;flex-direction:column;width:100%;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;display:flex;overflow:hidden auto}#root{flex-direction:column;flex:1;width:100%;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#667eea;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#764ba2}#root{max-width:100vw;overflow-x:hidden}@media (max-width:768px){.hero-btn,.filter-tab,.refresh-btn,.primary-btn,.btn-delete-doubt,.btn-remove-history,.complete-btn,.mark-complete-btn:not(.mark-complete-small-btn),.toggle-form-btn,.signup-btn,.logout-btn{min-height:44px}.hamburger-menu{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}}
