@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.homepage{align-items:center;background:linear-gradient(135deg,#fef9f3,#f5ede0 50%,#fef9f3);display:flex;font-family:Arial,sans-serif;height:100vh;justify-content:center;overflow:hidden;padding:2rem;position:relative}.homepage-content{animation:slideInUp 1.2s ease-out;max-width:90vw;position:relative;text-align:center;z-index:10}@keyframes slideInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.homepage-title{animation:titleFloat 4s ease-in-out infinite;color:#3c2c1c;font-size:4.5rem;font-weight:700;margin-bottom:1rem;text-shadow:3px 3px 6px #0000001a}@keyframes titleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.homepage-subtitle{animation:fadeIn 1.5s ease-out;color:#666;font-size:1.5rem;font-weight:300;letter-spacing:1px;margin-bottom:3rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.homepage-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.homepage-buttons button{background:linear-gradient(135deg,#d4a574,#c89860);border:none;border-radius:12px;box-shadow:0 8px 20px #c494644d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;letter-spacing:.5px;overflow:hidden;padding:1.2rem 3rem;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.homepage-buttons button:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.homepage-buttons button:hover:before{left:100%}.homepage-buttons button:hover{background:linear-gradient(135deg,#c89860,#b88550);box-shadow:0 15px 35px #c4946480;transform:translateY(-5px) scale(1.05)}.homepage-buttons button:active{transform:translateY(-2px) scale(1.02)}.arabic-letters-bg{inset:0;opacity:.3;pointer-events:none;position:absolute;z-index:1}.letter{font-family:Amiri,serif;font-weight:700;position:absolute;will-change:transform,opacity}@keyframes float{0%,to{opacity:.25;transform:translateY(0) scale(1)}50%{opacity:.4;transform:translateY(-40px) scale(1.08)}}@keyframes rotate{0%,to{opacity:.25;transform:rotate(0deg) translateX(0) scale(1)}50%{opacity:.4;transform:rotate(8deg) translateX(20px) scale(1.05)}}@keyframes swing{0%,to{opacity:.25;transform:rotate(-5deg)}50%{opacity:.4;transform:rotate(5deg)}}@keyframes bounce{0%,to{opacity:.25;transform:translateY(0)}25%{opacity:.35;transform:translateY(-30px)}50%{opacity:.4;transform:translateY(-15px)}75%{opacity:.35;transform:translateY(-25px)}}.letter1{animation:float 7s ease-in-out infinite;animation-delay:0s;color:#a3bcb4;font-size:8rem;left:8%;top:5%}.letter2{animation:float 8s ease-in-out infinite;animation-delay:.5s;color:#bccaa3;font-size:6.5rem;right:12%;top:15%}.letter3{animation:float 7.5s ease-in-out infinite;animation-delay:1s;bottom:18%;color:#e5b18b;font-size:7.5rem;left:10%}.letter4{animation:float 8.5s ease-in-out infinite;animation-delay:1.5s;color:#93b8c2;font-size:9rem;right:6%;top:45%}.letter5{animation:float 7.8s ease-in-out infinite;animation-delay:2s;color:#c5d5e5;font-size:7rem;left:45%;top:25%}.letter6{animation:float 8.2s ease-in-out infinite;animation-delay:2.5s;bottom:35%;color:#e5c5b8;font-size:6.8rem;right:25%}.letter7{animation:rotate 9s ease-in-out infinite;animation-delay:.3s;bottom:12%;color:#deb79c;font-size:8.5rem;right:15%}.letter8{animation:rotate 8.5s ease-in-out infinite;animation-delay:.8s;bottom:28%;color:#bfd3a8;font-size:7.2rem;left:6%}.letter9{animation:rotate 9.2s ease-in-out infinite;animation-delay:1.3s;color:#f5cbb2;font-size:6.3rem;left:25%;top:35%}.letter10{animation:rotate 8.8s ease-in-out infinite;animation-delay:1.8s;color:#c3dac3;font-size:8rem;left:18%;top:68%}.letter11{animation:rotate 9.5s ease-in-out infinite;animation-delay:2.3s;color:#d5c5e5;font-size:7.8rem;right:35%;top:8%}.letter12{animation:rotate 8.3s ease-in-out infinite;animation-delay:2.8s;bottom:45%;color:#e5d5c5;font-size:6.5rem;left:35%}.letter13{animation:pulse 6s ease-in-out infinite;animation-delay:.2s;bottom:8%;color:#f7d8b5;font-size:9.5rem;right:28%}.letter14{animation:pulse 6.5s ease-in-out infinite;animation-delay:.7s;color:#cdd2e0;font-size:7.5rem;right:10%;top:72%}.letter15{animation:pulse 6.8s ease-in-out infinite;animation-delay:1.2s;color:#f2b9a1;font-size:8.2rem;left:28%;top:22%}.letter16{animation:pulse 6.3s ease-in-out infinite;animation-delay:1.7s;bottom:48%;color:#d4e6b5;font-size:7rem;right:40%}.letter17{animation:pulse 7s ease-in-out infinite;animation-delay:2.2s;color:#b8d5c8;font-size:6.8rem;left:60%;top:55%}.letter18{animation:pulse 6.7s ease-in-out infinite;animation-delay:2.7s;bottom:60%;color:#e5b8d5;font-size:7.3rem;right:8%}.letter19{animation:swing 10s ease-in-out infinite;animation-delay:.4s;color:#b5d4e5;font-size:8.5rem;left:60%;top:18%}.letter20{animation:swing 10.5s ease-in-out infinite;animation-delay:.9s;bottom:25%;color:#e6c5a8;font-size:7.8rem;left:42%}.letter21{animation:swing 9.8s ease-in-out infinite;animation-delay:1.4s;color:#d5b8e5;font-size:6.2rem;right:22%;top:60%}.letter22{animation:swing 10.2s ease-in-out infinite;animation-delay:1.9s;bottom:55%;color:#c8e5b5;font-size:8.8rem;left:15%}.letter23{animation:swing 9.5s ease-in-out infinite;animation-delay:2.4s;color:#e5d8c5;font-size:7.2rem;right:48%;top:38%}.letter24{animation:swing 10.8s ease-in-out infinite;animation-delay:2.9s;bottom:15%;color:#b8c5e5;font-size:6.7rem;left:55%}.letter25{animation:bounce 8s ease-in-out infinite;animation-delay:.6s;color:#e5c8d5;font-size:9rem;left:5%;top:42%}.letter26{animation:bounce 8.5s ease-in-out infinite;animation-delay:1.1s;color:#d8c5e5;font-size:7.5rem;left:48%;top:80%}.letter27{animation:bounce 8.2s ease-in-out infinite;animation-delay:1.6s;bottom:5%;color:#c5e5d8;font-size:8.3rem;left:32%}.letter28{animation:bounce 8.8s ease-in-out infinite;animation-delay:2.1s;color:#e5d8b8;font-size:6.9rem;right:58%;top:12%}.letter29{animation:bounce 8.3s ease-in-out infinite;animation-delay:2.6s;bottom:38%;color:#b8e5d8;font-size:7.7rem;right:55%}.letter30{animation:bounce 8.7s ease-in-out infinite;animation-delay:3.1s;color:#d8b8e5;font-size:8.6rem;right:72%;top:28%}.letter1:before{content:"ا"}.letter2:before{content:"ب"}.letter3:before{content:"ت"}.letter4:before{content:"ث"}.letter5:before{content:"ج"}.letter6:before{content:"ح"}.letter7:before{content:"خ"}.letter8:before{content:"د"}.letter9:before{content:"ذ"}.letter10:before{content:"ر"}.letter11:before{content:"ز"}.letter12:before{content:"س"}.letter13:before{content:"ش"}.letter14:before{content:"ص"}.letter15:before{content:"ض"}.letter16:before{content:"ط"}.letter17:before{content:"ظ"}.letter18:before{content:"ع"}.letter19:before{content:"غ"}.letter20:before{content:"ف"}.letter21:before{content:"ق"}.letter22:before{content:"ك"}.letter23:before{content:"ل"}.letter24:before{content:"م"}.letter25:before{content:"ن"}.letter26:before{content:"ه"}.letter27:before{content:"و"}.letter28:before{content:"ي"}.letter29:before{content:"ء"}.letter30:before{content:"ى"}@media (max-width:768px){.homepage-title{font-size:2.8rem}.homepage-subtitle{font-size:1.1rem}.letter{font-size:4rem!important}.homepage-buttons{flex-direction:column;gap:1rem}.homepage-buttons button{font-size:1rem;max-width:300px;padding:1rem 2rem;width:100%}}@media (max-width:480px){.homepage-title{font-size:2.2rem}.homepage-subtitle{font-size:1rem}.letter{font-size:3rem!important}}.student-login-container{align-items:center;background:linear-gradient(135deg,#0f172a,#1e3a8a 50%,#0f172a);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.student-arabic-background{inset:0;opacity:.08;overflow:hidden;pointer-events:none;position:absolute}.student-arabic-letter{color:#93c5fd;font-family:Arial,sans-serif;font-weight:700;position:absolute}.letter-1{animation:pulse 4s ease-in-out infinite;font-size:10rem;left:10%;top:15%}.letter-2{animation:pulse 4s ease-in-out 1.5s infinite;bottom:20%;font-size:12rem;right:15%}.letter-3{animation:pulse 4s ease-in-out 3s infinite;font-size:8rem;right:10%;top:50%}.back-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;left:2rem;padding:.75rem 1.5rem;position:absolute;top:2rem;transition:all .3s ease;z-index:100}.back-button:hover{background:#fff3;transform:translateX(-5px)}.student-login-card{animation:slideUp .6s ease-out;background:#fffffffa;border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000080;max-width:480px;padding:3rem;position:relative;width:100%;z-index:10}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.student-login-header{margin-bottom:2.5rem;text-align:center}.student-icon{align-items:center;background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:50%;color:#fff;display:inline-flex;height:80px;justify-content:center;margin-bottom:1.5rem;width:80px}.student-title{color:#1e3a8a;font-size:2rem;font-weight:700;margin-bottom:.5rem}.student-subtitle{color:#2563eb;font-family:Arial,sans-serif;font-size:1.5rem;margin-bottom:.75rem}.student-description{color:#64748b;font-size:1rem}.student-login-form{margin-bottom:2rem}.student-form-group{margin-bottom:1.5rem}.student-form-group label{color:#1e293b;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.student-input-field{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;font-size:1rem;padding:.875rem;transition:all .2s;width:100%}.student-input-field:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.student-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;padding:.875rem;text-align:center}.student-login-button{align-items:center;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px #2563eb4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.student-login-button:hover{box-shadow:0 10px 15px -3px #2563eb66;transform:translateY(-2px)}.student-login-button:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.student-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.student-login-footer{font-size:.875rem;text-align:center}.student-forgot-password{color:#2563eb;display:block;font-weight:500;margin-bottom:1rem;text-decoration:none}.student-forgot-password:hover{text-decoration:underline}.student-register-link{color:#64748b;margin-bottom:1.5rem}.student-register-link a{color:#2563eb;font-weight:600;text-decoration:none}.student-register-link a:hover{text-decoration:underline}.student-divider{margin:1.5rem 0;position:relative;text-align:center}.student-divider:after,.student-divider:before{background:#e2e8f0;content:"";height:1px;position:absolute;top:50%;width:45%}.student-divider:before{left:0}.student-divider:after{right:0}.student-divider span{background:#fff;color:#94a3b8;font-size:.875rem;padding:0 1rem}.student-switch-link{border-radius:.5rem;color:#f59e0b;display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.student-switch-link:hover{background:#fef3c7;color:#d97706}@media (max-width:640px){.student-login-card{padding:2rem}.student-title{font-size:1.5rem}.back-button{font-size:.875rem;left:1rem;padding:.5rem 1rem;top:1rem}.letter-1,.letter-2,.letter-3{font-size:6rem}}.professor-login-container{align-items:center;background:linear-gradient(135deg,#1a1108,#78350f 50%,#1a1108);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.professor-arabic-background{inset:0;opacity:.08;overflow:hidden;pointer-events:none;position:absolute}.professor-arabic-letter{color:#fcd34d;font-family:Arial,sans-serif;font-weight:700;position:absolute}.professor-arabic-letter.letter-1{animation:pulseProfessor 4s ease-in-out infinite;font-size:10rem;left:10%;top:15%}.professor-arabic-letter.letter-2{animation:pulseProfessor 4s ease-in-out 1.5s infinite;bottom:20%;font-size:12rem;right:15%}.professor-arabic-letter.letter-3{animation:pulseProfessor 4s ease-in-out 3s infinite;font-size:8rem;right:10%;top:50%}@keyframes pulseProfessor{0%,to{opacity:.08;transform:scale(1)}50%{opacity:.12;transform:scale(1.05)}}.prof-back-button{align-items:center;background:#fcd34d26;border:1px solid #fcd34d4d;border-radius:.5rem;color:#fcd34d;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;left:2rem;padding:.75rem 1.5rem;position:absolute;top:2rem;transition:all .3s ease;z-index:100}.prof-back-button:hover{background:#fcd34d40;transform:translateX(-5px)}.professor-login-card{animation:slideUpProfessor .6s ease-out;background:#fffffffa;border-radius:1.5rem;box-shadow:0 25px 50px -12px #d9770680;max-width:480px;padding:3rem;position:relative;width:100%;z-index:10}@keyframes slideUpProfessor{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.professor-login-header{margin-bottom:2.5rem;text-align:center}.professor-icon{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;color:#fff;display:inline-flex;height:80px;justify-content:center;margin-bottom:1.5rem;width:80px}.professor-title{color:#78350f;font-size:2rem;font-weight:700;margin-bottom:.5rem}.professor-subtitle{color:#f59e0b;font-family:Arial,sans-serif;font-size:1.5rem;margin-bottom:.75rem}.professor-description{color:#64748b;font-size:1rem}.professor-login-form{margin-bottom:2rem}.professor-form-group{margin-bottom:1.5rem}.professor-form-group label{color:#1e293b;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.professor-input-field{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;font-size:1rem;padding:.875rem;transition:all .2s;width:100%}.professor-input-field:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.professor-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;padding:.875rem;text-align:center}.professor-login-button{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px #f59e0b4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.professor-login-button:hover{box-shadow:0 10px 15px -3px #f59e0b66;transform:translateY(-2px)}.professor-login-button:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.professor-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.professor-login-footer{font-size:.875rem;text-align:center}.professor-forgot-password{color:#f59e0b;display:block;font-weight:500;margin-bottom:1rem;text-decoration:none}.professor-forgot-password:hover{text-decoration:underline}.professor-register-link{color:#64748b;margin-bottom:1.5rem}.professor-register-link a{color:#f59e0b;font-weight:600;text-decoration:none}.professor-register-link a:hover{text-decoration:underline}.professor-divider{margin:1.5rem 0;position:relative;text-align:center}.professor-divider:after,.professor-divider:before{background:#e2e8f0;content:"";height:1px;position:absolute;top:50%;width:45%}.professor-divider:before{left:0}.professor-divider:after{right:0}.professor-divider span{background:#fff;color:#94a3b8;font-size:.875rem;padding:0 1rem}.professor-switch-link{border-radius:.5rem;color:#2563eb;display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.professor-switch-link:hover{background:#dbeafe;color:#1e40af}@media (max-width:640px){.professor-login-card{padding:2rem}.professor-title{font-size:1.5rem}.prof-back-button{font-size:.875rem;left:1rem;padding:.5rem 1rem;top:1rem}.professor-arabic-letter.letter-1,.professor-arabic-letter.letter-2,.professor-arabic-letter.letter-3{font-size:6rem}}.register-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.register-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:600px;overflow:hidden;width:100%}.register-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.register-header h2{font-size:1.8rem;font-weight:600;margin:0}.progress-bar{gap:1rem;margin-top:1.5rem}.progress-bar,.step{display:flex;justify-content:center}.step{align-items:center;background:#ffffff4d;border-radius:50%;font-weight:600;height:40px;transition:all .3s ease;width:40px}.step.active{background:#fff;color:#667eea;transform:scale(1.1)}.form-section{padding:2rem}.etape-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.etape-header h3{color:#2d3748;font-size:1.4rem;margin:0}.btn-back{background:#e2e8f0;color:#4a5568;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.btn-back:hover{background:#cbd5e0;transform:translateX(-2px)}.input-group{margin-bottom:1.5rem}.input-group label{color:#2d3748;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.input-group input,.input-group select,.input-group textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.input-group textarea.invalid{border-color:#e53e3e}.input-group small{color:#718096;display:block;font-size:.85rem;margin-top:.25rem}.row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:640px){.row{grid-template-columns:1fr}}.checkbox-grid{grid-gap:.5rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-height:200px;overflow-y:auto;padding:1rem}.checkbox-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin:0;padding:.5rem;transition:background .2s ease}.checkbox-item:hover{background:#667eea1a}.checkbox-item input[type=checkbox]{cursor:pointer;margin:0;width:auto}.langue-sections{grid-gap:1rem;display:grid;gap:1rem}.langue-group{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.langue-group h4{color:#4a5568;font-size:.9rem;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.btn-next,.btn-submit{border:none;border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:all .3s ease;width:100%}.btn-next{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-next:hover:not(:disabled){box-shadow:0 10px 30px #667eea4d;transform:translateY(-2px)}.btn-next:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed;transform:none}.btn-submit{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-submit:hover{box-shadow:0 10px 30px #48bb784d;transform:translateY(-2px)}.error-message{background:#fed7d7;border-left:4px solid #e53e3e;font-weight:500;margin-top:1rem}@media (max-width:768px){.register-container{padding:1rem}.register-header{padding:1.5rem}.register-header h2{font-size:1.5rem}.form-section{padding:1.5rem}.checkbox-grid{grid-template-columns:1fr;max-height:150px}.progress-bar{gap:.5rem}.step{height:35px;width:35px}}.register-footer{background:#f7fafc;border-top:1px solid #e2e8f0;padding:1.5rem 2rem;text-align:center}.register-footer p{color:#718096;margin:0}.register-footer a{color:#667eea;font-weight:500;text-decoration:none}.register-footer a:hover{text-decoration:underline}.role-fixed-display{background:linear-gradient(135deg,#e8f4f8,#d4e8f0);border:2px solid #3b82f6;border-radius:12px;margin:1rem 0;padding:1rem;text-align:center}.role-fixed-display p{color:#1e40af;font-size:1.1rem;font-weight:600;margin:0}@keyframes slideInRole{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.role-fixed-display{animation:slideInRole .5s ease-out}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#111827;font-size:1.5rem;margin:0}.close-button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem}.close-button:hover{color:#111827}.course-info{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.5rem}.course-info h3{color:#374151;font-size:1rem;margin:0 0 1rem}.info-grid{grid-gap:.75rem;display:grid;gap:.75rem}.info-item{align-items:center;display:flex;justify-content:space-between}.info-label{color:#6b7280;font-size:.875rem;font-weight:500}.info-value{color:#111827;font-size:.875rem;font-weight:600}.time-warning{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding:1rem 1.5rem}.time-warning.success{background-color:#d1fae5;border-left:4px solid #10b981}.time-warning.warning{background-color:#fef3c7;border-left:4px solid #f59e0b}.time-icon{font-size:2rem}.time-content{flex:1 1}.time-title{color:#374151;font-size:.875rem;margin-bottom:.25rem}.time-value{color:#111827;font-size:1.5rem;font-weight:700}.refund-rules{border-bottom:1px solid #e5e7eb;padding:1.5rem}.refund-rules h3{color:#374151;font-size:1rem;margin:0 0 1rem}.rule{align-items:start;background-color:#f9fafb;border-radius:6px;display:flex;gap:.75rem;margin-bottom:.5rem;opacity:.6;padding:.75rem;transition:all .2s}.rule.active{background-color:#eff6ff;border:1px solid #3b82f6;opacity:1}.rule-icon{font-size:1.25rem;line-height:1}.rule-text{color:#374151;font-size:.875rem;line-height:1.5}.motif-section{padding:1.5rem}.motif-section label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.motif-section textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .2s;width:100%}.motif-section textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.char-count{color:#6b7280;font-size:.75rem;margin-top:.25rem;text-align:right}.modal-actions{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;padding:1.5rem}.modal-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel{background-color:#fff;border:1px solid #d1d5db;color:#374151}.btn-cancel:hover:not(:disabled){background-color:#f9fafb}.btn-confirm{background-color:#ef4444;color:#fff}.btn-confirm:hover:not(:disabled){background-color:#dc2626}.modal-actions button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.modal-content{max-height:95vh}.modal-actions{flex-direction:column}}.professors-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:2rem}.professors-header{color:#fff;margin-bottom:3rem;text-align:center}.professors-header h1{font-size:3rem;font-weight:800;margin-bottom:1rem;text-shadow:0 2px 4px #0000001a}.professors-header p{font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px;opacity:.9}.filters-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:2rem;padding:2rem}.filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;margin-bottom:1.5rem}.search-box input{border:2px solid #e1e5e9;border-radius:12px;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.search-box input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filters-grid select{background:#fff;border:2px solid #e1e5e9;border-radius:12px;cursor:pointer;font-size:.9rem;padding:1rem;transition:all .3s ease}.filters-grid select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filters-options{align-items:center;border-top:1px solid #e1e5e9;display:flex;justify-content:space-between;padding-top:1.5rem}.checkbox-option{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem}.checkbox-option input{accent-color:#667eea;margin-right:.5rem;transform:scale(1.2)}.results-count{color:#718096;font-size:.9rem;font-weight:500}.professors-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:3rem}.professor-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.professor-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-5px)}.professor-photo{align-items:center;background:linear-gradient(45deg,#667eea,#764ba2);display:flex;height:200px;justify-content:center;position:relative}.professor-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{color:#fff;font-size:4rem}.online-badge{align-items:center;background:#10b981;border-radius:20px;color:#fff;display:flex;font-size:.75rem;font-weight:600;padding:.5rem .75rem;position:absolute;right:1rem;top:1rem}.online-dot{height:8px;margin-right:.5rem;width:8px}.video-badge{background:#000000b3;border-radius:8px;bottom:1rem;color:#fff;font-size:.7rem;font-weight:500;left:1rem;padding:.3rem .6rem;position:absolute}.professor-content{padding:1.5rem}.professor-header-card{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.name-section{flex:1 1}.name-section h3{color:#1f2937;font-size:1.2rem;font-weight:700;margin:0 0 .25rem}.price-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;min-width:70px;padding:.5rem .75rem;text-align:right}.price{color:#1d4ed8;font-weight:700;margin-bottom:.1rem}.duration{color:#6b7280;font-size:.75rem}.stars-display{gap:2px}.star{font-size:1rem;line-height:1}.professor-stats{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:8px;margin:1rem 0;padding:.75rem}.rating-section{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.rating-text{color:#374151;font-size:.9rem;font-weight:600}.experience{color:#6b7280;font-size:.85rem;font-weight:500}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-left:.5rem;padding:.25rem .5rem;text-transform:uppercase}.badge.recommended{background:linear-gradient(45deg,#10b981,#059669);box-shadow:0 2px 4px #10b9814d;color:#fff}.badge.popular{background:linear-gradient(45deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b4d;color:#fff}.badge.new{background:linear-gradient(45deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f64d;color:#fff}.badge.verified{background:linear-gradient(45deg,#8b5cf6,#7c3aed);box-shadow:0 2px 4px #8b5cf64d;color:#fff}.specialties{margin-bottom:1rem}.specialty-tag{background:#edf2f7;border-radius:15px;color:#4a5568}.professor-bio{color:#718096;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.professor-details{color:#a0aec0;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.5rem}.last-seen{color:#a0aec0;font-size:.8rem;margin-bottom:1.5rem}.professor-actions{display:flex;flex-direction:column;gap:.75rem}.btn-primary{padding:.75rem 1rem}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{border:2px solid #e1e5e9;padding:.6rem 1rem}.error-state,.loading-state{color:#fff}.spinner{border:4px solid #ffffff4d;border-top-color:#fff}.no-results{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:4rem 2rem;text-align:center}.no-results-icon{font-size:4rem;margin-bottom:1rem}.no-results h3{color:#4a5568;font-size:1.5rem;margin-bottom:.5rem}.no-results p{color:#718096}.professors-footer{background:#fff;border-radius:15px;box-shadow:0 4px 12px #0000000d;margin-top:2rem;padding:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.stat-number{color:#3b82f6}.stat-label{font-size:.85rem;font-weight:500}.booking-modal{align-items:center!important;background:#000c!important;display:flex!important;height:100vh!important;justify-content:center!important;left:0!important;position:fixed!important;top:0!important;width:100vw!important;z-index:9999!important}.booking-modal-content{background:#fff!important;border-radius:20px!important;max-height:90vh!important;max-width:800px!important;overflow-y:auto!important;padding:2rem!important;position:relative!important}@media (max-width:768px){.professors-container{padding:1rem}.professors-header h1{font-size:2rem}.filters-grid{gap:1rem;grid-template-columns:1fr}.filters-options{flex-direction:column;gap:1rem}.professors-grid{gap:1.5rem;grid-template-columns:1fr}.professor-header-card{flex-direction:column;gap:.5rem}.price-info{align-self:flex-end}.rating-section{flex-wrap:wrap}.professor-details{flex-direction:column;gap:.3rem}.stats-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-number{font-size:1.5rem}}.professor-detail-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem 2rem 8rem}.breadcrumb{align-items:center;color:#fff;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:2rem}.breadcrumb a{color:#fff;opacity:.8;text-decoration:none;transition:opacity .3s ease}.breadcrumb a:hover{opacity:1;text-decoration:underline}.breadcrumb span:last-child{font-weight:600}.professor-main-info{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem}.professor-avatar-large{border:4px solid #667eea;border-radius:50%;flex-shrink:0;height:150px;overflow:hidden;position:relative;width:150px}.professor-avatar-large img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{font-size:3rem}.online-indicator{align-items:center;border-radius:15px;bottom:10px;color:#fff;display:flex;font-size:.7rem;font-weight:600;gap:.3rem;padding:.3rem .6rem;right:10px}.online-dot{animation:pulse 2s infinite;background:#fff;border-radius:50%;height:6px;width:6px}.professor-info{flex:1 1;min-width:300px}.professor-info h1{color:#2d3748;font-size:2rem;font-weight:800;margin-bottom:1rem;word-break:break-word}.main-stats{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.main-stats,.stat-item{align-items:center;display:flex}.stat-item{gap:.5rem;min-width:0}.stat-number{font-size:1.3rem}.stars-display{align-items:center;display:flex;gap:.2rem}.star.large{font-size:1.5rem}.star.empty{color:#d1d5db}.star.half{color:#fbbf24;opacity:.7}.rating-number{color:#374151;font-weight:600;margin-left:.5rem}.price-and-action{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.price-display{align-items:baseline;display:flex;gap:.3rem}.price-amount{color:#667eea;font-size:1.8rem;font-weight:800}.price-duration{color:#6b7280;font-size:1rem}.btn-book-now{background:linear-gradient(45deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.btn-book-now:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.last-seen{color:#6b7280;font-size:.9rem}.professor-details-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.professor-left-column,.professor-right-column{display:flex;flex-direction:column;gap:1.5rem}.info-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:1.5rem}.info-section h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.bio-text{color:#4a5568;line-height:1.6}.languages-list,.specialties-list{display:flex;flex-wrap:wrap;gap:.5rem}.language-chip,.specialty-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#1d4ed8;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.video-container{border-radius:10px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.reviews-stats{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:1.5rem}.reviews-stats h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.stats-grid{display:flex;flex-direction:column;gap:.75rem}.stat-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.stat-row .stat-label{color:#4a5568;font-weight:500}.stat-row .stat-value{align-items:center;color:#2d3748;display:flex;font-weight:600;gap:.5rem}.reviews-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:1.5rem}.reviews-section h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem}.no-reviews{color:#6b7280;padding:2rem}.review-item{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.review-header{margin-bottom:1rem}.reviewer-info{align-items:center;display:flex;gap:.75rem}.reviewer-avatar{align-items:center;background:linear-gradient(45deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-weight:600;height:40px;justify-content:center;width:40px}.reviewer-details{display:flex;flex-direction:column}.reviewer-name{color:#2d3748;font-weight:600}.review-comment{margin:1rem 0}.review-comment p{color:#4a5568;font-style:italic;line-height:1.6;margin:0}.review-details{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.detail-rating{background:#e5e7eb;border-radius:6px;color:#374151;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.load-more-btn{background:#f7fafc;border:2px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.load-more-btn:hover{background:#edf2f7;border-color:#cbd5e0}.bottom-cta{background:#fff;border-top:1px solid #e2e8f0;bottom:0;box-shadow:0 -4px 12px #0000001a;left:0;padding:1rem 2rem;position:fixed;right:0;z-index:1000}.cta-content{justify-content:space-between;margin:0 auto;max-width:1200px}.cta-content,.cta-info{align-items:center;display:flex}.cta-info{gap:1rem}.cta-price{color:#667eea;font-size:1.2rem;font-weight:700}.cta-book-btn{background:linear-gradient(45deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.cta-book-btn:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:#f7fafc;padding:.75rem 1.5rem}@media (max-width:1024px){.professor-main-info{flex-direction:column;gap:1.5rem;text-align:center}.main-stats,.price-and-action{align-items:center;flex-direction:column;gap:1rem}.professor-details-grid{gap:1.5rem;grid-template-columns:1fr}}@media (max-width:768px){.professor-detail-container{padding:1rem 1rem 8rem}.professor-avatar-large{height:120px;width:120px}.professor-info h1{font-size:1.8rem}.stat-number{font-size:1.1rem}.price-amount{font-size:1.5rem}.reviews-stats .stats-grid{gap:.5rem}.stat-row{flex-direction:column;gap:.5rem;text-align:center}.review-header{align-items:flex-start;flex-direction:column;gap:.75rem}.review-details{flex-direction:column;gap:.5rem}.cta-content{flex-direction:column;gap:1rem;text-align:center}.cta-info{flex-direction:column;gap:.5rem}.bottom-cta{padding:1rem}.breadcrumb{font-size:.8rem;margin-bottom:1rem}}.reservation-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.professor-header{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:2rem;padding:2rem}.professor-details h1{color:#333;font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.specialties{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.specialty-tag{background:#667eea;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.price{color:#28a745;font-size:1.1rem;font-weight:600}.reservation-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:2rem;padding:2rem}.date-selector{margin-bottom:2.5rem}.date-selector h3{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.days-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.day-button{background:#f8f9fa;border:2px solid #e9ecef;border-radius:15px;cursor:pointer;padding:1rem;text-align:center;transition:all .3s ease}.day-button:hover{background:#f0f4ff}.day-button.selected,.day-button:hover{border-color:#667eea;transform:translateY(-2px)}.day-button.selected{background:linear-gradient(45deg,#667eea,#764ba2);box-shadow:0 5px 15px #667eea4d;color:#fff}.day-name{font-size:.8rem;margin-bottom:.3rem;opacity:.8;text-transform:uppercase}.day-number{font-size:1.5rem;font-weight:700}.day-month{font-size:.8rem;margin-top:.3rem;opacity:.8}.time-selector{margin-bottom:2.5rem}.time-selector h3{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.time-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.time-button{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.8rem;transition:all .3s ease}.time-button:hover{background:#f0f4ff}.time-button.selected,.time-button:hover{border-color:#667eea;transform:translateY(-1px)}.time-button.selected{background:linear-gradient(45deg,#667eea,#764ba2);box-shadow:0 3px 10px #667eea4d;color:#fff}.no-slots{color:#6c757d;padding:3rem;text-align:center}.no-slots p{font-size:1.2rem;margin-bottom:.5rem}.no-slots small{color:#adb5bd}.reservation-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:15px;padding:2rem}.reservation-summary h3{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:1.5rem}.summary-details{margin-bottom:2rem}.summary-item{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:.8rem 0}.summary-item:last-child{border-bottom:none}.summary-item.total{border-top:2px solid #667eea;font-size:1.2rem;font-weight:700;margin-top:1rem;padding-top:1rem}.reserve-button{background:linear-gradient(45deg,#28a745,#20c997);border:none;border-radius:15px;box-shadow:0 5px 15px #28a7454d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1.2rem 2rem;transition:all .3s ease;width:100%}.reserve-button:hover:not(:disabled){box-shadow:0 7px 20px #28a74566;transform:translateY(-2px)}.reserve-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.back-link{text-align:center}.back-link a{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:25px;color:#fff;font-weight:500;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s ease}.back-link a:hover{background:#ffffff4d;transform:translateY(-1px)}.error-state,.loading-state{color:#6c757d;font-size:1.2rem;margin:2rem auto;max-width:500px}.error-state h2{color:#dc3545}.error-state a{color:#667eea;font-weight:600;text-decoration:none}.error-state a:hover{text-decoration:underline}@media (max-width:768px){.reservation-container{padding:1rem}.professor-info{flex-direction:column;text-align:center}.days-grid,.time-grid{grid-template-columns:repeat(3,1fr)}.summary-item{flex-direction:column;gap:.5rem;text-align:center}}.day-button.past{background-color:#f3f4f6;cursor:not-allowed;opacity:.4}.day-button.past:hover{background-color:#f3f4f6;border-color:#e5e7eb}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{appearance:button;cursor:pointer;overflow:visible;text-transform:none}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :after,.rbc-calendar :before{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.rbc-ellipsis,.rbc-event-label,.rbc-row-segment .rbc-event-content,.rbc-show-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{border-bottom:1px solid #ddd;flex:1 0;font-size:90%;font-weight:700;min-height:0;overflow:hidden;padding:0 3px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{background:none;border:none;color:inherit;cursor:pointer;margin:0;padding:0;-webkit-user-select:text;user-select:text}.rbc-row-content{position:relative;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:scroll;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;justify-content:center;margin-bottom:10px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{background:none;background-image:none;border:1px solid #ccc;border-radius:4px;color:#373a3c;display:inline-block;line-height:normal;margin:0;padding:.375rem 1rem;text-align:center;vertical-align:middle;white-space:nowrap}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.rbc-toolbar button.rbc-active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button:active:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#373a3c}.rbc-toolbar button:focus,.rbc-toolbar button:hover{background-color:#e6e6e6;border-color:#adadad;color:#373a3c}.rbc-toolbar button:hover{cursor:pointer}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-day-slot .rbc-background-event,.rbc-event{background-color:#3174ad;border:none;border-radius:5px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;margin:0;padding:2px 5px;text-align:left;width:100%}.rbc-day-slot .rbc-slot-selecting .rbc-background-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-day-slot .rbc-selected.rbc-background-event,.rbc-event.rbc-selected{background-color:#265985}.rbc-day-slot .rbc-background-event:focus,.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px 0 #33333380}.rbc-event-continues-prior{border-bottom-left-radius:0;border-top-left-radius:0}.rbc-event-continues-after{border-bottom-right-radius:0;border-top-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;color:#3174ad;font-size:85%;font-weight:700;height:auto;line-height:normal;z-index:4}.rbc-show-more:focus,.rbc-show-more:hover{color:#265985}.rbc-month-view{border:1px solid #ddd;display:flex;flex:1 0;flex-direction:column;height:100%;position:relative;user-select:none;-webkit-user-select:none;width:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;flex:1 0;flex-basis:0px;flex-direction:column;height:100%;overflow:hidden;position:relative}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex:1 0;flex-direction:row;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 5px 15px #00000040;padding:10px;position:absolute;z-index:5}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex:1 0;flex-direction:column;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border:1px solid #ddd;border-collapse:collapse;border-spacing:0;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1 1}.rbc-timeslot-group{border-bottom:1px solid #ddd;display:flex;flex-flow:column nowrap;min-height:40px}.rbc-header-gutter,.rbc-time-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;margin-right:10px;position:absolute;right:0;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-event{align-items:flex-start;border:1px solid #265985;display:flex;flex-flow:column wrap;max-height:100%;min-height:20px;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1;height:100%;line-height:1;min-height:1em;width:100%}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{background-color:#fff;border-right:1px solid #ddd;left:0;margin-right:-1px;position:sticky;z-index:10}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0;flex-basis:0px;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-day-bg,.rbc-time-view-resources .rbc-header{flex:1 1;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{background-color:#00000080;color:#fff;font-size:75%;padding:3px;position:absolute;width:100%;z-index:10}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.rbc-time-view .rbc-time-gutter{text-align:right;white-space:nowrap}.rbc-time-view .rbc-allday-cell{box-sizing:initial;height:100%;position:relative;width:100%}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row.rbc-row-resource,.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-width:0}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{align-items:flex-start;border-top:2px solid #ddd;display:flex;flex:1 0;overflow-y:auto;position:relative;width:100%}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{user-select:none;-webkit-user-select:none;width:100%}.rbc-current-time-indicator{background-color:#74ad31;height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.review-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:800px;min-height:100vh;padding:2rem}.review-header{color:#fff;margin-bottom:2rem;text-align:center}.review-header h1{font-size:2.5rem;font-weight:800;margin-bottom:.5rem;text-shadow:0 2px 4px #0000001a}.review-header p{font-size:1.1rem;opacity:.9}.course-info{margin-bottom:2rem}.course-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:1.5rem}.professor-info{gap:1.5rem}.professor-avatar{border:4px solid #667eea;height:80px;width:80px}.avatar-placeholder{font-size:2rem}.course-details h3{color:#2d3748;font-size:1.5rem;margin-bottom:.5rem}.course-date,.course-status{color:#4a5568;font-size:.95rem;margin-bottom:.3rem}.review-form{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:2rem;padding:2rem}.rating-section{margin-bottom:2.5rem}.rating-section h3{color:#2d3748;font-size:1.3rem;font-weight:600}.rating-section h3,.star-rating{margin-bottom:1.5rem}.rating-label{color:#4a5568;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.stars{gap:.3rem;margin-bottom:.5rem}.star{background:none;border:none;border-radius:8px;cursor:pointer;font-size:2rem;padding:.2rem;transition:all .2s ease}.star:hover:not(.disabled){background:#667eea1a;transform:scale(1.1)}.star.filled{filter:drop-shadow(0 2px 4px rgba(251,191,36,.3))}.star.disabled{cursor:not-allowed;opacity:.6}.rating-text{color:#6b7280;font-size:.85rem;font-style:italic}.detailed-ratings{grid-gap:1rem;display:grid;gap:1rem}.comment-section{margin-bottom:2rem}.comment-section h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.comment-section textarea{border:2px solid #e1e5e9;border-radius:12px;font-family:inherit;font-size:1rem;line-height:1.5;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.comment-section textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.character-count{color:#9ca3af;font-size:.8rem;margin-top:.5rem;text-align:right}.privacy-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.privacy-option{align-items:center;color:#374151;cursor:pointer;display:flex;font-weight:500;margin-bottom:.5rem}.privacy-option input{accent-color:#667eea;margin-right:.75rem;transform:scale(1.2)}.privacy-note{color:#6b7280;font-size:.85rem;line-height:1.4;margin:0}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}.btn-primary{background:linear-gradient(45deg,#10b981,#059669);font-size:1rem}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #10b9814d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{font-size:1rem}.btn-secondary:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.help-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;color:#fff;padding:1.5rem}.help-section h4{font-size:1.1rem;margin-bottom:1rem}.help-section ul{list-style:none;margin:0;padding:0}.help-section li{line-height:1.4;padding:.5rem 0 .5rem 1.5rem;position:relative}.help-section li:before{content:"💡";left:0;position:absolute}@media (max-width:768px){.review-container{padding:1rem}.review-header h1{font-size:2rem}.professor-info{flex-direction:column;text-align:center}.professor-avatar{height:60px;width:60px}.stars{justify-content:center}.star{font-size:1.5rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.my-reviews-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;min-height:100vh;padding:2rem}.reviews-header{color:#fff;margin-bottom:2rem;text-align:center}.reviews-header h1{font-size:2.5rem;font-weight:800;margin-bottom:.5rem;text-shadow:0 2px 4px #0000001a}.reviews-header p{font-size:1.1rem;margin-bottom:1rem;opacity:.9}.back-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;color:#fff;display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.back-link:hover{background:#ffffff4d;transform:translateY(-1px)}.stats-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:1.5rem;text-align:center}.stat-number{color:#667eea;font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.stat-label{font-size:.9rem}.no-reviews{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:4rem 2rem;text-align:center}.no-reviews-icon{font-size:4rem;margin-bottom:1rem}.no-reviews h3{color:#374151;font-size:1.5rem;margin-bottom:1rem}.no-reviews p{color:#6b7280;line-height:1.6;margin-bottom:2rem}.reviews-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.review-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;transition:all .3s ease}.review-card:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-2px)}.review-header{background:linear-gradient(45deg,#f8fafc,#edf2f7);border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:1.5rem}.professor-info,.review-header{align-items:center;display:flex}.professor-info{gap:1rem}.professor-avatar{border:3px solid #667eea;border-radius:50%;flex-shrink:0;height:60px;overflow:hidden;width:60px}.professor-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;display:flex;font-size:1.5rem;height:100%;justify-content:center;width:100%}.professor-details h3{color:#2d3748;font-size:1.2rem;margin-bottom:.3rem}.course-date{color:#6b7280;font-size:.9rem}.review-status{text-align:right}.status-public{background:#10b981}.status-private,.status-public{border-radius:15px;color:#fff;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.status-private{background:#6b7280}.review-content{padding:1.5rem}.ratings-section{margin-bottom:1.5rem}.star-display{align-items:center;display:flex;gap:.5rem;margin-bottom:.8rem}.star-label{color:#374151;font-size:.9rem;font-weight:500;min-width:120px}.stars{display:flex;gap:.1rem}.star{font-size:1.2rem}.star.filled{color:#fbbf24}.star:not(.filled){color:#d1d5db}.star-count{color:#6b7280;font-size:.8rem;font-weight:500}.comment-section{background:#f8fafc;border-left:4px solid #667eea;border-radius:10px;padding:1rem}.comment-section h4{color:#374151;font-size:.9rem;margin-bottom:.5rem}.comment-text{color:#4b5563;font-style:italic;line-height:1.5;margin:0}.review-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.review-date{color:#6b7280;font-size:.8rem}.updated-note{display:block;font-style:italic;margin-top:.2rem}.review-actions{display:flex;gap:.5rem}.btn-delete{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .8rem;transition:all .3s ease}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.btn-primary{background:linear-gradient(45deg,#667eea,#764ba2);border-radius:12px;display:inline-block;text-align:center;text-decoration:none}.btn-primary:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;display:inline-block;font-weight:500;text-align:center;text-decoration:none}.btn-secondary:hover{background:#edf2f7;border-color:#cbd5e0}.cta-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;color:#fff;padding:2rem;text-align:center}.cta-section h3{font-size:1.3rem;margin-bottom:.5rem}.cta-section p{margin-bottom:1.5rem;opacity:.9}.error-state,.loading-state{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:4rem 2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state h2{color:#ef4444;margin-bottom:1rem}.error-state p{color:#6b7280;margin-bottom:1.5rem}@media (max-width:768px){.my-reviews-container{padding:1rem}.reviews-header h1{font-size:2rem}.stats-section{grid-template-columns:1fr}.review-header{gap:1rem;text-align:center}.professor-info,.review-header,.star-display{flex-direction:column}.star-display{align-items:flex-start;gap:.3rem}.star-label{min-width:auto}.review-footer{flex-direction:column;gap:1rem;text-align:center}}.abonnement-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem 0}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.abonnement-header{color:#fff;margin-bottom:3rem;text-align:center}.abonnement-header h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.abonnement-header p{font-size:1.2rem;opacity:.9}.trial-section{margin-bottom:3rem}.trial-section h2{color:#fff;font-size:1.8rem;margin-bottom:2rem;text-align:center}.trial-card{background:#fff;border:3px solid gold;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:400px;padding:2rem;text-align:center}.trial-price{color:#667eea;font-size:3rem;font-weight:700;margin:1rem 0}.trial-card ul{list-style:none;margin:1.5rem 0;padding:0}.trial-card li{border-bottom:1px solid #eee;padding:.5rem 0}.trial-card li:last-child{border-bottom:none}.btn-trial{background:linear-gradient(135deg,gold,#ffed4e);border:none;border-radius:50px;color:#333;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease;width:100%}.btn-trial:hover{box-shadow:0 10px 20px #ffd7004d;transform:translateY(-2px)}.subscription-plans h2{color:#fff;font-size:1.8rem;margin-bottom:2rem;text-align:center}.plan-category{margin-bottom:3rem}.plan-category h3{color:#fff;font-size:1.5rem;margin-bottom:1rem;text-align:center}.plan-category p{color:#fffc;margin-bottom:2rem;text-align:center}.plans-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.plan-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.plan-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-5px)}.plan-card.engagement{border:2px solid #667eea}.plan-card.flexible{border:2px solid #50c878}.plan-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.plan-header h4{font-size:1.3rem;font-weight:600;margin:0}.savings-badge{background:#ff4757;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.plan-price{margin:1.5rem 0}.plan-price .price{color:#333;font-size:2.5rem;font-weight:700}.plan-price .period{color:#666;font-size:1rem;margin-left:.5rem}.total-price{color:#666;font-size:.9rem;font-style:italic;margin-bottom:1rem}.plan-features{list-style:none;margin:1.5rem 0;padding:0;text-align:left}.plan-features li{border-bottom:1px solid #eee;padding:.75rem 0 .75rem 1.5rem;position:relative}.plan-features li:before{color:#50c878;content:"✓";font-weight:700;left:0;position:absolute}.plan-features li:last-child{border-bottom:none}.plan-button{border:none;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease;width:100%}.btn-engagement{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-engagement:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-2px)}.btn-flexible{background:linear-gradient(135deg,#50c878,#48bb78);color:#fff}.btn-flexible:hover{background:linear-gradient(135deg,#48bb78,#38a169);transform:translateY(-2px)}.checkout-section{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:2rem 0;overflow:hidden}.checkout-container{display:grid;grid-template-columns:1fr 2fr;min-height:500px}.plan-summary{background:#f8f9fa;border-right:1px solid #eee;padding:2rem}.plan-summary h3{color:#333;margin-bottom:1.5rem}.selected-plan{background:#fff;border-left:4px solid #667eea;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.selected-plan h4{color:#333;margin-bottom:1rem}.selected-plan p{color:#666;margin:.5rem 0}.engagement-note{background:#e3f2fd;border-radius:8px;color:#1976d2;font-size:.9rem;margin-top:1rem;padding:1rem}.btn-back{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;transition:all .3s ease}.btn-back:hover{background:#5a6268}.payment-form{padding:2rem}.payment-form h3{color:#333;margin-bottom:2rem}.checkout-form{max-width:400px}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:1rem;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.card-element-container{border:2px solid #e9ecef;border-radius:8px;padding:1rem;transition:border-color .3s ease}.card-element-container:focus-within{border-color:#667eea}.error-message{background:#fee;border-left:4px solid #fc8181;border-radius:8px;color:#c53030;margin:1rem 0;padding:1rem}.subscribe-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1.25rem 2rem;transition:all .3s ease;width:100%}.subscribe-button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-2px)}.subscribe-button:disabled{cursor:not-allowed;opacity:.6}.subscription-active{color:#fff;text-align:center}.current-subscription-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;color:#333;margin:2rem auto;max-width:600px;padding:3rem}.current-subscription-card h3{color:#667eea;font-size:1.8rem;margin-bottom:2rem}.subscription-details{margin:2rem 0;text-align:left}.subscription-details p{border-bottom:1px solid #eee;margin:1rem 0;padding:.5rem 0}.subscription-actions{display:flex;gap:1rem;margin-top:2rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.btn-secondary{background:#0000;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;flex:1 1;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.btn-secondary:hover{background:#667eea;color:#fff}.security-info{color:#fffc;font-size:.9rem;margin-top:3rem;text-align:center}@media (max-width:768px){.abonnement-header h1{font-size:2rem}.checkout-container{grid-template-columns:1fr}.plan-summary{border-bottom:1px solid #eee;border-right:none}.plans-grid{grid-template-columns:1fr}.subscription-actions{flex-direction:column}}@media (max-width:480px){.container{padding:0 .5rem}.abonnement-page{padding:1rem 0}.plan-card,.trial-card{padding:1.5rem}}.admin-container{background:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:2rem}.admin-header{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.admin-header h1{color:#1f2937;font-size:1.8rem;font-weight:600;margin:0 0 1.5rem}.stats-bar{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{background:#f3f4f6;border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease}.stat-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-item.en-attente{background:#fef3c7;border-left:4px solid #f59e0b}.stat-item.valide{background:#d1fae5;border-left:4px solid #10b981}.stat-item.refuse{background:#fee2e2;border-left:4px solid #ef4444}.stat-number{color:#1f2937;font-size:2rem;margin-bottom:.25rem}.stat-label{color:#6b7280;letter-spacing:.5px;text-transform:uppercase}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.filter-btn:hover{border-color:#3b82f6;color:#3b82f6}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.refresh-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-left:auto;padding:.75rem 1.5rem;transition:all .2s ease}.refresh-btn:hover{background:#059669}.refresh-btn:disabled{background:#9ca3af;cursor:not-allowed}.candidatures-list{display:flex;flex-direction:column;gap:1.5rem}.candidature-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden;transition:all .3s ease}.candidature-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.card-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.5rem}.candidat-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.candidat-info .email{color:#3b82f6;font-weight:500;margin:0 0 .25rem}.candidat-info .date{color:#6b7280;font-size:.875rem;margin:0}.statut-section{flex-shrink:0}.card-body{padding:1.5rem}.candidature-details{display:flex;flex-direction:column;gap:1rem}.detail-row{align-items:flex-start;display:flex;gap:1rem}.detail-row strong{color:#374151;flex-shrink:0;font-weight:600;min-width:140px}.detail-row span{color:#6b7280;flex:1 1}.detail-row.bio{flex-direction:column;gap:.5rem}.detail-row.bio p{background:#f9fafb;border-left:4px solid #e5e7eb;border-radius:8px;color:#6b7280;line-height:1.6;margin:0;padding:1rem}.card-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.btn-valider{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-valider:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-refuser{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-refuser:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-refuser:disabled,.btn-valider:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.empty-state{background:#fff;border-radius:12px;color:#6b7280;padding:4rem 2rem;text-align:center}.empty-state h3{color:#9ca3af;font-size:1.25rem;margin:0}.loading{background:#fff;border-radius:12px;color:#6b7280;padding:4rem 2rem;text-align:center}.loading h2{color:#3b82f6;font-size:1.5rem;margin:0}@media (max-width:768px){.admin-container{padding:1rem}.admin-header{padding:1.5rem}.admin-header h1{font-size:1.5rem}.stats-bar{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.filter-btn{text-align:center}.card-header{flex-direction:column;gap:1rem}.detail-row{flex-direction:column;gap:.5rem}.detail-row strong{min-width:auto}.card-actions{flex-direction:column}.card-actions button{width:100%}}.safari-fullscreen{border-radius:0!important;height:100vh!important;left:0!important;object-fit:contain!important;position:fixed!important;top:0!important;transform:none!important;width:100vw!important;z-index:9999!important}.local-video.safari-mode,.remote-video.safari-mode{backface-visibility:hidden;-webkit-transform:translateZ(0)}.agora-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Arial,sans-serif;min-height:100vh;padding:20px 20px 100px}.agora-header{background:#ffffffe6;border-radius:15px;box-shadow:0 8px 32px #0000001a;margin-bottom:20px;padding:20px;text-align:center}.agora-header h2{color:#333;font-size:2em;margin:0 0 10px}.agora-videos{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;justify-items:center}@media (min-width:768px){.agora-videos{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.video-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:15px;box-shadow:0 8px 32px #0000001a;padding:15px;text-align:center}.video-container h3{color:#333;font-size:1.2em;margin:0 0 10px}.local-video{background-color:#000;border:3px solid #007bff;border-radius:12px;cursor:pointer;height:600px;object-fit:cover;transition:transform .2s ease;width:800px}.local-video:hover{box-shadow:0 8px 25px #007bff4d;transform:scale(1.02)}.local-video.screen-sharing{border-color:#ff9800;box-shadow:0 0 20px #ff980080}.remote-video{background-color:#000;border:2px solid #28a745;border-radius:12px;cursor:pointer;height:360px;object-fit:cover;transition:transform .2s ease;width:480px}.remote-video:hover{box-shadow:0 8px 25px #28a7454d;transform:scale(1.02)}.fullscreen-video{background:#000!important;border:none!important;border-radius:0!important;height:100vh!important;left:0!important;position:fixed!important;top:0!important;width:100vw!important;z-index:9999!important}.video-container{position:relative}.fullscreen-btn{background:#000000b3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;opacity:0;padding:8px 12px;position:absolute;right:10px;top:10px;transition:opacity .3s}.video-container:hover .fullscreen-btn{opacity:1}.waiting-message{background:#fffffff2;border-radius:15px;box-shadow:0 8px 32px #0000001a;color:#666;margin:0 auto;max-width:400px;padding:30px;text-align:center}.share-link{background:#f8f9fa;border:1px dashed #ccc;border-radius:8px;margin-top:10px;padding:15px}.share-link code{background:#e9ecef;border-radius:4px;font-size:12px;padding:5px 10px;word-break:break-all}.recording{animation:pulse 2s infinite}@media (max-width:1024px){.local-video{height:480px;width:640px}.remote-video{height:300px;width:400px}}@media (max-width:768px){.agora-container{padding:10px 10px 100px}.local-video{height:360px;max-width:480px;width:100%}.remote-video{height:240px;max-width:320px;width:100%}.agora-header{padding:15px}.agora-header h2{font-size:1.5em}}:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--success-gradient:linear-gradient(135deg,#11998e,#38ef7d);--warning-gradient:linear-gradient(135deg,#f093fb,#f5576c);--glass-bg:#fffffff2;--glass-border:#fff3;--shadow-light:0 8px 32px #0000001a;--shadow-hover:0 12px 40px #00000026;--text-primary:#1a202c;--text-secondary:#64748b;--radius-lg:24px;--radius-md:16px;--radius-sm:12px}*{box-sizing:border-box;margin:0;padding:0}.modern-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);color:#1a202c;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh}.dashboard-container{margin:0 auto;max-width:1400px;padding:2rem}.modern-header{animation:slideInDown .6s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;background:var(--glass-bg);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;box-shadow:var(--shadow-light);margin-bottom:2rem;padding:2rem}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header-content{align-items:center;display:flex;gap:2rem}.avatar-section{position:relative}.modern-avatar{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);background:var(--warning-gradient);border-radius:50%;box-shadow:0 4px 20px #f093fb66;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;transition:transform .3s ease;width:80px}.modern-avatar:hover{transform:scale(1.05)}.online-indicator{animation:pulse 2s infinite;background:#10b981;border:3px solid #fff;border-radius:50%;bottom:5px;height:20px;position:absolute;right:5px;width:20px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7;transform:scale(1.1)}}.welcome-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin-bottom:.5rem}.welcome-section p{color:#64748b;color:var(--text-secondary);font-size:1.1rem}.header-stats{display:flex;gap:2rem;margin-left:auto}.header-stat-item{background:#ffffff80;border-radius:16px;border-radius:var(--radius-md);cursor:pointer;min-width:100px;padding:1rem;text-align:center;transition:all .3s ease}.header-stat-item:hover{background:#fffc;transform:translateY(-2px)}.stat-number{color:#1a202c;color:var(--text-primary);display:block;font-size:1.5rem;font-weight:700}.stat-label{color:#64748b;color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.main-content,.sidebar-content{display:flex;flex-direction:column;gap:2rem}.glass-card{animation:fadeInUp .6s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;background:var(--glass-bg);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;box-shadow:var(--shadow-light);padding:2rem;transition:all .3s ease}.glass-card:hover{box-shadow:0 12px 40px #00000026;box-shadow:var(--shadow-hover);transform:translateY(-4px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-header{justify-content:space-between;margin-bottom:1.5rem}.card-header,.card-title{align-items:center;display:flex}.card-title{color:#1a202c;color:var(--text-primary);font-size:1.25rem;font-weight:600;gap:.5rem}.card-icon{font-size:1.5rem}.revenue-section{margin-bottom:2rem}.revenue-chart-container{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:16px;border-radius:var(--radius-md);height:200px;margin-bottom:1.5rem;overflow:hidden;position:relative}.chart-animated-line{animation:drawLine 2s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:2px;bottom:30%;height:4px;left:5%;position:absolute;right:5%}@keyframes drawLine{0%{width:0}to{width:90%}}.chart-points{align-items:center;bottom:28%;display:flex;justify-content:space-between;left:5%;position:absolute;right:5%}.chart-point{animation:popIn .5s ease-out;animation-fill-mode:both;background:#fff;border:3px solid #667eea;border-radius:50%;height:12px;width:12px}.chart-point:first-child{animation-delay:.2s}.chart-point:nth-child(2){animation-delay:.4s}.chart-point:nth-child(3){animation-delay:.6s}.chart-point:nth-child(4){animation-delay:.8s}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.revenue-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.revenue-stat-item{background:#ffffff80;border-radius:16px;border-radius:var(--radius-md);padding:1.5rem;text-align:center;transition:all .3s ease}.revenue-stat-item:hover{background:#fffc;transform:translateY(-2px)}.revenue-amount{color:#1a202c;color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.revenue-label{color:#64748b;color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem}.revenue-change{border-radius:6px;display:inline-block;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.revenue-change.positive{background:#0596691a;color:#059669}.revenue-change.negative{background:#dc26261a;color:#dc2626}.timeline-container{max-height:400px;overflow-y:auto;padding-right:.5rem}.timeline-item{align-items:flex-start;background:#ffffff80;border-radius:16px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:.75rem;position:relative;transition:all .3s ease}.timeline-item:hover{background:#fffc;transform:translateX(4px)}.timeline-time{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:12px;border-radius:var(--radius-sm);color:#fff;font-size:.8rem;font-weight:600;min-width:60px;padding:.4rem .6rem;text-align:center}.timeline-content{flex:1 1}.student-name{color:#1a202c;color:var(--text-primary);font-size:1rem;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-info{color:#64748b;color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.timeline-status{background:#10b981;border-radius:50%;height:12px;width:12px}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.5rem}.animated-stat-card{background:#ffffff80;border-radius:16px;border-radius:var(--radius-md);cursor:pointer;padding:2rem 1.5rem;text-align:center;transition:all .3s ease}.animated-stat-card:hover{background:#fffc;transform:scale(1.05) rotate(1deg)}.animated-stat-card .number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;display:block;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.animated-stat-card .label{color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:500}.quick-actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:1.5rem}.modern-action-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:16px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.modern-action-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.modern-action-btn.secondary{background:#fffc;color:#1a202c;color:var(--text-primary)}.modern-action-btn.secondary:hover{background:#fff;box-shadow:0 12px 40px #00000026;box-shadow:var(--shadow-hover)}.banking-alert-banner{background:linear-gradient(135deg,#fef3c7,#fbbf24);border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:1rem}.banking-alert-banner .banner-content{align-items:center;display:flex;gap:1rem;padding:1rem}.cta-button-small{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.cta-button-small:hover{background:#d97706;transform:translateY(-1px)}.validation-status{display:flex;flex-wrap:wrap;gap:.5rem}.banking-badge{background:#d1fae5;border-radius:9999px;color:#065f46;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.banking-badge.incomplete{background:#fed7d7;color:#c53030}.banking-tab-header{background:linear-gradient(135deg,#e0f2fe,#b3e5fc);border-radius:12px;margin-bottom:2rem;padding:2rem;text-align:center}.banking-tab-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.75rem;margin:0 0 .5rem}.banking-tab-header p{color:#64748b;color:var(--text-secondary);font-size:1.1rem;margin:0}.banking-info-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;box-shadow:var(--shadow-light);overflow:hidden}.banking-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffc,#f8fafccc);border-bottom:1px solid #fff3;border-bottom:1px solid var(--glass-border);display:flex;gap:1rem;padding:1.5rem}.banking-icon{color:#3b82f6;font-size:1.5rem}.banking-header h2{color:#1a202c;color:var(--text-primary);flex:1 1;font-size:1.25rem;font-weight:700;margin:0}.rib-status-badge{align-items:center;border-radius:9999px;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .75rem}.rib-status-badge.configured{background:#dcfce7;color:#16a34a}.banking-info-box{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#eff6ffb3;border-left:4px solid #3b82f6;display:flex;gap:.75rem;padding:1rem 1.5rem}.info-icon{color:#3b82f6;font-size:1.2rem;margin-top:.125rem}.info-content{flex:1 1}.info-title{color:#1e40af;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.banking-info-box ul{list-style-type:disc;margin:0;padding-left:1rem}.banking-info-box li{color:#1e40af;font-size:.875rem;line-height:1.4;margin:.25rem 0}.banking-form{padding:1.5rem}.form-field{margin-bottom:1.5rem}.form-label{color:#1a202c;color:var(--text-primary);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.required{color:#ef4444}.optional{color:#64748b;color:var(--text-secondary);font-weight:400}.form-input{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffc;border:2px solid #ffffff80;border-radius:16px;border-radius:var(--radius-md);font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-input.error{background:#ef44440d;border-color:#ef4444}.iban-input,.rib-input{font-family:Monaco,Menlo,Consolas,monospace;font-size:1.125rem;letter-spacing:.025em}.error-message{align-items:center;color:#ef4444;display:flex;font-size:.875rem;gap:.25rem;margin-top:.25rem}.field-help{color:#64748b;color:var(--text-secondary);font-size:.75rem;margin-top:.25rem}.error-box{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fef2f2e6;border:1px solid #fecaca;border-radius:16px;border-radius:var(--radius-md);display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem}.error-box p{color:#dc2626;font-size:.875rem;margin:0}.success-box{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f0fdf4e6;border:1px solid #bbf7d0;border-radius:16px;border-radius:var(--radius-md);display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem}.success-box p{color:#16a34a;font-size:.875rem;margin:0}.form-submit{text-align:right}.submit-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:16px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.submit-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.submit-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.attention-button{background:#f59e0b;border:none;border-radius:16px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.attention-button:hover{background:#d97706;box-shadow:0 8px 25px #f59e0b66;transform:translateY(-2px)}.primary-button{background:linear-gradient(135deg,#11998e,#38ef7d);background:var(--success-gradient);border:none;border-radius:16px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.primary-button:hover{box-shadow:0 8px 25px #11998e66;transform:translateY(-2px)}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.header-content{flex-direction:column;text-align:center}.header-stats{justify-content:center;margin-left:0}.revenue-stats-grid{grid-template-columns:1fr}}@media (max-width:768px){.form-row{grid-template-columns:1fr}.banking-container{padding:1.5rem}.rib-status{flex-direction:column;text-align:center}.banking-data-item{align-items:flex-start;flex-direction:column;gap:.25rem}}@media (max-width:640px){.dashboard-container{padding:1rem}.modern-header{padding:1.5rem}.header-stats{flex-direction:column;gap:1rem}.quick-actions-grid,.stats-grid{grid-template-columns:1fr}.welcome-section h1{font-size:1.5rem}}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.timeline-container::-webkit-scrollbar{width:6px}.timeline-container::-webkit-scrollbar-track{background:#ffffff4d;border-radius:3px}.timeline-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:3px}.timeline-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6a4c93)}
/*# sourceMappingURL=main.fcfd93ba.css.map*/