:root{--primary: #66d1c4;--primary-light: #8fe0d5;--primary-dark: #5cb9af;--black: #000000;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--blue-50: #eef9f9;--blue-100: #d5f2f0;--red: #ef4444;--text-dark: #2d3748;--text-light: #4a5568;--shadow: 0 5px 15px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--background: #f9fafb;--text-primary: #1f2937;--text-secondary: #4b5563}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.5}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple));padding:2rem}.submit-button:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}:root{--primary-blue: #66d1c4;--primary-purple: #66d1c4;--secondary-blue: #5cb9af;--white: #ffffff;--text-primary: #2d3748;--text-secondary: #4a5568;--success: #22c55e;--error: #ef4444;--light-blue: #d1f4f0}#root{max-width:100%;width:100%;margin:0 auto;padding:0;text-align:center;background-color:beige;min-height:100vh;display:flex;flex-direction:column;align-items:stretch}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #2d3748aa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{background:#fff;padding:2em;border-radius:1em;box-shadow:0 8px 32px #00000026;margin:1em 0}.read-the-docs{color:#4a5568}.app-container{min-height:100vh;background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple))}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{background:var(--white);border-radius:1rem;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-secondary);font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.submit-button{background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple));color:var(--white);padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.submit-button:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.switch-form{text-align:center;margin-top:1rem}.switch-button{background:none;border:none;color:var(--primary-blue);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s}.switch-button:hover{color:var(--secondary-blue)}.error-message{background-color:#fee2e2;color:var(--error);padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;text-align:center}.card{background:var(--white);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.btn-primary{background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple));color:var(--white);padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.btn-secondary{background:var(--white);color:var(--primary-blue);padding:.75rem 1.5rem;border:2px solid var(--primary-blue);border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--light-blue);color:var(--white)}.alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem}.alert-success{background-color:#dcfce7;color:var(--success);border:1px solid #bbf7d0}.alert-error{background-color:#fee2e2;color:var(--error);border:1px solid #fecaca}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.table{width:100%;border-collapse:collapse}.table th{background:#f1f5f9;padding:1rem;text-align:left;font-weight:600;color:var(--text-primary)}.table td{padding:1rem;border-bottom:1px solid #e2e8f0}.table tr:hover{background:#f8fafc}@media (max-width: 768px){.navbar{padding:1rem;height:auto}.nav-links{flex-direction:column;gap:1rem;width:100%}.main-content{margin-top:120px}.card{padding:1rem}}.navbar{width:100%;background:#000;padding:.8rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #0000004d;position:fixed;top:0;left:0;right:0;z-index:1000}.navbar-left{display:flex;align-items:center;gap:2rem}.navbar-logo{height:50px;width:auto;object-fit:contain}.navbar-brand{display:flex;align-items:center;gap:1rem;text-decoration:none}.navbar-brand h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.nav-links{display:flex;list-style:none;gap:1.5rem;margin:0;padding:0}.nav-links a{color:var(--white);text-decoration:none;font-weight:500;transition:all .2s;padding:.5rem 1rem;border-radius:.5rem;display:flex;align-items:center;gap:.5rem}.nav-links a:hover{color:var(--primary-blue);background:#66d1c41a}.navbar-right{display:flex;align-items:center;gap:1rem}.btn-primary{background:var(--primary-blue);color:var(--white);padding:.5rem 1.2rem;border-radius:.5rem;border:none;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--secondary-blue);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0003}.btn-secondary{background:transparent;color:var(--white);padding:.5rem 1.2rem;border-radius:.5rem;border:1px solid var(--primary-blue);font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-secondary:hover{background:#66d1c41a;border-color:var(--primary-blue);color:var(--primary-blue)}.mobile-menu-toggle{display:none;background:transparent;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;padding:.5rem;margin-left:auto}@media (max-width: 768px){.navbar{padding:.8rem 1rem}.navbar-left{width:100%;justify-content:space-between;margin-bottom:0}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.navbar-right{position:fixed;top:70px;left:0;right:0;background:#000;flex-direction:column;align-items:stretch;padding:1rem;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;z-index:999}.navbar-right.mobile-menu-active{max-height:70vh;padding:1rem;box-shadow:0 4px 6px -1px #0000004d;overflow-y:auto}.nav-links{flex-direction:column;gap:.5rem;margin-bottom:1rem}.nav-links a{padding:.8rem 1rem;border-radius:.5rem;width:100%}.dropdown{width:100%;display:flex;justify-content:center}.dropdown .btn-primary,.dropdown .btn-icon{width:100%;justify-content:center}.dropdown-menu{position:relative;width:100%;margin-top:.5rem}.nav-links li{width:100%}}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:.5rem;background:#fff;border-radius:.5rem;box-shadow:0 8px 16px #00000026;overflow:hidden;display:flex;flex-direction:column;min-width:200px;z-index:1000}.dropdown-header{padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #e2e8f0;background-color:#f8fafc}.dropdown-header span{font-weight:500;color:#2d3748;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.dropdown-item{padding:.75rem 1rem;text-decoration:none;color:#2d3748;font-weight:500;transition:background .2s;cursor:pointer;border:none;background:none;text-align:left;width:100%;font-size:.9rem;display:flex;align-items:center}.dropdown-item:hover{background:#f1f5f9}.btn-icon{background:transparent;border:none;color:var(--white);cursor:pointer;display:flex;align-items:center}.btn-icon:hover{color:var(--primary-blue)}.user-info{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.25rem}.user-email{font-weight:500;color:#2d3748;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.user-roles{display:flex;gap:.5rem;flex-wrap:wrap}.role-badge{background:var(--primary-blue);color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;text-transform:capitalize}.role-badge.student{background:#4299e1}.role-badge.tutor{background:#48bb78}.dropdown-divider{height:1px;background-color:#e2e8f0;margin:.25rem 0}.dropdown-item.logout{color:#e53e3e}.dropdown-item.logout:hover{background:#fff5f5}.nav-icon{margin-right:.5rem;font-size:1.1rem}.notification-badge{position:absolute;top:-5px;right:-5px;background:#e53e3e;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.7rem;display:flex;align-items:center;justify-content:center}:root{--primary: #66d1c4;--primary-dark: #5cb9af;--secondary: #4a5568;--black: #1a202c;--white: #ffffff;--gray-100: #f7fafc;--gray-200: #edf2f7;--gray-300: #e2e8f0;--gray-500: #a0aec0;--gray-600: #718096;--blue-50: #ebf8ff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-md: 0 6px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--container: 1200px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--black);line-height:1.5;background-color:var(--gray-100)}button{cursor:pointer}section{padding:5rem 2rem;position:relative;width:100%;box-sizing:border-box}section h2{font-size:2.25rem;font-weight:700;text-align:center;margin-bottom:3rem;color:var(--black);position:relative}section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);height:4px;width:70px;background:var(--primary);border-radius:2px}.btn-primary,.btn-secondary,.btn-cta{padding:.75rem 1.5rem;font-weight:600;border-radius:var(--radius);border:none;transition:all .2s;font-size:1rem;display:inline-block;text-align:center}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-cta{background:var(--primary);color:var(--white);padding:1rem 2rem;font-size:1.125rem;box-shadow:var(--shadow-md)}.btn-cta:hover{background:var(--primary-dark);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.hero{position:relative;min-height:100vh;padding-top:8rem;padding-bottom:4rem;color:var(--white);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;width:100%;background:linear-gradient(#000000b3,#000000b3),url(/BackgroundRecherche.jpg);background-size:cover;background-position:center}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.background-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;min-height:100%;min-width:100%}.hero-content{max-width:800px;padding:0 1rem;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.hero h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.2;text-align:center}.hero p{font-size:1.5rem;margin-bottom:2.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3);max-width:700px;text-align:center}.simple-search{margin-bottom:1.5rem;width:100%;display:flex;justify-content:center}.btn-find-tutor{font-size:1.1rem;padding:.8rem 2rem;background:var(--primary);color:var(--white);border:none;border-radius:4px;cursor:pointer;transition:all .3s;font-weight:600}.btn-find-tutor:hover{background:var(--primary-dark);transform:translateY(-2px)}.trust-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;width:100%}.badge{display:flex;align-items:center;gap:.5rem;color:var(--white);font-weight:500;font-size:.95rem;background-color:#0000004d;padding:.4rem .8rem;border-radius:2rem}.search-container{width:100%;max-width:800px;position:relative;padding:2rem;border-radius:var(--radius-lg);background-image:url(/backgroundBook.jpg);background-size:cover;background-position:center;box-shadow:0 15px 30px #0003}.search-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#000000b3,#002023d9);border-radius:var(--radius-lg);z-index:0}.search-bar{display:flex;background:linear-gradient(135deg,#ffffffe6,#f0fdfaf2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(102,209,196,.3);position:relative;z-index:1}.search-bar input{flex:1;padding:1.25rem 1.5rem;border:none;font-size:1rem;outline:none;border-right:1px solid var(--gray-300);background:#fffc;transition:all .3s ease;font-weight:500}.search-bar input:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.search-bar input:focus{background:#fff;box-shadow:inset 0 2px 4px #0000000d}.search-bar input::placeholder{color:#00000080;font-weight:400}.btn-search{background:linear-gradient(to right,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);border:none;padding:0 2rem;font-weight:600;font-size:1rem;transition:all .3s;position:relative;overflow:hidden;min-width:180px;border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);text-transform:uppercase;letter-spacing:.5px}.btn-search:hover{background:linear-gradient(to right,var(--primary-dark) 0%,var(--primary) 100%);transform:translateY(-2px);box-shadow:0 5px 15px #66d1c466}.btn-search:active{transform:translateY(0);box-shadow:0 2px 8px #66d1c44d}.advantages{background-color:var(--white)}.advantages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;max-width:var(--container);margin:0 auto}.advantage-card{padding:2.5rem 2rem;background:var(--gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;transition:transform .3s}.advantage-card:hover{transform:translateY(-5px)}.advantage-icon{width:60px;height:60px;background:var(--primary);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.5rem;font-weight:700}.advantage-card h3{font-size:1.25rem;margin-bottom:1rem;color:var(--black)}.advantage-card p{color:var(--gray-600)}.categories{background-color:var(--gray-100)}.categories-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;max-width:var(--container);margin:0 auto 3rem}.category-card{background:var(--white);padding:2.5rem 2rem;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:all .3s;cursor:pointer}.category-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}.category-icon{font-size:3rem;margin-bottom:1.5rem}.category-card h3{font-size:1.25rem;margin-bottom:1rem;color:var(--black)}.category-card p{color:var(--gray-600);font-size:.95rem}.categories .btn-primary{display:block;margin:0 auto}.featured-tutors{background-color:var(--white)}.profiles-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem;max-width:var(--container);margin:0 auto 3rem}.profile-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;border:1px solid var(--gray-200)}.profile-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md)}.profile-header{display:flex;justify-content:space-between;padding:1rem;background:var(--gray-100)}.rating,.lesson-count{display:flex;align-items:center;gap:.25rem;font-weight:600;font-size:.875rem}.lesson-count{color:var(--gray-600)}.profile-card img{width:100%;height:200px;object-fit:cover}.profile-card h3{margin:1.25rem 1.25rem .5rem;font-size:1.25rem;color:var(--black)}.profile-card .subject{margin:0 1.25rem .5rem;color:var(--gray-600);font-weight:500}.profile-card .price{margin:0 1.25rem 1rem;color:var(--primary-dark);font-weight:700;font-size:1.125rem}.profile-card .bio{margin:0 1.25rem 1.5rem;color:var(--gray-600);font-size:.95rem;line-height:1.5}.tutor-badges{display:flex;gap:1rem;margin:0 1.25rem 1.25rem}.tutor-badges span{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-600)}.profile-card .btn-secondary{margin:0 1.25rem 1.25rem;width:calc(100% - 2.5rem)}.featured-tutors .btn-primary{display:block;margin:0 auto}.testimonials{background-color:var(--gray-100)}.testimonial-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2.5rem;max-width:var(--container);margin:0 auto}.testimonial{background:var(--white);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);position:relative}.testimonial-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.student-img{width:50px;height:50px;border-radius:50%;object-fit:cover}.testimonial-header h4{margin-bottom:.25rem;color:var(--black)}.stars{display:flex;gap:.25rem;color:#f59e0b;font-size:.875rem}.testimonial p{color:var(--gray-600);font-style:italic;line-height:1.6}.howitworks{background-color:var(--white)}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:var(--container);margin:0 auto 3rem}.step{text-align:center;padding:2rem}.step-number{width:60px;height:60px;background:var(--primary);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.5rem;font-weight:700}.step h3{font-size:1.25rem;margin-bottom:1rem;color:var(--black)}.step p{color:var(--gray-600)}.howitworks .btn-primary{display:block;margin:0 auto}.cta-section{background:linear-gradient(#000000b3,#000000b3),url(/cta-bg.jpg);background-size:cover;background-position:center;padding:5rem 2rem;text-align:center;color:var(--white)}.cta-content{max-width:700px;margin:0 auto}.cta-section h2{font-size:2.5rem;margin-bottom:1.5rem}.cta-section p{font-size:1.25rem;margin-bottom:2.5rem}footer.footer{background:var(--black);color:var(--white);padding:5rem 2rem 2rem;width:100vw;margin-left:calc(-50vw + 50%);margin-right:0;box-sizing:border-box;position:relative}body,html{overflow-x:hidden;width:100%}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;max-width:var(--container);margin:0 auto;width:100%}.footer-section h3{font-size:1.25rem;margin-bottom:1.5rem;position:relative;color:var(--white)}.footer-section h3:after{content:"";position:absolute;bottom:-10px;left:0;height:2px;width:50px;background:var(--primary)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:.75rem}.footer-section a{color:var(--gray-300);text-decoration:none;transition:color .2s}.footer-section a:hover{color:var(--primary)}.footer-bottom{text-align:center;padding-top:3rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.1);color:var(--gray-500);width:100%}@media (max-width: 768px){.hero h1{font-size:2.2rem}.hero p{font-size:1.2rem}.search-bar{flex-direction:column}.search-bar input{border-right:none;border-bottom:1px solid var(--gray-300)}.trust-badges{flex-direction:column;align-items:center;gap:1rem}.btn-search{padding:1rem;width:100%}.testimonial-list,.categories-list,.advantages-grid,.profiles-list{grid-template-columns:1fr}section{padding:4rem 1.5rem}section h2{font-size:1.8rem}}.about-us{background-color:var(--white);position:relative;overflow:hidden}.about-logo{display:flex;justify-content:center;margin-bottom:2rem}.about-logo img{max-width:250px;height:auto}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:var(--container);margin:0 auto}.about-text{text-align:left}.about-text .lead{font-size:1.25rem;font-weight:500;margin-bottom:1.5rem;color:var(--primary-dark)}.about-text p{margin-bottom:1.5rem;color:var(--gray-600);line-height:1.7}.about-values{display:grid;grid-template-columns:1fr;gap:1.5rem}.value-card{background:var(--gray-100);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:flex-start;text-align:left;transition:transform .3s}.value-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.value-icon{width:50px;height:50px;background:var(--primary);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.25rem}.value-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--black)}.value-card p{color:var(--gray-600);font-size:.95rem;line-height:1.6}html{scroll-behavior:smooth}@media (max-width: 768px){.about-content{grid-template-columns:1fr}.about-text{margin-bottom:2rem}}.session-example{max-width:800px;margin:4rem auto 3rem;background-color:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.session-example h3{text-align:center;font-size:1.5rem;margin-bottom:2rem;color:var(--black)}.timeline{position:relative;max-width:650px;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:85px;width:4px;background:var(--primary);border-radius:2px}.timeline-item{position:relative;display:flex;margin-bottom:2rem}.timeline-item:last-child{margin-bottom:0}.time{width:80px;font-weight:700;color:var(--primary-dark);padding-top:.5rem}.timeline-content{position:relative;margin-left:30px;background:var(--gray-100);padding:1rem 1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1}.timeline-content:before{content:"";position:absolute;top:14px;left:-20px;width:20px;height:20px;background:var(--primary);border-radius:50%;box-shadow:var(--shadow-sm)}.timeline-content h4{margin-bottom:.5rem;font-size:1.1rem}.timeline-content p{color:var(--gray-600);margin:0}@media (max-width: 768px){.session-example{padding:1.5rem}.timeline:before{left:50px}.time{width:45px;font-size:.9rem}.timeline-content{margin-left:20px}.timeline-content:before{left:-15px;width:15px;height:15px}}.howitworks .btn-primary,.categories .btn-primary,.featured-tutors .btn-primary{display:block;margin:0 auto}.hero.video-fallback{background:linear-gradient(#0009,#0009),url(/BackgroundRecherche.jpg);background-size:cover;background-position:center}.search-bg-fallback{background-image:none!important;background:linear-gradient(135deg,#143a40,#245c64)!important}.cta-container{display:flex;flex-direction:column;align-items:center;gap:25px;margin:30px auto 0;width:100%;max-width:600px}.btn-find-tutor{font-size:1.1rem;padding:15px 40px;border-radius:30px;background:var(--primary);color:#fff;border:none;cursor:pointer;box-shadow:0 5px 15px #66d1c44d;transition:all .3s ease;width:auto;font-weight:600;text-align:center}.btn-find-tutor:hover{transform:translateY(-3px);box-shadow:0 8px 20px #66d1c466;background:var(--primary-dark)}.auth-page-container{position:relative;min-height:100vh;width:100%;overflow:hidden}.video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.video-bg{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px 20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;padding:40px;width:100%;max-width:480px;animation:fadeIn .5s ease-in-out}.login-header{text-align:center;margin-bottom:32px}.login-header h2{color:#2d3748;font-size:24px;font-weight:700;margin-bottom:8px}.subtitle{color:#4a5568;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#4a5568;font-size:14px;font-weight:500}.form-group input{padding:12px 16px;border:1px solid #cbd5e0;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:#2d3748;box-shadow:0 0 0 2px #2d374833}.submit-button{background:#2d3748;color:#fff;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.submit-button:hover{background:#1a202c}.submit-button:disabled{background:#a0aec0;cursor:not-allowed}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #cbd5e0}.divider span{padding:0 16px;color:#718096;font-size:14px}.google-button{display:flex;align-items:center;justify-content:center;background:#fff;color:#2d3748;padding:12px;border:1px solid #cbd5e0;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.google-button:hover{background:#f7fafc;border-color:#a0aec0;box-shadow:0 2px 4px #0000001a}.google-button:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed;border-color:#e2e8f0}.switch-form{text-align:center;margin-top:16px}.switch-button{background:none;border:none;color:#2d3748;font-size:14px;cursor:pointer;padding:8px;transition:all .2s}.switch-button:hover{color:#1a202c;text-decoration:underline}.error-message{background:#fff5f5;color:#e53e3e;padding:12px;border-radius:8px;font-size:14px;text-align:center}@media (max-width: 768px){.login-card{padding:24px;max-width:100%}}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--primary);padding:100px 20px 20px}.register-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:600px;animation:fadeIn .5s ease-in-out}.register-header{text-align:center;margin-bottom:32px}.register-header h2{color:var(--black);font-size:24px;font-weight:700;margin-bottom:8px;position:relative}.register-header h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);height:4px;width:70px;background:var(--primary);border-radius:2px}.register-header p{color:var(--gray-600);font-size:14px;margin-top:16px}.step-indicator{display:flex;justify-content:center;margin-bottom:32px}.step-dot{width:12px;height:12px;border-radius:50%;background:var(--gray-300);margin:0 6px;transition:all .3s}.step-dot.active{background:var(--primary);transform:scale(1.2)}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-group label{color:var(--gray-600);font-size:14px;font-weight:500}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{padding:12px 16px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #66d1c433}.checkbox-group{display:flex;align-items:center;gap:8px;margin-bottom:12px}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.subject-chip{display:inline-flex;align-items:center;background:var(--blue-50);color:var(--primary-dark);padding:6px 12px;border-radius:16px;font-size:14px;margin-right:8px;margin-bottom:8px}.subject-chip button{background:none;border:none;color:var(--gray-600);margin-left:6px;cursor:pointer;font-size:14px}.button-group{display:flex;justify-content:space-between;margin-top:32px}.btn-back{background:var(--white);color:var(--primary);border:2px solid var(--primary);padding:12px 24px;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-back:hover{background:var(--blue-50);transform:translateY(-2px)}.btn-next,.btn-submit{background:var(--primary);color:var(--white);padding:12px 24px;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-next:hover,.btn-submit:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-submit{width:100%}.btn-next:disabled,.btn-submit:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}.summary-item{margin-bottom:16px}.summary-item strong{color:var(--black);font-weight:600}.error-message{background:#fff5f5;color:#e53e3e;padding:12px;border-radius:var(--radius);font-size:14px;text-align:center;margin-bottom:20px}.divider{display:flex;align-items:center;text-align:center;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--gray-300)}.divider span{padding:0 16px;color:var(--gray-500);font-size:14px}.google-button{display:flex;align-items:center;justify-content:center;background:#fff;color:var(--black);padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;margin-bottom:20px}.google-button:hover{background:var(--gray-50);border-color:var(--gray-400);box-shadow:0 2px 4px #0000001a}.google-button:disabled{background:var(--gray-50);color:var(--gray-400);cursor:not-allowed;border-color:var(--gray-200)}@media (max-width: 768px){.register-card{padding:24px}.button-group{flex-direction:column;gap:12px}.btn-back,.btn-next,.btn-submit{width:100%}}.subject-input{display:flex;gap:8px;margin-bottom:12px}.subject-input input{flex:1}.subject-input button{padding:8px 16px;min-width:100px}.subject-chips{display:flex;flex-wrap:wrap;margin-top:8px}.photo-upload-container{display:flex;flex-direction:column;align-items:center;margin:20px 0}.photo-info{margin-top:15px;color:var(--gray-500);font-size:12px;text-align:center}.bio-textarea{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:6px;resize:vertical;font-family:inherit;font-size:14px;transition:border-color .3s}.bio-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #66d1c433}.profile-summary{display:flex;align-items:center;gap:20px;margin-bottom:25px}.summary-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid white;box-shadow:0 2px 6px #0000001a}.summary-photo img{width:100%;height:100%;object-fit:cover}.summary-info{flex-grow:1}.bio-summary p{margin-top:10px;padding:12px;background-color:var(--gray-100);border-radius:6px;color:var(--gray-700);font-style:italic}.availability-form{margin-bottom:20px;background:var(--gray-50);border-radius:var(--radius);padding:15px;border:1px solid var(--gray-200)}.form-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.time-select{padding:10px;border-radius:var(--radius);border:1px solid var(--gray-300);background-color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.time-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #66d1c433}.btn-add-time{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:10px 15px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-add-time:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn-add-time:active{transform:translateY(1px)}.time-slots-container{margin-top:20px}.time-slots-container h4{font-size:16px;margin-bottom:10px;color:var(--gray-700)}.no-slots{color:var(--gray-500);font-style:italic}.time-slots-list{display:flex;flex-direction:column;gap:8px}.time-slot-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 15px;border-radius:var(--radius);border:1px solid var(--gray-200);transition:all .3s ease}.time-slot-item:hover{border-color:var(--primary);box-shadow:0 2px 4px #0000000d}.time-slot-info{display:flex;gap:8px;align-items:center}.day-label{font-weight:600;color:var(--gray-700)}.time-range{color:var(--gray-600)}.remove-slot-btn{background:none;border:none;color:var(--gray-500);font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.remove-slot-btn:hover{background:#e53e3e1a;color:var(--red-500, #e53e3e)}.availability-summary{display:flex;flex-direction:column;gap:8px;margin-top:10px}.availability-item{background:var(--gray-50);padding:8px 12px;border-radius:var(--radius);color:var(--gray-700);font-size:14px;border-left:3px solid var(--primary)}.pricing-form{background-color:var(--gray-50);border-radius:var(--radius);padding:20px;margin-bottom:20px}.price-input{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;transition:border-color .3s}.price-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #66d1c433}.pricing-summary{display:flex;flex-direction:column;gap:8px;margin-top:10px}.price-item{background-color:var(--gray-50);padding:8px 12px;border-radius:var(--radius);font-size:14px}.availability-item{background-color:var(--purple-50);padding:8px 12px;border-radius:var(--radius);margin-bottom:8px;font-size:14px}.profile-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background-color:var(--gray-100);padding:100px 20px 20px}.profile-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:40px;width:100%;max-width:800px;animation:fadeIn .5s ease-in-out}.profile-header{margin-bottom:30px;text-align:center;border-bottom:1px solid var(--gray-200);padding-bottom:20px}.profile-header h2{font-size:24px;font-weight:700;color:var(--black);margin-bottom:8px;position:relative}.profile-header h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);height:4px;width:70px;background:var(--primary);border-radius:2px}.profile-email{color:var(--gray-600);font-size:16px;margin-top:20px}.profile-section h3{font-size:18px;font-weight:600;color:var(--black);margin-bottom:15px;border-left:4px solid var(--primary);padding-left:10px}.role-badges{display:flex;gap:15px;margin-top:15px}.role-badge{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--radius);font-weight:600}.role-badge.student{background-color:#66d1c41a;color:var(--primary-dark)}.role-badge.tutor{background-color:#4f46e51a;color:#4f46e5}.role-badge .icon{font-size:20px}.subject-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.profile-actions{display:flex;justify-content:space-between;margin-top:40px;gap:15px}.profile-actions button{flex:1;padding:12px 0;font-weight:600;border-radius:var(--radius);transition:all .2s;font-size:16px}.profile-card.loading{display:flex;justify-content:center;align-items:center;min-height:300px}.profile-card.error{text-align:center;padding:40px}.profile-card.error h2{color:#e53e3e;margin-bottom:20px}.profile-card.error p{margin-bottom:30px;color:var(--gray-600)}@media (max-width: 768px){.profile-card{padding:20px}.profile-actions,.role-badges{flex-direction:column}}.profile-header-with-photo{display:flex;align-items:center;gap:25px;margin-bottom:30px;border-bottom:1px solid var(--gray-200);padding-bottom:30px}.profile-photo{flex-shrink:0;width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid white;box-shadow:0 4px 12px #0000001a}.profile-photo img{width:100%;height:100%;object-fit:cover}.no-photo{width:100%;height:100%;background-color:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--gray-500)}.profile-info{flex-grow:1}.profile-info h2{font-size:28px;margin-bottom:8px;color:var(--black);font-weight:700}.profile-bio{background-color:var(--blue-50);padding:15px;border-radius:8px;margin-top:10px}.profile-bio p{line-height:1.6;color:var(--gray-700);font-style:italic}.btn-secondary svg{margin-right:6px}.edit-profile-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background-color:var(--gray-100);padding:100px 20px 40px}.edit-profile-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:40px;width:100%;max-width:800px;animation:fadeIn .5s ease-in-out}.edit-profile-header{margin-bottom:30px;text-align:center;border-bottom:1px solid var(--gray-200);padding-bottom:20px}.edit-profile-header h2{font-size:24px;font-weight:700;color:var(--black);margin-bottom:8px;position:relative}.edit-profile-header h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);height:4px;width:70px;background:var(--primary);border-radius:2px}.edit-profile-header p{color:var(--gray-600);font-size:16px;margin-top:16px}.form-section{margin-bottom:40px;border-bottom:1px solid var(--gray-200);padding-bottom:30px}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:18px;font-weight:600;color:var(--black);margin-bottom:20px;border-left:4px solid var(--primary);padding-left:10px}.sub-label{font-size:12px;color:var(--gray-500);font-weight:400}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #66d1c433}.form-group textarea{resize:vertical;min-height:120px}.photo-upload-container{display:flex;justify-content:center;margin-bottom:30px}.upload-placeholder{width:150px;height:150px;border-radius:50%;background-color:var(--gray-100);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;border:2px dashed var(--gray-300);transition:all .3s ease;overflow:hidden}.upload-placeholder:hover{background-color:var(--gray-200)}.user-icon{font-size:60px;color:var(--gray-400);margin-bottom:10px}.upload-prompt{display:flex;flex-direction:column;align-items:center;color:var(--gray-500);font-size:14px}.upload-prompt svg{margin-bottom:5px}.preview-photo{position:relative;width:150px;height:150px;border-radius:50%;overflow:hidden;box-shadow:0 4px 8px #0000001a}.preview-photo img{width:100%;height:100%;object-fit:cover}.change-photo{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:8px;display:flex;align-items:center;justify-content:center;gap:5px;border:none;cursor:pointer;transition:background .3s}.change-photo:hover{background:#000000e6}.character-count{margin-top:8px;font-size:14px;color:var(--gray-500);display:flex;justify-content:space-between}.character-warning{color:var(--red-500, #e53e3e)}.subject-input{display:flex;gap:10px;margin-bottom:15px;position:relative;box-shadow:0 2px 4px #0000000d;border-radius:var(--radius);transition:all .3s ease}.subject-input:focus-within{box-shadow:0 4px 8px #0000001a}.subject-input input{flex:1;border-radius:var(--radius) 0 0 var(--radius);border:1px solid var(--gray-300);padding:14px;font-size:15px;transition:all .3s ease}.subject-input input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #66d1c433}.subject-input button{background:var(--primary);color:#fff;border:none;border-radius:0 var(--radius) var(--radius) 0;padding:0 20px;cursor:pointer;transition:all .3s ease;font-weight:500;min-width:100px;display:flex;align-items:center;justify-content:center}.subject-input button:hover{background:var(--primary-dark);transform:translateY(-1px)}.subject-input button:active{transform:translateY(1px)}.subject-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.subject-chip{background:var(--primary-light, #e6f7f5);color:var(--primary-dark);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;display:flex;align-items:center;box-shadow:0 2px 4px #0000000d;transition:all .2s ease-in-out;border:1px solid transparent}.subject-chip:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a;border-color:var(--primary)}.subject-chip button{background:none;border:none;color:var(--gray-600);margin-left:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;transition:all .2s ease}.subject-chip button:hover{background-color:#ffffff4d}.student-subject-chip{background-color:var(--blue-100);border-color:var(--blue-200)}.tutor-subject-chip{background-color:var(--green-100);border-color:var(--green-200)}.role-toggle-section{background-color:var(--blue-50);border-radius:var(--radius);padding:25px;margin-bottom:30px;transition:all .3s ease;border-left:4px solid var(--blue-400)}.role-toggle-section:hover{box-shadow:0 4px 8px #0000000d}.role-toggle-section h3{display:flex;align-items:center;gap:10px;color:var(--gray-800);font-size:18px;margin-bottom:15px}.role-toggle-section h3 svg{color:var(--primary)}.role-toggle-section p{color:var(--gray-600);margin-bottom:20px;line-height:1.6}.toggle-container{display:flex;align-items:center;margin-top:15px}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px;margin-right:15px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-300);transition:.4s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--primary)}input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-label{font-weight:500;color:var(--gray-700)}.no-subjects{color:var(--gray-500);font-style:italic;font-size:14px}.form-actions{display:flex;gap:20px;justify-content:flex-end;margin-top:30px}.form-actions button{min-width:150px;padding:12px 24px;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover{background:var(--gray-100);transform:translateY(-2px)}.edit-profile-card.loading{display:flex;justify-content:center;align-items:center;min-height:300px}.edit-profile-card.error{text-align:center;padding:50px}.edit-profile-card.error h2{color:#e53e3e;margin-bottom:20px}.edit-profile-card.error p{margin-bottom:30px;color:var(--gray-600)}.alert{padding:15px;margin-bottom:20px;border-radius:var(--radius);display:flex;align-items:center;gap:10px}.alert-error{background-color:#e53e3e1a;color:#e53e3e;border-left:4px solid #e53e3e}.alert-success{background-color:#48bb781a;color:#48bb78;border-left:4px solid #48bb78}.alert-icon{font-size:18px}@media (max-width: 768px){.edit-profile-card{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}.section-description{color:var(--gray-600);font-size:14px;margin-bottom:20px}.availability-form{background-color:var(--gray-50);border-radius:var(--radius);padding:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:15px}.availability-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.form-group select{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;transition:border-color .3s;background-color:#fff}.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #66d1c433}.btn-add-availability{background:var(--purple-500);color:#fff;border:none;border-radius:var(--radius);padding:12px;cursor:pointer;transition:all .3s ease;font-weight:500;align-self:flex-end;min-width:100px}.btn-add-availability:hover{background:var(--purple-600)}.availability-slots{margin-top:20px}.availability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.availability-slot{background-color:var(--purple-50);border:1px solid var(--purple-200);border-radius:var(--radius);padding:15px;position:relative;transition:all .3s ease}.availability-slot:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.availability-day{font-weight:600;color:var(--purple-800);margin-bottom:5px}.availability-time{font-size:14px;color:var(--gray-700)}.btn-remove-slot{position:absolute;top:10px;right:10px;background:transparent;border:none;color:var(--purple-500);font-size:18px;cursor:pointer;width:25px;height:25px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.btn-remove-slot:hover{background-color:var(--purple-100);color:var(--purple-700)}.no-availability{color:var(--gray-500);font-style:italic;text-align:center;padding:15px;background-color:var(--gray-50);border-radius:var(--radius)}@media (max-width: 768px){.availability-inputs{grid-template-columns:1fr}.btn-add-availability{width:100%}.availability-grid{grid-template-columns:1fr}}.pricing-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.pricing-tip{background-color:var(--blue-50);border-left:4px solid var(--primary);padding:12px 15px;font-size:14px;color:var(--gray-700);margin-top:15px;border-radius:4px}@media (max-width: 768px){.pricing-inputs{grid-template-columns:1fr}}.find-tutor-page{position:relative;min-height:100vh;padding-top:80px;color:var(--white);background:linear-gradient(135deg,#66d1c4,#3fb8a9,#2c8f83,#66d1c4,#89e6db);background-size:400% 400%;animation:gradientAnimation 15s ease infinite;overflow:hidden}@keyframes gradientAnimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.find-tutor-page:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#00000026;z-index:0;pointer-events:none}.search-header{padding:3rem 2rem;text-align:center;max-width:1000px;margin:0 auto;position:relative;z-index:1}.search-header h1{font-size:2.5rem;font-weight:800;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.search-header p{font-size:1.2rem;margin-bottom:2rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.advanced-search{background:linear-gradient(135deg,#ffffff26,#f0fdfa33);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.1)}.search-inputs{display:flex;gap:1rem;margin-bottom:1rem}.input-group{flex:1;position:relative}.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-500);z-index:1}.input-group input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:none;border-radius:8px;font-size:.95rem;background:#fffc;transition:all .3s ease;box-shadow:0 4px 8px #0000001a}.input-group input:focus{outline:none;background:#fff;box-shadow:0 4px 12px #0003}.input-group:nth-child(2) input{padding-left:1rem}.btn-search{background:linear-gradient(to right,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);border:none;padding:0 1.5rem;font-weight:600;font-size:.95rem;border-radius:8px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 8px #0000001a}.btn-search:hover{background:linear-gradient(to right,var(--primary-dark) 0%,var(--primary) 100%);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.btn-search:active{transform:translateY(0)}.search-filters{display:flex;gap:1.5rem;justify-content:flex-start;align-items:center;padding-top:.5rem}.filter{color:var(--white);font-size:.9rem}.filter label{display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:opacity .2s}.filter label:hover{opacity:.8}.filter input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.filter select{background:#fff3;color:var(--white);border:1px solid rgba(255,255,255,.3);padding:.4rem .75rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.filter select:hover{background:#ffffff4d}.filter select:focus{outline:none;border-color:var(--primary)}.filter select option{background:var(--black);color:var(--white);padding:8px}.tutors-results{background:transparent;min-height:400px;padding:3rem 2rem;color:var(--white);position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.1)}.tutors-results h2{font-size:1.5rem;margin-bottom:2rem;text-align:center;color:var(--white);font-weight:600;position:relative;padding-bottom:1rem}.tutors-results h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--primary);border-radius:2px}.tutors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.tutor-card{background:#ffffffe6;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000026;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s,box-shadow .3s}.tutor-card:hover{transform:translateY(-8px);box-shadow:0 12px 25px #0003;background:#fffffff2}.tutor-header{display:flex;justify-content:space-between;padding:.75rem 1rem;background:#f5f5f5cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.rating,.sessions{display:flex;align-items:center;gap:.25rem;font-weight:600;font-size:.875rem}.rating{color:#f59e0b}.sessions{color:var(--gray-600)}.tutor-card img{width:100%;height:200px;object-fit:cover}.tutor-card h3{margin:1.25rem 1.25rem .5rem;font-size:1.25rem;color:var(--black);text-align:center}.tutor-card .subject{margin:0 1.25rem .5rem;color:var(--gray-600);font-weight:500;text-align:center}.prices{display:flex;gap:10px;margin:0 1.25rem .75rem;flex-wrap:wrap;justify-content:center}.tutor-card .price{color:var(--primary-dark);font-weight:600;font-size:1rem;background-color:var(--gray-50);padding:4px 10px;border-radius:20px;display:inline-flex;align-items:center;margin:0}.tutor-card .price span{font-size:.8rem;opacity:.8;margin-left:3px;font-weight:400}.primary-price{background-color:var(--primary-light);color:var(--primary-dark);font-weight:700}.tutor-card .bio{margin:0 1.25rem 1.5rem;color:var(--gray-600);font-size:.95rem;line-height:1.5;height:60px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-align:center}.tutor-status{margin:0 1.25rem 1rem;display:flex;justify-content:center}.status{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:4px;font-size:.875rem;font-weight:500}.tutor-actions{display:flex;gap:.75rem;margin:0 1.25rem 1.25rem}.tutor-actions button{flex:1;font-size:.875rem;padding:.6rem 0;border-radius:8px;font-weight:600;transition:all .3s}.btn-primary{background:linear-gradient(to right,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);border:none;box-shadow:0 3px 6px #5cb9af33}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 10px #5cb9af4d}.btn-secondary{background:var(--white);color:var(--primary);border:2px solid var(--primary)}@media (max-width: 768px){.search-inputs{flex-direction:column}.search-filters{flex-direction:column;align-items:flex-start;gap:1rem}.tutor-actions{flex-direction:column}}.no-results{text-align:center;padding:40px;background-color:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:20px auto;max-width:600px;border:1px solid rgba(255,255,255,.3)}.no-results h3{color:var(--white);margin-bottom:10px;font-size:20px}.no-results p{color:#fffc;font-size:16px}.filter-select{margin-right:10px}.availability-filter{display:flex;align-items:center;gap:10px;margin-left:15px;background:#ffffff1a;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.time-select{background:#fff3;color:var(--white);border:1px solid rgba(255,255,255,.3);padding:6px 10px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.time-select:hover{background:#ffffff4d}.time-select:focus{outline:none;border-color:var(--primary)}.time-select option{background:var(--black);color:var(--white);padding:8px}@media (max-width: 768px){.availability-filter{flex-direction:column;align-items:flex-start;width:100%;gap:8px;margin-left:0;margin-top:10px;margin-bottom:10px}.filter-select{width:100%;margin-right:0}.time-select{width:100%}}.find-tutor-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 25% 25%,rgba(255,255,255,.1) 2%,transparent 12%),radial-gradient(circle at 75% 44%,rgba(255,255,255,.1) 2%,transparent 10%),radial-gradient(circle at 50% 80%,rgba(255,255,255,.08) 2%,transparent 8%);background-size:100px 100px,160px 160px,140px 140px;background-position:0 0,40px 60px,130px 270px;z-index:0;pointer-events:none;opacity:.7}.tutor-profile-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background-color:var(--gray-100);padding:100px 20px 20px}.tutor-profile-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:40px;width:100%;max-width:800px;animation:fadeIn .5s ease-in-out}.tutor-profile-card.loading{display:flex;justify-content:center;align-items:center;height:300px}.loader{width:50px;height:50px;border:5px solid var(--gray-200);border-top:5px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.tutor-profile-card.error{text-align:center;padding:60px 40px}.tutor-profile-card.error h2{color:#e53e3e;margin-bottom:15px}.profile-header{display:flex;gap:30px;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid var(--gray-200)}.profile-image{flex-shrink:0}.profile-image img{width:150px;height:150px;border-radius:50%;object-fit:cover;box-shadow:0 4px 10px #0000001a;border:3px solid var(--white)}.profile-details{flex-grow:1}.profile-details h1{font-size:28px;font-weight:700;margin-bottom:15px;color:var(--black)}.rating{display:flex;align-items:center;gap:5px;margin-bottom:10px;color:#f59e0b;font-weight:600}.sessions{color:var(--gray-500);font-weight:400;margin-left:5px}.availability{margin-top:15px}.status{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500}.status.available{background:#22c55e26;color:#22c55e}.profile-section{margin-bottom:30px}.profile-section h2{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;margin-bottom:20px;color:var(--black);padding-bottom:10px;border-bottom:1px dashed var(--gray-200)}.subjects-list{display:flex;flex-wrap:wrap;gap:10px}.subject-chip{background:var(--blue-50);color:var(--primary-dark);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.bio{line-height:1.6;color:var(--gray-700)}.session-booking{background:var(--blue-50);padding:25px;border-radius:12px;margin-bottom:30px}.session-booking h2{font-size:22px;margin-bottom:20px;color:var(--primary-dark)}.session-details{display:flex;justify-content:space-between;align-items:center}.pricing-options{display:flex;flex-direction:column;gap:15px;margin-top:15px}.pricing-option{display:flex;justify-content:space-between;align-items:center;background-color:var(--gray-50);padding:15px;border-radius:var(--radius);border:1px solid var(--gray-200);transition:all .3s ease}.pricing-option:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--primary-light)}.price{display:flex;flex-direction:column}.amount{font-size:1.25rem;font-weight:700;color:var(--primary-dark)}.per{font-size:.8rem;color:var(--gray-600)}.btn-book{background:var(--primary);color:var(--white);border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.btn-book:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.actions{display:flex;justify-content:center;margin-top:20px}.btn-back{background:var(--white);color:var(--primary);border:2px solid var(--primary);padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s}.btn-back:hover{background:var(--blue-50)}@media (max-width: 768px){.profile-header{flex-direction:column;align-items:center;text-align:center;gap:15px}.session-details{flex-direction:column;gap:20px}.price{margin-bottom:10px}}@media (max-width: 576px){.pricing-option{flex-direction:column;gap:10px}.btn-book{width:100%}}.availability-list{display:flex;flex-direction:column;gap:12px;margin-top:15px}.availability-item{display:flex;justify-content:space-between;align-items:center;background:var(--gray-50);padding:12px 15px;border-radius:8px;border-left:3px solid var(--primary);box-shadow:0 2px 4px #0000000d;transition:all .3s ease}.availability-item:hover{transform:translate(2px);box-shadow:0 4px 6px #0000001a}.availability-item .day{font-weight:600;color:var(--gray-700)}.availability-item .time{color:var(--primary-dark);font-weight:500;background:#66d1c41a;padding:5px 10px;border-radius:4px}.no-availability{color:var(--gray-500);font-style:italic;padding:10px}.status.unavailable{background:#ef444426;color:#ef4444}.btn-book:disabled{background:var(--gray-300);cursor:not-allowed;opacity:.7}.book-session-container{min-height:100vh;padding:120px 20px 40px;background-color:var(--gray-100);display:flex;justify-content:center;align-items:flex-start}.book-session-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:40px;width:100%;max-width:700px;animation:fadeIn .5s ease-in-out}.book-session-header{text-align:center;margin-bottom:30px}.book-session-header h2{font-size:28px;font-weight:700;color:var(--black);margin-bottom:8px}.book-session-header p{color:var(--gray-600);font-size:16px}.step-indicator{display:flex;justify-content:space-between;margin-bottom:40px;position:relative}.step-indicator:after{content:"";position:absolute;top:20px;left:30px;right:30px;height:2px;background-color:var(--gray-300);z-index:1}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;flex:1}.step-number{width:40px;height:40px;border-radius:50%;background-color:var(--gray-300);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;margin-bottom:8px;transition:background-color .3s}.step.active .step-number{background-color:var(--primary)}.step span{font-size:14px;color:var(--gray-600);font-weight:500}.step.active span{color:var(--primary);font-weight:600}.step-content{padding:20px 0}.step-content h3{font-size:20px;font-weight:600;color:var(--black);margin-bottom:25px;display:flex;align-items:center;gap:10px}.step-content h3 svg{color:var(--primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--gray-700)}.form-group input[type=text],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #66d1c433}.form-row{display:flex;gap:20px}.form-row .form-group{flex:1}.duration-options{display:flex;gap:15px;margin-top:10px}.price-comparison{margin-bottom:20px;border-radius:var(--radius);border:1px solid var(--gray-200);overflow:hidden}.price-comparison-header{display:flex;justify-content:space-between;padding:12px 16px;background-color:var(--blue-50);border-bottom:1px solid var(--gray-200);font-weight:600;color:var(--primary-dark)}.price-item{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--gray-200)}.price-item:last-child{border-bottom:none}.price-item span:last-child{font-weight:600;color:var(--primary-dark)}.duration-option-label{font-size:16px;font-weight:600;margin-bottom:5px}.duration-option-price{font-size:20px;font-weight:700;color:var(--primary-dark)}button.duration-option{appearance:none;-webkit-appearance:none;-moz-appearance:none;flex:1;padding:20px;border:2px solid var(--gray-300);border-radius:var(--radius);background-color:var(--white);color:var(--gray-700);font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000d;width:100%;text-align:center;outline:none;margin:0;font-family:inherit;font-size:inherit;min-height:120px}button.duration-option:hover{border-color:var(--primary);background-color:var(--blue-50);transform:translateY(-4px);box-shadow:0 8px 15px #0000001a}button.duration-option.selected{border-color:var(--primary);background-color:var(--blue-50);color:var(--primary-dark);font-weight:600;transform:translateY(-4px);box-shadow:0 8px 15px #0000001a}.navigation-buttons{display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid var(--gray-200)}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .3s;font-size:16px}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-secondary{background:#fff;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--blue-50);transform:translateY(-2px)}.session-summary{background-color:var(--blue-50);border-radius:var(--radius);padding:20px;margin-top:20px}.session-summary h4{font-size:16px;font-weight:600;margin-bottom:15px;color:var(--primary-dark)}.summary-item{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}.summary-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.summary-item span:first-child{color:var(--gray-700)}.summary-item span:last-child{font-weight:600;color:var(--black)}.confirmation-summary{display:flex;flex-direction:column;gap:15px;margin:30px 0}.confirmation-item{display:flex;align-items:center;gap:15px;padding:15px;background-color:var(--blue-50);border-radius:var(--radius);border-left:3px solid var(--primary)}.confirmation-icon{font-size:20px;color:var(--primary)}.confirmation-item strong{display:block;margin-bottom:5px;color:var(--gray-800)}.confirmation-item p{margin:0;color:var(--gray-700)}.error-alert{background-color:#fee2e2;color:#ef4444;padding:15px;border-radius:var(--radius);margin-bottom:20px;border-left:4px solid #ef4444}.error-text{color:var(--red);font-size:14px;margin-top:5px}.availability-note{font-size:15px;color:var(--gray-700);margin-bottom:10px;font-weight:500;font-style:italic}.booking-success{text-align:center;padding:30px 0}.success-icon{width:70px;height:70px;border-radius:50%;background-color:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 20px}.booking-success h3{font-size:24px;margin-bottom:15px;color:var(--primary-dark)}.booking-success p{color:var(--gray-600);margin-bottom:10px}.success-actions{display:flex;justify-content:center;gap:15px;margin-top:30px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:10px;max-height:400px;overflow-y:auto;padding-right:10px}.time-slot{border:2px solid var(--gray-300);border-radius:var(--radius);padding:15px;cursor:pointer;transition:all .3s ease;background-color:var(--white)}.time-slot:hover{border-color:var(--primary-light);background-color:var(--blue-50);transform:translateY(-2px)}.time-slot.selected{border-color:var(--primary);background-color:var(--blue-50);color:var(--primary-dark)}.time-slot-date{font-weight:500;font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.time-slot-date svg{color:var(--primary)}.time-slot-time{font-weight:600;font-size:16px;color:var(--gray-800);display:flex;align-items:center;gap:8px}.time-slot-time svg{color:var(--primary)}.time-slot.selected .time-slot-time{color:var(--primary-dark)}.time-slots-grid::-webkit-scrollbar{width:6px}.time-slots-grid::-webkit-scrollbar-track{background:var(--gray-100);border-radius:10px}.time-slots-grid::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:10px}.time-slots-grid::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.selected-duration-text{margin-top:15px;padding:12px 15px;background-color:var(--blue-50);border-radius:var(--radius);color:var(--gray-800);font-weight:500;border-left:3px solid var(--primary);display:flex;align-items:center}.selected-duration-icon{color:var(--primary);margin-right:10px;font-size:18px}.duration-help-text{font-size:14px;color:var(--gray-600);margin-bottom:12px;font-style:italic}.duration-unavailable-text{color:var(--red);font-size:14px;font-style:italic}.duration-option.duration-unavailable{opacity:.6;background-color:var(--gray-100);border:2px solid var(--gray-300);color:var(--gray-600);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;min-height:120px;border-radius:var(--radius);cursor:not-allowed}@media (max-width: 768px){.book-session-card{padding:20px}.duration-options{flex-direction:column}.form-row{flex-direction:column;gap:10px}.success-actions{flex-direction:column}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 480px){.step span{display:none}.navigation-buttons{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{width:100%}.time-slots-grid{grid-template-columns:1fr}}.dashboard-container{min-height:100vh;padding:80px 0 40px;background-color:var(--gray-100);display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.dashboard-header{text-align:center;margin-bottom:30px;width:100%;max-width:1600px;padding:0 20px;box-sizing:border-box}.dashboard-header h1{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.dashboard-header p{color:var(--gray-600);font-size:16px}.dashboard-content{width:100%;max-width:1600px;padding:0 20px;box-sizing:border-box}.dashboard-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:30px;margin-bottom:30px;animation:fadeIn .5s ease-in-out;width:100%;box-sizing:border-box}.dashboard-section h2{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--gray-200)}.dashboard-section h2 svg{color:var(--primary)}@media (min-width: 1800px){.bookings-grid{grid-template-columns:repeat(4,1fr)}.dashboard-content,.dashboard-header{max-width:1800px}}@media (max-width: 1400px){.bookings-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.bookings-grid{grid-template-columns:repeat(1,1fr)}.dashboard-section{padding:20px}.dashboard-header h1{font-size:24px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}}@media (max-width: 576px){.bookings-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:24px}.stats-grid{grid-template-columns:1fr;gap:15px}}.booking-card{background-color:var(--white);border-radius:var(--radius);box-shadow:0 2px 8px #0000000d;border:1px solid var(--gray-200);padding:25px;transition:all .3s ease;display:flex;flex-direction:column;height:100%;min-width:0}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--gray-200);flex-wrap:wrap}.status-badge.cancelled{background-color:#ef444426;color:#ef4444}.booking-tutor,.booking-subject,.booking-date,.booking-time,.booking-duration{display:flex;align-items:flex-start;gap:15px;margin-bottom:15px;width:100%}.booking-tutor svg,.booking-subject svg,.booking-date svg,.booking-time svg,.booking-duration svg{color:var(--primary);font-size:18px;margin-top:3px;flex-shrink:0}.booking-tutor div,.booking-subject div,.booking-date div,.booking-time div,.booking-duration div{display:flex;flex-direction:column;min-width:0;flex:1}.booking-notes{margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-200);width:100%}.booking-notes .label{display:block;margin-bottom:5px}.booking-notes p{font-size:15px;color:var(--gray-700);margin:0;line-height:1.5;max-height:70px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.booking-actions{display:flex;gap:15px;padding-top:20px;border-top:1px solid var(--gray-200);margin-top:auto;width:100%}@media (max-width: 576px){.booking-actions{flex-direction:column}.btn-cancel,.btn-view{width:100%;text-align:center}}.btn-cancel,.btn-view{padding:10px 20px;border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;flex:1}.btn-cancel{background-color:var(--white);color:var(--red);border:1px solid var(--red)}.btn-cancel:hover{background-color:#ef44441a}.btn-view{background-color:var(--primary);color:var(--white);border:none}.btn-view:hover{background-color:var(--primary-dark)}.btn-join-session{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:14px;animation:pulse 2s infinite;flex:1}.btn-join-session:hover{background:linear-gradient(135deg,#218838,#1ea37f);transform:translateY(-2px);box-shadow:0 5px 15px #28a7454d}.no-bookings{text-align:center;padding:60px 20px;background-color:var(--gray-50);border-radius:var(--radius);border:1px dashed var(--gray-300);width:100%;box-sizing:border-box}.btn-primary{background-color:var(--primary);color:var(--white);padding:12px 24px;border-radius:var(--radius);font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.error-alert{background-color:#ef44441a;color:var(--red);padding:15px;border-radius:var(--radius);margin-bottom:20px;border-left:4px solid var(--red);width:100%;box-sizing:border-box}.tutor-dashboard-container{min-height:100vh;padding:80px 0 40px;background-color:var(--gray-100);display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.tutor-dashboard-header{text-align:center;margin-bottom:30px;width:100%;max-width:1600px;padding:0 20px;box-sizing:border-box}.tutor-dashboard-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin-bottom:8px}.tutor-dashboard-header p{color:var(--gray-600);font-size:16px}.tutor-dashboard-content{width:100%;max-width:1600px;padding:0 20px;box-sizing:border-box}.tutor-dashboard-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:30px;margin-bottom:30px;animation:fadeIn .5s ease-in-out;width:100%;box-sizing:border-box}.tutor-dashboard-section h2{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--gray-200)}.tutor-dashboard-section h2 svg{color:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-bottom:30px;width:100%}.stat-card{display:flex;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014;padding:20px;transition:transform .3s ease,box-shadow .3s ease;height:100%}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001f}.stat-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;color:#fff;margin-right:18px;flex-shrink:0;font-size:22px}.stat-details{display:flex;flex-direction:column;justify-content:center;width:100%}.stat-details h3{margin:0 0 8px;font-size:16px;color:var(--text-secondary);font-weight:500}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);margin:0}.booking-tabs{display:flex;margin-bottom:25px;border-bottom:1px solid var(--gray-200);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:sticky;top:0;background-color:#fff;z-index:10;padding-bottom:2px}.booking-tabs::-webkit-scrollbar{display:none}.tab-button{background:none;border:none;padding:12px 24px;font-size:16px;color:var(--text-secondary);cursor:pointer;position:relative;transition:all .3s ease;white-space:nowrap}.tab-button:hover{color:var(--primary)}.tab-button.active{color:var(--primary);font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background-color:var(--primary);border-radius:3px 3px 0 0}.no-bookings{text-align:center;padding:60px 20px;background-color:var(--gray-50);border-radius:var(--radius);border:1px dashed var(--gray-300);width:100%;box-sizing:border-box;margin:20px 0}.no-bookings p{color:var(--gray-600);margin-bottom:20px;font-size:16px}.bookings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;width:100%}@media (min-width: 1800px){.bookings-grid{grid-template-columns:repeat(4,1fr)}.tutor-dashboard-content,.tutor-dashboard-header{max-width:1800px}}@media (max-width: 1400px){.bookings-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1100px){.bookings-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.bookings-grid{grid-template-columns:repeat(1,1fr)}.tutor-dashboard-section{padding:20px}.tutor-dashboard-header h1{font-size:24px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}}@media (max-width: 576px){.stats-grid{grid-template-columns:1fr;gap:15px}}.booking-card{background-color:#fff;border-radius:12px;box-shadow:0 3px 10px #00000014;padding:25px;display:flex;flex-direction:column;gap:15px;transition:all .3s ease;width:100%;height:100%;min-width:0}.booking-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.booking-card.past-session{opacity:.8;background-color:#f9f9f9}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--gray-200);flex-wrap:wrap;gap:10px}.booking-status{display:flex;gap:8px;flex-wrap:wrap}.status-badge{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-badge.confirmed{background-color:#22c55e26;color:#22c55e}.status-badge.pending{background-color:#f59e0b26;color:#f59e0b}.status-badge.cancelled,.status-badge.rejected{background-color:#ef444426;color:#ef4444}.status-badge.past{background-color:#6b728026;color:#6b7280}.booking-price{font-size:20px;font-weight:700;color:var(--primary-dark)}.booking-student,.booking-subject,.booking-date,.booking-time,.booking-duration{display:flex;align-items:flex-start;gap:15px;margin-bottom:15px;width:100%}.booking-student svg,.booking-subject svg,.booking-date svg,.booking-time svg,.booking-duration svg{color:var(--primary);font-size:18px;margin-top:3px;flex-shrink:0}.booking-student div,.booking-subject div,.booking-date div,.booking-time div,.booking-duration div{display:flex;flex-direction:column;min-width:0;flex:1}.label{font-size:13px;color:var(--gray-500);margin-bottom:4px}.value{font-size:16px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-notes{background-color:#00000005;padding:15px;border-radius:10px;border-left:3px solid var(--primary);width:100%;margin-top:10px}.booking-notes .label{font-weight:600;margin-bottom:8px;display:block}.booking-notes p{margin:0;font-size:15px;line-height:1.5;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-height:70px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.booking-actions{display:flex;flex-wrap:wrap;gap:15px;padding-top:20px;border-top:1px solid var(--gray-200);margin-top:auto;width:100%}@media (max-width: 576px){.booking-actions{flex-direction:column}.booking-actions button{width:100%}}.booking-actions button{padding:10px 20px;border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border:none;min-width:0}.booking-actions .btn-cancel{background-color:#ef44441a;color:#ef4444}.booking-actions .btn-cancel:hover{background-color:#ef4444;color:#fff;transform:translateY(-2px)}.booking-actions .btn-confirm{background-color:#22c55e1a;color:#22c55e}.booking-actions .btn-confirm:hover{background-color:#22c55e;color:#fff;transform:translateY(-2px)}.booking-actions .btn-reject{background-color:#ef44441a;color:#ef4444}.booking-actions .btn-reject:hover{background-color:#ef4444;color:#fff;transform:translateY(-2px)}.booking-actions .btn-view{background-color:#3b82f61a;color:#3b82f6}.booking-actions .btn-view:hover{background-color:#3b82f6;color:#fff;transform:translateY(-2px)}.booking-actions .btn-join-session{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:14px;animation:pulse 2s infinite}.booking-actions .btn-join-session:hover{background:linear-gradient(135deg,#218838,#1ea37f);transform:translateY(-2px);box-shadow:0 5px 15px #28a7454d}@keyframes pulse{0%{box-shadow:0 0 #28a745b3}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 #28a74500}}.loader{width:50px;height:50px;border:5px solid var(--gray-200);border-top:5px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:100px auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a}.modal-content h3{margin-top:0;margin-bottom:1rem;color:var(--black)}.modal-content p{margin-bottom:1rem;color:var(--gray-600)}.modal-content textarea{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:4px;margin-bottom:1.5rem;font-family:inherit;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.modal-actions .btn-secondary{background-color:var(--gray-200);color:var(--gray-600);border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.modal-actions .btn-reject{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.video-session-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:100px 20px 20px}.loading-spinner{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;color:#fff}.spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-top:5px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container,.session-info-container{background:#fff;border-radius:20px;padding:60px;text-align:center;max-width:600px;margin:0 auto;box-shadow:0 20px 40px #0000001a}.error-container svg,.session-info-container svg{color:var(--primary);margin-bottom:20px}.error-container h2,.session-info-container h2{color:var(--black);margin-bottom:15px;font-size:28px}.session-details{text-align:left;background:var(--gray-50);padding:30px;border-radius:15px;margin:30px 0}.session-details h3{color:var(--primary);margin-bottom:20px;font-size:20px}.session-details p{margin-bottom:10px;font-size:16px;line-height:1.5}.session-details strong{color:var(--black);font-weight:600}.access-info{color:var(--gray-600);font-style:italic;margin:20px 0;padding:15px;background:#22c55e1a;border-radius:10px;border-left:4px solid #22c55e}.session-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:20px 30px;border-radius:15px;margin-bottom:20px;box-shadow:0 10px 30px #0000001a}.session-info h1{color:var(--primary);font-size:24px;margin-bottom:10px;display:flex;align-items:center;gap:10px}.participants{display:flex;align-items:center;gap:8px;color:var(--gray-600);font-size:16px}.session-controls{display:flex;align-items:center;gap:20px}.session-time{background:var(--primary);color:#fff;padding:10px 15px;border-radius:20px;font-weight:600;font-size:14px}.video-container{background:#fff;border-radius:15px;padding:0;overflow:hidden;box-shadow:0 20px 40px #00000026;margin-bottom:20px}.video-container>div{border-radius:15px;overflow:hidden}.session-footer{background:#fff;border-radius:15px;padding:30px;box-shadow:0 10px 30px #0000001a}.session-tips h4{color:var(--primary);margin-bottom:15px;font-size:18px}.session-tips ul{list-style:none;padding:0}.session-tips li{padding:8px 0 8px 25px;position:relative;color:var(--gray-700);line-height:1.5}.session-tips li:before{content:"✓";position:absolute;left:0;color:#22c55e;font-weight:700}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:16px}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 5px 15px #0003}.btn-secondary{background:var(--gray-200);color:var(--gray-700);border:none;padding:10px 20px;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-secondary:hover{background:var(--gray-300);color:var(--black)}@media (max-width: 768px){.video-session-container{padding:80px 10px 10px}.session-header{flex-direction:column;gap:20px;text-align:center}.session-controls{flex-direction:column;gap:10px}.error-container,.session-info-container{padding:40px 20px}.session-footer{padding:20px}.session-info h1{font-size:20px}}
