@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";.login-split-container{background:radial-gradient(circle at top left, var(--white) 0%, var(--pale-mint) 100%);border:1px solid #333;width:100vw;height:100vh;display:flex;overflow:hidden}.login-split-container,.login-split-container *,.login-split-container :before,.login-split-container :after{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif!important}.login-split-container .login-form-panel{background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 60px;display:flex}.login-split-container .form-container{width:100%;max-width:420px}.login-split-container .logo-wrapper{align-items:center;gap:15px;margin-bottom:30px;display:flex}.login-split-container .logo-img{object-fit:contain;width:220px;height:auto}.login-split-container .pill-badge-light{color:var(--primary-teal);letter-spacing:.5px;border:1px solid var(--primary-teal);text-transform:uppercase;background-color:#3acfa91a;border-radius:100px;margin-bottom:20px;padding:8px 20px;font-size:11px;font-weight:700;display:inline-block}.login-split-container .form-title{color:#1a1e2b;letter-spacing:0;margin-bottom:12px;font-size:46.08px;font-weight:700;line-height:46.93px}.login-split-container .form-subtitle{color:#8a94a6;margin-bottom:16px;font-size:14px;font-weight:400;line-height:1.4}.login-split-container .auth-form{flex-direction:column;gap:12px;display:flex}.login-split-container .form-group{flex-direction:column;gap:8px;display:flex}.login-split-container .form-group label{color:#1a1e2b;font-size:14px;font-weight:700}.login-split-container .form-group input{color:#1a1e2b;background:var(--white);border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;height:46px;padding:0 16px;font-size:14px;transition:all .2s}.login-split-container .form-group input::placeholder{color:#9ca3af;font-weight:400}.login-split-container .form-group input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #3acfa926}.login-split-container .form-options{justify-content:space-between;align-items:center;margin-top:5px;margin-bottom:5px;display:flex}.login-split-container .remember-me{cursor:pointer;color:#64748b;align-items:center;gap:8px;font-size:14px;display:flex}.login-split-container .remember-me input[type=checkbox]{appearance:none;background-color:var(--white);border:1.5px solid var(--primary-teal);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;margin:0;display:flex;position:relative}.login-split-container .remember-me input[type=checkbox]:checked{background-color:var(--primary-teal);border-color:var(--primary-teal)}.login-split-container .remember-me input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:13px;font-weight:900;position:absolute}.login-split-container .forgot-password{color:var(--primary-teal);font-size:14px;font-weight:400;text-decoration:underline}.login-split-container .btn-submit{width:100%;height:63.15px;color:var(--white);letter-spacing:-.15px;cursor:pointer;text-align:center;background:#3dd9b3;border:none;border-radius:15.36px;justify-content:center;align-items:center;margin-top:12px;font-size:18px;font-weight:700;line-height:1;transition:all .3s;display:flex;box-shadow:0 8px 20px -5px #3dd9b380}.login-split-container .btn-submit:hover{background:#32b594;transform:translateY(-2px);box-shadow:0 12px 28px #3acfa966}.login-split-container .divider{color:#9ca3af;letter-spacing:1px;align-items:center;margin:20px 0;font-size:12px;font-weight:700;display:flex}.login-split-container .divider:before,.login-split-container .divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.login-split-container .divider span{background:var(--white);padding:0 15px}.login-split-container .social-buttons{gap:15px;margin-bottom:20px;display:flex}.login-split-container .social-btn{background:var(--white);color:#1a1e2b;cursor:pointer;border:1px solid #e2e8f0;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:12px;height:52px;font-size:15px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 5px #00000005}.login-split-container .social-btn:hover{background:#f8fafc;border-color:#cbd5e1}.login-split-container .register-text{text-align:center;color:#8a94a6;font-size:14px}.login-split-container .register-link{color:var(--primary-teal);font-weight:700;text-decoration:underline}.login-split-container .register-link:hover{color:#32b594}.login-split-container .login-feature-panel{background:var(--primary-teal);color:var(--white);border-radius:24px;flex-direction:column;flex:0 0 45%;margin:20px 20px 20px 0;padding:30px 40px;display:flex;position:relative}.login-split-container .pill-badge-outline{letter-spacing:.5px;background:#ffffff26;border:1px solid #ffffff4d;border-radius:100px;width:fit-content;margin-bottom:20px;padding:6px 20px;font-size:10px;font-weight:500;display:inline-block}.login-split-container .feature-main-title{text-align:left;color:#fff;margin-bottom:16px;font-size:40px;font-weight:700;line-height:1.2}.login-split-container .feature-main-subtitle{color:var(--white);opacity:.9;text-align:left;margin-bottom:30px;font-size:15px;line-height:1.5}.login-split-container .feature-cards{flex-direction:column;gap:14px;margin-top:auto;display:flex}.login-split-container .feature-card{border:1px solid var(--soft-teal);background:#ffffff0d;border-radius:16px;align-items:center;gap:16px;padding:18px 22px;display:flex}.login-split-container .feature-card-icon{background:var(--white);color:#172b4d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.login-split-container .custom-icon{object-fit:contain;width:24px;height:24px}.login-split-container .feature-card-text h3{color:var(--white);margin-bottom:4px;font-size:16px;font-weight:600}.login-split-container .feature-card-text p{color:var(--white);opacity:.8;font-size:13px;line-height:1.4}.login-split-container .step-indicator-wrapper{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.login-split-container .step-badge{color:var(--primary-teal);letter-spacing:.5px;background-color:#0000;border:1px solid #3acfa94d;border-radius:100px;width:fit-content;margin-bottom:0;padding:6px 16px;font-size:11px;font-weight:700}.login-split-container .step-bars{gap:8px;display:flex}.login-split-container .step-bar{background-color:#e2e8f0;border-radius:2px;width:40px;height:4px}.login-split-container .step-bar.active{background-color:var(--primary-teal)}.login-split-container .form-row-2-cols{gap:16px;display:flex}.login-split-container .form-row-2-cols .form-group{flex:1}.login-split-container .relative-input{position:relative}.login-split-container .password-input-wrapper{align-items:center;display:flex;position:relative}.login-split-container .password-input-wrapper input{padding-right:45px}.login-split-container .btn-toggle-password{color:#9ca3af;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:15px}.login-split-container .btn-toggle-password:hover{color:#64748b}.login-split-container .password-strength-container{flex-direction:column;gap:4px;margin-top:-4px;margin-bottom:2px;display:flex}.login-split-container .strength-label{text-transform:capitalize;font-size:12px;font-weight:700}.login-split-container .strength-label.weak{color:#ef4444}.login-split-container .strength-label.good{color:#eab308}.login-split-container .strength-label.strong{color:var(--primary-teal)}.login-split-container .strength-bars{gap:4px;display:flex}.login-split-container .s-bar{background-color:#e2e8f0;border-radius:2px;flex:1;height:4px;transition:all .3s}.login-split-container .strength-bars.weak[data-score="1"] .s-bar:first-child{background-color:#ef4444}.login-split-container .strength-bars.weak[data-score="2"] .s-bar:first-child,.login-split-container .strength-bars.weak[data-score="2"] .s-bar:nth-child(2){background-color:#f97316}.login-split-container .strength-bars.good[data-score="3"] .s-bar:first-child,.login-split-container .strength-bars.good[data-score="3"] .s-bar:nth-child(2),.login-split-container .strength-bars.good[data-score="3"] .s-bar:nth-child(3){background-color:#eab308}.login-split-container .strength-bars.strong[data-score="4"] .s-bar{background-color:var(--primary-teal)}.login-split-container .password-rules-list{grid-template-columns:1fr 1fr;gap:4px;margin-top:2px;display:grid}.login-split-container .rule-item{color:#64748b;align-items:center;gap:6px;font-size:12px;transition:color .2s;display:flex}.login-split-container .rule-icon{color:#cbd5e1;transition:color .2s}.login-split-container .rule-item.met{color:#1a1e2b}.login-split-container .rule-item.met .rule-icon{color:var(--primary-teal)}.login-split-container .terms-checkbox-container{margin-top:10px;margin-bottom:5px}.login-split-container .terms-label{align-items:flex-start;line-height:1.4}.login-split-container .terms-label span{margin-top:1px;font-size:12px}.login-split-container .inline-link{color:var(--primary-teal);font-weight:700;text-decoration:underline}.login-split-container .inline-link:hover{color:#32b594}.login-split-container .otp-container{gap:10px;margin-top:6px;display:flex}.login-split-container .otp-input{text-align:center;color:#1a1e2b;background:var(--white);width:52px;height:60px;caret-color:var(--primary-teal);border:2px solid #e2e8f0;border-radius:12px;outline:none;font-size:22px;font-weight:700;transition:all .2s}.login-split-container .otp-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #3acfa926}.login-split-container .otp-input.error{color:#ef4444;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.login-split-container .otp-status-row{flex-direction:column;gap:4px;margin-top:-8px;display:flex}.login-split-container .otp-error-text{color:#ef4444;font-size:13px;font-weight:600}.login-split-container .otp-timer{color:#64748b;font-size:13px}.login-split-container .timer-countdown{color:#1a1e2b;font-weight:700}.login-split-container .otp-links{color:#64748b;align-items:center;gap:8px;margin-top:-8px;font-size:13px;display:flex}.login-split-container .inline-btn{cursor:pointer;color:var(--primary-teal);background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:700;text-decoration:underline}.login-split-container .inline-btn:disabled{color:#9ca3af;cursor:default;text-decoration:none}.login-split-container .inline-link-alt{color:var(--primary-teal);font-size:13px;font-weight:700;text-decoration:underline}.login-split-container .dot-separator{color:#cbd5e1}.login-split-container .security-notice-box{background:#3acfa914;border:1px solid #3acfa933;border-radius:12px;align-items:flex-start;gap:12px;margin-top:-4px;padding:14px 16px;display:flex}.login-split-container .security-icon{color:var(--primary-teal);flex-shrink:0;margin-top:1px}.login-split-container .security-notice-box p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.login-split-container .level-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.login-split-container .level-card{background:var(--white);cursor:pointer;text-align:left;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:16px 20px;font-family:inherit;transition:all .2s;display:flex}.login-split-container .level-card:hover{border-color:var(--primary-teal);background:#3acfa90a}.login-split-container .level-card.selected{border-color:var(--primary-teal);background:#3acfa914;box-shadow:0 0 0 3px #3acfa926}.login-split-container .level-code{color:#1a1e2b;font-size:20px;font-weight:800;line-height:1.1}.login-split-container .level-card.selected .level-code{color:var(--primary-teal)}.login-split-container .level-label{color:#8a94a6;font-size:12px;font-weight:500}.login-split-container .level-test-link{color:#64748b;margin-top:-4px;font-size:13px}.login-split-container .goal-card{text-align:center;align-items:center;gap:8px;padding:18px 14px}.login-split-container .goal-emoji{font-size:22px;line-height:1}.login-split-container .goal-label{color:#1a1e2b;text-align:center;font-size:13px;font-weight:600;line-height:1.3}.login-split-container .goal-card.selected .goal-label{color:var(--primary-teal)}@media (width<=1100px){.login-split-container .login-feature-panel{display:none}.login-split-container .login-form-panel{align-items:center;padding:40px}.login-split-container .logo-wrapper{margin-bottom:40px;position:static}}.back-link{color:#64748b;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.back-link:hover{color:var(--primary-teal)}.success-state{animation:.5s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--primary:#3acfa9;--primary-hover:#2eb488;--bg-main:#f8fafc;--sidebar-width:260px;--text-dark:#1e293b;--text-gray:#64748b;--border:#f1f5f9}.dashboard-layout{background-color:var(--bg-main);box-sizing:border-box;width:100%;height:100vh;font-family:Poppins,sans-serif;display:flex;overflow:hidden}.dashboard-layout *{box-sizing:border-box}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);background:#fff;flex-direction:column;display:flex}.sidebar-logo{align-items:center;gap:12px;padding:32px 24px;display:flex}.sidebar-logo .logo{color:var(--primary);align-items:center;gap:8px;font-size:1.4rem;font-weight:700;display:flex}.sidebar-logo .logo-span{color:var(--text-dark)}.badge-student{color:var(--primary);text-transform:uppercase;background:#e2f7f1;border-radius:6px;margin-left:4px;padding:3px 8px;font-size:.6rem;font-weight:700}.sidebar-menu{flex:1;padding:0 0 20px;overflow-y:auto}.menu-section{margin-bottom:24px}.menu-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;padding:0 24px;font-size:.65rem;font-weight:700}.menu-item{color:var(--text-gray);cursor:pointer;border-left:4px solid #0000;align-items:center;padding:10px 24px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.menu-item:hover{color:var(--text-dark);background:#f8fafc}.menu-item.active{color:#fff;background:var(--primary);border-left-color:#2eb488}.menu-item svg{width:18px;height:18px;margin-right:12px}.user-profile-sidebar{cursor:pointer;background:#f8fafc;border-radius:16px;align-items:center;gap:12px;margin:16px;padding:16px;display:flex}.user-avatar-sidebar{background:var(--primary);border:3px solid #fff;border-radius:50%;width:40px;height:40px}.user-info-sidebar{flex-direction:column;display:flex}.user-name-sidebar{color:var(--text-dark);font-size:.85rem;font-weight:700}.user-level-sidebar{color:var(--primary);font-size:.7rem;font-weight:600}.main-area{flex-direction:column;flex:1;padding-left:10px;display:flex;overflow:hidden}.top-navbar{background:#fff;justify-content:space-between;align-items:center;height:80px;padding:0 40px;display:flex}.breadcrumb{color:#94a3b8;font-size:.8rem}.breadcrumb span{color:var(--text-dark);font-weight:500}.search-container{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;align-items:center;width:380px;padding:10px 20px;display:flex}.search-container input{width:100%;color:var(--text-dark);background:0 0;border:none;outline:none;margin-left:12px;font-size:.85rem}.header-right{align-items:center;gap:20px;display:flex}.notif-btn{width:44px;height:44px;color:var(--text-gray);cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.notif-dot{background:#ef4444;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:12px}.btn-reserve{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 24px;font-size:.85rem;font-weight:700;transition:all .2s}.btn-reserve:hover{background:var(--primary-hover);transform:translateY(-1px)}.content-scroll{flex:1;max-width:100%;padding:0 40px 40px;overflow:hidden auto}.header-greeting h1{color:var(--text-dark);margin:0 0 4px;font-size:2rem;font-weight:800}.header-greeting p{color:#94a3b8;margin-bottom:32px;font-size:.95rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:24px}.stat-header{justify-content:space-between;margin-bottom:12px;display:flex}.stat-circle{opacity:.1;border-radius:50%;width:28px;height:28px}.stat-meta{margin-top:4px;font-size:.75rem;font-weight:700}.central-grid{grid-template-columns:2fr 1fr;gap:24px;margin-bottom:32px;display:grid}.next-class-promo{color:#fff;background:linear-gradient(135deg,#3acfa9 0%,#17b897 100%);border-radius:24px;padding:40px;position:relative;overflow:hidden}.promo-tag{letter-spacing:1px;opacity:.9;margin-bottom:16px;font-size:.65rem;font-weight:800}.promo-time{margin-bottom:8px;font-size:4rem;font-weight:800;line-height:1}.promo-title{margin-bottom:8px;font-size:1.4rem;font-weight:700}.promo-meta{opacity:.9;margin-bottom:32px;font-size:.85rem}.btn-join{color:var(--primary);cursor:pointer;background:#fff;border:none;border-radius:100px;padding:14px 32px;font-size:.9rem;font-weight:700}.pending-card{border:1px solid var(--border);background:#fff;border-radius:24px;padding:24px}.card-title-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-title-row h3{color:var(--text-dark);font-size:1.1rem;font-weight:800}.card-subtitle{color:#94a3b8;margin-bottom:24px;font-size:.75rem}.pending-list{flex-direction:column;gap:16px;display:flex}.pending-item{border-bottom:1px solid #f8fafc;align-items:center;gap:12px;padding-bottom:12px;display:flex}.type-tag{text-transform:uppercase;border-radius:8px;padding:4px 10px;font-size:.6rem;font-weight:800}.item-name{color:var(--text-dark);flex:1;font-size:.85rem;font-weight:600}.item-due{font-size:.75rem;font-weight:600}.agenda-card{border:1px solid var(--border);background:#fff;border-radius:24px;padding:32px}.agenda-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.agenda-title-group h3{font-size:1.2rem;font-weight:800}.agenda-title-group p{color:#94a3b8;margin:0;font-size:.8rem}.view-calendar{color:var(--primary);font-size:.8rem;font-weight:700;text-decoration:none}.agenda-table{width:100%}.agenda-row{border-bottom:1px solid #f8fafc;grid-template-columns:80px 1fr 120px 120px;align-items:center;padding:20px 0;display:grid}.agenda-time{color:var(--text-dark);font-size:.95rem;font-weight:700}.agenda-topic{color:var(--text-dark);font-size:.9rem;font-weight:600}.topic-tag{border-radius:8px;justify-self:center;padding:4px 12px;font-size:.65rem;font-weight:800}.agenda-status{text-align:right;font-size:.8rem;font-weight:700}.bottom-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;display:grid}.action-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;padding:32px;display:flex}.action-icon-bg{background:#e2f7f1;border-radius:12px;width:60px;height:60px;margin-bottom:20px}.action-card h4{margin-bottom:8px;font-size:1.05rem;font-weight:800}.action-card p{color:#94a3b8;margin-bottom:32px;font-size:.85rem;line-height:1.5}.action-meta{color:var(--primary);margin-bottom:16px;font-size:.75rem;font-weight:700}.btn-action-full{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px;font-weight:700}.bg-purple{color:#a855f7;background:#f3e8ff}.bg-orange{color:#f97316;background:#ffedd5}.bg-blue{color:#3b82f6;background:#dbeafe}.bg-green-light{color:var(--primary);background:#e2f7f1}.text-danger{color:#ef4444}.text-warning{color:#f97316}.calendar-main-grid{grid-template-columns:1fr 380px;gap:24px;margin-top:32px;display:grid}.calendar-left-panel{flex-direction:column;gap:24px;display:flex}.calendar-header-controls{justify-content:space-between;align-items:center;display:flex}.calendar-header-controls h2{color:#1a1e2b;margin:0;font-size:24px;font-weight:800}.controls-group{align-items:center;gap:8px;display:flex}.btn-icon-round{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-icon-round:hover{background:#f8fafc;border-color:#cbd5e1}.btn-today{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:100px;padding:8px 20px;font-size:14px;font-weight:600}.calendar-grid-container{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:32px}.calendar-days-header{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:24px;display:grid}.calendar-days-header div{color:#94a3b8;letter-spacing:1px;font-size:12px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-day-cell{cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:80px;transition:all .2s;display:flex;position:relative}.calendar-day-cell:hover{background:#f8fafc}.calendar-day-cell.active{background:#3acfa9}.calendar-day-cell.active .day-number{color:#fff}.day-number{color:#1a1e2b;font-size:16px;font-weight:700}.class-dot{background:#3acfa9;border-radius:50%;width:6px;height:6px}.calendar-day-cell.active .class-dot{background:#fff}.calendar-stats-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.cal-stat-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px}.cal-stat-label{color:#94a3b8;margin-bottom:8px;font-size:12px;font-weight:600}.cal-stat-val{color:#1a1e2b;margin-bottom:4px;font-size:28px;font-weight:800}.cal-stat-meta{color:#94a3b8;font-size:13px}.text-primary{color:#3acfa9;font-weight:600}.calendar-right-panel{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;gap:24px;padding:32px;display:flex}.panel-header h3{color:#1a1e2b;margin:0 0 4px;font-size:20px;font-weight:800}.panel-header p{color:#94a3b8;margin:0;font-size:14px}.day-classes-list{flex-direction:column;gap:16px;display:flex}.class-detail-card{background:#f8fafc;border-radius:20px;flex-direction:column;gap:16px;padding:24px;display:flex}.class-card-header{justify-content:space-between;align-items:flex-start;display:flex}.class-time-box{align-items:baseline;gap:8px;display:flex}.time-main{color:#1a1e2b;font-size:24px;font-weight:800}.duration{color:#94a3b8;font-size:13px;font-weight:600}.class-type-tag{color:#3b82f6;background:#eff6ff;border-radius:100px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:700;display:flex}.tag-grammar{color:#3b82f6;background:#eff6ff}.tag-grammar .type-dot{background:#3b82f6}.tag-speaking .type-dot{background:#f97316}.tag-vocabulary{color:#a855f7;background:#faf5ff}.tag-vocabulary .type-dot{background:#a855f7}.type-dot{border-radius:50%;width:6px;height:6px}.class-title{color:#1a1e2b;margin:0;font-size:18px;font-weight:700}.class-level{color:#94a3b8;margin:0;font-size:14px}.class-footer{justify-content:space-between;align-items:center;display:flex}.tutor-info{align-items:center;gap:8px;display:flex}.status-label{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.status-confirmed{color:#3acfa9}.status-confirmed .status-dot{background:#3acfa9}.status-pending{color:#f59e0b}.status-pending .status-dot{background:#f59e0b}.btn-class-action{cursor:pointer;border-radius:12px;width:100%;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.btn-primary{color:#fff;background:#3acfa9;border:none}.btn-primary:hover{background:#32b594}.btn-outline{color:#475569;background:#fff;border:1px solid #e2e8f0}.btn-outline:hover{background:#f8fafc}@media (width<=1200px){.calendar-main-grid{grid-template-columns:1fr}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:32px;width:100%;max-width:900px;animation:.3s cubic-bezier(.16,1,.3,1) modalAppear;position:relative;overflow:hidden;box-shadow:0 20px 50px #0000001a}@keyframes modalAppear{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:24px;right:24px}.modal-close:hover{color:#1a1e2b;background:#f1f5f9}.modal-header{padding:40px 40px 24px}.tutor-pill{background:#f8fafc;border:1px solid #f1f5f9;border-radius:100px;align-items:center;gap:10px;margin-bottom:24px;padding:6px 16px 6px 6px;display:inline-flex}.tutor-avatar-small{border-radius:50%;width:28px;height:28px;overflow:hidden}.tutor-avatar-small img{object-fit:cover;width:100%;height:100%}.tutor-pill span{color:#1a1e2b;font-size:14px;font-weight:600}.modal-title{color:#1a1e2b;margin:0 0 8px;font-size:32px;font-weight:800}.modal-subtitle{color:#94a3b8;margin:0 0 24px;font-size:16px}.step-indicator{align-items:center;gap:16px;display:flex}.progress-bar{gap:6px;width:80px;display:flex}.progress-fill{background:#f1f5f9;border-radius:10px;flex:1;height:4px}.progress-fill.active{background:#3acfa9}.step-text{color:#94a3b8;font-size:13px;font-weight:600}.modal-body{padding:0 40px 40px}.schedule-grid{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:32px;display:grid}.schedule-column{flex-direction:column;gap:12px;display:flex}.day-header{text-align:center;background:#f8fafc;border-radius:16px;flex-direction:column;gap:4px;padding:12px;display:flex}.day-name{color:#94a3b8;letter-spacing:.5px;font-size:11px;font-weight:700}.day-date{color:#1a1e2b;font-size:15px;font-weight:800}.time-slot-btn{color:#3acfa9;cursor:pointer;background:#fff;border:1px solid #3acfa9;border-radius:12px;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.time-slot-btn:hover{background:#3acfa90d}.time-slot-btn.active{color:#fff;background:#3acfa9;box-shadow:0 8px 20px #3acfa94d}.selection-banner{background:#f0fdf9;border:1px solid #3acfa91a;border-radius:16px;padding:16px 24px}.selection-info{color:#1a1e2b;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.check-circle{color:#3acfa9;background:#f0fdf9;border:1px solid #3acfa9;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.modal-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:24px 40px;display:flex}.btn-cancel{color:#1a1e2b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 28px;font-size:15px;font-weight:700;transition:all .2s}.btn-cancel:hover{background:#f8fafc}.btn-continue{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:14px;align-items:center;gap:10px;padding:14px 32px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-continue:hover{background:#32b896;transform:translateY(-2px);box-shadow:0 8px 25px #3acfa966}.btn-continue:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#e2e8f0;transform:none}.confirmation-view{animation:.3s fadeIn}.summary-card{background:#f8fafc;border-radius:24px;margin-bottom:32px;padding:24px}.tutor-info-box{border-bottom:1px solid #f1f5f9;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;display:flex}.tutor-avatar-med{border:2px solid #fff;border-radius:50%;width:56px;height:56px;overflow:hidden;box-shadow:0 4px 10px #0000000d}.tutor-avatar-med img{object-fit:cover;width:100%;height:100%}.tutor-name-confirm{color:#1a1e2b;margin:0 0 4px;font-size:18px;font-weight:800}.tutor-specs{color:#94a3b8;margin:0;font-size:13px}.details-list{flex-direction:column;gap:16px;display:flex}.detail-item{justify-content:space-between;align-items:center;display:flex}.detail-label{color:#94a3b8;align-items:center;gap:12px;font-size:14px;display:flex}.detail-value{color:#1a1e2b;font-size:15px;font-weight:700}.notes-area{flex-direction:column;gap:12px;display:flex}.notes-label{color:#1a1e2b;font-size:14px;font-weight:700}.notes-input{resize:vertical;background:#fff;border:1px solid #e2e8f0;border-radius:16px;outline:none;width:100%;min-height:100px;padding:16px;font-family:inherit;font-size:14px;transition:border-color .2s}.notes-input:focus{border-color:#3acfa9}.success-toast{z-index:3000;background:#fff;border:1px solid #f1f5f9;border-radius:20px;align-items:flex-start;gap:16px;min-width:320px;padding:20px;animation:.4s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 10px 30px #00000014}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.toast-icon-wrapper{color:#fff;background:#3acfa9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.toast-content{flex:1}.toast-title{color:#1a1e2b;margin:0 0 4px;font-size:16px;font-weight:800}.toast-desc{color:#94a3b8;margin:0 0 12px;font-size:13px}.toast-link{color:#3acfa9;align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;transition:gap .2s;display:flex}.toast-link:hover{gap:10px}.toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}.toast-close:hover{color:#1a1e2b}.classes-tabs{border-bottom:1px solid #f1f5f9;gap:16px;margin-top:32px;padding-bottom:2px;display:flex}.tab-item{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 16px;font-size:16px;font-weight:600;transition:all .2s;display:flex;position:relative}.tab-item.active{color:#3acfa9}.tab-item.active:after{content:"";background:#3acfa9;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-2px;left:0;right:0}.tab-count{color:#64748b;background:#f1f5f9;border-radius:100px;padding:2px 8px;font-size:12px}.tab-item.active .tab-count{color:#3acfa9;background:#e0faf2}.classes-list{flex-direction:column;gap:16px;margin-top:32px;display:flex}.class-wide-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;grid-template-columns:140px 1fr 180px 140px;align-items:center;gap:24px;padding:24px;transition:all .2s;display:grid}.class-wide-card:hover{border-color:#e2e8f0;box-shadow:0 4px 20px #0000000a}.class-date-info{flex-direction:column;gap:4px;display:flex}.cls-date{color:#94a3b8;font-size:13px;font-weight:600}.cls-time{color:#1a1e2b;font-size:24px;font-weight:800}.cls-duration{color:#94a3b8;font-size:13px}.class-main-info{flex-direction:column;gap:12px;display:flex}.cls-title-row{align-items:center;gap:12px;display:flex}.cls-title{color:#1a1e2b;margin:0;font-size:18px;font-weight:700}.cls-badge-type{border-radius:100px;padding:4px 12px;font-size:11px;font-weight:700}.type-grammar{color:#3b82f6;background:#eff6ff}.type-speaking{color:#f97316;background:#fff7ed}.type-vocabulary{color:#a855f7;background:#faf5ff}.type-writing{color:#ec4899;background:#fff1f2}.cls-tutor-row{align-items:center;gap:8px;display:flex}.tutor-avatar-mini{background:#3acfa9;border-radius:50%;width:28px;height:28px}.tutor-name{color:#475569;font-size:14px;font-weight:600}.class-status-info{flex-direction:column;gap:8px;display:flex}.cls-status{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.cls-status.confirmed{color:#3acfa9}.cls-status.pending{color:#f59e0b}.status-dot{border-radius:50%;width:8px;height:8px}.confirmed .status-dot{background:#3acfa9}.pending .status-dot{background:#f59e0b}.cls-points{color:#3acfa9;background:#f0fdf9;border-radius:6px;width:fit-content;padding:2px 8px;font-size:13px;font-weight:700}.btn-action{cursor:pointer;border-radius:12px;width:100%;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.btn-action.primary{color:#fff;background:#3acfa9;border:none}.btn-action.primary:hover{background:#32b594}.btn-action.outline{color:#475569;background:#fff;border:1px solid #e2e8f0}.btn-action.outline:hover{background:#f8fafc}.list-footer{color:#94a3b8;text-align:left;margin-top:16px;font-size:14px}.empty-state{text-align:center;color:#94a3b8;background:#fff;border:1px dashed #e2e8f0;border-radius:24px;padding:60px}@media (width<=1100px){.class-wide-card{grid-template-columns:1fr 1fr;gap:16px}}.tutors-notice{color:#14b8a6;background:#f0fdf9;border:1px solid #ccfbf1;border-radius:16px;align-items:center;gap:12px;margin-top:32px;padding:16px 24px;font-size:14px;font-weight:500;display:flex}.tutors-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:32px;display:grid}.tutor-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.tutor-card:hover{border-color:#e2e8f0;transform:translateY(-4px);box-shadow:0 10px 30px #0000000d}.tutor-card-top{align-items:center;gap:20px;margin-bottom:24px;display:flex}.tutor-avatar-large{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:800;display:flex}.tutor-basic-info h3{color:#1a1e2b;margin:0 0 4px;font-size:18px;font-weight:800}.tutor-country{color:#94a3b8;margin:0 0 8px;font-size:13px}.tutor-spec-badge{color:#3acfa9;background:#f0fdf9;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:700}.tutor-stats-row{border-top:1px solid #f8fafc;border-bottom:1px solid #f8fafc;margin-bottom:20px;padding:16px 0;display:flex}.tutor-stat-item{flex-direction:column;flex:1;gap:4px;display:flex}.stat-label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.stat-value-group{align-items:center;gap:8px;display:flex}.stat-number{color:#1a1e2b;font-size:16px;font-weight:800}.stat-value-text{color:#1a1e2b;font-size:14px;font-weight:700}.tutor-skills-bars{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.skill-bar-row{align-items:center;gap:16px;display:flex}.skill-name{color:#94a3b8;width:60px;font-size:11px;font-weight:600}.bar-bg{background:#f1f5f9;border-radius:100px;flex:1;height:6px;overflow:hidden}.bar-fill{border-radius:100px;height:100%}.bar-fill.speaking{background:#f87171}.bar-fill.grammar{background:#60a5fa}.bar-fill.writing{background:#fbbf24}.tutor-card-actions{gap:12px;display:flex}.btn-reserve-tutor{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;flex:1.5;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.btn-reserve-tutor:hover{background:#32b594;box-shadow:0 4px 12px #3acfa94d}.btn-view-profile{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.btn-view-profile:hover{background:#f8fafc;border-color:#cbd5e1}@media (width<=768px){.tutors-grid{grid-template-columns:1fr}}.tutor-profile-layout{background:#f8fafc}.tutor-container{flex-direction:column;display:flex;padding:24px 48px!important}.back-nav-container{margin-bottom:16px;padding-left:0}.btn-back-tutors{color:#3acfa9;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:fit-content;font-size:13px;font-weight:700;display:flex}.tutor-top-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.tutor-top-grid>div,.tutor-top-grid>aside{flex-direction:column;height:100%;margin-bottom:0;display:flex}.tutor-card-profile-header,.tutor-card-sidebar{background:#fff;border:1px solid #f1f5f9;border-radius:24px;height:100%;padding:24px;box-shadow:0 4px 15px #00000005}.tutor-full-width-sections{flex-direction:column;gap:24px;display:flex}.tutor-card-section{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:24px;box-shadow:0 4px 15px #00000005}.tutor-header-info{align-items:flex-start;gap:24px;display:flex}.tutor-avatar-big{background:#f1f5f9 url(https://i.pravatar.cc/150?u=samantha) 0 0/cover;border-radius:24px;flex-shrink:0;width:120px;height:120px}.tutor-info-text h1{color:#1a1e2b;margin-bottom:8px;font-size:28px;font-weight:800}.tutor-locations{color:#64748b;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;display:flex}.tutor-locations .dot{color:#cbd5e1}.tutor-specialty-badge{color:#3acfa9;background:#f0fdf9;border-radius:100px;margin-bottom:20px;padding:6px 16px;font-size:12px;font-weight:800;display:inline-block}.tutor-stats-row{color:#64748b;gap:20px;margin-bottom:24px;font-size:13px;display:flex}.tutor-stats-row span{align-items:center;gap:6px;display:flex}.tutor-stats-row .rating{color:#1a1e2b;font-weight:800}.tutor-header-btns{gap:16px;display:flex}.btn-reserve-main{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700}.btn-message-white{color:#1a1e2b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700}.tutor-card-section h3{color:#1a1e2b;margin-bottom:20px;font-size:18px;font-weight:800}.section-sub{color:#94a3b8;margin-bottom:24px;font-size:13px}.about-langs{flex-direction:column;gap:24px;display:flex}.lang-label{color:#1a1e2b;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.lang-block p{color:#475569;font-size:14px;line-height:1.6}.skills-bars-container{flex-direction:column;gap:16px;display:flex}.skill-bar-row{grid-template-columns:140px 1fr 60px;align-items:center;gap:20px;display:grid}.skill-name{color:#1a1e2b;font-size:13px;font-weight:600}.skill-bar-outer{background:#f1f5f9;border-radius:10px;height:8px}.skill-bar-inner{border-radius:10px;height:100%}.skill-val{color:#1a1e2b;text-align:right;font-size:13px;font-weight:800}.slots-calendar-row{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px;display:grid}.slot-day-col{background:#f8fafc;border-radius:16px;flex-direction:column;gap:12px;padding:12px;display:flex}.slot-date{color:#64748b;text-align:center;margin-bottom:4px;font-size:12px;font-weight:800}.slot-times{flex-direction:column;gap:8px;display:flex}.btn-time-slot{color:#3acfa9;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px;font-size:11px;font-weight:700;transition:all .2s}.btn-time-slot:hover{color:#fff;background:#3acfa9;border-color:#3acfa9}.btn-full-availability{color:#3acfa9;cursor:pointer;background:#e2f7f1;border:none;border-radius:12px;width:100%;padding:12px;font-size:13px;font-weight:800}.reviews-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.rating-summary{align-items:center;gap:8px;font-size:14px;display:flex}.review-item-card{background:#f8fafc;border-radius:20px;margin-bottom:20px;padding:24px}.rev-header{gap:16px;margin-bottom:16px;display:flex}.rev-user-avatar{color:#fff;background:#3acfa9;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:800;display:flex}.rev-user-info{flex-direction:column;flex:1;display:flex}.rev-name-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.rev-name-row strong{color:#1a1e2b;font-size:14px}.rev-date{color:#94a3b8;font-size:11px}.rev-text{color:#475569;font-size:14px;line-height:1.6}.btn-leave-review{color:#3acfa9;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:700}.tutor-card-sidebar h3{margin-bottom:24px;font-size:16px;font-weight:800}.sidebar-info-block{margin-bottom:24px}.info-title{color:#94a3b8;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:700;display:block}.info-pills{flex-wrap:wrap;gap:8px;display:flex}.pill-small{color:#3acfa9;background:#e2f7f1;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:800}.pill-gray{color:#64748b;background:#f1f5f9;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:600}.info-item-lang{color:#475569;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.dot-lang{background:#f87171;border-radius:50%;width:8px;height:8px}.dot-lang.speak{background:#fbbf24}@media (width<=1100px){.tutor-main-grid{grid-template-columns:1fr}.tutor-sidebar-col{display:none}}.resources-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;display:flex}.filter-buttons{gap:12px;display:flex}.filter-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.filter-btn.active{color:#fff;background:#1a1e2b;border-color:#1a1e2b}.category-legend{gap:16px;display:flex}.cat-legend-item{color:#64748b;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.cat-legend-item .dot{border-radius:50%;width:8px;height:8px}.resources-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:32px;display:grid}.resource-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.resource-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000000d}.resource-thumb{justify-content:center;align-items:center;height:180px;padding:24px;display:flex;position:relative}.res-type-tag{color:#64748b;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:700;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 2px 8px #0000000d}.res-visual-placeholder{flex-direction:column;gap:8px;width:100%;max-width:140px;display:flex}.res-line-short,.res-line-long{background:#0000000d;border-radius:4px;height:8px}.res-line-short{width:60%}.res-line-long{width:100%}.resource-body{flex:1;padding:24px}.res-meta-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.res-cat-badge{border-radius:100px;padding:4px 12px;font-size:11px;font-weight:700}.cat-grammar{color:#3b82f6;background:#eff6ff}.cat-listening{color:#14b8a6;background:#f0fdfa}.cat-vocabulary{color:#a855f7;background:#faf5ff}.cat-speaking{color:#f43f5e;background:#fff1f2}.cat-writing{color:#eab308;background:#fefce8}.res-level-badge{color:#94a3b8;font-size:11px;font-weight:600}.res-title{color:#1a1e2b;margin:0 0 10px;font-size:18px;font-weight:800}.res-desc{color:#64748b;margin:0;font-size:14px;line-height:1.5}.resource-footer{border-top:1px solid #f8fafc;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.res-author{color:#475569;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.res-author-avatar{background:#e2e8f0;border-radius:50%;width:24px;height:24px}.res-stats{gap:12px;display:flex}.stat-group{color:#94a3b8;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}@media (width<=640px){.resources-toolbar{flex-direction:column;align-items:flex-start}}.hero-rooms{color:#fff;background:linear-gradient(135deg,#1a1e2b 0%,#2d3446 100%);border-radius:28px;justify-content:space-between;align-items:center;margin-top:32px;padding:48px;display:flex;position:relative;overflow:hidden}.hero-badge{letter-spacing:1px;background:#ef4444;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px;font-size:12px;font-weight:800;display:inline-flex}.hero-content h1{margin:0 0 16px;font-size:36px;font-weight:800}.hero-content p{color:#94a3b8;max-width:450px;margin:0 0 32px;font-size:16px;line-height:1.6}.btn-create-room{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:14px;padding:14px 28px;font-size:15px;font-weight:700;transition:all .2s}.btn-create-room:hover{background:#32b594;transform:translateY(-2px)}.hero-visual{width:200px;height:200px;position:relative}.visual-circle-large{background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.visual-circle-medium{background:#ffffff0d;border-radius:50%;width:140px;height:140px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rooms-section-header{justify-content:space-between;align-items:center;margin-top:48px;display:flex}.rooms-section-header h2{color:#1a1e2b;margin:0;font-size:24px;font-weight:800}.rooms-filters{gap:12px;display:flex}.room-select{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:10px 16px;font-size:14px;font-weight:600}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:32px;display:grid}.room-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.room-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000000d}.room-card.room-full{opacity:.7}.room-header{justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.room-type-badge{text-transform:uppercase;color:#00000080;letter-spacing:.5px;font-size:11px;font-weight:800}.room-members-pill{color:#475569;background:#fff;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:flex}.room-body{flex:1;padding:24px}.room-level-info{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.room-level-tag{color:#3acfa9;background:#f0fdf9;border-radius:6px;padding:2px 10px;font-size:12px;font-weight:700}.room-status-dot{align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.room-status-dot.en-curso{color:#ef4444}.room-status-dot.en-curso:before{content:"";background:#ef4444;border-radius:50%;width:6px;height:6px}.room-status-dot.iniciando{color:#f59e0b}.room-status-dot.iniciando:before{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px}.room-status-dot.esperando{color:#3b82f6}.room-status-dot.esperando:before{content:"";background:#3b82f6;border-radius:50%;width:6px;height:6px}.room-status-dot.llena{color:#94a3b8}.room-topic{color:#1a1e2b;margin:0 0 20px;font-size:20px;font-weight:800}.member-avatars{height:32px;position:relative}.mini-avatar,.mini-avatar-more{background:#e2e8f0;border:2px solid #fff;border-radius:50%;width:32px;height:32px;position:absolute;top:0}.mini-avatar-more{color:#64748b;background:#f1f5f9;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.room-footer{padding:0 24px 24px}.btn-join-room{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.btn-join-room:not(.disabled):hover{color:#fff;background:#3acfa9}.btn-join-room.disabled{color:#cbd5e1;cursor:not-allowed;background:#f8fafc}@media (width<=640px){.hero-rooms{padding:32px}.hero-visual{display:none}.rooms-section-header{flex-direction:column;align-items:flex-start;gap:16px}}.room-detail-layout{padding-bottom:0!important;overflow:hidden!important}.room-grid-system{background:#f8fafc;grid-template-columns:220px 1fr 340px;height:calc(100vh - 80px);margin-top:0;display:grid}.room-sidebar-list{background:#fff;border-right:1px solid #f1f5f9;flex-direction:column;gap:32px;padding:24px 16px;display:flex;overflow-y:auto}.room-sidebar-header h3{color:#1a1e2b;margin:0 0 4px;font-size:15px;font-weight:800}.room-sidebar-header p{color:#94a3b8;margin:0;font-size:12px}.room-sidebar-section{flex-direction:column;gap:16px;display:flex}.section-label{color:#cbd5e1;letter-spacing:.5px;font-size:11px;font-weight:700}.mini-rooms-list{flex-direction:column;gap:4px;display:flex}.mini-room-item{color:#64748b;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.mini-room-item.active{color:#fff;background:#3acfa9}.mini-room-count{opacity:.8;font-size:11px}.in-room-participants{flex-direction:column;gap:12px;display:flex}.in-room-p{color:#475569;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.p-dot{border-radius:50%;width:8px;height:8px}.room-main-video-area{background:#f8fafc;flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.video-area-header{justify-content:space-between;align-items:flex-start;display:flex}.room-title-group h2{color:#1a1e2b;margin:0 0 4px;font-size:20px;font-weight:800}.room-topic-text{color:#94a3b8;margin-bottom:8px;font-size:13px;display:block}.live-badge{color:#ef4444;background:#fff1f2;border-radius:100px;align-items:center;gap:6px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-flex}.live-dot{background:#ef4444;border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.room-stats-banner{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.room-stats-banner span{color:#94a3b8;font-size:12px;font-weight:600}.coins-earned{color:#3acfa9;background:#f0fdf9;border-radius:100px;padding:6px 16px;font-size:12px;font-weight:700}.video-tiles-grid{flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;gap:16px;display:grid}.video-tile{border-radius:20px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000d}.video-tile.large{grid-area:span 2/span 1}.tile-initials{color:#fff6;letter-spacing:-2px;font-size:64px;font-weight:800}.video-tile.large .tile-initials{font-size:120px}.tile-actions{gap:8px;display:flex;position:absolute;top:12px;left:12px}.tile-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;background:#1a1e2b66;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tile-footer{color:#fff;background:linear-gradient(#0000,#1a1e2b66);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:absolute;bottom:0;left:0;right:0}.tile-name{font-size:13px;font-weight:700}.tile-role-badge{background:#f59e0b;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:9px;font-weight:800}.tile-role-badge.tutor{background:#3acfa9}.tile-user-controls{gap:12px;display:flex}.video-controls-bar{background:#fff;border-radius:24px;align-self:center;gap:16px;margin-bottom:24px;padding:12px 32px;display:flex;box-shadow:0 8px 30px #0000001a}.control-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;transition:all .2s;display:flex}.control-btn.active{color:#3acfa9;background:#f0fdf9;border-color:#3acfa9}.control-btn-leave{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:20px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.room-chat-area{background:#fff;border-left:1px solid #f1f5f9;flex-direction:column;display:flex}.chat-area-header{border-bottom:1px solid #f1f5f9;padding:24px 20px}.chat-area-header h3{color:#1a1e2b;margin:0 0 20px;font-size:16px;font-weight:800}.chat-tabs{background:#f8fafc;border-radius:12px;gap:4px;padding:4px;display:flex}.chat-tabs button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.chat-tabs button.active{color:#1a1e2b;background:#fff;box-shadow:0 2px 8px #0000000d}.chat-messages-container{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.chat-msg{gap:12px;display:flex}.msg-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:flex}.msg-content{flex-direction:column;gap:4px;display:flex}.msg-header{align-items:center;gap:8px;display:flex}.msg-user{color:#1a1e2b;font-size:13px;font-weight:800}.msg-host-tag{color:#d97706;background:#fef3c7;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.msg-time{color:#cbd5e1;font-size:11px}.msg-text{color:#475569;font-size:13px;line-height:1.5}.input-wrapper{background:#f8fafc;border:1px solid #e2e8f0;border-radius:100px;padding:8px 8px 8px 16px;display:flex}.input-wrapper input{color:#1a1e2b;background:0 0;border:none;outline:none;flex:1;font-size:14px}.btn-send{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-send:hover{background:#32b594;transform:scale(1.05)}.breezai-layout{background:#f8fafc;overflow:hidden!important}.breezai-layout .header-greeting{padding:32px 48px 0}.ai-chat-container{grid-template-columns:1fr 340px;gap:24px;height:calc(100vh - 180px);display:grid;padding:24px 32px 24px 48px!important}.ai-chat-main-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 15px #00000005}.chat-card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.breezy-profile{align-items:center;gap:12px;display:flex}.breezy-avatar-circle{background:#3acfa9;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 10px #3acfa94d}.breezy-info h4{color:#1a1e2b;margin:0;font-size:15px;font-weight:800}.breezy-info span{color:#94a3b8;font-size:12px}.chat-header-actions{align-items:center;gap:12px;display:flex}.session-active-badge{color:#3acfa9;background:#f0fdf9;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:700}.btn-new-chat{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:700;display:flex}.btn-more-chat{color:#cbd5e1;cursor:pointer;background:0 0;border:none}.ai-messages-list{background:#fff;flex-direction:column;flex:1;gap:32px;padding:32px 24px;display:flex;overflow-y:auto}.ai-msg-row{gap:16px;width:100%;display:flex}.ai-msg-row.user{justify-content:flex-end}.msg-avatar-breezy{background:#3acfa9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.msg-bubble-container{flex-direction:column;gap:12px;max-width:75%;display:flex}.ai-msg-bubble{border-radius:20px;padding:16px 20px;font-size:15px;line-height:1.6}.ai-msg-bubble.ai{color:#1a1e2b;background:#f1f9f8;border-top-left-radius:4px}.ai-msg-bubble.user{color:#fff;background:#3acfa9;border-top-right-radius:4px}.ai-msg-bubble p{white-space:pre-line;margin:0}.chat-suggestions{flex-wrap:wrap;gap:8px;display:flex}.suggestion-pill-chat{color:#3acfa9;cursor:pointer;background:#fff;border:1px solid #3acfa9;border-radius:100px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.suggestion-pill-chat:hover{color:#fff;background:#3acfa9}.ai-feedback-section{background:#fff;border:1px solid #3acfa91a;border-radius:16px;flex-direction:column;gap:12px;margin-top:20px;padding:16px;display:flex}.feedback-item{align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.feedback-item.check{color:#1a1e2b;font-weight:600}.feedback-item.tip{color:#64748b;font-style:italic}.chat-input-footer{border-top:1px solid #f1f5f9;padding:24px}.input-field-wrapper{background:#f8fafc;border:1px solid #e2e8f0;border-radius:100px;align-items:center;gap:12px;padding:8px 8px 8px 24px;display:flex}.input-field-wrapper input{color:#1a1e2b;background:0 0;border:none;outline:none;flex:1;font-size:15px}.input-btns{gap:8px;display:flex}.btn-mic-chat{cursor:pointer;background:#f0fdf9;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.btn-send-chat{cursor:pointer;background:#1a1e2b;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ai-stats-sidebar{flex-direction:column;display:flex}.stats-section-title{color:#1a1e2b;margin-bottom:16px;font-size:13px;font-weight:800}.stats-section-title.mt-30{margin-top:30px}.session-stats-grid{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;padding:8px;display:flex}.stat-row{border-bottom:1px solid #f8fafc;align-items:center;gap:16px;padding:16px;display:flex}.stat-row:last-child{border-bottom:none}.stat-icon-box{background:#f8fafc;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-data{flex-direction:column;display:flex}.stat-label{color:#94a3b8;font-size:11px;font-weight:700}.stat-value{color:#1a1e2b;font-size:18px;font-weight:800}.stat-value.text-red{color:#f87171}.stat-value.text-green{color:#3acfa9}.stat-value.text-blue{color:#3b82f6}.recent-sessions-list{flex-direction:column;gap:12px;display:flex}.recent-session-item{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.session-info{flex-direction:column;display:flex}.session-date{color:#cbd5e1;font-size:11px;font-weight:600}.session-name{color:#475569;font-size:13px;font-weight:700}.session-meta{flex-direction:column;align-items:flex-end;display:flex}.session-time{color:#94a3b8;font-size:11px}.session-coins{color:#3acfa9;background:#f0fdf9;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:800}.tip-of-the-day-card{background:#fffcf0;border:1px solid #fef3c7;border-radius:16px;margin-top:32px;padding:16px}.tip-header{color:#f59e0b;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:800;display:flex}.tip-of-the-day-card p{color:#92400e;margin:0;font-size:12px;line-height:1.5}@media (width<=1200px){.ai-chat-container{grid-template-columns:1fr}.ai-stats-sidebar{display:none}}.community-layout{background:#f8fafc}.community-layout .header-greeting{padding:32px 48px 0}.community-triple-grid{box-sizing:border-box;grid-template-columns:210px minmax(400px,1fr) 280px;gap:20px;width:100%;display:grid;padding:24px 32px 24px 48px!important}.comm-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;margin-bottom:20px;padding:20px;box-shadow:0 4px 15px #00000005}.comm-card h3{color:#1a1e2b;margin-bottom:16px;font-size:14px;font-weight:800}.space-item{cursor:pointer;color:#64748b;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.space-item:hover{color:#1a1e2b;background:#f8fafc}.space-item.active{color:#fff;background:#3acfa9}.space-link{align-items:center;gap:10px;display:flex}.space-count{opacity:.8;font-size:11px}.online-list{flex-direction:column;gap:12px;display:flex}.online-user{color:#475569;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.online-avatar{border:2px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #3acfa9}.online-more{color:#3acfa9;margin-left:20px;font-size:11px;font-weight:700}.create-post-minimal{padding:16px}.create-row{align-items:center;gap:16px;display:flex}.user-avatar-placeholder{background:#3acfa9;border-radius:50%;flex-shrink:0;width:40px;height:40px}.create-row input{color:#64748b;border:none;outline:none;flex:1;font-size:14px}.btn-publish-comm{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:100px;padding:8px 24px;font-size:13px;font-weight:700}.post-card-unified{padding:24px}.post-header-unified{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.post-avatar-large{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:800;display:flex}.post-user-info{align-items:center;gap:12px;display:flex}.post-user-name{color:#1a1e2b;font-size:14px;font-weight:800}.post-user-role{color:#94a3b8;font-size:12px}.post-badges{gap:8px;display:flex}.badge-post{border-radius:100px;align-items:center;padding:4px 10px;font-size:10px;font-weight:700;display:flex}.badge-post.reto{color:#3acfa9;background:#f0fdf9}.badge-post.fijado{color:#f59e0b;background:#fffbeb}.badge-post.tip{color:#3b82f6;background:#eff6ff}.post-body-unified p{color:#334155;white-space:pre-line;margin:0 0 20px;font-size:14px;line-height:1.6}.post-footer-unified{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:16px;display:flex}.post-actions-group{gap:20px;display:flex}.action-btn-unified{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.btn-responder{color:#3acfa9;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:700}.reto-card-dark{color:#fff;background:#1a1e2b;border:none}.reto-card-dark h3{color:#fff;margin-bottom:8px;font-size:16px}.reto-tag{color:#fff9;margin-bottom:12px;font-size:10px;font-weight:800}.reto-card-dark p{color:#ffffffb3;margin-bottom:24px;font-size:13px;line-height:1.5}.reto-footer{justify-content:space-between;align-items:center;display:flex}.btn-participar{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:10px;padding:8px 20px;font-size:12px;font-weight:700}.participants-count{color:#ffffff80;font-size:11px}.event-card-minimal{padding:20px}.event-item-mini{background:#f0fdf9;border-radius:16px;padding:16px}.event-title{color:#1a1e2b;margin-bottom:4px;font-size:13px;font-weight:800}.event-time{color:#64748b;margin-bottom:16px;font-size:11px}.btn-asistir{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:8px;padding:6px 16px;font-size:11px;font-weight:700}.attendees{color:#94a3b8;margin-left:12px;font-size:11px}.card-header-minimal{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.mini-res-item{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.res-info{align-items:center;gap:12px;display:flex}.res-name{color:#475569;font-size:13px;font-weight:700}.res-type{color:#94a3b8;font-size:11px}.res-downloads{color:#475569;background:#f8fafc;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:700;display:flex}.top-member-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.rank-medal{width:24px;font-size:18px}.member-avatar-mini{border-radius:50%;width:32px;height:32px}.member-details{flex-direction:column;display:flex}.member-name{color:#1a1e2b;font-size:13px;font-weight:700}.member-coins{color:#94a3b8;font-size:11px}@media (width<=1200px){.community-triple-grid{grid-template-columns:200px 1fr}.comm-right-col{display:none}}.messages-layout{background:#f8fafc;overflow:hidden!important}.messages-container{background:#fff;border:1px solid #f1f5f9;border-radius:24px;grid-template-columns:360px 1fr;height:calc(100vh - 240px);display:grid;overflow:hidden;box-shadow:0 4px 15px #00000005}.chats-sidebar{border-right:1px solid #f1f5f9;flex-direction:column;display:flex}.chats-sidebar-header{border-bottom:1px solid #f1f5f9;padding:24px}.title-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.title-row h2{color:#1a1e2b;font-size:24px;font-weight:800}.btn-new-chat-icon{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.search-chats{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;display:flex}.search-chats input{background:0 0;border:none;outline:none;width:100%;font-size:14px}.chat-filters{-ms-overflow-style:none;scrollbar-width:none;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.chat-filters::-webkit-scrollbar{display:none}.filter-pill{color:#64748b;white-space:nowrap;cursor:pointer;background:#f8fafc;border:1px solid #f1f5f9;border-radius:100px;flex-shrink:0;padding:6px 12px;font-size:11px;font-weight:600}.filter-pill.active{color:#fff;background:#1a1e2b;border-color:#1a1e2b}.conversations-list{flex:1;overflow-y:auto}.conversation-item{cursor:pointer;border-bottom:1px solid #f8fafc;align-items:center;gap:16px;padding:16px 24px;transition:all .2s;display:flex}.conversation-item:hover{background:#f8fafc}.conversation-item.active{background:#f0fdf9;border-left:4px solid #3acfa9}.conv-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:800;display:flex;position:relative}.online-status-dot{background:#10b981;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:2px;right:2px}.conv-info{flex:1;overflow:hidden}.conv-name-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.conv-name{color:#1a1e2b;font-size:14px;font-weight:700}.role-badge{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:9px;font-weight:800}.role-badge.tutor{color:#3acfa9;background:#e2f7f1}.role-badge.alumno{color:#a855f7;background:#f3e8ff}.role-badge.soporte{color:#f59e0b;background:#fffbeb}.conv-last-msg{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.conv-meta{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.conv-time{color:#cbd5e1;font-size:11px}.conv-unread-badge{color:#fff;background:#3acfa9;border-radius:50%;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:flex}.chat-window{background:#fff;flex-direction:column;display:flex}.chat-window-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.active-user-info{align-items:center;gap:16px;display:flex}.active-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:flex}.active-name-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.active-name-row h4{margin:0;font-size:15px;font-weight:800}.active-status{color:#94a3b8;font-size:12px}.chat-actions{gap:12px;display:flex}.chat-action-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex}.chat-action-btn:hover{background:#f8fafc}.chat-messages-area{background:#f8fafc;flex-direction:column;flex:1;gap:24px;padding:32px;display:flex;overflow-y:auto}.chat-bubble-wrapper{flex-direction:column;max-width:70%;display:flex}.chat-bubble-wrapper.me{align-self:flex-end;align-items:flex-end}.chat-bubble-wrapper.them{align-self:flex-start;align-items:flex-start}.chat-bubble{border-radius:18px;padding:14px 20px;font-size:14px;line-height:1.6}.chat-bubble.them{color:#1a1e2b;background:#fff;border:1px solid #f1f5f9;border-top-left-radius:4px}.chat-bubble.me{color:#fff;background:#3acfa9;border-top-right-radius:4px}.chat-bubble p{white-space:pre-line;margin:0}.chat-time{color:#cbd5e1;margin-top:6px;font-size:11px;font-weight:600}.chat-input-area{border-top:1px solid #f1f5f9;padding:24px 32px}.chat-input-wrapper{background:#f8fafc;border:1px solid #e2e8f0;border-radius:100px;align-items:center;gap:12px;padding:8px 8px 8px 24px;display:flex}.chat-input-wrapper input{color:#1a1e2b;background:0 0;border:none;outline:none;flex:1;font-size:14px}.chat-input-btns{gap:8px;display:flex}.btn-input-icon{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.btn-send-message{cursor:pointer;background:#3acfa9;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.earn-layout{background:#f8fafc}.earn-container{flex-direction:column;gap:24px;display:flex;padding:24px 48px!important}.earn-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:24px;box-shadow:0 4px 15px #00000005}.earn-card h3{color:#1a1e2b;margin-bottom:16px;font-size:15px;font-weight:800}.earn-stats-grid{grid-template-columns:1fr 1fr 1fr;gap:24px;display:grid}.wallet-card-dark{color:#fff;background:#1a1e2b;border:none;flex-direction:column;display:flex}.wallet-label{color:#ffffff80;margin-bottom:8px;font-size:11px;font-weight:700}.wallet-balance{margin-bottom:4px;font-size:36px;font-weight:800}.wallet-subtext{color:#fff6;margin-bottom:24px;font-size:12px}.wallet-progress-container{margin-bottom:24px}.progress-info{color:#3acfa9;margin-bottom:8px;font-size:11px;font-weight:700}.progress-bar-bg{background:#ffffff1a;border-radius:10px;height:6px;overflow:hidden}.progress-bar-fill{background:#3acfa9;border-radius:10px;height:100%}.btn-redeem{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;margin-top:auto;padding:10px;font-size:13px;font-weight:700}.streak-main{align-items:center;gap:16px;margin-bottom:24px;display:flex}.streak-val{flex-direction:column;display:flex}.streak-val .count{color:#f97316;font-size:24px;font-weight:800}.streak-val .meta{color:#94a3b8;font-size:11px}.streak-days{justify-content:space-between;margin-bottom:20px;display:flex}.streak-day-item{color:#cbd5e1;flex-direction:column;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.streak-day-item.completed{color:#3acfa9}.streak-day-item .day-circle{color:#e2e8f0}.streak-day-item.completed .day-circle{color:#3acfa9}.streak-footer{color:#64748b;border-top:1px solid #f8fafc;padding-top:12px;font-size:11px}.streak-footer span{color:#3acfa9;font-weight:700}.chart-subtitle{color:#94a3b8;margin-bottom:20px;font-size:11px}.weekly-chart-box{justify-content:space-between;align-items:flex-end;height:100px;margin-bottom:20px;display:flex}.chart-bar-col{color:#94a3b8;flex-direction:column;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex;position:relative}.bar-val-hint{color:#3acfa9;font-size:10px;position:absolute;top:-20px}.chart-bar{border-radius:6px;width:24px}.chart-footer-total{color:#1a1e2b;font-size:12px}.earn-middle-grid{grid-template-columns:1fr 340px;gap:24px;display:grid}.card-header-flex{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.quest-progress-txt{color:#3acfa9;font-size:11px;font-weight:700}.quest-progress-bar-minimal{background:#f1f5f9;border-radius:10px;height:4px;margin-bottom:8px}.quest-progress-bar-minimal .progress-fill{background:#3acfa9;border-radius:10px;height:100%}.quest-sub{color:#94a3b8;margin-bottom:24px;font-size:12px}.quests-list{flex-direction:column;gap:12px;display:flex}.quest-item{background:#f8fafc;border:1px solid #0000;border-radius:16px;align-items:center;gap:16px;padding:16px;display:flex}.quest-item.completed{background:#f0fdf9;border-color:#3acfa91a}.quest-info h4{color:#1a1e2b;margin-bottom:4px;font-size:13px;font-weight:700}.quest-info p{color:#94a3b8;font-size:11px}.quest-action{align-items:center;gap:12px;margin-left:auto;display:flex}.reward-tag{color:#3acfa9;font-size:12px;font-weight:800}.btn-go{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:8px;padding:4px 16px;font-size:11px;font-weight:800}.quest-bonus-banner{color:#92400e;text-align:center;background:#fffcf0;border:1px solid #fef3c7;border-radius:12px;margin-top:24px;padding:12px;font-size:12px}.league-tabs{background:#f1f5f9;border-radius:10px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.league-tabs .tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:6px;font-size:11px;font-weight:700}.league-tabs .tab.active{color:#fff;background:#1a1e2b}.league-top-three{justify-content:center;align-items:flex-end;gap:12px;margin-bottom:32px;padding-top:20px;display:flex}.podium-item{flex-direction:column;align-items:center;display:flex}.podium-avatar{border-radius:50%;width:44px;height:44px;margin-bottom:8px}.podium-avatar.blue{background:#3b82f6}.podium-avatar.purple{background:#a855f7}.podium-avatar-main{background:#3acfa9;border:3px solid #e2f7f1;border-radius:50%;width:60px;height:60px;margin-bottom:8px}.podium-name{color:#1a1e2b;font-size:11px;font-weight:700}.podium-score{color:#3acfa9;font-size:12px;font-weight:800}.league-list{flex-direction:column;gap:8px;display:flex}.league-row{background:#f8fafc;border-radius:12px;align-items:center;padding:10px 12px;display:flex}.league-row.is-me{background:#f0fdf9;border:1px solid #3acfa933}.l-rank{color:#94a3b8;width:24px;font-size:12px;font-weight:800}.l-avatar{border-radius:50%;width:28px;height:28px;margin-right:12px}.l-name{color:#1a1e2b;flex:1;font-size:12px;font-weight:700}.l-score{color:#475569;font-size:12px;font-weight:800}.league-footer-msg{text-align:center;color:#3acfa9;background:#f0fdf9;border-radius:8px;margin-top:20px;padding:8px;font-size:11px;font-weight:700}.earn-bottom-grid{grid-template-columns:1fr 340px;gap:24px;display:grid}.history-tabs{border-bottom:1px solid #f1f5f9;gap:24px;margin-bottom:16px;display:flex}.h-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:13px;font-weight:700;position:relative}.h-tab.active{color:#1a1e2b}.h-tab.active:after{content:"";background:#1a1e2b;width:100%;height:2px;position:absolute;bottom:-1px;left:0}.history-table{flex-direction:column;display:flex}.h-row{border-bottom:1px solid #f8fafc;grid-template-columns:100px 1fr 80px 60px;align-items:center;padding:16px 0;display:grid}.h-date{color:#cbd5e1;font-size:11px}.h-desc{color:#475569;font-size:13px;font-weight:700}.h-tag{text-align:center;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.tag-speaking{color:#3acfa9;background:#f0fdf9}.tag-clase{color:#3b82f6;background:#eff6ff}.tag-ai{color:#a855f7;background:#faf5ff}.tag-reto{color:#f59e0b;background:#fffbeb}.tag-bonus{color:#f43f5e;background:#fff1f2}.tag-referido{color:#d946ef;background:#fdf4ff}.h-amount{color:#3acfa9;text-align:right;font-size:13px;font-weight:800}.rules-sub{color:#94a3b8;margin-bottom:24px;font-size:12px}.rules-list{flex-direction:column;gap:16px;display:flex}.rule-item{align-items:center;gap:16px;display:flex}.rule-icon{color:#64748b;background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.rule-info{flex-direction:column;flex:1;display:flex}.r-activity{color:#1a1e2b;font-size:13px;font-weight:700}.r-rule{color:#94a3b8;font-size:11px}.r-reward{color:#3acfa9;font-size:12px;font-weight:800}.rules-disclaimer{color:#f59e0b;text-align:center;margin-top:24px;font-size:11px;font-weight:700}@media (width<=1200px){.earn-stats-grid,.earn-middle-grid,.earn-bottom-grid{grid-template-columns:1fr}}.cancel-modal{background:#fff;border-radius:24px;width:100%;max-width:500px;padding:32px;animation:.3s ease-out modalScaleUp;position:relative;box-shadow:0 20px 50px #00000026}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-close-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:24px;right:24px}.modal-close-btn:hover{color:#1a1e2b;background:#f8fafc}.cancel-header{margin-bottom:24px}.warning-icon-circle{background:#fff1f2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;display:flex}.warning-icon-circle .exclamation{color:#ef4444;font-size:24px;font-weight:800}.cancel-title{color:#1a1e2b;margin:0 0 8px;font-size:24px;font-weight:800}.cancel-subtitle{color:#64748b;margin:0;font-size:15px}.cancel-class-summary{background:#f8fafc;border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.summary-avatar{border-radius:50%;width:48px;height:48px;overflow:hidden}.summary-avatar img{object-fit:cover;width:100%;height:100%}.summary-info h4{color:#1a1e2b;margin:0 0 4px;font-size:15px;font-weight:700}.summary-info p{color:#64748b;margin:0;font-size:13px}.section-label{color:#94a3b8;letter-spacing:.5px;margin-bottom:12px;font-size:11px;font-weight:700;display:block}.reason-pills{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.reason-pill{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .2s}.reason-pill:hover{background:#f8fafc}.reason-pill.active{color:#fff;background:#1a1e2b;border-color:#1a1e2b}.cancel-details-input{resize:none;border:1px solid #e2e8f0;border-radius:12px;width:100%;height:80px;margin-bottom:24px;padding:12px 16px;font-size:14px}.cancel-details-input:focus{border-color:#cbd5e1;outline:none}.cancel-reminder-box{background:#fff7ed;border-radius:12px;gap:12px;margin-bottom:32px;padding:16px;display:flex}.reminder-icon{color:#f59e0b}.reminder-text h5{color:#92400e;margin:0 0 4px;font-size:13px;font-weight:700}.reminder-text p{color:#92400e;margin:0;font-size:12px;line-height:1.5}.cancel-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:24px;display:flex}.btn-back-cancel{color:#1a1e2b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700}.btn-confirm-cancel{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700;transition:all .2s}.btn-confirm-cancel:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.reschedule-modal{background:#fff;border-radius:24px;width:100%;max-width:580px;padding:32px;animation:.3s ease-out modalScaleUp;position:relative;box-shadow:0 20px 50px #00000026}.reschedule-header{margin-bottom:24px}.tutor-pill-mini{color:#475569;background:#f8fafc;border-radius:20px;align-items:center;gap:8px;margin-bottom:16px;padding:4px 12px 4px 4px;font-size:13px;font-weight:600;display:inline-flex}.tutor-avatar-tiny{border-radius:50%;width:24px;height:24px;overflow:hidden}.tutor-avatar-tiny img{object-fit:cover;width:100%;height:100%}.reschedule-title{color:#1a1e2b;margin:0 0 8px;font-size:24px;font-weight:800}.reschedule-subtitle{color:#64748b;margin:0;font-size:14px}.current-class-banner{background:#fff7ed;border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.current-icon{font-size:20px}.current-text .label{color:#92400e;letter-spacing:.5px;font-size:10px;font-weight:800;display:block}.current-text .value{color:#92400e;font-size:14px;font-weight:700}.schedule-grid-mini{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px;display:grid}.day-header{text-align:center;margin-bottom:12px}.day-name{color:#94a3b8;font-size:11px;font-weight:700;display:block}.day-date{color:#1a1e2b;margin-top:2px;font-size:13px;font-weight:800;display:block}.time-slots{flex-direction:column;gap:8px;display:flex}.time-slot-btn-reschedule{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.time-slot-btn-reschedule:hover{color:#3acfa9;border-color:#3acfa9}.time-slot-btn-reschedule.active{color:#fff;background:#3acfa9;border-color:#3acfa9}.time-slot-btn-reschedule.current{color:#f59e0b;cursor:not-allowed;opacity:.8;background:#fff7ed;border-style:dashed;border-color:#f59e0b}.new-selection-banner{color:#166534;background:#f0fdf4;border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.check-circle-mint{color:#fff;background:#3acfa9;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.reschedule-footer{border-top:1px solid #f1f5f9;justify-content:space-between;padding-top:24px;display:flex}.btn-cancel-reschedule{color:#1a1e2b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700}.btn-confirm-reschedule{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700;transition:all .2s}.btn-confirm-reschedule:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-reschedule:not(:disabled):hover{background:#32b896;transform:translateY(-2px)}.back-link-simple{color:#64748b;align-items:center;gap:8px;margin-bottom:24px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.back-link-simple:hover{color:#1a1e2b}.class-detail-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;margin-bottom:24px;padding:32px}.status-badge-row{margin-bottom:24px}.badge-next{color:#3acfa9;background:#f0fdf9;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700}.badge-completed{color:#64748b;background:#f1f5f9;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700}.detail-hero{align-items:center;gap:24px;margin-bottom:32px;display:flex}.left-content-column{flex-direction:column;gap:24px;display:flex}.report-card{flex-direction:column;gap:20px;display:flex}.video-placeholder{aspect-ratio:16/9;background:#1e293b;border-radius:20px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.play-button-outer{background:#3acfa966;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.play-button-inner{background:#3acfa9;border-radius:50%;width:48px;height:48px}.video-duration{color:#fff;background:#0009;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;position:absolute;bottom:12px;right:12px}.tutor-summary-section{background:#f8fafc;border-radius:16px;padding:20px}.summary-title-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.summary-title-row h4{color:#1a1e2b;margin:0;font-size:15px;font-weight:700}.summary-text{color:#475569;margin:0;font-size:14px;line-height:1.6}.rating-card{justify-content:space-between;align-items:center;display:flex;padding:32px!important}.rating-content{flex-direction:column;gap:16px;display:flex}.stars-row{gap:8px;display:flex}.btn-submit-rating{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700;transition:all .2s}.btn-submit-rating:hover{background:#32b896;transform:translateY(-2px)}.detail-avatar-large{border:4px solid #f8fafc;border-radius:50%;width:90px;height:90px;overflow:hidden}.detail-avatar-large img{object-fit:cover;width:100%;height:100%}.detail-header-text h1{color:#1a1e2b;margin:0 0 12px;font-size:28px;font-weight:800}.detail-meta-grid{gap:20px;display:flex}.meta-item{color:#64748b;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.detail-actions-row{gap:12px;display:flex}.btn-join-class{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:700;transition:all .2s}.btn-join-class:hover{background:#32b896;transform:translateY(-2px);box-shadow:0 8px 20px #3acfa94d}.btn-outline-action{color:#1a1e2b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-outline-action:hover{background:#f8fafc}.btn-danger-outline{color:#ef4444;cursor:pointer;background:#fff;border:1px solid #fee2e2;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-danger-outline:hover{background:#fff1f2}.detail-bottom-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.card-style{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:28px}.card-header-iconic{align-items:center;gap:12px;margin-bottom:8px;display:flex}.icon-emoji{font-size:20px}.card-header-iconic h3{color:#1a1e2b;margin:0;font-size:18px;font-weight:800}.card-subtitle-small{color:#94a3b8;margin:0 0 20px;font-size:14px}.notes-display-box{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:20px;font-size:15px;line-height:1.6}.card-label-top{color:#94a3b8;letter-spacing:1px;margin-bottom:20px;font-size:11px;font-weight:700;display:block}.tutor-mini-content{align-items:center;gap:16px;margin-bottom:20px;display:flex}.tutor-avatar-mini-detail{border-radius:50%;width:48px;height:48px;overflow:hidden}.tutor-avatar-mini-detail img{object-fit:cover;width:100%;height:100%}.tutor-mini-info h4{color:#1a1e2b;margin:0 0 4px;font-size:16px;font-weight:800}.tutor-mini-stats{color:#64748b;font-size:13px}.link-view-profile{color:#64748b;background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.link-view-profile:hover{color:#1a1e2b;background:#f1f5f9}.auto-save-hint{color:#3acfa9;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;display:flex}.icon-bg{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.icon-bg.blue{color:#3b82f6;background:#3b82f61a}.icon-bg.purple{color:#a855f7;background:#a855f71a}.materials-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:8px;display:grid}.material-item-card{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;padding:16px;transition:all .2s;display:flex}.material-item-card:hover{background:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.mat-icon-box{color:#3b82f6;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 6px #0000000a}.mat-text h4{color:#1a1e2b;margin:0 0 2px;font-size:13px;font-weight:700}.mat-text span{color:#94a3b8;font-size:11px}.tutor-stats-grid-mini{background:#f8fafc;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;padding:16px;display:grid}.stat-mini-item{text-align:center;flex-direction:column;align-items:center;display:flex}.stat-num{color:#1a1e2b;font-size:16px;font-weight:800}.stat-label{color:#94a3b8;letter-spacing:.5px;margin-top:4px;font-size:9px;font-weight:700}.practice-list{margin:16px 0;padding:0;list-style:none}.practice-list li{color:#475569;align-items:flex-start;gap:12px;margin-bottom:12px;font-size:14px;line-height:1.4;display:flex}.dot-purple{background:#a855f7;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.practice-footer{color:#94a3b8;margin:0;font-size:11px;font-style:italic}.progress-card-dark{color:#fff;background:#1a1e2b!important;border:none!important}.progress-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.trend-icon-box{color:#3acfa9;background:#3acfa933;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.label-tiny{color:#94a3b8;letter-spacing:.5px;font-size:9px;font-weight:700;display:block}.progress-title-box h4{margin:2px 0 0;font-size:14px;font-weight:700}.progress-stats-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.p-stat{flex-direction:column;display:flex}.p-num{color:#fff;font-size:20px;font-weight:800}.p-label{color:#94a3b8;margin-top:4px;font-size:10px}.btn-reserve-mini-dark{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.btn-reserve-mini-dark:hover{background:#32b896;transform:translateY(-2px)}.review-materials{margin-top:24px}.review-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.review-item-compact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.review-item-compact:hover{background:#fff;border-color:#3acfa9}.mat-icon-mini{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mat-icon-mini.blue{color:#3b82f6;background:#3b82f61a}.mat-icon-mini.purple{color:#a855f7;background:#a855f71a}.mat-info-mini h4{color:#1a1e2b;margin:0 0 2px;font-size:12px;font-weight:700}.mat-info-mini span{color:#94a3b8;font-size:10px}.btn-download-mini{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;transition:all .2s;display:flex}.btn-download-mini:hover{color:#1a1e2b;background:#f1f5f9;border-color:#cbd5e1}.badge-cancelled{color:#ef4444;background:#fff1f2;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.btn-reschedule-mint{color:#fff;cursor:pointer;background:#3acfa9;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-weight:700;transition:all .2s;display:flex}.btn-reschedule-mint:hover{background:#32b896;transform:translateY(-2px)}.cancelled-info-card{padding:24px}.cancelled-header-row{gap:16px;margin-bottom:20px;display:flex}.cancel-icon-small{color:#ef4444}.cancel-text-info h3{color:#1a1e2b;margin:0;font-size:18px;font-weight:800}.cancel-text-info p{color:#64748b;margin:4px 0 0;font-size:13px}.reason-box-display{background:#f8fafc;border-left:4px solid #ef4444;border-radius:0 12px 12px 0;padding:16px}.reason-label{color:#94a3b8;letter-spacing:.5px;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.reason-box-display p{color:#1a1e2b;margin:0;font-size:14px;font-weight:600}.credit-notice-card{gap:16px;padding:24px;display:flex;background:#f0fdf4!important;border:1px solid #bcf0da!important}.credit-icon-box{color:#22c55e}.credit-text h3{color:#166534;margin:0 0 4px;font-size:16px;font-weight:700}.credit-text p{color:#166534;margin:0;font-size:13px;line-height:1.5}.mini-tutors-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.mini-tutor-item{cursor:pointer;background:#f8fafc;border-radius:12px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.mini-tutor-item:hover{background:#fff;box-shadow:0 4px 12px #0000000d}.mini-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.mini-info h4{color:#1a1e2b;margin:0;font-size:13px;font-weight:700}.mini-meta{color:#94a3b8;margin-top:2px;font-size:11px}.mini-status{color:#94a3b8;align-items:center;gap:4px;margin-top:4px;font-size:10px;font-weight:700;display:flex}.mini-status.online:before{content:"";background:#22c55e;border-radius:50%;width:6px;height:6px}.profile-layout{background:#f8fafc}.profile-container{flex-direction:column;gap:24px;display:flex;padding:24px 48px!important}.p-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:24px;box-shadow:0 4px 15px #00000005}.p-card h3{color:#1a1e2b;margin-bottom:8px;font-size:15px;font-weight:800}.p-card-sub{color:#94a3b8;margin-bottom:24px;font-size:12px}.profile-header-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;justify-content:space-between;align-items:center;padding:32px;display:flex}.profile-main-info{align-items:center;gap:24px;display:flex}.profile-avatar-wrapper{cursor:pointer;background:#f1f5f9;border:4px solid #fff;border-radius:50%;width:100px;height:100px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.profile-avatar-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.avatar-overlay{opacity:0;color:#fff;background:#0006;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-size:11px;font-weight:700;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.profile-avatar-wrapper:hover .avatar-overlay{opacity:1}.profile-avatar-wrapper:hover .profile-avatar-img{transform:scale(1.1)}.profile-text-info h1{color:#1a1e2b;margin-bottom:8px;font-size:24px;font-weight:800}.profile-meta-row{color:#94a3b8;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.profile-meta-row span{align-items:center;gap:6px;display:flex}.profile-badges-row{align-items:center;gap:12px;display:flex}.p-level-badge{color:#3acfa9;background:#e2f7f1;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:800}.p-member-since{color:#cbd5e1;font-size:11px}.profile-progress-stats{flex-direction:column;gap:16px;width:300px;display:flex}.prog-labels{color:#94a3b8;justify-content:space-between;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.prog-labels strong{color:#1a1e2b}.prog-bar-bg{background:#f1f5f9;border-radius:10px;height:8px}.prog-bar-fill{background:#3acfa9;border-radius:10px;height:100%}.prog-streak-tag{color:#f97316;text-align:right;font-size:12px;font-weight:700}.profile-stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.p-stat-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex}.p-stat-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.p-stat-icon.teal{color:#3acfa9;background:#e2f7f1}.p-stat-icon.blue{color:#3b82f6;background:#eff6ff}.p-stat-icon.purple{color:#a855f7;background:#faf5ff}.p-stat-icon.orange{color:#f97316;background:#fff7ed}.p-stat-label{color:#94a3b8;font-size:11px;font-weight:600}.p-stat-value{color:#1a1e2b;font-size:20px;font-weight:800}.p-stat-change{font-size:10px;font-weight:700}.p-stat-change.pos{color:#3acfa9}.p-stat-change.neutral{color:#94a3b8}.profile-middle-grid{grid-template-columns:1fr 340px;gap:24px;display:grid}.skills-list{flex-direction:column;gap:20px;display:flex}.skill-item{flex-direction:column;gap:8px;display:flex}.skill-label-row{justify-content:space-between;align-items:center;display:flex}.skill-tag{text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:10px;font-weight:800}.skill-val-group{align-items:center;gap:12px;display:flex}.skill-val-group strong{color:#1a1e2b;font-size:14px}.skill-status{font-size:11px;font-weight:700}.skill-bar-bg{background:#f1f5f9;border-radius:10px;height:6px}.skill-bar-fill{border-radius:10px;height:100%}.summary-list{flex-direction:column;display:flex}.summary-item{border-bottom:1px solid #f8fafc;justify-content:space-between;padding:12px 0;display:flex}.summary-label{color:#64748b;font-size:13px}.summary-value{color:#1a1e2b;font-size:13px;font-weight:700}.history-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.view-all-link{color:#3acfa9;cursor:pointer;font-size:12px;font-weight:700}.history-filters{gap:12px;margin-bottom:24px;display:flex}.h-filter{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #f1f5f9;border-radius:100px;padding:6px 16px;font-size:12px;font-weight:600}.h-filter.active{color:#fff;background:#1a1e2b}.p-history-table{border-collapse:collapse;width:100%}.p-history-table th{text-align:left;color:#94a3b8;border-bottom:1px solid #f1f5f9;padding:12px;font-size:11px;font-weight:700}.p-history-table td{border-bottom:1px solid #f8fafc;padding:16px 12px;font-size:13px}.td-date{color:#94a3b8}.td-activity{color:#1a1e2b;font-weight:700}.td-tutor{color:#64748b}.td-duration{color:#94a3b8}.td-score strong{color:#1a1e2b}.p-badge-type{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:9px;font-weight:800}.p-badge-type.clase{color:#3acfa9;background:#e2f7f1}.p-badge-type.speaking{color:#f87171;background:#fff1f2}.p-badge-type.quiz{color:#a855f7;background:#faf5ff}.p-badge-type.ai{color:#3b82f6;background:#eff6ff}.p-badge-type.tarea{color:#fbbf24;background:#fff7ed}.p-status-tag{font-size:11px;font-weight:700}.p-status-tag.completada{color:#34d399}.p-status-tag.revisada{color:#fbbf24}.p-status-tag.aprobado{color:#60a5fa}.p-status-tag.repetir{color:#f87171}.p-status-tag.coins{color:#3acfa9;font-weight:800}@media (width<=1200px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}.profile-middle-grid{grid-template-columns:1fr}.profile-header-card{flex-direction:column;align-items:flex-start;gap:24px}}:root{--primary-teal:#3acfa9;--soft-teal:#acead9;--very-soft-teal:#ddf7f1;--text-primary:#222;--text-secondary:#6a6a6a;--white:#fff;--border-inactive:#dedede;--pale-mint:#ebf9f4;--shadow:0 4px 20px #0000000d;--radius:12px}*{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif}body{background-color:var(--bg-light);color:var(--text-dark);line-height:1.6;overflow-x:hidden}.app-container{flex-direction:column;min-height:100vh;display:flex}.auth-wrapper{background:linear-gradient(135deg,#fdfbfb 0%,#ebedee 100%);flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.auth-card{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);border-top:5px solid var(--primary-teal);width:100%;max-width:450px;padding:40px}.logo-container{text-align:center;margin-bottom:30px}.logo-container img{max-width:180px}h2{text-align:center;color:var(--text-dark);margin-bottom:24px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.form-group input{border:1.5px solid var(--border-color);border-radius:8px;width:100%;padding:12px 16px;font-size:1rem;transition:border-color .3s}.form-group input:focus{border-color:var(--primary-teal);outline:none}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.btn-primary{background-color:var(--primary-teal);color:#fff}.btn-primary:hover{background-color:var(--primary-teal-hover);transform:translateY(-2px);box-shadow:0 5px 15px #30cdaa4d}.auth-footer{text-align:center;color:var(--text-muted);margin-top:24px;font-size:.9rem}.auth-footer a{color:var(--primary-teal);font-weight:600;text-decoration:none}.error-message{color:#dc2626;text-align:center;background-color:#fee2e2;border-radius:6px;margin-bottom:20px;padding:10px;font-size:.85rem}.dashboard-container{max-width:1200px;margin:0 auto;padding:20px}.navbar{background:var(--bg-white);justify-content:space-between;align-items:center;padding:15px 40px;display:flex;box-shadow:0 2px 10px #0000000d}.welcome-section{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-top:30px;padding:30px}
