body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App{min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:0 20px}.loading{align-items:center;display:flex;font-size:18px;height:100vh;justify-content:center}.btn{font-size:16px;font-weight:500;min-width:120px}.btn-primary{background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.error-message{background-color:#f8d7da}.success-message{background-color:#d4edda;border-radius:6px;padding:12px}.navbar{position:-webkit-sticky;position:sticky;z-index:100}.nav-container{height:70px}.nav-logo h2{color:#007bff;font-size:24px;font-weight:700}.nav-menu{gap:20px}.nav-link{border-radius:6px;padding:8px 16px;transition:all .2s ease}.nav-link:hover{background-color:#f8f9fa}.navbar{background-color:#fff;box-shadow:0 2px 4px #0000001a;height:80px;left:0;position:fixed;right:0;top:0;z-index:1000}.nav-container,.navbar{align-items:center;display:flex}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px;width:100%}.nav-logo{align-items:center;display:flex}.nav-logo-img{height:50px;object-fit:contain;width:auto}.nav-menu{align-items:center;display:flex;gap:30px}.nav-link{background:none;border:none;color:#333;cursor:pointer;font-size:1rem;font-weight:500;padding:0;text-decoration:none;transition:color .2s ease}.nav-link:hover{color:#007bff}.nav-link-primary{background-color:#007bff;border-radius:6px;color:#fff;padding:10px 20px;transition:background-color .2s ease}.nav-link-primary:hover{background-color:#0056b3;color:#fff}@media (max-width:768px){.navbar{height:60px}.nav-logo-img{height:40px}.nav-menu{gap:20px}.nav-link{font-size:.9rem}.nav-link-primary{padding:8px 16px}.footer{padding:30px 0}}.homepage{flex-direction:column}.hero,.homepage{background-color:#f5f5f5;display:flex;min-height:100vh}.hero{align-items:center;color:#333;flex:1 1;justify-content:center;margin-top:0;padding:0;position:relative;text-align:center}.hero-slider{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.slider-container{height:100%;position:relative;width:100%}.slider-image{height:100%;left:0;object-fit:cover;opacity:0;position:absolute;top:0;transition:opacity 1s ease-in-out;width:100%}.slider-image.active{opacity:1}.hero-content{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fffffff2,#ffffffd9);border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 40px #00000026;margin:100px auto 0;max-width:700px;padding:60px 40px;position:relative;z-index:10}.hero h1{color:#1a1a1a;font-size:3.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;text-shadow:0 2px 4px #0000001a}.hero h1,.hero p{margin-bottom:30px}.hero p{color:#444;font-size:1.35rem;font-weight:500;line-height:1.7;text-shadow:0 1px 2px #0000000d}.hero-actions{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.hero .btn{border-radius:8px;display:inline-block;font-size:18px;font-weight:600;min-width:150px;padding:16px 32px;text-align:center;text-decoration:none;transition:all .2s ease}.hero .btn-primary{background-color:#007bff;border:2px solid #007bff;color:#fff}.hero .btn-primary:hover{background-color:#0056b3;border-color:#0056b3;transform:translateY(-2px)}.hero .btn-secondary{background-color:initial;border:2px solid #007bff;color:#007bff}.hero .btn-secondary:hover{background-color:#007bff;color:#fff;transform:translateY(-2px)}.features{background-color:#f8f9fa;padding:80px 0}.features h2{color:#333;font-size:2.5rem;margin-bottom:60px;text-align:center}.features-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px}.feature-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:40px 30px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.feature-icon{align-items:center;color:#007bff;display:flex;justify-content:center;margin-bottom:20px}.feature-icon svg{height:48px;width:48px}.feature-card h3{color:#333;font-size:1.5rem;margin-bottom:15px}.feature-card p{color:#666;line-height:1.6}.footer{background-color:initial;color:#999;padding:40px 0;text-align:center}.footer p{font-size:.9rem;margin-bottom:10px}.footer-link{color:#8b5cf6;font-size:.9rem;text-decoration:underline}.footer-link:hover{color:#7c3aed}@media (max-width:768px){.hero{margin-top:0;min-height:100vh}.hero h1{font-size:2.8rem}.hero p{font-size:1.2rem}.hero-content{border-radius:16px;margin:80px 20px 0;padding:40px 25px}.hero-actions{align-items:center;flex-direction:column}.hero .btn{max-width:250px;width:100%}.features h2{font-size:2rem}.features-grid{gap:30px;grid-template-columns:1fr}}.image-upload-section{align-items:center;display:flex;flex-direction:column;gap:12px;margin:16px 0}.image-preview{align-items:center;background:#f8f9fa;border:2px solid #ddd;border-radius:50%;display:flex;height:120px;justify-content:center;overflow:hidden;width:120px}.image-preview img{height:100%;object-fit:cover;width:100%}.image-preview:has(.no-image){border:2px dashed #dc3545;flex-direction:column;padding:8px;text-align:center}.no-image{color:#666;display:flex;flex-direction:column;font-size:.9rem;gap:4px}.required-text{color:#dc3545;font-size:.8rem;font-weight:600}.file-input{display:none}.upload-button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s ease}.upload-button:hover{background:#0056b3}.upload-button:disabled{background:#6c757d;cursor:not-allowed}.error-message{color:#dc3545;font-size:.8rem}.signup-page{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;padding:20px}.signup-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:600px;padding:40px;width:100%}.signup-header{margin-bottom:40px;text-align:center}.signup-header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.signup-header p{color:#666;font-size:1.1rem}.signup-form{margin-bottom:30px}.form-section{padding-bottom:20px}.form-section h3{font-size:1.2rem}.form-actions{margin-top:30px}.signup-footer{border-top:1px solid #eee;padding-top:20px;text-align:center}.signup-footer p{color:#666}.signup-footer a{color:#007bff;font-weight:500;text-decoration:none}.signup-footer a:hover{text-decoration:underline}.improvement-label{color:#333;display:block;font-size:1rem;font-weight:700;margin-bottom:15px}.improvement-areas{display:flex;flex-direction:column;gap:12px}.improvement-option{align-items:center;display:flex;gap:10px}.improvement-option input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.improvement-option label{color:#333;cursor:pointer;font-size:1rem;-webkit-user-select:none;user-select:none}@media (max-width:768px){.signup-container{margin:10px;padding:30px 20px}.signup-header h1{font-size:2rem}.form-actions{flex-direction:column}.improvement-areas{gap:10px}.improvement-option input[type=checkbox]{height:16px;width:16px}.improvement-option label{font-size:.95rem}}.signin-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.signin-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:400px;padding:40px;width:100%}.signin-header{margin-bottom:40px;text-align:center}.signin-header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.signin-header p{color:#666;font-size:1.1rem}.mentor-selection-notice{margin-top:15px;padding:15px}.mentor-selection-notice p{margin:0}.signin-form{margin-bottom:30px}.signin-footer{border-top:1px solid #eee;padding-top:20px;text-align:center}.signin-footer p{color:#666}.signin-footer a{color:#007bff;font-weight:500;text-decoration:none}.signin-footer a:hover{text-decoration:underline}@media (max-width:768px){.signin-container{margin:10px;padding:30px 20px}.signin-header h1{font-size:2rem}}.star-rating{align-items:center;display:flex;gap:2px}.star{color:#ddd;font-size:1.2rem;transition:color .2s ease}.star.filled{color:#ffc107}.star.clickable{cursor:pointer}.star.clickable:hover{color:#ffc107}.star.clickable:hover~.star{color:#ddd}.star-rating.small .star{font-size:1rem}.star-rating.medium .star{font-size:1.2rem}.star-rating.large .star{font-size:1.5rem}.rating-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.rating-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.rating-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 24px}.rating-modal-header h2{color:#333;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.close-button:hover{background:#f5f5f5}.rating-modal-content{padding:24px}.mentor-info{border-bottom:1px solid #eee;text-align:center}.mentor-info h3{color:#333;font-size:1.3rem;margin:0 0 8px}.mentor-info p{color:#666;font-size:.95rem;margin:0}.rating-section{margin-bottom:30px}.rating-section label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:12px}.review-section{margin-bottom:30px}.review-section label{color:#333;display:block;font-weight:600;margin-bottom:8px}.review-note{color:#666;display:block;font-size:.85rem;font-style:italic;font-weight:400;margin-top:4px}.review-section textarea{border:2px solid #e1e5e9;border-radius:8px;font-family:inherit;font-size:1rem;min-height:100px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.review-section textarea:focus{border-color:#007bff;outline:none}.character-count{color:#666;font-size:.85rem;margin-top:4px;text-align:right}.error-message{border-radius:6px;padding:12px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn{border-radius:6px}.btn-secondary:hover:not(:disabled){background:#5a6268}@media (max-width:600px){.rating-modal{margin:10px;max-width:none}.rating-modal-content,.rating-modal-header{padding:16px}.modal-actions{flex-direction:column}.btn{width:100%}}.dashboard-page{background-color:#f8f9fa;min-height:100vh}.dashboard-main{padding:100px 0 40px}.dashboard-container{margin:0 auto;max-width:1200px;padding:0 20px}.dashboard-header{margin-bottom:50px}.dashboard-header h1{color:#333}.mentor-selection-notice{background:#e7f3ff;border:1px solid #007bff;border-radius:8px;margin-top:20px;padding:20px;text-align:center}.mentor-selection-notice p{color:#007bff;font-size:1rem;font-weight:600;margin:0 0 15px}.mentor-selection-notice .btn{background:#007bff;border-radius:6px;color:#fff;display:inline-block;font-weight:600;padding:10px 20px;text-decoration:none;transition:background-color .2s ease}.mentor-selection-notice .btn:hover{background:#0056b3}.dashboard-content{grid-gap:30px;display:grid;gap:30px}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.dashboard-section h2{color:#333;font-size:1.5rem;margin-bottom:15px}.dashboard-section p{color:#666;line-height:1.6;margin-bottom:20px}.requests-placeholder,.sessions-placeholder{background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;padding:40px;text-align:center}.quick-actions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.action-card{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px}.action-card:hover{background-color:#e9ecef}.action-card p{font-size:.9rem}.mentor-dashboard,.parent-dashboard{grid-gap:30px;display:grid;gap:30px}.loading-container{padding:40px 20px}.loading-spinner{border:3px solid #f3f3f3;height:30px;margin-bottom:15px;width:30px}.loading-container p{font-size:1rem}.requests-list,.sessions-list{display:flex;flex-direction:column;gap:15px}.request-item,.session-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:all .2s ease}.request-item:hover,.session-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.request-info,.session-info{flex:1 1}.request-info h4,.session-info h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 8px}.request-date,.request-location,.session-date,.session-location{color:#666;font-size:.95rem;margin:0 0 4px}.request-status,.session-status{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:10px;margin-left:20px}.btn-payment{border-radius:6px;font-size:.9rem;min-width:120px;padding:8px 16px;text-align:center;text-decoration:none}.btn-payment:hover{background:#5a52e5;box-shadow:0 2px 8px #635bff4d;transform:translateY(-1px)}.btn-rate{background:#ffc107;border:none;border-radius:6px;color:#212529;cursor:pointer;font-size:.9rem;font-weight:600;min-width:120px;padding:8px 16px;text-align:center;text-decoration:none;transition:all .2s ease}.btn-rate:hover{background:#e0a800;box-shadow:0 2px 8px #ffc1074d;transform:translateY(-1px)}.rating-submitted{display:flex;flex-direction:column;gap:8px;min-width:120px}.rating-badge{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#28a745;font-size:.9rem;font-weight:600;padding:8px 16px;text-align:center}.rating-review{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;max-width:200px;padding:8px 12px}.review-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.status-awaiting_payment{background:#cce5ff;border:1px solid #b3d7ff;color:#004085}.status-paid{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-confirmed{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}@media (max-width:768px){.dashboard-main{padding:80px 0 30px}.dashboard-header h1{font-size:2rem}.dashboard-section{padding:20px}.quick-actions{grid-template-columns:1fr}.request-item,.session-item{align-items:flex-start;flex-direction:column;gap:15px}.request-status,.session-status{align-items:flex-start;align-self:stretch;margin-left:0}.btn-payment{min-width:auto;width:100%}}.status-notices{background:#f8f9fa;border-left:4px solid #007bff;border-radius:12px;margin-bottom:30px;padding:20px}.status-notices h3{align-items:center;color:#333;display:flex;font-size:1.2rem;gap:8px;margin-bottom:15px}.status-notice{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;padding:15px}.status-notice:last-child{margin-bottom:0}.status-notice.accepted{background:#d4edda;border-color:#c3e6cb}.status-notice.declined{background:#f8d7da;border-color:#f5c6cb}.notice-content{align-items:flex-start;display:flex;gap:12px;position:relative}.notice-icon{flex-shrink:0;font-size:1.5rem;margin-top:2px}.notice-text{color:#333;flex:1 1;line-height:1.5}.notice-text strong{color:#333;font-weight:600}.notice-text small{color:#666;display:block;font-size:.9rem;margin-top:4px}.dismiss-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:-5px;top:-5px;transition:all .2s ease;width:24px;z-index:1}.dismiss-btn:hover{background:#c82333;transform:scale(1.1)}.dismiss-btn:active{transform:scale(.95)}@media (max-width:768px){.status-notices{margin-bottom:20px;padding:15px}.notice-content{flex-direction:column;gap:8px}.notice-icon{align-self:flex-start}.dismiss-btn{margin-left:auto;margin-top:8px;position:static}}.profile-page{background-color:#f8f9fa;min-height:100vh}.profile-main{padding:100px 0 40px}.profile-container{margin:0 auto;max-width:800px;padding:0 20px}.profile-header{margin-bottom:40px;text-align:center}.profile-header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.profile-header p{color:#666;font-size:1.1rem}.field-help{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:4px}.profile-form{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:40px}.form-section{border-bottom:1px solid #eee;margin-bottom:40px;padding-bottom:30px}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{margin-bottom:25px}.form-actions{justify-content:center}@media (max-width:768px){.profile-main{padding:80px 0 30px}.profile-container{padding:0 10px}.profile-form{padding:30px 20px}.profile-header h1{font-size:2rem}.form-actions{flex-direction:column}}.reviews-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-top:30px;padding:40px}.reviews-section h2{color:#333;font-size:1.8rem;margin-bottom:10px}.reviews-section p{color:#666;font-size:1rem;margin-bottom:30px}.reviews-list{display:flex;flex-direction:column;gap:20px}.review-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.review-header{align-items:flex-start;margin-bottom:10px}.reviewer-info{display:flex;flex-direction:column;gap:4px}.reviewer-name{color:#333;font-size:1rem}.review-date{color:#666;font-size:.85rem}.review-rating{font-size:1.2rem;font-weight:700}.review-comment{color:#555;font-style:italic;line-height:1.5;margin:0}.no-reviews{color:#666;padding:40px 20px;text-align:center}.no-reviews p{font-size:1.1rem;margin:0}.loading{color:#666;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.reviews-section{margin-top:20px;padding:20px}.review-header{flex-direction:column;gap:10px}.reviewer-info{align-items:flex-start}}.terms-page{background-color:#fff;display:flex;flex-direction:column;min-height:100vh}.terms-container{margin:0 auto;max-width:800px;padding:120px 20px 40px;width:100%}.terms-title{color:#4a4a9b;font-size:3rem;font-weight:700;margin-bottom:50px;margin-top:20px;text-align:center}.terms-section{margin-bottom:40px}.terms-section h2{color:#4a4a9b;font-size:1.8rem;font-weight:700;line-height:1.3;margin-bottom:20px}.terms-section h3{color:#333;font-size:1.3rem;font-weight:700;line-height:1.3;margin-bottom:15px;margin-top:25px}.terms-section p{color:#333;font-size:1rem;line-height:1.6;margin-bottom:15px}.terms-section p:last-child{margin-bottom:0}.terms-section strong{font-weight:700}.safety-tips{list-style-type:disc;margin-top:10px;padding-left:20px}.safety-tips li{color:#333;font-size:1rem;line-height:1.6;margin-bottom:10px}.safety-tips li:last-child{margin-bottom:0}.contact-link{color:#4a4a9b;font-weight:500;text-decoration:underline}.contact-link:hover{color:#3a3a8b}@media (max-width:768px){.terms-container{padding:100px 15px 30px}.terms-title{font-size:2.5rem;margin-bottom:40px}.terms-section h2{font-size:1.6rem}.terms-section h3{font-size:1.2rem}.safety-tips li,.terms-section p{font-size:.95rem}}.mentor-search-page{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.search-main{flex:1 1;padding:100px 0 40px}.search-container{margin:0 auto;max-width:1200px;padding:0 20px}.search-header{margin-bottom:50px;text-align:center}.search-header h1{color:#1a1a1a;font-size:3rem;font-weight:700;margin-bottom:15px}.search-header p{color:#666;font-size:1.25rem;margin:0 auto;max-width:600px}.search-filters{grid-gap:20px;align-items:end;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr auto;margin-bottom:40px;padding:30px}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:8px}.filter-group input,.filter-group select{background:#fff;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#007bff;outline:none}.clear-filters-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .2s ease;white-space:nowrap}.clear-filters-btn:hover{background:#5a6268}.results-section{margin-bottom:40px}.results-header h2{color:#333;font-size:1.8rem;margin-bottom:10px}.mentor-note{color:#666;font-size:.9rem;font-style:italic;margin:0 0 30px}.error-message{margin-bottom:30px;padding:20px;text-align:center}.error-message p{color:#721c24;font-weight:500;margin:0 0 15px}.retry-btn{font-weight:600;padding:10px 20px;transition:background-color .2s ease}.loading-mentors{padding:60px 20px;text-align:center}.loading-spinner{margin:0 auto 20px}.loading-mentors p{color:#666;font-size:1.1rem}.mentors-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.mentor-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.mentor-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.mentor-photo{height:200px;overflow:hidden;position:relative;width:100%}.default-avatar{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);display:flex;height:100%;justify-content:center;width:100%}.default-avatar,.mentor-avatar-image{transition:transform .2s ease}.avatar-initials{font-size:3rem;letter-spacing:2px}.mentor-card:hover .default-avatar,.mentor-card:hover .mentor-avatar-image{transform:scale(1.05)}.mentor-info{flex:1 1;flex-direction:column;padding:25px}.mentor-info h3{color:#1a1a1a;font-size:1.4rem;font-weight:700;margin-bottom:8px}.mentor-sport{margin-bottom:5px}.additional-sport{color:#666;font-weight:400}.mentor-location{margin-bottom:8px}.mentor-experience{color:#888;font-size:.9rem;margin-bottom:12px}.mentor-rate{background-color:#e3f2fd;border-radius:4px;color:#007bff;display:inline-block;font-size:1rem;font-weight:600;margin:5px 0;padding:4px 8px}.mentor-teaching-areas{margin:8px 0}.teaching-areas-label{color:#666;display:block;font-size:.9rem;font-weight:600;margin-bottom:4px}.teaching-areas-tags{display:flex;flex-wrap:wrap;gap:4px}.teaching-area-tag{background-color:#f0f8ff;border:1px solid #e3f2fd;border-radius:12px;color:#007bff;font-size:.8rem;font-weight:500;padding:2px 6px}.teaching-area-tag.more{background-color:#f5f5f5;border-color:#ddd;color:#666}.mentor-rating{align-items:center;display:flex;gap:8px;margin-bottom:15px}.stars{color:#ffc107;font-size:1rem}.rating-number{color:#666;font-size:.9rem;font-weight:600}.mentor-reviews{border-top:1px solid #eee;margin-top:15px;padding-top:15px}.mentor-reviews h4{color:#333;font-size:.9rem;font-weight:600;margin:0 0 10px}.review-item{background:#f8f9fa;border-left:3px solid #007bff;border-radius:6px;margin-bottom:12px;padding:8px}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.reviewer-name{color:#495057;font-size:.8rem;font-weight:600}.review-rating{color:#ffc107;font-size:.8rem}.review-text{color:#666;font-size:.8rem;font-style:italic;line-height:1.4;margin:0}.mentor-bio{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#555;display:-webkit-box;flex:1 1;font-size:.95rem;line-height:1.5;margin-bottom:20px;overflow:hidden}.mentor-actions{margin-top:auto;padding:0 25px 25px}.request-session-btn{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .2s ease;width:100%}.request-session-btn:hover{background:#0056b3}.no-results{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:60px 20px;text-align:center}.no-results h3{color:#333;font-size:1.5rem;margin-bottom:10px}.no-results p{color:#666;margin-bottom:20px}@media (max-width:768px){.search-main{padding:80px 0 30px}.search-header h1{font-size:2.2rem}.search-header p{font-size:1.1rem}.search-filters{gap:15px;grid-template-columns:1fr;padding:20px}.mentors-grid{gap:20px;grid-template-columns:1fr}.mentor-card{margin:0 10px}.mentor-info{padding:20px}.mentor-actions{padding:0 20px 20px}.avatar-initials{font-size:2.5rem}}@media (max-width:480px){.search-container{padding:0 10px}.search-header h1{font-size:1.8rem}.mentor-card{margin:0}}.session-request-page{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.request-main{flex:1 1;padding:100px 0 40px}.request-container{margin:0 auto;max-width:800px;padding:0 20px}.request-header{margin-bottom:40px;text-align:center}.request-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:15px}.request-header p{color:#666;font-size:1.1rem}.request-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.mentor-summary{align-items:center;background:#fff;display:flex;gap:20px;padding:30px}.mentor-avatar{background:#fff3}.mentor-details h3{color:#fff}.mentor-sport{color:#fff;opacity:.9}.mentor-location{color:#fff;opacity:.8}.request-form{padding:40px}.form-section{margin-bottom:30px}.form-section h3{border-bottom:2px solid #007bff;color:#333;display:inline-block;font-size:1.3rem;font-weight:600;margin-bottom:20px;padding-bottom:10px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{background:#fff;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-actions{border-top:1px solid #eee;display:flex;gap:15px;justify-content:flex-end;margin-top:40px;padding-top:30px}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-2px)}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;transform:none}@media (max-width:768px){.request-main{padding:80px 0 30px}.request-header h1{font-size:2rem}.mentor-summary{flex-direction:column;gap:15px;text-align:center}.mentor-avatar{height:60px;width:60px}.avatar-initials{font-size:1.5rem}.request-form{padding:30px 20px}.form-row{gap:15px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}@media (max-width:480px){.request-container{padding:0 10px}.request-header h1{font-size:1.8rem}.request-form{padding:20px 15px}}.other-payment-input{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;margin-top:10px;padding:12px 16px;transition:border-color .3s ease;width:100%}.other-payment-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.other-payment-input::placeholder{color:#6c757d}.mentor-dashboard-page{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.mentor-dashboard-main{flex:1 1;padding:100px 0 40px}.mentor-dashboard-container{margin:0 auto;max-width:1200px;padding:0 20px}.dashboard-header{margin-bottom:40px;text-align:center}.dashboard-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:10px}.dashboard-header h2{border-bottom:2px solid #007bff;color:#333;display:inline-block;font-size:2rem;font-weight:600;margin:30px 0 15px;padding-bottom:10px}.dashboard-header p{color:#666;font-size:1.1rem;margin-bottom:5px}.dashboard-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.requests-section{padding:40px}.mentor-actions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.action-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;color:inherit;padding:25px;text-align:center;text-decoration:none;transition:all .2s ease}.action-card:hover{background:#e9ecef;border-color:#007bff;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.action-card h3{color:#333;font-size:1.2rem;font-weight:600;margin-bottom:10px}.action-card p{color:#666;font-size:.95rem;line-height:1.4;margin:0}.requests-section h2{border-bottom:2px solid #007bff;color:#333;display:inline-block;font-size:1.8rem;font-weight:600;margin-bottom:30px;padding-bottom:15px}.sessions-section{border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;padding:40px}.sessions-section h2{border-bottom:2px solid #28a745;color:#333;display:inline-block;font-size:1.8rem;font-weight:600;margin-bottom:30px;padding-bottom:15px}.sessions-placeholder{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#666;padding:40px 20px;text-align:center}.sessions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.session-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.session-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.session-header{align-items:flex-start;display:flex;justify-content:space-between}.session-details,.session-header{margin-bottom:15px}.no-sessions{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:40px 20px;text-align:center}.no-sessions-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 15px;opacity:.6;width:80px}.no-sessions h3{color:#495057;font-size:1.3rem;margin-bottom:10px}.no-sessions p{color:#6c757d;line-height:1.5;margin:0}.sessions-placeholder p{font-size:1.1rem;margin:0}.no-requests{color:#666;padding:60px 20px;text-align:center}.no-requests-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;font-size:4rem;height:80px;justify-content:center;margin:0 auto 20px;opacity:.6;width:80px}.no-requests h3{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:15px}.no-requests p{font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:500px}.requests-grid{grid-gap:25px;display:grid;gap:25px}.request-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px;transition:all .2s ease}.request-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.request-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.parent-info{gap:15px}.parent-avatar,.parent-info{align-items:center;display:flex}.parent-avatar{background:#007bff;border-radius:50%;flex-shrink:0;height:50px;justify-content:center;overflow:hidden;width:50px}.parent-avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-initials{font-size:1.2rem}.parent-details h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 5px}.parent-email{color:#666;font-size:.95rem;margin:0}.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-accepted{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-declined{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-completed{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.session-status{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.btn-complete{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 16px;transition:background-color .2s ease}.btn-complete:hover:not(:disabled){background:#218838}.btn-complete:disabled{cursor:not-allowed;opacity:.6}.status-paid{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.status-confirmed{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.request-details{margin-bottom:20px}.detail-row{align-items:flex-start}.detail-label{margin-right:15px;min-width:80px}.detail-value{flex:1 1;word-break:break-word}.request-actions{display:flex;gap:15px;justify-content:flex-end}.request-actions,.request-status-info{border-top:1px solid #e9ecef;margin-top:20px;padding-top:20px}.status-message{font-weight:500;margin:0;text-align:center}.btn{font-size:.95rem;min-width:100px;padding:10px 20px}.btn-accept{background:#28a745;color:#fff}.btn-accept:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.btn-decline{background:#dc3545;color:#fff}.btn-decline:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;display:flex;justify-content:space-between}.error-message,.success-message{font-weight:500;margin-bottom:20px;padding:15px}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;text-align:center}.retry-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .2s ease}.retry-btn:hover{background:#c82333}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:100px 20px;text-align:center}.loading-container p{color:#666;font-size:1.1rem}@media (max-width:768px){.mentor-dashboard-main{padding:80px 0 30px}.dashboard-header h1{font-size:2rem}.dashboard-header h2{font-size:1.5rem}.requests-section{padding:30px 20px}.mentor-actions{grid-template-columns:1fr;margin-bottom:30px}.sessions-section{padding:30px 20px}.request-header{align-items:flex-start;flex-direction:column;gap:15px}.parent-info{width:100%}.request-actions{flex-direction:column}.btn{width:100%}.detail-row{flex-direction:column;gap:5px}.detail-label{margin-right:0;min-width:auto}}@media (max-width:480px){.mentor-dashboard-container{padding:0 10px}.dashboard-header h1{font-size:1.8rem}.requests-section{padding:20px 15px}.request-card{padding:20px}}.payment-method{background-color:#e3f2fd;border-radius:4px;color:#007bff;font-size:.9rem;font-weight:600;padding:4px 8px}.payment-id{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;color:#666;font-family:monospace;font-size:.85rem;padding:2px 6px}.status-badge.status-paid{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.status-confirmed{background-color:#cce5ff;border:1px solid #b3d7ff;color:#004085}.status-badge.status-completed{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.duration-badge{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;color:#007bff;font-size:.9rem;font-weight:600;padding:4px 8px}.payment-page{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.payment-main{flex:1 1;padding:100px 0 40px}.payment-container{margin:0 auto;max-width:800px;padding:0 20px}.payment-header{margin-bottom:40px;text-align:center}.payment-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:15px}.payment-header p{color:#666;font-size:1.1rem}.payment-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.session-summary{background:#fff;border-bottom:1px solid #e9ecef;color:#333;padding:30px}.mentor-avatar{height:80px;overflow:hidden;width:80px}.mentor-avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-initials{font-size:2rem}.mentor-details h3{color:#1a1a1a;font-size:1.5rem}.mentor-sport{font-size:1.1rem}.mentor-location{font-size:1rem}.session-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.session-details h4{color:#1a1a1a;margin:0 0 15px}.detail-row{margin-bottom:10px}.payment-section{padding:40px}.price-breakdown{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:25px}.price-breakdown h4{border-bottom:2px solid #007bff;color:#1a1a1a;display:inline-block;font-size:1.3rem;font-weight:600;margin:0 0 20px;padding-bottom:10px}.price-item{align-items:center;color:#333;display:flex;font-size:1.1rem;justify-content:space-between;margin-bottom:15px}.price-item.total{border-top:2px solid #e9ecef;color:#007bff;font-size:1.2rem;font-weight:700;margin-top:10px;padding-top:15px}.payment-actions{text-align:center}.btn-payment{background:#635bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:250px;padding:16px 32px;transition:all .2s ease}.btn-payment:hover:not(:disabled){background:#5a52e5;box-shadow:0 4px 12px #635bff4d;transform:translateY(-2px)}.btn-payment:disabled{background:#6c757d;cursor:not-allowed;transform:none}.payment-note{color:#555;font-size:.95rem;font-weight:500;line-height:1.5;margin-top:15px}.payment-clarification{background:#f8f9fa;border-left:4px solid #007bff;border-radius:6px;color:#666;font-size:.9rem;line-height:1.4;margin-top:15px;padding:12px}.error-container p,.loading-container p{color:#333;font-weight:500}.error-icon{color:#dc3545}@media (max-width:768px){.payment-main{padding:80px 0 30px}.payment-header h1{font-size:2rem}.mentor-info{flex-direction:column;gap:15px;text-align:center}.mentor-avatar{height:60px;width:60px}.avatar-initials{font-size:1.5rem}.payment-section{padding:30px 20px}.btn-payment{min-width:auto;width:100%}}@media (max-width:480px){.payment-container{padding:0 10px}.payment-header h1{font-size:1.8rem}.payment-section{padding:20px 15px}}.modal-overlay{align-items:center;background:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{animation:popIn .25s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:400px;padding:2rem;text-align:center;width:90%}.modal-content h2{font-size:1.5rem;margin-bottom:1rem}.modal-overlay.success .modal-content h2{color:#2e7d32}.modal-overlay.error .modal-content h2{color:#c62828}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.payment-success-page{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.success-main{flex:1 1;padding:100px 0 40px}.success-container{margin:0 auto;max-width:600px;padding:0 20px}.success-header{margin-bottom:40px;text-align:center}.success-icon{align-items:center;background:#28a745;border-radius:50%;color:#fff;display:flex;font-size:4rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.success-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:15px}.success-header p{color:#666;font-size:1.1rem}.redirect-message{color:#007bff;font-size:1rem;font-style:italic;margin-top:10px!important}.session-confirmation{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:40px;padding:30px}.mentor-info{border-bottom:1px solid #e9ecef;gap:20px;margin-bottom:30px;padding-bottom:20px}.mentor-avatar,.mentor-info{align-items:center;display:flex}.mentor-avatar{background:#007bff;border-radius:50%;flex-shrink:0;height:60px;justify-content:center;width:60px}.avatar-initials{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.mentor-details h3{color:#333;font-size:1.3rem;font-weight:700;margin:0 0 8px}.mentor-sport{color:#007bff;font-size:1rem;font-weight:600;margin:0 0 5px}.mentor-location{color:#666;font-size:.95rem;margin:0}.session-details h4{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 20px}.detail-row{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;margin-bottom:15px;padding:10px 0}.detail-label{color:#333;font-weight:600}.detail-value{color:#666;font-weight:500}.status-confirmed{color:#28a745!important;font-weight:600}.success-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:100px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container p,.loading-container p{color:#666;font-size:1.1rem;margin-bottom:20px}.error-icon{align-items:center;background:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:4rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.error-container h2{color:#333;font-size:1.8rem;margin-bottom:15px}@media (max-width:768px){.success-main{padding:80px 0 30px}.success-header h1{font-size:2rem}.mentor-info{flex-direction:column;gap:15px;text-align:center}.success-actions{align-items:center;flex-direction:column}.btn{max-width:250px;width:100%}}@media (max-width:480px){.success-container{padding:0 10px}.success-header h1{font-size:1.8rem}.session-confirmation{padding:20px}}.payment-cancelled-page{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.cancelled-main{flex:1 1;padding:100px 0 40px}.cancelled-container{margin:0 auto;max-width:600px;padding:0 20px}.cancelled-header{margin-bottom:40px;text-align:center}.cancelled-icon{align-items:center;background:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:4rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.cancelled-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:15px}.cancelled-header p{color:#666;font-size:1.1rem}.cancelled-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:40px}.cancelled-info h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 15px}.cancelled-info p{color:#666;line-height:1.6;margin-bottom:25px}.cancelled-actions{border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:30px;padding-top:30px}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;min-width:150px;padding:12px 24px;text-align:center;text-decoration:none;transition:all .2s ease}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3;transform:translateY(-2px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}@media (max-width:768px){.cancelled-main{padding:80px 0 30px}.cancelled-header h1{font-size:2rem}.cancelled-content{padding:30px 20px}.cancelled-actions{align-items:center;flex-direction:column}.btn{max-width:250px;width:100%}}@media (max-width:480px){.cancelled-container{padding:0 10px}.cancelled-header h1{font-size:1.8rem}.cancelled-content{padding:20px 15px}}
/*# sourceMappingURL=main.946baa04.css.map*/