*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body,html{overflow-x:hidden;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-header{background:#fff;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;justify-content:space-between;padding:2rem .75rem;width:100%}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:.75rem}.header-logo{height:32px;object-fit:contain;width:32px}.header-title{color:#000;font-size:1.5rem;font-weight:600;margin:0}.header-right{align-items:center;display:flex;gap:1rem}.header-link{color:#333;cursor:pointer;font-size:1rem;transition:color .2s;-webkit-user-select:none;user-select:none}.header-link:hover{color:#667eea}.header-link-logout{color:#dc2626}.header-link-logout:hover{color:#b91c1c}.header-divider{color:#ccc;-webkit-user-select:none;user-select:none}.header-bottom-divider{background:#e5e7eb;border:none;height:1px;margin:0;width:100%}.phone-verification-banner{background:#fff3cd;border-bottom:1px solid #ffc107;box-sizing:border-box;padding:.75rem 2rem;position:relative;width:100%}.banner-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:0 auto;max-width:1200px}.banner-icon{flex-shrink:0;font-size:1.2rem}.banner-text{color:#856404;flex:1 1;font-size:.9rem;min-width:200px}.banner-button{background:#ffc107;border:none;border-radius:5px;color:#333;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.banner-button:hover{background:#ffb300;transform:translateY(-1px)}.banner-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#856404;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .2s;width:24px;z-index:10}.banner-close:hover{background:#8564041a;color:#664d03}@media (max-width:768px){.phone-verification-banner{padding:.75rem 1rem}.banner-content{align-items:flex-start;flex-direction:column;gap:.75rem}.banner-button{width:100%}}.app-footer{background:#2c3e50;color:#fff;margin-top:auto;padding:1.5rem 2rem .5rem;position:relative;z-index:0}.app-footer,.footer-content{box-sizing:border-box;width:100%}.footer-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:20% 60% 20%;margin-bottom:.5rem}.footer-section{min-width:0;position:relative}@media (max-width:768px){.footer-content{grid-template-columns:1fr}}.footer-section h4{color:#fff;font-size:1rem;margin-bottom:.5rem}.footer-section p{color:#bdc3c7;font-size:.95rem;line-height:1.4;margin:0}.footer-section a{color:#667eea;text-decoration:none;transition:color .2s}.footer-section a:hover{color:#5568d3}.language-select-wrapper{position:relative;width:100%;z-index:1}.language-select-button{background:#34495e;border:1px solid #34495e;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;text-align:left;transition:all .2s ease;width:100%}.language-select-button:hover{background:#3d566e;border-color:#455a6f}.language-select-button:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.language-dropdown{background:#34495e;border:1px solid #455a6f;border-radius:10px;bottom:calc(100% + 4px);box-shadow:0 -4px 12px #0000004d;left:0;overflow:hidden;padding:.35rem;position:absolute;right:0;z-index:10000}.language-option{border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:.2rem;padding:.5rem .75rem;transition:all .2s ease}.language-option:last-child{margin-bottom:0}.language-option:hover{background:#ffffff1a}.language-option.selected{background:#667eea33;color:#a5b4fc}.footer-bottom{border-top:1px solid #34495e;padding-top:.5rem;text-align:center;width:100%}.footer-bottom p{color:#95a5a6;font-size:.85rem;line-height:1.2;margin:0}.auth-page,.login-container{background:#f5f5f5}.login-container{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.login-box{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:2rem;width:100%}.login-box h2{color:#000;font-weight:600;margin-bottom:1.5rem;text-align:center}.form-group input{border:1px solid #ddd;border-radius:5px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.btn-primary{padding:.75rem;transition:background .3s}.register-links{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;text-align:center}.register-links a{color:#667eea;text-decoration:none}.register-links a:hover{text-decoration:underline}.auth-page{flex-direction:column;min-height:100vh}.auth-page,.register-container{background:#faf8f3;display:flex}.register-container{align-items:center;flex:1 1;justify-content:center;padding:2rem}.register-box{background:#faf8f3;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:600px;padding:2.5rem;width:100%}.register-box h2{color:#000;font-weight:600;margin-bottom:1.5rem;text-align:left}.form-group label:not(.checkbox-label):after{color:#e74c3c;content:" *"}.form-group input:not(.phone-number-input):not([type=checkbox]),.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:.875rem;height:44px;line-height:1.5;transition:all .2s;width:520px}.form-group input::-webkit-input-placeholder,.form-group input::placeholder{color:#999}.form-group input::-moz-placeholder{color:#999;opacity:1}.form-group input:-ms-input-placeholder{color:#999}.form-group input:not(.phone-number-input):focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;max-width:100%!important;width:520px!important}.form-select option:first-child{color:#999}.form-date{position:relative}.form-date::-webkit-calendar-picker-indicator{cursor:pointer;height:20px;opacity:.6;position:absolute;right:1rem;width:20px}.form-date::-webkit-calendar-picker-indicator:hover{opacity:1}.form-date::-webkit-datetime-edit-day-field,.form-date::-webkit-datetime-edit-month-field,.form-date::-webkit-datetime-edit-text,.form-date::-webkit-datetime-edit-year-field{color:#999}.form-date:focus::-webkit-datetime-edit-day-field,.form-date:focus::-webkit-datetime-edit-month-field,.form-date:focus::-webkit-datetime-edit-text,.form-date:focus::-webkit-datetime-edit-year-field,.form-date:valid::-webkit-datetime-edit-day-field,.form-date:valid::-webkit-datetime-edit-month-field,.form-date:valid::-webkit-datetime-edit-text,.form-date:valid::-webkit-datetime-edit-year-field{color:#333}.checkbox-label input[type=checkbox]:hover{border-color:#667eea}.error{background:#fee;border-radius:5px;color:#e74c3c;margin-bottom:1rem;padding:.5rem;text-align:center}.password-error{color:#e74c3c;font-size:.875rem;line-height:1.4;margin-top:.5rem}.btn-primary{background:#000;width:100%}.btn-primary:hover{background:#333;box-shadow:0 4px 8px #0003}.login-link{font-size:.875rem;margin-top:1.5rem;text-align:center}.login-link a{color:#667eea;font-size:.875rem;text-decoration:none}.login-link a:hover{text-decoration:underline}.register-link{font-size:.875rem;margin-top:1rem;text-align:center}.register-link a{color:#667eea;font-size:.875rem;text-decoration:none}.register-link a:hover{text-decoration:underline}.form-group .country-phone-input-wrapper{border:1px solid #ddd!important;border-radius:8px;box-sizing:border-box;height:44px;max-width:100%;width:520px}.form-group .country-phone-input-wrapper:focus-within{border-color:#667eea!important;box-shadow:0 0 0 3px #667eea1a}.form-group .country-phone-input-wrapper .country-selector-button{align-items:center;display:flex;height:100%;justify-content:center;padding:.75rem;width:140px}.form-group .country-phone-input-wrapper .phone-number-input{font-size:.875rem!important;height:100%;padding:.75rem 1rem!important}.phone-verification{margin-top:.5rem}.phone-verification label{color:#000;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.btn-secondary{border:1px solid #d1d5db;border-radius:6px;color:#333;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f5f5f5}.btn-secondary:disabled{background:#f5f5f5;cursor:not-allowed}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.country-phone-input-wrapper{align-items:stretch;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;display:flex;gap:0;max-width:100%;overflow:visible;position:relative;transition:all .15s ease;width:100%}.country-phone-input-wrapper:hover{border-color:#9ca3af}.country-phone-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.country-selector{flex-shrink:0;position:relative;z-index:10}.country-selector-button{align-items:center;align-self:stretch;background:#fff;border:none;border-radius:8px 0 0 8px;border-right:1px solid #e5e7eb;box-sizing:border-box;cursor:pointer;display:flex;flex-shrink:0;gap:.5rem;height:100%;justify-content:center;padding:.75rem;transition:all .2s;width:140px}.country-selector-button:hover:not(:disabled){background:#f5f5f5}.country-selector-button:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.country-flag{font-size:1.2rem;line-height:1}.country-code{color:#333;font-size:.875rem;font-weight:500}.country-arrow{color:#666;font-size:.7rem;margin-left:auto}.country-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;max-height:400px;overflow:hidden;position:absolute;top:calc(100% + 4px);width:200px;z-index:1000}.country-list{max-height:300px;overflow-y:auto}.country-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;transition:background .2s}.country-item:hover{background:#f5f5f5}.country-item.selected{background:#e3f2fd}.country-item .country-flag{flex-shrink:0;font-size:1rem}.country-item .country-name{color:#333;flex:1 1;font-size:.8rem}.country-item .country-dial-code{color:#666;font-size:.75rem;font-weight:500;margin-left:auto}.country-item.no-results{color:#999;cursor:default;font-style:italic;justify-content:center}.country-item.no-results:hover{background:#0000}.phone-number-input{background:#0000;border:none!important;border-radius:0 8px 8px 0;box-sizing:border-box;color:#333!important;flex:1 1;font-family:inherit!important;font-size:.875rem!important;height:100%;line-height:1.5!important;min-width:0;outline:none;padding:.75rem 1rem!important;transition:all .15s ease}.phone-number-input:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.phone-number-input::placeholder{color:#999}.phone-input-wrapper .country-phone-input-wrapper{flex:1 1;min-width:0;width:100%}.phone-input-wrapper .country-phone-input-wrapper.phone-input-disabled{background:#f5f5f5}.phone-input-wrapper .country-phone-input-wrapper.phone-input-disabled .country-selector-button,.phone-input-wrapper .country-phone-input-wrapper.phone-input-disabled .phone-number-input{background:#f5f5f5;color:#666}.country-phone-input-wrapper .phone-number-input,.phone-input-wrapper .country-phone-input-wrapper .phone-number-input{padding:.75rem 1rem!important}.audio-recorder{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;max-width:820px;width:100%}.audio-recorder-error{background:#fee;border-radius:5px;color:#e74c3c;font-size:.875rem;margin-bottom:1rem;padding:.5rem;text-align:center}.audio-recorder-controls{flex-direction:column;gap:1.25rem}.audio-control-wrapper,.audio-recorder-controls{align-items:center;display:flex;max-width:820px;width:100%}.audio-control-wrapper{gap:1rem;justify-content:center}.media-shell{background:linear-gradient(180deg,#0b1220,#0f172a);border:1px solid #1f2937;border-radius:16px;box-shadow:0 16px 36px #00000040;max-width:820px;min-height:320px;overflow:hidden;position:relative;width:100%}.media-overlay-placeholder{background:radial-gradient(circle at 20% 20%,#ffffff0d,#0000 35%),radial-gradient(circle at 80% 30%,#ffffff0f,#0000 40%),#0f172acc;font-size:.95rem;inset:0;pointer-events:none;position:absolute}.media-overlay-placeholder,.media-placeholder{align-items:center;color:#cbd5e1;display:flex;justify-content:center}.media-placeholder{background:#0f172a;border:1px dashed #334155;border-radius:12px;height:240px}.btn-record-rerecord,.btn-record-start,.btn-record-stop{border-radius:12px;box-shadow:0 10px 25px #00000014;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;min-width:240px;outline:none;padding:1rem 2.2rem;transition:none}.btn-record-start,.btn-record-start:hover{background:linear-gradient(135deg,#4a6cf7,#667eea)}.btn-record-stop{transform:none}.btn-record-stop,.btn-record-stop:hover{background:linear-gradient(135deg,#f44336,#d32f2f)}.btn-record-rerecord,.btn-record-rerecord:hover{background:linear-gradient(135deg,#4a6cf7,#667eea)}.record-icon{background:#ffffff40;border:2px solid #fff;box-shadow:0 0 0 6px #ffffff1f;height:18px;position:relative;width:18px}.recording-timer-wrapper{align-items:center;display:flex;gap:.5rem}.recording-time{color:#e2e8f0;font-size:.95rem;min-width:56px;text-align:right}.recording-dot{background:#e2e8f0;border-radius:50%;flex-shrink:0;height:10px;opacity:.3;width:10px}.recording-dot-active{animation:pulse 1.5s ease-in-out infinite;background:#e74c3c;opacity:1}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.stop-icon{border-radius:3px;height:14px;width:14px}.audio-recorder-playback{align-items:flex-start;margin-top:0;min-height:0;text-align:left;width:100%}.audio-recorder-playback,.recording-info{display:flex;flex-direction:column;gap:.25rem}.recording-info{align-items:center;color:#e2e8f0;font-size:.95rem}.warning-inline{color:#facc15;font-size:.9rem;padding-top:.25rem}.recording-info .warning{color:#e74c3c;font-size:.75rem}.media-player{background:#0f172a;border-radius:0;height:100%;width:100%}.audio-player{height:64px}.video-player{aspect-ratio:16/9;background:linear-gradient(180deg,#111827,#0b1220);max-height:520px}.audio-actions{display:flex;gap:1rem;justify-content:center}.btn-rerecord{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-rerecord:hover{background:#e5e5e5;border-color:#ccc}.questionnaire-page{background:#faf8f3;display:flex;flex-direction:column;min-height:100vh}.questionnaire-container{align-items:flex-start;background:#faf8f3;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;margin:1.5rem auto;padding:0;width:70%}.questionnaire-step{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;padding:4rem 3rem;width:100%}.questionnaire-header{margin-bottom:2rem;text-align:left}.questionnaire-icon{font-size:3rem;margin-bottom:1rem}.questionnaire-header h1{color:#000;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.questionnaire-intro{color:#666;font-size:.875rem;line-height:1.6;margin:0;max-width:520px}.questionnaire-edit-link{font-size:.875rem;margin-top:1rem}.questionnaire-edit-link span{color:#667eea;cursor:pointer;text-decoration:underline;transition:color .2s}.questionnaire-edit-link span:hover{color:#5568d3}.questionnaire-form{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;width:100%}.form-group{align-items:flex-start;margin-bottom:1rem}.form-group:has(.radio-group){margin-bottom:1rem}.form-group .radio-group{margin-top:.5rem}.form-group label{color:#000;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;max-width:100%;text-align:left;width:520px}.form-group label:after,.questionnaire-form .form-group label:after,.questionnaire-form label:after{content:none!important}.help-icon{background:#ddd;border-radius:50%;color:#666;cursor:help;display:inline-block;font-size:.75rem;height:16px;line-height:16px;margin-left:.5rem;text-align:center;width:16px}.radio-group{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem;margin-bottom:0;margin-top:.25rem;width:-webkit-fit-content;width:fit-content}.radio-label{align-items:center;cursor:pointer;display:inline-flex;font-weight:400;gap:.3rem;line-height:1.5;margin:0;padding:0;vertical-align:middle}.radio-label input[type=radio]{accent-color:#667eea;border:none!important;cursor:pointer;flex-shrink:0;height:10px!important;margin:0 .3rem 0 0!important;max-width:10px!important;min-width:10px!important;padding:0!important;transform:scale(1);width:10px!important}.form-date,.form-select,.radio-label span{color:#333;font-size:.875rem}.form-date,.form-select{background:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;height:44px;line-height:1.5;max-width:100%;padding:.75rem 1rem;transition:all .2s;width:520px}.form-select:invalid{color:#999}.form-select option{color:#333}.form-select option[value=""]{color:#999}.form-date{color:#999!important;padding-right:2.5rem!important}.form-date:focus,.form-date:valid{color:#333!important}.certificate-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.certificate-btn{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;font-size:.75rem;padding:.5rem 1rem;transition:all .2s}.certificate-btn:hover{background:#f5f5f5;border-color:#667eea}.certificate-btn.active{background:#667eea;border-color:#667eea;color:#fff}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:0;line-height:1.5;margin-bottom:0;padding:0}.checkbox-label:after{content:none!important}.checkbox-label input[type=checkbox]{accent-color:#667eea;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;border:1.5px solid #ddd;border-radius:4px;cursor:pointer;flex-shrink:0;height:20px;margin:0 .75rem 0 0;min-width:20px;padding:0;position:relative;transition:all .2s;vertical-align:middle;width:20px}.checkbox-label input[type=checkbox]:checked{background-color:#667eea;border-color:#667eea}.checkbox-label input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-60%) rotate(45deg);width:5px}.checkbox-label span{color:#333;display:inline-block;flex:1 1;font-size:.875rem;line-height:1.5;margin-top:0;vertical-align:middle}.checkbox-label span a{color:#667eea;cursor:pointer;text-decoration:none}.checkbox-label span a:hover{text-decoration:underline}.btn-primary{font-size:.875rem;margin-top:.5rem;max-width:100%;padding:.875rem;width:520px}.btn-primary:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.btn-primary.btn-disabled,.btn-primary:disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:.6}.btn-primary.btn-disabled:hover,.btn-primary:disabled:hover{box-shadow:none;transform:none}.audio-test-header{margin-bottom:2rem;text-align:left}.microphone-icon{display:none}.audio-test-header h1{color:#000;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:left}.audio-task{align-items:center;background:#f8f9fa;border:1px solid #e0e6f1;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;gap:.5rem;margin:0 auto 2rem;max-width:800px;padding:2rem;text-align:center}.audio-task .task-title{color:#334155;font-size:.95rem;font-weight:700;letter-spacing:.03em;text-align:center;text-transform:uppercase}.audio-task .task-body{color:#444;font-size:.95rem;line-height:1.7;text-align:center}.questionnaire-step .audio-recorder{margin:0 auto}.questionnaire-step .audio-recorder .audio-recorder-playback{align-items:center;text-align:center}.questionnaire-step .audio-recorder .warning-inline{text-align:center;width:100%}.questionnaire-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-next{background:#ccc;border:1px solid #ccc;border-radius:8px;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.btn-next.btn-next-active{background:#667eea;border-color:#667eea;color:#fff}.btn-next.btn-next-active:hover:not(:disabled){background:#5568d3;border-color:#5568d3;box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.btn-next:disabled{cursor:not-allowed;opacity:.6}.btn-listen-rerecord{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.btn-listen-rerecord:hover{background:#5568d3}.question-header{margin-bottom:2rem;text-align:left}.question-number{color:#666;display:block;font-size:.875rem;margin-bottom:.5rem;text-align:left}.question-header h2{color:#000;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:left}.question-instruction{color:#666;font-size:.875rem;line-height:1.6;text-align:left}.question-box{background:#f8f9fa;border:1px solid #e0e6f1;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin:0 auto 2rem;max-width:800px;padding:2rem;text-align:left}.question-box h3{border-bottom:2px solid #e0e6f1;color:#334155;font-size:1.125rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem;text-align:left}.question-text{color:#334155;font-size:.9375rem;line-height:1.7;text-align:left;white-space:pre-line}.question-text p{margin:.75rem 0}.question-text p:first-child{margin-top:0}.question-text p:last-child{margin-bottom:0}.question-text strong{color:#1e293b;font-size:1rem;font-weight:700}.question-list{list-style:none;margin:1rem 0;padding-left:0}.question-list li{color:#475569;line-height:1.6;margin-bottom:.75rem;padding-left:1.75rem;position:relative}.question-list li:before{color:#667eea;content:"•";font-size:1.1rem;font-weight:700;left:.5rem;position:absolute;top:.1rem}.question-list li:last-child{margin-bottom:0}.final-step{padding:4rem 2rem;text-align:center}.final-icon{font-size:5rem;margin-bottom:2rem}.final-step h1{color:#000;font-size:2rem;font-weight:700;margin-bottom:1rem}.final-message{color:#333;font-size:1.25rem;margin-bottom:.5rem}.final-submessage{color:#666;font-size:.875rem;margin-bottom:2rem}.final-email-message{color:#666;font-size:.875rem;line-height:1.6;margin:0 auto;max-width:400px}.cv-upload-wrapper{display:flex;flex-direction:column;gap:.75rem;max-width:100%;width:520px}.cv-upload-button{align-items:center;background:#fff;border:2px solid #667eea;border-radius:25px;color:#667eea;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.75rem 1.5rem;transition:all .2s;width:-webkit-fit-content;width:fit-content}.cv-upload-button:hover{background:#667eea;box-shadow:0 4px 8px #667eea4d;color:#fff;transform:translateY(-1px)}.cv-file-input{height:0;opacity:0;overflow:hidden;position:absolute;width:0;z-index:-1}.cv-upload-text{pointer-events:none}.cv-file-name{align-items:center;background:#f5f7fb;border:1px solid #e0e6f1;border-radius:20px;color:#334155;display:inline-flex;font-size:.875rem;font-weight:500;line-height:1.4;max-width:100%;padding:.625rem 1.25rem;width:-webkit-fit-content;width:fit-content;word-break:break-word}.success-icon-circle{align-items:center;background-color:#10b981;border-radius:50%;box-shadow:0 2px 8px #10b9814d;display:flex;height:80px;justify-content:center;margin:0 auto 2rem;width:80px}.success-checkmark{height:52px;width:52px}.success-checkmark-circle{stroke:#10b981;stroke-width:2;stroke-linecap:round;fill:none;stroke-dasharray:166;stroke-dashoffset:166;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.success-checkmark-check{stroke-dasharray:48;stroke-dashoffset:48;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;animation:stroke .3s cubic-bezier(.65,0,.45,1) .6s forwards;transform-origin:50% 50%}@keyframes stroke{to{stroke-dashoffset:0}}.success-title{color:#1f2937;font-size:2.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.success-message{color:#4b5563;font-size:1rem;line-height:1.6;margin:0 auto;max-width:600px;text-align:center}@media (max-width:768px){.questionnaire-container{margin:1.5rem auto;width:90%}.questionnaire-step{padding:3rem 2rem}.success-title{font-size:2rem}.success-message{font-size:.9375rem}}.verify-email-page{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.verify-email-container{align-items:center;background:#f5f5f5;display:flex;flex:1 1;justify-content:center;padding:2rem}.verify-email-box{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;max-width:500px;padding:2.5rem;width:100%}.verify-email-header{margin-bottom:2rem;text-align:center}.verify-icon{font-size:3rem;margin-bottom:1rem}.verify-email-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.verify-info{margin-bottom:2rem}.info-box{align-items:flex-start;background:#e3f2fd;border-radius:6px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.info-icon{flex-shrink:0;font-size:1.2rem}.info-box p{color:#333;font-size:.95rem;line-height:1.5;margin:0}.info-box strong{color:#1976d2}.verify-instructions{color:#666;font-size:.9rem;line-height:1.5;margin:0}.verify-form{gap:1.5rem}.code-input-group,.verify-form{display:flex;flex-direction:column}.code-input-group{gap:.75rem}.code-input-group label{color:#333;font-size:.9rem;font-weight:500}.code-inputs{display:flex;gap:.5rem;justify-content:center}.code-input{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#333;font-size:1.5rem;font-weight:600;height:60px;text-align:center;transition:all .2s;width:50px}.code-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.code-hint{color:#999;font-size:.85rem;margin:0;text-align:center}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:.9rem;padding:.75rem;text-align:center}.btn-verify{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s;width:100%}.btn-verify:hover:not(:disabled){background:#5568d3;box-shadow:0 2px 4px #667eea4d;transform:translateY(-1px)}.btn-verify:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-back{align-items:center;border:1px solid #d1d5db;border-radius:6px;color:#333;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem;width:100%}.btn-back:hover{background:#f5f5f5;border-color:#9ca3af}.resend-section{border-top:1px solid #e5e7eb;padding-top:1rem;text-align:center}.resend-section p{color:#666;font-size:.9rem;margin:0 0 .5rem}.btn-resend{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:500;padding:.25rem .5rem;text-decoration:underline;transition:color .2s}.btn-resend:hover:not(:disabled){color:#5568d3}.btn-resend:disabled{color:#999;cursor:not-allowed;text-decoration:none}@media (max-width:768px){.verify-email-box{padding:2rem 1.5rem}.code-input{font-size:1.3rem;height:55px;width:45px}}.schedule-range-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1100}.schedule-range-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:420px;overflow:hidden;width:100%}.schedule-range-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.25rem}.schedule-range-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.schedule-range-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.schedule-range-close:hover{color:#111827}.schedule-range-body{padding:1.25rem}.schedule-range-when{color:#374151;font-size:.9375rem;margin:0 0 .25rem}.schedule-range-time{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.schedule-range-hint{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.schedule-range-actions{display:flex;flex-direction:column;gap:.5rem;padding:0 1.25rem 1.25rem}.schedule-range-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.75rem 1rem;transition:background .15s}.schedule-range-btn:disabled{cursor:not-allowed;opacity:.6}.schedule-range-btn--permanent{background:#667eea;color:#fff}.schedule-range-btn--permanent:hover:not(:disabled){background:#5568d3}.schedule-range-btn--week{background:#e0e7ff;color:#4338ca}.schedule-range-btn--week:hover:not(:disabled){background:#c7d2fe}.schedule-range-btn--cancel{background:#f3f4f6;color:#374151}.schedule-range-btn--cancel:hover:not(:disabled){background:#e5e7eb}.schedule-container{background:#0000;display:flex;flex-direction:column;height:calc(100vh - 10rem);max-height:calc(100vh - 10rem);min-height:0;overflow:hidden}.schedule-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem}.schedule-title{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.schedule-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;min-width:0}.schedule-nav-btn{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:28px}.schedule-nav-btn:hover{background:#e5e7eb;color:#111827}.schedule-week{color:#111827;flex-shrink:0;font-size:.875rem;font-weight:600;max-width:200px;min-width:160px;text-align:center}.schedule-today-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.35rem .65rem;transition:all .2s}.schedule-today-btn:hover{background:#5568d3}.schedule-hint{color:#6b7280;flex-shrink:0;font-size:.75rem;margin:0 0 .5rem}.schedule-empty,.schedule-loading{color:#6b7280;font-size:1rem;padding:4rem;text-align:center}.schedule-calendar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex:1 1;min-height:0;overflow:hidden}.schedule-time-column{border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;min-height:0;min-width:42px;width:42px}.schedule-time-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;height:36px}.schedule-time-grid{background:#f9fafb;flex:1 1;min-height:0;position:relative}.schedule-time-cell{align-items:center;color:#9ca3af;display:flex;font-size:.5625rem;justify-content:center;left:0;line-height:1;pointer-events:none;position:absolute;right:0;transform:translateY(-50%)}.schedule-days-container{overflow:hidden}.schedule-day-column,.schedule-days-container{display:flex;flex:1 1;min-height:0;min-width:0}.schedule-day-column{border-right:1px solid #e5e7eb;flex-direction:column}.schedule-day-column:last-child{border-right:none}.schedule-day-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;gap:0;height:36px;justify-content:center;padding:.15rem}.schedule-day-header.today{background:#dbeafe;border-bottom:2px solid #3b82f6}.schedule-day-number{color:#111827;font-size:.875rem;font-weight:600;line-height:1.1}.schedule-day-name{color:#6b7280;font-size:.625rem;line-height:1.1;text-transform:uppercase}.schedule-day-grid{background:#fff;cursor:crosshair;flex:1 1;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.schedule-grid-line{border-top:1px solid #f3f4f6;left:0;pointer-events:none;position:absolute;right:0}.schedule-availability-block{background:#a5b4fc;border-left:3px solid #6366f1;border-radius:4px;box-sizing:border-box;left:3px;overflow:visible;position:absolute;right:3px;z-index:1}.schedule-availability-block.is-hovered{box-shadow:0 2px 8px #6366f159;z-index:2}.schedule-resize-handle{height:8px;left:0;opacity:0;position:absolute;right:0;transition:opacity .15s;z-index:6}.schedule-availability-block.is-hovered .schedule-resize-handle,.schedule-availability-block:active .schedule-resize-handle{opacity:1}.schedule-resize-handle--top{border-radius:4px 4px 0 0;cursor:ns-resize;top:0}.schedule-resize-handle--top:after{background:#4338ca;border-radius:2px;content:"";height:3px;left:50%;opacity:.6;position:absolute;top:2px;transform:translateX(-50%);width:24px}.schedule-resize-handle--bottom{border-radius:0 0 4px 4px;bottom:0;cursor:ns-resize}.schedule-resize-handle--bottom:after{background:#4338ca;border-radius:2px;bottom:2px;content:"";height:3px;left:50%;opacity:.6;position:absolute;transform:translateX(-50%);width:24px}.schedule-availability-body{align-items:flex-start;bottom:8px;box-sizing:border-box;cursor:grab;display:flex;left:0;padding:2px 4px;position:absolute;right:0;top:8px}.schedule-availability-body:active{cursor:grabbing}.schedule-availability-label{color:#312e81;flex:1 1;font-size:.5625rem;font-weight:600;min-width:0;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.schedule-block-toolbar{display:flex;gap:4px;position:absolute;right:2px;top:2px;z-index:3}.schedule-block-toolbar-btn{border:none;border-radius:4px;cursor:pointer;font-size:.5625rem;font-weight:600;line-height:1.3;padding:2px 6px;white-space:nowrap}.schedule-block-toolbar-btn--danger{background:#fff;box-shadow:0 1px 3px #00000026;color:#dc2626}.schedule-block-toolbar-btn--danger:hover{background:#fef2f2}.schedule-drag-preview{background:#6366f140;border:2px dashed #6366f1;border-radius:4px;left:3px;pointer-events:none;position:absolute;right:3px;z-index:2}.schedule-drag-preview--active{background:#6366f166;border-style:solid;z-index:5}.schedule-lesson-block{align-items:flex-start;border-radius:4px;box-shadow:0 1px 2px #0000001f;box-sizing:border-box;cursor:pointer;display:flex;left:3px;overflow:hidden;padding:2px 4px;pointer-events:auto;position:absolute;right:3px;z-index:10}.schedule-lesson-block:hover{filter:brightness(1.05);z-index:11}.schedule-lesson-name{color:#fff;font-size:.5625rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.lesson-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:500px;width:100%}.lesson-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.lesson-modal-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.lesson-modal-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:color .2s;width:2rem}.lesson-modal-close:hover{color:#111827}.lesson-modal-content{padding:1.5rem}.lesson-info-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.75rem 0}.lesson-info-item:last-child{border-bottom:none}.lesson-info-label{color:#6b7280;font-size:.875rem;font-weight:500}.lesson-info-value{color:#111827;font-size:.875rem;font-weight:600}.lesson-modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.btn-cancel-lesson{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.btn-cancel-lesson:hover:not(:disabled){background:#dc2626}.btn-cancel-lesson:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.btn-close-modal{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.btn-close-modal:hover{background:#e5e7eb}@media (max-width:768px){.schedule-container{height:calc(100vh - 8rem);max-height:calc(100vh - 8rem)}.schedule-time-column{min-width:36px;width:36px}.schedule-week{font-size:.75rem;max-width:140px;min-width:120px}}.video-test-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.video-test-title{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:2rem}.video-test-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:1.5rem;padding:1rem}.video-test-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.video-test-column,.video-test-section{display:flex;flex-direction:column;gap:1rem}.video-test-section-title{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.video-playback-container,.video-preview-container{aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden;position:relative;width:100%}.video-playback,.video-preview{height:100%;object-fit:contain;width:100%}.video-placeholder{color:#9ca3af;font-size:.875rem;left:50%;padding:1rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.video-test-column .video-controls,.video-test-container .video-controls{background:#f9fafb;border-radius:8px;bottom:auto!important;display:flex;gap:1rem;justify-content:center;margin-top:1rem;padding:1rem;position:static!important;right:auto!important;z-index:auto}.btn-record-rerecord,.btn-record-start,.btn-record-stop{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-record-start{background:#10b981;color:#fff}.btn-record-start:hover{background:#059669}.btn-record-stop{background:#ef4444;color:#fff}.btn-record-stop:hover{background:#dc2626}.btn-record-rerecord{background:#6b7280;color:#fff}.btn-record-rerecord:hover{background:#4b5563}.record-icon{border-radius:50%}.record-icon,.stop-icon{background:#fff;display:inline-block;height:12px;width:12px}.recording-time{font-weight:600;margin-left:.5rem}.video-checks{background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1rem}.video-check-item{color:#374151;gap:.75rem}.video-check-item,.video-check-status{align-items:center;display:flex;font-size:.875rem}.video-check-status{border-radius:50%;font-weight:600;height:24px;justify-content:center;width:24px}.video-check-status.available{background:#d1fae5;color:#065f46}.video-check-status.unavailable{background:#fee2e2;color:#991b1b}.video-check-status.pending{background:#e5e7eb;color:#6b7280}@media (max-width:1024px){.video-test-content{grid-template-columns:1fr}}.placeholder-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.placeholder-title{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.placeholder-message{color:#6b7280;font-size:1rem;padding:2rem;text-align:center}.dashboard{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.page-title{color:#333;margin:2rem 0 1rem;text-align:center}.dashboard-main{flex:1 1;margin:1.5rem 0;padding:0;width:100%}.dashboard-container{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;margin:0 auto;min-height:600px;padding:3rem;width:60%}.dashboard-main h2{color:#333;margin-bottom:2rem}.dashboard-main h3{color:#666;margin-bottom:2rem;text-align:left}.teachers-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.teacher-card{border-radius:10px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.teacher-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.teacher-card h3{color:#333;margin-bottom:.5rem;text-align:left}.teacher-username{color:#666;font-size:.9rem;margin-bottom:1rem}.teacher-bio{color:#555;margin-bottom:1rem}.btn-enter-classroom{background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background .3s;width:100%}.btn-enter-classroom:hover{background:#5568d3}.teacher-dashboard{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.dashboard-layout{display:flex;flex:1 1;min-height:calc(100vh - 140px)}.dashboard-sidebar{background:#fff;border-right:1px solid #e5e7eb;box-sizing:border-box;display:flex;flex-direction:column;padding:1.5rem 0;width:15rem}.sidebar-logo{align-items:center;cursor:pointer;display:flex;gap:.75rem;margin-bottom:2rem;padding:0 1.5rem}.sidebar-logo-img{height:32px;object-fit:contain;width:32px}.sidebar-logo-text{color:#000;font-size:1.25rem;font-weight:600}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem}.nav-item{align-items:center;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.95rem;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s}.nav-item:hover{background-color:#f3f4f6}.nav-item.active{background-color:#e0e7ff;color:#667eea;font-weight:500}.nav-text{flex:1 1}.sidebar-divider{background:#e5e7eb;height:1px;margin:1.5rem .75rem}.sidebar-section{padding:0 .75rem}.sidebar-section-title{color:#9ca3af;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;padding:0 1rem;text-transform:uppercase}.dashboard-content{background:#f5f5f5;flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.dashboard-content--schedule{display:flex;flex-direction:column;max-height:calc(100vh - 140px);overflow:hidden}.dashboard-content--schedule .schedule-container{flex:1 1;height:auto;max-height:none;min-height:0}.dashboard-header{align-items:center;color:#374151;display:flex;font-size:1rem;gap:.5rem;margin-bottom:2rem}.greeting{font-weight:500}.time-zone{color:#9ca3af;font-size:.875rem}.dashboard-widgets{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-auto-rows:minmax(200px,auto);grid-template-columns:repeat(2,minmax(0,1fr))}.widget{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;min-width:0;overflow:hidden;padding:1.5rem}.widget-title{color:#111827;font-size:1rem;font-weight:600;margin-bottom:1rem}.next-lesson-info{gap:1rem}.lesson-student,.next-lesson-info{display:flex;flex-direction:column}.lesson-student{gap:.5rem}.student-name{color:#111827;font-size:1.125rem;font-weight:600}.lesson-platform,.lesson-time{color:#6b7280;font-size:.875rem}.no-lesson{align-items:center;color:#9ca3af;display:flex;flex-direction:column;font-style:italic;gap:.5rem}.no-lesson p{margin:0}.lesson-actions{display:flex;gap:.75rem}.btn-widget{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:2.5rem;justify-content:center;margin:0;padding:.625rem 1.25rem;transition:all .2s}.btn-widget.btn-primary{background:#667eea;color:#fff}.btn-widget.btn-primary:hover{background:#5568d3}.btn-widget.btn-secondary{background:#f3f4f6;color:#374151}.btn-widget.btn-secondary:hover{background:#e5e7eb}.btn-widget.btn-primary.disabled,.btn-widget.btn-primary:disabled{background:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.btn-widget.btn-primary.disabled:hover,.btn-widget.btn-primary:disabled:hover{background:#9ca3af}.lesson-status{color:#6b7280;font-size:.75rem;margin-top:.5rem}.notification-content{position:relative}.notification-question{color:#374151;font-size:.95rem;line-height:1.5;margin-bottom:.75rem}.notification-links{color:#6b7280;font-size:.875rem;line-height:1.6}.notification-link{color:#667eea;cursor:pointer;text-decoration:none}.notification-link:hover{text-decoration:underline}.notification-emoji{font-size:2rem;position:absolute;right:0;top:0}.widget-kpi{display:none;grid-column:1;grid-row:2}.kpi-list{gap:1rem}.kpi-item,.kpi-list{display:flex;flex-direction:column}.kpi-item{gap:.5rem}.kpi-label{color:#374151;font-size:.875rem;font-weight:500}.kpi-progress{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.kpi-progress-bar{border-radius:4px;height:100%;transition:width .3s}.kpi-status{color:#10b981;font-size:.875rem;font-weight:500;margin-top:-.25rem}.stats-content{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem}.stats-number{color:#111827;font-size:1.5rem;font-weight:700}.stats-number-large{color:#111827;font-size:2.5rem;font-weight:700}.stats-message{color:#6b7280;font-size:1rem}.calendar-content{display:flex;flex-direction:column;gap:1rem}.calendar-empty,.calendar-loading{color:#6b7280;font-size:.875rem;padding:2rem;text-align:center}.calendar-lessons-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.calendar-lesson-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;padding:.75rem;transition:all .2s}.calendar-lesson-item.future{background:#f0f9ff;border-color:#bae6fd}.calendar-lesson-item.past{background:#f9fafb;border-color:#e5e7eb;opacity:.8}.calendar-lesson-item.completed{background:#f0fdf4;border-color:#bbf7d0}.calendar-lesson-item.cancelled{background:#fef2f2;border-color:#fecaca;opacity:.7}.calendar-lesson-date{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;justify-content:center;min-width:50px;padding:.5rem}.calendar-lesson-day{color:#111827;font-size:1.25rem;font-weight:700;line-height:1}.calendar-lesson-month{color:#6b7280;font-size:.75rem;margin-top:.25rem;text-transform:capitalize}.calendar-lesson-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.calendar-lesson-time{color:#111827;font-size:.875rem;font-weight:600}.calendar-lesson-teacher{color:#6b7280;font-size:.875rem}.calendar-lesson-status{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.25rem}.calendar-add-btn{margin-top:1rem}.student-calendar{width:100%}.calendar-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.calendar-month-year{align-items:center;display:flex;flex:1 1;gap:.5rem;justify-content:center}.calendar-month{color:#111827;font-size:.875rem;font-weight:600}.calendar-year{color:#6b7280;font-size:.875rem}.calendar-nav-btn{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .2s;width:28px}.calendar-nav-btn:hover{background:#e5e7eb;color:#111827}.calendar-today-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.375rem .75rem;transition:background .2s}.calendar-today-btn:hover{background:#5568d3}.calendar-grid{grid-gap:.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.75rem;font-weight:600;padding:.5rem .25rem;text-align:center}.calendar-day-cell{background:#fff;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.125rem;min-height:50px;overflow:hidden;padding:.25rem;position:relative}.calendar-day-cell.empty{background:#f9fafb;border-color:#f3f4f6}.calendar-day-cell.today{background:#dbeafe;border-color:#3b82f6}.calendar-day-number{color:#111827;font-size:.75rem;font-weight:600}.calendar-day-cell.today .calendar-day-number{color:#3b82f6}.calendar-day-lessons{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-x:hidden;overflow-y:auto}.calendar-day-lesson{border-radius:3px;cursor:pointer;font-size:.625rem;min-width:0;overflow:hidden;padding:.125rem .25rem;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.calendar-day-lesson.future{background:#dbeafe;color:#1e40af}.calendar-day-lesson.past{background:#f3f4f6;color:#6b7280}.calendar-day-lesson.completed{background:#d1fae5;color:#065f46}.calendar-day-lesson.cancelled{background:#fee2e2;color:#991b1b;text-decoration:line-through}.calendar-day-lesson.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.calendar-day-lesson.clickable:hover{box-shadow:0 2px 4px #0000001a;transform:scale(1.05)}.lesson-time-small{font-weight:500}@media (max-width:768px){.calendar-grid{gap:.25rem}.calendar-day-cell{min-height:60px;padding:.25rem}.calendar-day-number{font-size:.75rem}.calendar-day-lesson{font-size:.625rem;padding:.125rem .25rem}.calendar-header{flex-wrap:wrap}.calendar-today-btn{margin-top:.5rem;width:100%}}@media (max-width:1024px){.dashboard-widgets{grid-template-columns:1fr}.widget-calendar{grid-column:1}.progress-stats{flex-direction:column;gap:1rem}}@media (max-width:768px){.dashboard-layout{flex-direction:column}.dashboard-sidebar{border-bottom:1px solid #e5e7eb;border-right:none;padding:1rem 0;width:100%}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:0 1rem}.nav-item{white-space:nowrap}.dashboard-content{padding:1rem}.dashboard-widgets{gap:1rem}.widget{padding:1rem}.calendar-lesson-item{align-items:flex-start;flex-direction:column;gap:.75rem}.calendar-lesson-date{flex-direction:row;gap:.5rem;justify-content:flex-start;min-width:auto;width:100%}.calendar-lesson-day,.calendar-lesson-month{margin:0}}@media (max-width:480px){.dashboard-content,.widget{padding:.75rem}.widget-title{font-size:.875rem}.lesson-actions{flex-direction:column;width:100%}.btn-widget{width:100%}}.lesson-history-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.history-title{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.loading-message,.no-history{color:#6b7280;font-size:1rem;padding:2rem;text-align:center}.history-table{overflow-x:auto}.history-table-content{border-collapse:collapse;font-size:.875rem;width:100%}.history-table-content thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.history-table-content th{color:#374151;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.history-table-content td{border-bottom:1px solid #e5e7eb;color:#374151;padding:1rem}.history-table-content tbody tr:hover{background:#f9fafb}.history-table-content tbody tr:last-child td{border-bottom:none}.history-status{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.history-status.status-completed{background:#d1fae5;color:#065f46}.history-status.status-cancelled{background:#fee2e2;color:#991b1b}.history-status.status-scheduled{background:#dbeafe;color:#1e40af}.completed-lessons-content{display:flex;flex-direction:column;gap:1.5rem}.progress-stats{display:flex;gap:1.5rem}.progress-item{display:flex;flex-direction:column;gap:.5rem}.progress-label{color:#6b7280;font-size:.875rem}.progress-value{color:#111827;font-size:1.5rem;font-weight:700}.completed-lessons-empty{color:#6b7280;font-size:.85rem;line-height:1.45;margin:0}.completed-lessons-link{color:#667eea;display:inline-block;font-size:.875rem;font-weight:600;margin-top:.5rem;text-decoration:none}.completed-lessons-link:hover{text-decoration:underline}.recent-lessons-list{display:flex;flex-direction:column;gap:.65rem;list-style:none;margin:0;padding:0}.recent-lessons-list--compact{margin-top:.25rem}.recent-lesson-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .75rem}.recent-lesson-partner{color:#111827;font-size:.875rem;font-weight:600}.recent-lesson-date,.recent-lesson-meta{color:#6b7280;font-size:.8rem}.recent-lesson-duration{color:#667eea;font-size:.8rem;font-weight:500}.statistics-page{max-width:900px;width:100%}.statistics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000a;padding:1.25rem 1rem}.stat-card--primary{background:linear-gradient(180deg,#f8f9ff,#fff);border-color:#667eea59}.stat-card-value{color:#111827;font-size:1.75rem;font-weight:700;line-height:1.2}.stat-card-label{color:#6b7280;font-size:.8rem;margin-top:.35rem}.stat-card-hint{font-size:.75rem;font-weight:500;margin-top:.5rem}.stat-card-hint.positive{color:#059669}.stat-card-hint.negative{color:#dc2626}.statistics-recent-title{color:#111827;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.statistics-recent .recent-lesson-item{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}.stats-detail-row{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem 1.25rem;margin-top:.5rem}.progress-checks{display:flex;flex-direction:column;gap:.75rem}.check-item{align-items:center;display:flex;gap:.75rem;padding:.5rem 0}.check-icon{color:#667eea;font-size:1rem}.check-text{color:#374151;flex:1 1;font-size:.875rem}.check-status{color:#10b981;font-size:1rem;font-weight:600}.check-status:empty:before{color:#9ca3af;content:"—"}.materials-content{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:150px}.materials-empty{color:#6b7280;text-align:center}.materials-icon{display:block;font-size:3rem;margin-bottom:1rem}.materials-empty p{font-size:.875rem;margin:0}.video-check-content{display:flex;flex-direction:column;gap:1rem}.video-check-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.widget-add-lesson{grid-column:1/-1}.add-lesson-btn{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;justify-content:center;padding:1.5rem;transition:all .2s;width:100%}.add-lesson-btn:hover{background:#f3f4f6;border-color:#667eea;color:#667eea}.add-icon{font-size:1.5rem;font-weight:300;line-height:1}.add-text{font-size:1rem}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer .endOfContent.active{top:0}.classroom{background:#f5f5f5;min-height:100vh;overflow-x:hidden;width:100%}.classroom-content{height:calc(100vh - 80px);padding:1rem;width:100%}.classroom-content,.videos-section{box-sizing:border-box;display:flex;gap:1rem;overflow-x:hidden}.videos-section{flex-direction:column;max-width:320px;min-width:320px;overflow-y:auto;padding:0;width:320px}.classroom-main{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-x:hidden;overflow-y:auto;padding:0}.video-container{aspect-ratio:16/9;background:#000;border-radius:10px;box-sizing:border-box;max-width:100%;min-height:220px;overflow:hidden;position:relative;width:100%}.video-container h3{background:#00000080;border-radius:5px;color:#fff;font-size:.8rem;left:10px;margin:0;padding:.4rem .6rem;position:absolute;top:10px;z-index:1}.video-player{box-sizing:border-box;height:100%;object-fit:cover;width:100%}.video-controls{bottom:10px;display:flex;gap:.5rem;position:absolute;right:10px;z-index:2}.video-control-button{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.video-control-button:hover{background:#000c}.video-control-button svg{height:20px;width:20px}.video-control-button.disabled{background:#0009}.video-control-button.disabled:hover{background:#000c}.pdf-viewer{background:#fff;border-radius:10px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:1rem;width:100%}.pdf-viewer h3{color:#333;margin-bottom:1rem}.pdf-container{box-sizing:border-box;flex:1 1;flex-direction:column;max-width:100%;min-height:0;overflow:hidden}.pdf-container,.pdf-controls{align-items:center;display:flex;width:100%}.pdf-controls{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.pdf-controls-left{align-items:center;display:flex;gap:1rem}.pdf-controls-right{align-items:center;display:flex;gap:.5rem}.pdf-controls button{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:24px;color:#667eea;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;line-height:1;padding:.5rem;position:relative;transition:all .2s;white-space:nowrap;width:40px}.pdf-controls button:hover{background:#f5f5f5;border-color:#667eea;color:#5568d3}.pdf-controls button.active{background:#667eea;border-color:#667eea;color:#fff}.pdf-controls button:disabled{cursor:not-allowed}.pdf-controls button:disabled,.pdf-controls button:disabled:hover{background:#0000;border-color:#e0e0e0;color:#ccc}.pdf-controls button:has-text("🔍-"){transform:translateY(-1px)}.pdf-controls button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pdf-controls button[title=\423\43C\435\43D\44C\448\438\442\44C]{transform:translateY(-1px)}.drawing-tool-wrapper{align-items:center;display:flex;gap:.5rem}.drawing-tool-wrapper button{position:relative}.color-picker-button{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:24px;box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0;overflow:visible;padding:4px;position:relative;transition:all .2s;width:40px}.color-picker-button:hover{background:#f5f5f5;border-color:#667eea}.color-picker-hidden{border:none;cursor:pointer;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:2}.color-picker-preview{border-radius:4px;box-sizing:border-box;flex-shrink:0;height:24px;width:24px}.line-width-slider{cursor:pointer;height:40px;margin:0;width:80px}.pdf-wrapper{background:#f5f5f5;border-radius:5px;flex:1 1;min-height:400px;overflow:hidden;position:relative;width:100%}.pdf-wrapper.eraser-active:after{border:1px solid #000c;border-radius:50%;box-shadow:0 0 2px #0000004d;content:"";height:20px;height:var(--eraser-size,20px);left:0;left:var(--mouse-x,0);pointer-events:none;position:absolute;top:0;top:var(--mouse-y,0);transform:translate(-50%,-50%);width:20px;width:var(--eraser-size,20px);z-index:100}.pdf-background{pointer-events:none}.pdf-placeholder{color:#999;padding:3rem;text-align:center}.pdf-document{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;max-width:100%;overflow-x:hidden;width:100%}.pdf-document canvas{height:auto!important;max-width:100%!important}.pdf-document .react-pdf__Page,.pdf-document .react-pdf__Page__canvas,.pdf-document canvas{display:block!important;opacity:1!important;visibility:visible!important}.pdf-document .react-pdf__Page__canvas{height:auto!important;max-width:100%!important}.pdf-background{left:0;position:absolute;top:0;z-index:1}.pdf-wrapper canvas{left:0;pointer-events:auto;position:absolute;top:0;z-index:10}.pdf-wrapper .react-pdf__Page,.pdf-wrapper .react-pdf__Page__canvas{display:block!important;margin:0 auto;opacity:1!important;position:relative!important;visibility:visible!important;z-index:1!important}.classroom-sidebar{background:#fff;border-left:1px solid #ddd;box-sizing:border-box;display:flex;flex-direction:column;max-width:320px;min-width:320px;overflow-x:hidden;overflow-y:auto;width:320px}.chat-section,.files-section{border-bottom:1px solid #eee;box-sizing:border-box;overflow-x:hidden;padding:1rem;width:100%}.chat-section h3,.files-section h3{color:#333;font-size:.9rem;margin-bottom:.75rem}.file-upload{margin-bottom:.75rem}.btn-upload{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem .75rem;text-align:center;transition:all .2s;width:100%}.btn-upload:hover{background:#5568d3;box-shadow:0 2px 4px #667eea4d;transform:translateY(-1px)}.files-list{box-sizing:border-box;max-height:200px;overflow-x:hidden;overflow-y:auto;width:100%}.files-empty{color:#999;font-size:.85rem;margin:0;padding:.75rem;text-align:center}.file-item{word-wrap:break-word;align-items:center;background:#f5f5f5;border:1px solid #0000;border-radius:6px;box-sizing:border-box;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.4rem;max-width:100%;overflow-wrap:break-word;padding:.5rem .75rem;transition:all .2s;word-break:break-word}.file-item:hover{background:#e9ecef;border-color:#dee2e6}.file-item.active{background:#667eea;border-color:#5568d3;color:#fff}.file-name{flex:1 1;font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-delete-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:20px;justify-content:center;line-height:1;opacity:.7;padding:0;transition:all .2s;width:20px}.file-item:hover .file-delete-btn{opacity:1}.file-item.active .file-delete-btn{background:#fff3;color:#fff}.file-delete-btn:hover{background:#dc354533;color:#dc3545;transform:scale(1.1)}.file-item.active .file-delete-btn:hover{background:#ffffff4d;color:#fff}.chat-messages{background:#f9f9f9;height:300px;margin-bottom:.75rem;overflow-x:hidden;overflow-y:auto;width:100%}.chat-message,.chat-messages{border-radius:5px;box-sizing:border-box;padding:.4rem}.chat-message{word-wrap:break-word;background:#fff;font-size:.8rem;line-height:1.4;margin-bottom:.4rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}.chat-message strong{color:#667eea}.chat-input-wrapper{box-sizing:border-box;width:100%}.chat-input{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:24px;display:flex;gap:.5rem}.chat-input,.chat-input-field{box-sizing:border-box;padding:.5rem .75rem;width:100%}.chat-input-field{background:#0000;border:none;border-radius:0;flex:1 1;font-size:.9rem;min-width:0;outline:none}.chat-input-field::placeholder{color:#999}.chat-icon{align-items:center;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.25rem;transition:color .2s}.chat-icon:hover{color:#5568d3}.chat-icon svg{height:24px;width:24px}.chat-attach-icon{color:#999}.chat-attach-icon:hover,.chat-send-icon{color:#667eea}.chat-send-icon:hover{color:#5568d3}.chat-image-container{margin-bottom:.5rem;margin-top:.5rem}.chat-image{border-radius:5px;cursor:pointer;display:block;height:200px;object-fit:cover;transition:transform .2s;width:200px}.chat-image:hover{box-shadow:0 2px 8px #0003;transform:scale(1.05)}.image-modal{background:#000000e6;cursor:pointer;height:100%;left:0;position:fixed;top:0;width:100%;z-index:10000}.image-modal,.image-modal-content{align-items:center;display:flex;justify-content:center}.image-modal-content{max-height:90%;max-width:90%;position:relative}.image-modal-content img{border-radius:5px;max-height:90vh;max-width:100%;object-fit:contain}.image-modal-close{align-items:center;background:#fffc;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:0;top:-40px;transition:background .2s;width:40px}.image-modal-close:hover{background:#fff}.settings-page{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.settings-content{flex:1 1;margin:1.5rem 0;padding:0;width:100%}.settings-container{background:#0000;box-shadow:none;box-sizing:border-box;margin:0 auto;max-width:920px;padding:2rem 2.5rem 3rem;width:100%}.settings-page-title{color:#1f2937;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1.25rem}.settings-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:2rem;margin-bottom:1.75rem}.settings-tab{background:none;border:none;color:#4b5563;cursor:pointer;font-size:.95rem;font-weight:500;margin:0;padding:0 0 .85rem;position:relative;transition:color .2s;white-space:nowrap}.settings-tab:hover{color:#1f2937}.settings-tab.active{color:#667eea;font-weight:600}.settings-tab.active:after{background:#667eea;border-radius:2px 2px 0 0;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.settings-tab-panel{width:100%}.settings-card{background:#fff;border:1px solid #667eea38;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.settings-card-header{align-items:center;background:linear-gradient(180deg,#eef2ff,#e8edff);border-bottom:1px solid #667eea1f;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.settings-card-title{color:#1f2937;font-size:1.05rem;font-weight:600;margin:0}.settings-card-actions{display:flex;flex-shrink:0;gap:.65rem}.btn-settings-save{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:background .2s}.btn-settings-save:hover:not(:disabled){background:#5568d3}.btn-settings-save:disabled{background:#c4c9e8;cursor:not-allowed}.settings-card-body{padding:1.75rem 1.5rem 1.5rem}.settings-form--in-card{gap:1.1rem}.profile-card-body{padding:1.75rem 1.75rem 1.5rem}.profile-form-layout{grid-gap:2.5rem 3rem;align-items:start;display:grid;gap:2.5rem 3rem;grid-template-columns:1fr minmax(200px,240px)}.profile-fields{display:flex;flex-direction:column;gap:1rem;min-width:0}.profile-field-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:130px 1fr}.profile-field-row--textarea{align-items:start}.profile-field-row--textarea .profile-field-label{padding-top:.65rem}.profile-field-label{color:#374151;font-size:.9rem;font-weight:500;text-align:left}.profile-field-input{background:#f3f4f6;border:none;border-radius:8px;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:.9rem;min-width:0;padding:.65rem .9rem;transition:box-shadow .15s,background .15s;width:100%}.profile-field-input:hover{background:#eceef1}.profile-field-input:focus{background:#fff;box-shadow:0 0 0 2px #667eea59;outline:none}.profile-field-textarea{line-height:1.45;min-height:72px;resize:vertical}.profile-field-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7280' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:2.25rem}.settings-page .profile-field-select{max-width:100%!important;width:100%!important}.profile-avatar-column{align-items:center;display:flex;flex-direction:column;text-align:center}.profile-avatar-wrap{margin-bottom:1rem}.profile-avatar-img,.profile-avatar-placeholder{border-radius:50%;height:140px;object-fit:cover;width:140px}.profile-avatar-placeholder{align-items:center;background:#e5e7eb;color:#9ca3af;display:flex;justify-content:center}.profile-avatar-placeholder svg{height:72px;width:72px}.profile-avatar-input{display:none}.profile-upload-btn{background:#eef2ff;border:none;border-radius:8px;color:#667eea;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:600;padding:.5rem 1.1rem;transition:background .2s}.profile-upload-btn:hover{background:#e0e7ff}.profile-avatar-hint{color:#9ca3af;font-size:.75rem;line-height:1.45;margin:.75rem 0 0;max-width:220px}.profile-card-body .message{margin-top:1.25rem}.section-title{color:#333;margin-top:0}.subsection-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:1rem;margin-top:1.5rem}.settings-form{gap:1rem;overflow:hidden}.form-group,.settings-form{box-sizing:border-box;display:flex;flex-direction:column;max-width:100%;width:100%}.form-group{gap:.25rem}.form-group label:not(.checkbox-label){color:#333;font-size:.9rem;font-weight:500}.form-group input:not(.phone-number-input):not([type=checkbox]),.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#333;display:block;font-family:inherit;font-size:.9rem;max-width:100%;min-width:0;padding:.75rem 1rem;transition:all .15s ease;width:100%}.form-group input:not(.phone-number-input):not([type=checkbox]),.form-group select{height:44px;line-height:1.5}.form-group input:not([type=checkbox]):hover,.form-group select:hover,.form-group textarea:hover{border-color:#9ca3af}.form-group input:not([type=checkbox]):focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:not([type=checkbox])::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-textarea{min-height:80px;resize:vertical}.settings-page .settings-card .form-group .form-select,.settings-page .settings-card .form-group select,.settings-page .settings-form .form-group .form-select,.settings-page .settings-form .form-group select{max-width:100%!important;width:100%!important}.settings-page .settings-form .form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:2.5rem}.settings-page .settings-form .form-select:invalid{color:#9ca3af}.settings-page .settings-form .form-select option{color:#333}.settings-page .settings-form .form-select option[value=""]{color:#9ca3af}.form-divider{background:#e5e7eb;height:1px;margin:1.5rem 0;max-width:100%;width:100%}.avatar-upload{align-items:center;gap:1rem;overflow:hidden;width:100%}.avatar-controls,.avatar-upload{box-sizing:border-box;display:flex;max-width:100%}.avatar-controls{flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.avatar-preview{border:2px solid #e5e7eb;border-radius:50%;box-sizing:border-box;flex-shrink:0;height:80px;min-width:80px;object-fit:cover;width:80px}.avatar-input{display:none}.avatar-label{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:.9rem;max-width:100%;overflow:hidden;padding:.5rem 1rem;text-overflow:ellipsis;transition:all .2s;white-space:nowrap;width:100%}.avatar-label:hover{background:#e5e7eb;border-color:#9ca3af}.notification-group{display:flex;flex-direction:column;gap:1.5rem;max-width:100%;width:100%}.notification-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.notification-info{flex:1 1}.notification-label{color:#333;cursor:pointer;display:block;font-size:.95rem;font-weight:500;margin-bottom:.25rem}.notification-description{color:#6b7280;font-size:.85rem;margin:0}.toggle-switch{cursor:pointer;display:inline-block;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:#667eea}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.message{border-radius:6px;box-sizing:border-box;font-size:.9rem;max-width:100%;padding:.75rem 1rem;text-align:left;width:100%}.message-success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.btn-submit{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1.5rem;transition:background .2s;width:-webkit-fit-content;width:fit-content}.btn-submit:hover:not(:disabled){background:#5568d3}.btn-submit:disabled{background:#ccc;cursor:not-allowed}.phone-input-wrapper{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.75rem;max-width:100%;width:100%}.phone-input-disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.btn-edit-phone{background:#fff;border:1px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .75rem;transition:all .2s;white-space:nowrap}.btn-edit-phone:hover{background:#f5f5f5;border-color:#5568d3;color:#5568d3}.verified-badge{color:#10b981;font-size:.85rem;font-weight:500;white-space:nowrap}.phone-verification{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;box-sizing:border-box;margin-top:1rem;max-width:100%;padding:1rem;width:100%}.phone-verification-send{display:flex;flex-direction:column;gap:.75rem}.btn-send-phone-code{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;width:-webkit-fit-content;width:fit-content}.btn-send-phone-code:hover:not(:disabled){background:#5568d3}.btn-send-phone-code:disabled{background:#ccc;cursor:not-allowed}.verification-hint{color:#666;font-size:.85rem;margin:0 0 .75rem}.phone-code-inputs{display:flex;gap:.5rem;margin-bottom:.75rem}.phone-code-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;font-size:1.2rem;font-weight:600;height:50px;text-align:center;transition:all .2s;width:45px}.phone-code-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.phone-verification-error{color:#dc3545;font-size:.85rem;margin-bottom:.75rem}.phone-verification-actions{display:flex;gap:.5rem}.btn-resend-phone,.btn-verify-phone{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-verify-phone{background:#667eea;border-color:#667eea;color:#fff}.btn-verify-phone:hover:not(:disabled){background:#5568d3}.btn-verify-phone:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.btn-resend-phone{background:#fff;color:#333}.btn-resend-phone:hover:not(:disabled){background:#f5f5f5}.btn-resend-phone:disabled{background:#f5f5f5;cursor:not-allowed}@media (max-width:768px){.settings-container{padding:1.25rem 1rem 2rem}.settings-tabs{-webkit-overflow-scrolling:touch;gap:1.25rem;overflow-x:auto}.settings-card-header{align-items:stretch;flex-direction:column}.settings-card-actions{justify-content:flex-end}.profile-form-layout{gap:2rem;grid-template-columns:1fr}.profile-field-row{gap:.35rem;grid-template-columns:1fr}.profile-avatar-column{order:-1}}.home-page{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.home-main{flex:1 1;margin:1.5rem 0;padding:0;width:100%}.home-container{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;display:flex;justify-content:center;margin:0 auto;min-height:400px;padding:4rem 3rem;width:60%}.home-hero{margin:0 auto;max-width:600px;text-align:center}.home-title{color:#333;font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem}.title-rose{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f68695 0,#f68695);-webkit-background-clip:text;background-clip:text}.home-description{color:#666;font-size:1.25rem;line-height:1.6;margin-bottom:3rem}.home-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-login{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;min-width:220px;padding:1rem 2rem;text-decoration:none;transition:all .2s}.btn-login:hover{background:#f5f5f5;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}@media (max-width:768px){.home-container{padding:3rem 2rem;width:90%}.home-title{font-size:2rem}.home-description{font-size:1.1rem}.home-buttons{flex-direction:column}.btn-login{min-width:auto;width:100%}}.error-page{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.error-container{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.error-content{max-width:600px;text-align:center}.error-code{font-size:8rem;font-weight:700;line-height:1}.error-code,.error-title{color:#000;margin-bottom:1rem}.error-title{font-size:2.5rem;font-weight:600}.error-description{color:#666;font-size:1.25rem;line-height:1.6;margin-bottom:2.5rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary{border-radius:5px;font-size:1.1rem;padding:1rem 2rem;transition:background .2s,transform .2s}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #667eea;border-radius:5px;color:#667eea;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:background .2s,transform .2s}.btn-secondary:hover{background:#f0f0f0;transform:translateY(-2px)}@media (max-width:768px){.error-code{font-size:5rem}.error-title{font-size:2rem}.error-description{font-size:1rem}}.teachers-list-page{display:flex;flex-direction:column;min-height:100vh}.teachers-list-main{background:#f9fafb;flex:1 1;padding:2rem}.teachers-list-container{margin:0 auto;max-width:1200px}.page-title{color:#111827;font-size:2rem;font-weight:600;margin-bottom:2rem}.teachers-grid{display:flex;flex-direction:column;gap:1.5rem}.teacher-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:box-shadow .2s}.teacher-card:hover{box-shadow:0 4px 6px #0000001a}.teacher-card-content{display:flex;gap:1.5rem}.teacher-avatar{border-radius:50%;flex-shrink:0;height:80px;overflow:hidden;width:80px}.teacher-avatar img{display:block;height:100%;object-fit:cover;width:100%}.teacher-avatar-placeholder{font-size:2rem;height:80px;width:80px}.teacher-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.teacher-name{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.teacher-username{color:#6b7280;font-size:.875rem;margin:0}.teacher-bio{color:#374151;flex:1 1;font-size:.875rem;line-height:1.5;margin:.5rem 0}.btn-details{align-self:flex-start;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.625rem 1.25rem;transition:background .2s}.btn-details:hover{background:#5568d3}.loading-message,.no-teachers{color:#6b7280;font-size:1rem;padding:2rem;text-align:center}@media (max-width:768px){.teacher-card-content{align-items:center;flex-direction:column;text-align:center}.teacher-info{align-items:center}.btn-details{align-self:center}}.book-lesson-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.book-lesson-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.book-lesson-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.book-lesson-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.book-lesson-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:color .2s;width:2rem}.book-lesson-close:hover{color:#111827}.book-lesson-content{padding:1.5rem}.book-lesson-section{margin-bottom:2rem}.book-lesson-label{color:#374151;display:block;font-size:1rem;font-weight:500;margin-bottom:1rem}.course-size-selector{display:flex;gap:.5rem}.course-size-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.course-size-btn:hover{border-color:#667eea}.course-size-btn.active{background:#667eea;border-color:#667eea;color:#fff}.lessons-per-week-selector{display:flex;gap:.5rem}.lessons-per-week-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.lessons-per-week-btn:hover{border-color:#667eea}.lessons-per-week-btn.active{background:#667eea;border-color:#667eea;color:#fff}.days-selector{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.day-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;text-align:center;transition:all .2s}.day-btn.selected,.day-btn:hover:not(.disabled){border-color:#667eea}.day-btn.selected{background:#667eea;color:#fff}.day-btn.disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:.5}.book-lesson-warning{color:#ef4444;font-size:.875rem;margin-top:.5rem}.time-selector{display:flex;flex-direction:column;gap:.75rem}.time-selector-item{align-items:center;display:flex;gap:1rem}.time-selector-day{min-width:120px}.time-selector-day,.time-selector-select{color:#374151;font-size:.875rem;font-weight:500}.time-selector-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;padding:.75rem 1rem;transition:all .2s}.time-selector-select:hover{border-color:#667eea}.time-selector-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.book-lesson-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.book-lesson-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel,.btn-confirm{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb}.btn-confirm{background:#667eea;color:#fff}.btn-confirm:hover:not(:disabled){background:#5568d3}.btn-confirm:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}@media (max-width:768px){.days-selector{grid-template-columns:1fr}.book-lesson-actions{flex-direction:column}.btn-cancel,.btn-confirm{width:100%}}.teacher-profile-page{display:flex;flex-direction:column;min-height:100vh}.teacher-profile-main{background:#f9fafb;flex:1 1;padding:2rem}.teacher-profile-container{margin:0 auto;max-width:1000px}.btn-back{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;margin-bottom:2rem;padding:.5rem 1rem;transition:all .2s}.btn-back:hover{background:#f9fafb;border-color:#d1d5db}.teacher-profile-header{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:2rem;margin-bottom:2rem;padding:2rem}.teacher-profile-avatar{flex-shrink:0}.teacher-profile-avatar img{border-radius:50%;height:120px;object-fit:cover;width:120px}.teacher-avatar-placeholder{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;font-size:3rem;font-weight:600;height:120px;justify-content:center;width:120px}.teacher-profile-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.teacher-profile-name{color:#111827;font-size:2rem;font-weight:600;margin:0}.teacher-profile-username{color:#6b7280;font-size:1rem;margin:0}.teacher-profile-bio{color:#374151;font-size:1rem;line-height:1.6;margin:.5rem 0}.teacher-profile-country{color:#6b7280;font-size:.875rem;margin:0}.teacher-schedule-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.section-title{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.schedule-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.schedule-day{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem}.schedule-day-name{color:#374151;font-size:.75rem;font-weight:600;margin-bottom:.5rem}.schedule-hours{display:flex;flex-direction:column;gap:.25rem}.schedule-hour{background:#f3f4f6;border-radius:4px;color:#667eea;display:inline-block;font-size:.75rem;padding:.125rem .375rem}.schedule-no-hours{color:#9ca3af;font-size:.875rem;font-style:italic}.teacher-actions{display:flex;justify-content:center;margin-top:2rem}.btn-book-lesson{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:background .2s}.btn-book-lesson:hover{background:#5568d3}.loading-message{color:#6b7280;font-size:1rem;padding:2rem;text-align:center}@media (max-width:768px){.teacher-profile-header{align-items:center;flex-direction:column;text-align:center}.schedule-grid{grid-template-columns:1fr}}.approve-teacher-page{background:#faf8f3;display:flex;flex-direction:column;min-height:100vh}.approve-teacher-container{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.approve-teacher-box{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:500px;padding:3rem;text-align:center;width:100%}.approve-icon{font-size:4rem;margin-bottom:1.5rem}.approve-icon.loading{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.approve-teacher-box h1{color:#333;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.approve-teacher-box p{color:#666;font-size:1rem;line-height:1.6;margin-bottom:2rem}.success-message{color:#28a745;font-weight:500}.error-message{color:#dc3545;font-weight:500}.btn-primary{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s}.btn-primary:hover{background:#5568d3;box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.App{min-height:100vh}
/*# sourceMappingURL=main.973f9de2.css.map*/