@import url(https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700&display=swap);.app-shell{background-color:#f7faf8;display:grid;grid-template-columns:260px 1fr;min-height:100vh}.mobile-header,.sidebar-overlay{display:none}.sidebar{background-color:#fff;border-left:1px solid #e4efe9;box-shadow:-4px 0 12px #1047380d;display:flex;flex-direction:column;gap:1.5rem;height:-webkit-fit-content;height:fit-content;max-height:100vh;overflow-y:auto;padding:2rem 1.5rem;position:-webkit-sticky;position:sticky;top:0}.sidebar__brand{align-items:center;color:var(--color-primary);display:flex;font-size:1.4rem;font-weight:700;gap:.4rem}.sidebar__user-info{background:linear-gradient(135deg,#f0fdf4,#e8f5e9);border-radius:.75rem;padding:.75rem;text-align:right}.sidebar__user-name{color:var(--color-primary);font-size:.95rem;font-weight:600}.sidebar__user-role{color:var(--color-text-muted);font-size:.8rem;margin-top:2px}.sidebar__user-role-container{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:4px}.sidebar__role-switch-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:.85rem;height:28px;justify-content:center;transition:transform .3s ease,box-shadow .3s ease;width:28px}.sidebar__role-switch-btn:hover{box-shadow:0 4px 8px #0003;transform:rotate(180deg)}.sidebar__role-switcher{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:8px}.sidebar__role-option{align-items:center;background:#f5f5f5;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:8px 12px;text-align:right;transition:all .2s ease}.sidebar__role-option:hover{background:#e8f5e9;border-color:var(--color-primary-light)}.sidebar__role-option.active{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:var(--color-primary);color:var(--color-primary)}.sidebar__nav{display:flex;flex-direction:column;gap:.5rem}.sidebar__link{align-items:center;border-radius:.75rem;color:var(--color-text-muted);display:flex;font-weight:600;gap:.5rem;padding:.65rem .75rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.sidebar__link-icon{font-size:1.1rem;text-align:center;width:24px}.sidebar__link-text{flex:1 1}.sidebar__badge{background:#ef4444;border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;min-width:20px;padding:2px 8px;text-align:center}.sidebar__link:hover{background-color:#1b8c6b14;color:var(--color-primary)}.sidebar__link--active{background-color:var(--color-primary);color:#fff}.sidebar__link--active .sidebar__badge{background:#fff;color:var(--color-primary)}.sidebar__bottom-actions{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.75rem}.sidebar__logout{align-items:center;background-color:#1b8c6b1a;border:none;border-radius:.75rem;color:var(--color-primary);cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:background-color .2s ease,transform .2s ease}.sidebar__logout:hover{background-color:#1b8c6b33;transform:translateY(-1px)}.app-content{box-sizing:border-box;display:flex;justify-content:center;overflow-x:hidden;padding:2.5rem;width:100%}.app-content__inner{gap:2.5rem;width:min(960px,100%)}.app-content__inner,.page{display:flex;flex-direction:column;max-width:100%}.page{gap:2rem;overflow-x:hidden}.page__header h1{color:var(--color-text-strong);font-size:2rem;margin-bottom:.5rem}.page__header p{color:var(--color-text-muted)}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:480px){.stats-grid{gap:1rem;grid-template-columns:1fr 1fr}}@media (max-width:360px){.stats-grid{grid-template-columns:1fr}}.stat-card{background-color:#fff;border-radius:1.25rem;box-shadow:0 12px 32px #10473814;display:flex;flex-direction:column;gap:.75rem;min-width:0;overflow:hidden;padding:1.5rem}.stat-card h2{word-wrap:break-word;color:var(--color-text-muted);font-size:1rem}.stat-card__value{color:var(--color-primary);font-size:2rem;font-weight:700}@media (max-width:480px){.stat-card{border-radius:1rem;padding:1rem}.stat-card h2{font-size:.85rem}.stat-card__value{font-size:1.5rem}}.stat-card__description{color:var(--color-text-muted)}.info-card,.overview-card,.table-card{background-color:#fff;border-radius:1.25rem;box-shadow:0 12px 32px #1047380f;padding:1.75rem}.overview-card h2{color:var(--color-text-strong);margin-bottom:1rem}.overview-list{color:var(--color-text-muted);display:flex;flex-direction:column;gap:.75rem;padding-right:1rem}.attendance-summary-card{background-color:#fff;border-radius:1.25rem;box-shadow:0 12px 32px #1047380f;padding:1.75rem}.attendance-summary-card h2{color:var(--color-text-strong);font-size:1.2rem;margin-bottom:1.5rem}.summary-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-item{border:2px solid #e4efe9;border-radius:.75rem;padding:1.25rem;text-align:center;transition:all .3s ease}.summary-item:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-2px)}.summary-item.total{background-color:#1b8c6b14;border-color:var(--color-primary)}.summary-item.present{background-color:#4caf5014;border-color:#4caf50}.summary-item.late{background-color:#ff980014;border-color:#ff9800}.summary-item.excused{background-color:#2196f314;border-color:#2196f3}.summary-item.absent{background-color:#f4433614;border-color:#f44336}.summary-label{color:var(--color-text-muted);font-size:.9rem;margin-bottom:.5rem}.summary-count{color:var(--color-text-strong);font-size:2rem;font-weight:700}.card-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.info-card h2{color:var(--color-text-strong);font-size:1.2rem;margin-bottom:.5rem}.info-card p{color:var(--color-text-muted);line-height:1.7}.table-card td,.table-card th{border-bottom:1px solid #e4efe9;padding:.85rem .75rem;text-align:right}.table-card th{background-color:#1b8c6b14;color:var(--color-text-strong)}.table-card tbody tr:hover{background-color:#1b8c6b0a}.login-page{align-items:center;background:linear-gradient(135deg,#1b8c6b1a,#f7faf8);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background-color:#fff;border-radius:1.5rem;box-shadow:0 18px 48px #1047381f;padding:2.5rem;text-align:center;width:min(420px,100%)}.login-card h1{color:var(--color-text-strong);font-size:1.8rem;margin-bottom:.5rem}.login-card__subtitle{color:var(--color-text-muted);margin-bottom:2rem}.login-form{gap:1.25rem;text-align:right}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{color:var(--color-text-strong);font-weight:600;gap:.5rem}.login-form input{background-color:#fdfefe;border:1px solid #d6e4de;border-radius:.75rem;font-size:1rem;padding:.85rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1b8c6b26;outline:none}.login-form button{background-color:var(--color-primary);border:none;border-radius:.75rem;color:#fff;cursor:pointer;font-weight:700;padding:.85rem;transition:background-color .2s ease,transform .2s ease}.login-form button:hover:not(:disabled){background-color:#15785a;transform:translateY(-1px)}.login-form button:disabled{background-color:#1b8c6b99;cursor:not-allowed}.login-card__hint{color:var(--color-text-muted);font-size:.9rem;margin-top:1.5rem}.login-card__hint a{color:var(--color-primary);font-weight:600;text-decoration:none}.login-card__hint a:hover{text-decoration:underline}.register-card{width:min(520px,100%)}.login-form select{background-color:#fdfefe;border:1px solid #d6e4de;border-radius:.75rem;font-family:inherit;font-size:1rem;padding:.85rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.login-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1b8c6b26;outline:none}.form-error{background-color:#dc35451a;border-radius:.75rem;color:#b42318;padding:.75rem;text-align:center}@media (max-width:480px){.login-screen{padding:1rem}.login-card{padding:1.5rem}.login-card h1{font-size:1.5rem}.login-form input,.login-form select{padding:.75rem}.register-card{width:100%}}.loading-screen{align-items:center;color:var(--color-text-strong);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.loading-spinner{animation:spinner 1s linear infinite;border:4px solid #1b8c6b33;border-radius:50%;border-top:4px solid var(--color-primary);height:48px;width:48px}@keyframes spinner{to{transform:rotate(-1turn)}}@media (max-width:1024px){.app-shell{grid-template-columns:220px 1fr}}@media (max-width:768px){.app-shell{grid-template-columns:1fr;padding-top:60px}.mobile-header{align-items:center;background:#fff;box-shadow:0 2px 8px #0000001a;display:flex;height:60px;justify-content:space-between;left:0;padding:0 1rem;position:fixed;right:0;top:0;z-index:1000}.mobile-header__brand{align-items:center;color:var(--color-primary);display:flex;font-size:1.2rem;font-weight:700;gap:.4rem}.hamburger-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:8px;transition:background-color .3s ease;width:40px}.hamburger-btn:hover{background-color:#1b8c6b1a}.hamburger-btn span{background-color:var(--color-primary);border-radius:2px;display:block;height:3px;transition:all .3s ease;width:24px}.hamburger-btn.active span:first-child{transform:rotate(45deg) translate(5px,6px)}.hamburger-btn.active span:nth-child(2){opacity:0}.hamburger-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.sidebar-overlay{background:#00000080;bottom:0;display:block;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:1001}.sidebar-overlay.active{opacity:1;visibility:visible}.sidebar{border-left:none;box-shadow:-4px 0 20px #00000026;height:100vh;max-height:100vh;padding:1.5rem;position:fixed;right:-280px;top:0;transition:right .3s ease;width:280px;z-index:1002}.sidebar.open{right:0}.sidebar__brand{border-bottom:1px solid #e4efe9;padding-bottom:1rem}.sidebar__brand,.sidebar__user-info{margin-bottom:.5rem}.sidebar__nav{flex:1 1;overflow-y:auto;padding-bottom:1rem}.sidebar__link{padding:.75rem 1rem}.sidebar__link-icon{font-size:1.2rem}.sidebar__logout{margin-top:0;padding:.85rem}.app-content{padding:1rem;width:100%}.app-content__inner,.page{gap:1.5rem}.page__header h1{font-size:1.5rem}}@media (min-width:769px) and (max-width:1024px){.app-shell{grid-template-columns:220px 1fr}.sidebar{padding:1.5rem 1rem}.sidebar__brand{font-size:1.2rem}.sidebar__link{font-size:.9rem;padding:.6rem .65rem}.sidebar__link-icon{font-size:1rem}}.curriculum-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;direction:rtl;margin:0 auto;max-width:1400px;padding:20px}.loading-spinner{color:#666;font-size:1.2rem;padding:60px;text-align:center}.curriculum-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.curriculum-header h1{color:#1a1a1a;font-size:1.8rem;margin:0}.header-actions{display:flex;gap:10px}.edit-mode-btn{background:#fff;border:2px solid #4caf50;border-radius:8px;color:#4caf50;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.edit-mode-btn.active,.edit-mode-btn:hover{background:#4caf50;color:#fff}.points-info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:25px;padding:20px 25px}.points-info-card h3{font-size:1.2rem;margin:0 0 15px}.points-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.point-item{align-items:center;background:#ffffff26;border-radius:8px;display:flex;justify-content:space-between;padding:12px 15px}.point-item.bonus{background:#ffd7004d;border:1px solid #ffd70080}.point-label{font-size:.9rem;opacity:.95}.point-value{font-size:1rem;font-weight:700}.curriculum-content{grid-gap:25px;display:grid;gap:25px;grid-template-columns:280px 1fr;min-height:500px}.levels-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;height:-webkit-fit-content;height:fit-content;padding:20px}.levels-sidebar h2{border-bottom:2px solid #4caf50;color:#333;font-size:1.1rem;margin:0 0 15px;padding-bottom:10px}.levels-list{display:flex;flex-direction:column;gap:10px}.level-card{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.level-card:hover{background:#e8f5e9;border-color:#c8e6c9}.level-card.selected{background:#e8f5e9;border-color:#4caf50}.level-info{display:flex;flex-direction:column;gap:4px}.level-name{color:#333;font-size:1rem;font-weight:700}.level-stages-count{color:#666;font-size:.85rem}.add-level-btn{background:#f0f0f0;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;font-size:.95rem;padding:12px;transition:all .3s ease;width:100%}.add-level-btn:hover{background:#e8f5e9;border-color:#4caf50;color:#4caf50}.add-level-form{background:#f8f9fa;border-radius:8px;margin-top:10px;padding:15px}.add-level-form input{border:1px solid #ddd;border-radius:6px;font-size:.95rem;margin-bottom:10px;padding:10px 12px;width:100%}.stages-panel{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:25px}.stages-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.stages-header h2{color:#333;font-size:1.3rem;margin:0}.level-bonus{background:linear-gradient(135deg,gold,#ffb700);border-radius:20px;color:#333;font-size:.9rem;font-weight:600;padding:8px 15px}.stages-table-container{margin-bottom:20px;overflow-x:auto}.stages-table{border-collapse:collapse;font-size:.95rem;width:100%}.stages-table th{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;font-weight:600;padding:15px 12px;text-align:center;white-space:nowrap}.stages-table th:first-child{border-radius:8px 0 0 0}.stages-table th:last-child{border-radius:0 8px 0 0}.stages-table td{border-bottom:1px solid #e0e0e0;padding:14px 12px;text-align:center;vertical-align:middle}.stages-table tr:nth-child(2n){background:#f8f9fa}.stages-table tr:hover{background:#e8f5e9}.stage-name{color:#333;font-weight:700}.memorization-cell{background:#4caf501a!important;color:#2e7d32;font-weight:500}.near-review-cell{background:#2196f31a!important;color:#1565c0;font-weight:500}.far-review-cell{background:#9c27b01a!important;color:#7b1fa2;font-weight:500}.points-cell{color:#ff9800}.actions-cell{white-space:nowrap}.delete-btn,.edit-btn{border:none;font-size:.9rem;margin:0 4px;padding:8px 12px;transition:all .2s ease}.edit-btn{background:#e3f2fd;color:#1565c0}.edit-btn:hover{background:#bbdefb}.delete-btn{background:#ffebee;color:#c62828}.delete-btn:hover{background:#ffcdd2}.delete-btn.small,.edit-btn.small{font-size:.85rem;padding:6px 10px}.add-stage-btn{background:#e8f5e9;border:2px dashed #4caf50;border-radius:8px;color:#4caf50;cursor:pointer;display:block;font-size:1rem;font-weight:600;padding:12px 20px;transition:all .3s ease;width:100%}.add-stage-btn:hover{background:#4caf50;border-style:solid;color:#fff}.stage-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;margin-top:20px;padding:25px}.stage-form h3{color:#333;font-size:1.1rem;margin:0 0 20px}.form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#555;font-size:.9rem}.form-group input{border:1px solid #ddd;padding:12px 15px;transition:border-color .3s ease}.form-group input:focus{border-color:#4caf50}.form-actions{justify-content:flex-start;margin-top:15px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 25px;transition:all .3s ease}.save-btn{background:#4caf50;color:#fff}.save-btn:hover{background:#45a049}.cancel-btn{background:#e0e0e0;color:#666}.cancel-btn:hover{background:#bdbdbd}.no-selection{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.empty-icon{margin-bottom:15px}.no-selection p{font-size:1.1rem}.curriculum-help{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-top:25px;padding:25px}.curriculum-help h3{color:#333;font-size:1.2rem;margin:0 0 20px}.help-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.help-item{align-items:flex-start;background:#f8f9fa;border-radius:10px;display:flex;gap:15px;padding:15px}.help-icon{flex-shrink:0;font-size:2rem}.help-item strong{color:#333;display:block;margin-bottom:5px}.help-item p{color:#666;font-size:.9rem;line-height:1.5;margin:0}@media (max-width:992px){.curriculum-content{grid-template-columns:1fr}.levels-sidebar{display:flex;flex-wrap:wrap;gap:10px;padding:15px}.levels-sidebar h2{margin-bottom:10px;width:100%}.level-card{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1;margin-bottom:0;min-width:140px}}@media (max-width:768px){.curriculum-container{padding:15px}.curriculum-header{align-items:flex-start;flex-direction:column;gap:15px}.curriculum-header h1{font-size:1.4rem}.points-grid{grid-template-columns:repeat(2,1fr)}.stages-table{font-size:.85rem}.stages-table td,.stages-table th{padding:10px 8px}.form-grid{grid-template-columns:1fr}.level-card{flex:1 1 100%}.help-content{grid-template-columns:1fr}}@media print{.actions-cell,.add-level-btn,.add-stage-btn,.edit-mode-btn,.form-actions{display:none!important}.curriculum-container{padding:0}.stages-table{page-break-inside:avoid}}.curriculum-subtitle{color:#666;font-size:1rem;font-weight:400;margin:5px 0 0}.curriculum-search{margin-bottom:20px}.curriculum-search .search-input{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;max-width:400px;padding:12px 16px;transition:all .3s ease;width:100%}.curriculum-search .search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.juz-number{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;color:#fff;display:flex;font-size:.85rem;font-weight:700;height:32px;justify-content:center;width:32px}.level-card.selected .juz-number{background:linear-gradient(135deg,#2e7d32,#1b5e20)}.level-stats{display:flex;flex-wrap:wrap;gap:15px}.stat-item{align-items:center;background:#f5f5f5;border-radius:20px;color:#555;display:flex;font-size:.9rem;gap:5px;padding:6px 12px}.stat-item.bonus{background:linear-gradient(135deg,#fff9c4,#fff176);color:#f57f17;font-weight:600}.stat-icon{font-size:1rem}.special-note{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;border-radius:10px;color:#1565c0;display:flex;gap:10px;margin-bottom:20px;padding:12px 16px}.fatiha-row{background:linear-gradient(135deg,#fff8e1,#ffecb3)!important}.fatiha-badge{margin-left:5px}.order-cell{color:#4caf50;font-weight:700;width:40px}.ayah-count-cell{color:#666;font-weight:600}.quick-stats{display:flex;gap:30px;justify-content:center;margin-top:25px}.quick-stat{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;display:flex;flex-direction:column;padding:15px 25px}.stat-number{color:#2e7d32;font-size:2rem}.stat-label{color:#558b2f;margin-top:5px}.journey-overview{background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-top:25px;padding:25px}.journey-overview h3{color:#333;font-size:1.2rem;margin:0 0 20px;text-align:center}.journey-path{flex-wrap:wrap;gap:10px;justify-content:center}.journey-path,.journey-step{align-items:center;display:flex}.journey-step{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;flex-direction:column;min-width:120px;padding:15px 20px}.journey-step.start{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50}.journey-step.end{background:linear-gradient(135deg,#fff9c4,#fff176);border:2px solid #fbc02d}.step-icon{font-size:1.8rem;margin-bottom:8px}.step-label{color:#333;font-size:.95rem;font-weight:700}.step-detail{color:#666;font-size:.8rem;margin-top:4px}.journey-arrow{color:#4caf50;font-size:1.5rem;font-weight:700}@media (max-width:768px){.curriculum-container{padding:10px}.curriculum-header{align-items:flex-start;flex-direction:column;gap:15px}.curriculum-header h1{font-size:1.4rem}.header-actions{width:100%}.edit-mode-btn{padding:12px;width:100%}.curriculum-search .search-input{max-width:100%}.level-stats{flex-wrap:wrap;justify-content:center}.quick-stats{align-items:center;gap:15px}.journey-path,.quick-stats{flex-direction:column}.journey-arrow{transform:rotate(90deg)}.journey-step{max-width:200px;width:100%}.curriculum-content{display:flex;flex-direction:column;gap:15px}.levels-sidebar{margin-bottom:15px;max-height:none;overflow-y:visible;padding:15px;width:100%}.levels-sidebar h2{font-size:1rem;margin-bottom:12px}.levels-list{-webkit-overflow-scrolling:touch;display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}.level-card{flex:0 0 auto;margin-bottom:0;min-width:140px;padding:12px}.level-name{font-size:.9rem}.level-stages-count{font-size:.75rem}.stages-panel{padding:15px;width:100%}.stages-header{align-items:flex-start;flex-direction:column;gap:10px}.stages-header h2{font-size:1.1rem}.stages-table-container{-webkit-overflow-scrolling:touch;margin:0 -15px;overflow-x:auto;padding:0 15px}.stages-table{font-size:.85rem;min-width:600px}.stages-table th{font-size:.8rem;padding:10px 8px}.stages-table td{padding:10px 8px}.stages-table td:nth-child(4),.stages-table td:nth-child(5),.stages-table th:nth-child(4),.stages-table th:nth-child(5){display:none}.points-info-card{margin-bottom:15px;padding:15px}.points-info-card h3{font-size:1rem;margin-bottom:12px}.points-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.point-item{flex-direction:column;font-size:.8rem;gap:4px;padding:8px 10px;text-align:center}.point-value{font-size:.9rem}.curriculum-help{padding:15px}.help-item{padding:12px}.special-note{font-size:.85rem;padding:12px}.add-stage-form,.stage-form{padding:15px}.form-grid{grid-template-columns:1fr}.add-stage-form .form-row{flex-direction:column}.add-stage-form input[type=number],.add-stage-form input[type=text]{min-width:auto;width:100%}.journey-overview{margin-top:15px;padding:15px}.journey-overview h3{font-size:1rem;margin-bottom:15px}}@media (max-width:480px){.curriculum-container{padding:8px}.curriculum-header h1{font-size:1.2rem}.curriculum-subtitle{font-size:.85rem}.points-grid{grid-template-columns:1fr 1fr}.point-item{font-size:.75rem;padding:6px 8px}.level-card{min-width:120px;padding:10px}.level-name{font-size:.85rem}.juz-number{height:28px;width:28px}.juz-number,.stages-table{font-size:.8rem}.stages-table td,.stages-table th{padding:8px 6px}.journey-overview{padding:12px}.journey-step{min-width:100px;padding:10px}.step-icon{font-size:1.3rem}.step-label{font-size:.85rem}.step-detail{font-size:.7rem}.delete-btn,.edit-btn{font-size:.75rem;padding:6px 8px}.add-stage-btn{font-size:.9rem;padding:10px 15px}}.info-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.section-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:12px;padding-bottom:12px}.section-icon{font-size:1.8rem}.section-header h2{color:#1a1a1a;font-size:1.4rem}.how-it-works-content{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:20px 0}.step-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e0e0e0;border-radius:12px;min-width:160px;padding:20px;position:relative;text-align:center;transition:all .3s ease}.step-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-3px)}.step-card.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e}.step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;height:36px;margin:0 auto 12px;width:36px}.step-card.success .step-number{background:linear-gradient(135deg,#22c55e,#16a34a)}.step-content h4{color:#1a1a1a;font-size:1rem;margin:0 0 8px}.step-content p{color:#666;font-size:.85rem;line-height:1.4;margin:0}.step-arrow{color:#667eea;font-size:1.5rem;font-weight:700}.system-notes{border-top:1px dashed #e0e0e0;margin-top:20px;padding-top:16px}.note-item{align-items:center;background:#fff7ed;border-radius:8px;border-right:4px solid #f97316;display:flex;gap:10px;margin-bottom:8px;padding:10px 16px}.note-item:last-child{margin-bottom:0}.note-icon{font-size:1.2rem}.points-grid-new{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.point-card{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px;text-align:center;transition:all .3s ease}.point-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.point-card.memorization{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.point-card.near-review{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e}.point-card.far-review{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.point-card.stage-completion{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#6366f1}.point-card.level-completion{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-color:#ec4899}.point-card.bonus{background:linear-gradient(135deg,#fef9c3,#fef08a);border-color:#eab308}.point-card .point-icon{font-size:2rem}.point-card .point-label{color:#374151;font-size:.9rem;font-weight:500}.point-card .point-value{color:#1a1a1a;font-size:1.1rem;font-weight:700}.curriculum-stats{background:linear-gradient(135deg,#1b8c6b,#114d3a);border-radius:12px;display:flex;gap:40px;justify-content:center;margin-bottom:24px;padding:20px}.curriculum-stats .stat-item{background:none;border-radius:0;color:#fff;padding:0;text-align:center}.curriculum-stats .stat-value{color:#fff;display:block;font-size:2rem;font-weight:700}.curriculum-stats .stat-label{color:#fff;font-size:.9rem;opacity:.9}.curriculum-tree{display:flex;flex-direction:column;gap:8px}.level-accordion{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:box-shadow .3s ease}.level-accordion:hover{box-shadow:0 4px 12px #00000014}.level-header{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#f8f9fa,#f0f0f0);cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.level-header:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6)}.level-header.expanded{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.level-header-left,.level-header-right{align-items:center;display:flex;gap:12px}.expand-icon{display:inline-block;font-size:.8rem;transition:transform .3s ease}.expand-icon.expanded{transform:rotate(-90deg)}.level-badge{border-radius:50%;display:flex;height:36px;justify-content:center;width:36px}.level-badge,.level-header.expanded .level-badge{background:linear-gradient(135deg,#1b8c6b,#114d3a)}.level-header .level-name{font-size:1.1rem;font-weight:600}.level-info-tag{align-items:center;border-radius:20px;display:flex;font-size:.85rem;gap:4px;padding:4px 10px}.level-header.expanded .level-info-tag,.level-info-tag{background:#0000000d}.level-header.expanded .level-info-tag.points,.level-info-tag.points{background:#ffd70033;color:#b8860b}.tag-icon{font-size:.9rem}.level-content{animation:slideDown .3s ease-out;background:#fafafa;border-top:1px solid #e5e7eb;padding:16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stage-accordion{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;overflow:hidden}.stage-accordion:last-of-type{margin-bottom:16px}.stage-header{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.stage-header:hover{background:#f0f0f0}.stage-header.expanded{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-bottom:1px solid #7dd3fc}.stage-header.fatiha{background:linear-gradient(135deg,#fef9c3,#fef08a)}.stage-header.fatiha.expanded{background:linear-gradient(135deg,#fde047,#facc15)}.stage-header-right{align-items:center;display:flex;gap:10px}.stage-header-left{align-items:center;display:flex;gap:8px}.stage-order{align-items:center;background:#e5e7eb;border-radius:50%;color:#374151;display:flex;font-size:.85rem;font-weight:600;height:28px;justify-content:center;width:28px}.stage-header.expanded .stage-order{background:#0ea5e9;color:#fff}.fatiha-star{font-size:1.2rem}.stage-header .stage-name{color:#1a1a1a;font-size:1rem;font-weight:500}.stage-info-tag{background:#e5e7eb;border-radius:20px;color:#374151;font-size:.8rem;padding:4px 10px}.stage-content{animation:slideDown .25s ease-out;background:#f9fafb;padding:12px 16px}.challenges-list{display:flex;flex-direction:column;gap:10px}.challenge-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:12px;padding:12px 16px;transition:all .3s ease}.challenge-item:hover{box-shadow:0 2px 8px #00000014}.challenge-item.disabled{background:#f5f5f5;opacity:.5}.challenge-item.memorization{border-right:4px solid #3b82f6}.challenge-item.near-review{border-right:4px solid #22c55e}.challenge-item.far-review{border-right:4px solid #f59e0b}.challenge-item.stage-bonus{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-right:4px solid #6366f1}.challenge-icon-wrapper{align-items:center;background:#f0f0f0;border-radius:10px;display:flex;height:40px;justify-content:center;width:40px}.challenge-item.memorization .challenge-icon-wrapper{background:#dbeafe}.challenge-item.near-review .challenge-icon-wrapper{background:#dcfce7}.challenge-item.far-review .challenge-icon-wrapper{background:#fef3c7}.challenge-item.stage-bonus .challenge-icon-wrapper{background:#e0e7ff}.challenge-icon{font-size:1.3rem}.challenge-details{display:flex;flex:1 1;flex-direction:column;gap:2px}.challenge-type{color:#1a1a1a;font-size:.95rem;font-weight:600}.challenge-content{color:#666;font-size:.85rem}.challenge-points{background:#eef2ff;border-radius:20px;color:#667eea;font-size:.9rem;font-weight:700;padding:4px 12px}.level-bonus-card{align-items:center;background:linear-gradient(135deg,#fce7f3,#fbcfe8);border:2px solid #ec4899;border-radius:12px;display:flex;gap:12px;justify-content:center;padding:16px 20px}.bonus-icon{font-size:1.8rem}.bonus-text{color:#be185d;font-size:1rem;font-weight:600}.bonus-points{background:#ec4899;border-radius:20px;color:#fff;font-size:1rem;font-weight:700;padding:6px 16px}@media (max-width:768px){.curriculum-container{padding:12px}.curriculum-header{margin-bottom:16px;padding-bottom:12px;text-align:center}.curriculum-header h1{font-size:1.3rem}.curriculum-subtitle{font-size:.85rem}.info-section{border-radius:12px;margin-bottom:16px;padding:16px}.section-header{gap:8px;margin-bottom:14px;padding-bottom:10px}.section-icon{font-size:1.4rem}.section-header h2{font-size:1.1rem}.how-it-works-content{flex-direction:column;gap:6px;padding:10px 0}.step-arrow{font-size:1.2rem;margin:4px 0;transform:rotate(90deg)}.step-card{min-width:0;min-width:auto;padding:14px;width:100%}.step-number{font-size:.95rem;height:30px;margin-bottom:8px;width:30px}.step-content h4{font-size:.9rem;margin-bottom:4px}.step-content p{font-size:.75rem;line-height:1.3}.system-notes{margin-top:14px;padding-top:12px}.note-item{border-right-width:3px;font-size:.8rem;gap:8px;padding:8px 12px}.note-icon{font-size:1rem}.points-grid-new{gap:10px;grid-template-columns:repeat(2,1fr)}.point-card{border-radius:10px;padding:12px 8px}.point-card .point-icon{font-size:1.5rem}.point-card .point-label{font-size:.75rem}.point-card .point-value{font-size:.85rem}.curriculum-stats{border-radius:10px;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:space-around;margin-bottom:16px;padding:14px 10px}.curriculum-stats .stat-item{background:none;border-radius:0;flex:1 1;min-width:70px;padding:0}.curriculum-stats .stat-value{font-size:1.4rem}.curriculum-stats .stat-label{font-size:.75rem}.curriculum-search{margin-bottom:14px}.curriculum-search .search-input{border-radius:8px;font-size:.9rem;padding:10px 14px}.curriculum-tree{gap:6px}.level-accordion{border-radius:10px}.level-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px 14px}.level-header-right{flex:1 1;gap:8px;min-width:100%}.level-header-left{flex-wrap:wrap;gap:6px;justify-content:flex-start;width:100%}.expand-icon{font-size:.7rem}.level-badge{font-size:.85rem;height:32px;width:32px}.level-header .level-name{font-size:.95rem}.level-info-tag{font-size:.7rem;gap:2px;padding:3px 8px}.tag-icon{font-size:.75rem}.level-content{padding:10px}.stage-accordion{border-radius:8px;margin-bottom:6px}.stage-accordion:last-of-type{margin-bottom:12px}.stage-header{padding:10px 12px}.stage-header-right{gap:6px}.stage-order{font-size:.75rem;height:24px;width:24px}.fatiha-star{font-size:1rem}.stage-header .stage-name{font-size:.9rem}.stage-info-tag{font-size:.7rem;padding:3px 8px}.stage-content{padding:10px 12px}.challenges-list{gap:8px}.challenge-item{border-radius:8px;border-right-width:3px;flex-wrap:nowrap;gap:10px;padding:10px 12px}.challenge-icon-wrapper{border-radius:8px;height:34px;min-width:34px;width:34px}.challenge-icon{font-size:1.1rem}.challenge-details{flex:1 1;min-width:0}.challenge-type{font-size:.8rem}.challenge-content{font-size:.7rem}.challenge-points{font-size:.7rem;padding:3px 8px;white-space:nowrap}.level-bonus-card{border-radius:10px;flex-wrap:wrap;gap:8px;justify-content:center;padding:12px 14px}.bonus-icon{font-size:1.4rem}.bonus-points,.bonus-text{font-size:.85rem}.bonus-points{padding:4px 12px}}@media (max-width:400px){.curriculum-container{padding:8px}.curriculum-header h1{font-size:1.15rem}.info-section{padding:12px}.section-header h2{font-size:1rem}.step-card{padding:12px}.points-grid-new{gap:8px}.point-card{padding:10px 6px}.point-card .point-icon{font-size:1.3rem}.point-card .point-label{font-size:.7rem}.point-card .point-value{font-size:.75rem}.curriculum-stats .stat-value{font-size:1.2rem}.level-header{padding:10px 12px}.level-badge{font-size:.8rem;height:28px;width:28px}.level-header .level-name{font-size:.85rem}.level-info-tag{font-size:.65rem;padding:2px 6px}.challenge-item{gap:8px;padding:8px 10px}.challenge-icon-wrapper{height:30px;min-width:30px;width:30px}.challenge-icon{font-size:1rem}.challenge-type{font-size:.75rem}.challenge-content{font-size:.65rem}.challenge-points{font-size:.65rem;padding:2px 6px}}.page__header{border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:15px}.page__header h1{color:#333;font-size:1.8rem;margin:0 0 5px}.page__header p{color:#777;font-size:1rem;margin:0}.page-actions-header{gap:20px;justify-content:space-between;margin-bottom:25px}.form-card{border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:30px;transition:all .3s ease}.form-card:hover{box-shadow:0 4px 20px #0000001f}.form-card h3{border-bottom:3px solid #4caf50;color:#1a1a1a;font-size:1.3rem;font-weight:700;margin-bottom:25px;padding-bottom:15px}.form-group input,.form-group select,.form-group textarea{transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:#f9fff9}.form-actions{border-top:1px solid #eee;padding-top:20px}.btn{border-radius:6px;justify-content:center;white-space:nowrap}.btn-primary{box-shadow:0 2px 8px #4caf504d;padding:10px 20px}.btn-primary:hover{box-shadow:0 4px 12px #4caf5066}.btn-primary:active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 2px 8px #4caf504d}.btn-success:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#f0f0f0,#e0e0e0);border:1px solid #ccc;box-shadow:0 2px 4px #0000000d;color:#333}.btn-secondary:hover{background:linear-gradient(135deg,#e9e9e9,#d9d9d9);border-color:#bbb;transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,#ff9800,#e68900);box-shadow:0 2px 6px #ff98004d}.btn-warning:hover{box-shadow:0 4px 10px #ff980066}.btn-danger{box-shadow:0 2px 6px #f443364d}.btn-danger:hover{box-shadow:0 4px 10px #f4433666}.btn-sm{padding:8px 14px}.view-mode-toggle{border:1px solid #ddd;border-radius:6px}.view-btn{background:#0000;border-radius:4px;color:#666;font-size:.9rem;font-weight:600;transition:all .2s ease}.view-btn:hover{background:#4caf501a;color:#4caf50}.view-btn.active{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 2px 6px #4caf504d}.table-card{border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 12px #00000014;transition:all .3s ease}.table-card:hover{box-shadow:0 4px 20px #0000001f}.table-card table{direction:rtl}.table-card th{border-bottom:3px solid #3d8b40;color:#fff;font-size:.85rem;letter-spacing:.3px;padding:14px 10px;white-space:nowrap}.table-card tbody tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.table-card tbody tr:hover{background:linear-gradient(90deg,#4caf5014,#4caf500a)}.table-card tbody tr:last-child{border-bottom:none}.table-card td{font-size:.85rem;line-height:1.4;padding:12px 10px;vertical-align:middle}.table-card td:first-child{padding-left:12px}.table-card td:last-child{padding-right:10px;text-align:center}.table-card tbody tr:nth-child(odd){background-color:#fafafa}.table-card tbody tr:nth-child(2n){background-color:#fff}.card-actions{align-items:center;gap:6px;height:100%;justify-content:center}.date-cell{background:#2196f314;border-radius:4px;color:#2196f3;display:inline-block;font-weight:600;padding:4px 8px;white-space:nowrap}.tag-cell{color:#1b8c6b;font-weight:600;white-space:pre-wrap}.cards-container .empty-state,.table-card .empty-state{color:#999;font-size:1.1rem;grid-column:1/-1;padding:40px;text-align:center}.cards-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:30px}.data-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.data-card:hover{border-color:#4caf50;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.data-card-header{align-items:flex-start;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;display:flex;gap:15px;justify-content:space-between;padding:20px}.data-card-header h3{color:#fff;font-size:1.15rem;font-weight:700;margin:0 0 5px}.data-card-header div:first-child{flex:1 1}.data-card-id{color:#ffffffe6;font-size:.85rem;margin:0;opacity:.9}.data-card-tag{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;font-size:.85rem;font-weight:600;min-width:80px;padding:6px 12px;text-align:center;white-space:nowrap}.data-card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:20px}.data-card-row{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding-bottom:12px}.data-card-row:last-child{border-bottom:none;padding-bottom:0}.data-card-row label{color:#4caf50;font-size:.85rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.data-card-row span{color:#333;direction:ltr;font-size:.9rem;font-weight:500;text-align:left}.data-card-actions{background:#f9f9f9;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0009}.modal-content{animation:modal-fade-in .3s ease-out;box-shadow:0 5px 20px #0003;width:95%}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:16px 24px}.modal-header h2{font-weight:700}.close-btn{border-radius:50%;color:#fffc;height:36px;transition:all .2s;width:36px}.close-btn:hover{background-color:#fff3;color:#fff;transform:rotate(90deg)}.details-list p{align-items:center;border-bottom:1px solid #f0f0f0;color:#333;display:flex;font-size:1rem;justify-content:space-between;margin:0 0 14px;padding-bottom:14px}.details-list p:last-child{border-bottom:none;margin-bottom:0}.details-list strong{color:#4caf50;font-weight:700;margin-left:10px}@media (max-width:768px){.page-actions-header{align-items:stretch;flex-direction:column}.btn-primary,.view-mode-toggle{width:100%}.view-btn{flex:1 1;padding:10px 12px}.cards-container{gap:16px;grid-template-columns:1fr}.data-card-header{flex-direction:column;padding:15px}.data-card-header h3{font-size:1rem}.data-card-tag{align-self:flex-start}.data-card-body{gap:10px;padding:15px}.data-card-row{align-items:flex-start;flex-direction:column;gap:5px;padding-bottom:10px}.data-card-row span{direction:rtl;text-align:right}.data-card-actions{flex-direction:column;gap:8px;padding:12px}.data-card-actions .btn{width:100%}.table-container{-webkit-overflow-scrolling:touch;margin:0 -15px;overflow-x:auto;padding:0 15px}.data-table{min-width:600px}.data-table td,.data-table th{font-size:.85rem;padding:10px 8px}.modal-content{margin:10px;max-height:90vh;max-width:none;overflow-y:auto;width:95%}.modal-header h2{font-size:1.1rem}.modal-body{padding:15px}.modal-footer{flex-direction:column;gap:10px}.modal-footer .btn{width:100%}.page-header{flex-direction:column;gap:15px;text-align:center}.page-header h1{font-size:1.5rem}}@media (max-width:480px){.filter-section{padding:12px}.form-group label{font-size:.85rem}.btn{font-size:.9rem;padding:10px 16px}.empty-state{padding:30px 15px}.empty-state-icon{font-size:3rem}}.table-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-card table{min-width:950px;table-layout:auto}.table-card td{max-width:200px;overflow:hidden;text-overflow:ellipsis}.table-card td[title]{cursor:help}.status-badge{align-items:center;display:inline-flex;justify-content:center;min-width:50px}.page-actions-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.students-count-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;display:inline-block;margin-bottom:20px;padding:10px 20px}.count-badge{font-size:1.2rem;font-weight:700;margin-left:5px}.section-header{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:10px;color:#fff;margin-bottom:20px;padding:15px 20px}.section-header h2{font-size:1.2rem;font-weight:600;margin:0}.help-text{color:#666;display:block;font-size:13px;margin-top:8px}.info-text{background:#f0f0f0;font-weight:600;margin:5px 0;padding:10px}@media (max-width:768px){.filters-section{align-items:stretch;flex-direction:column;gap:12px}.filter-select{min-width:auto;width:100%}.page-actions-header{align-items:stretch;flex-direction:column;gap:12px}.students-count-bar{display:block;text-align:center}.info-note{text-align:center}.table-card{border-radius:8px;margin:0 -10px}.table-card table{font-size:.8rem;min-width:600px}.table-card td,.table-card th{padding:10px 8px}.table-card th{font-size:.75rem}.cards-container{gap:15px;grid-template-columns:1fr!important;padding:0}.data-card{margin:0}.section-header{margin-bottom:15px;padding:12px 15px}.section-header h2{font-size:1rem}.btn-sm{font-size:.75rem;padding:6px 10px}.view-mode-toggle{justify-content:center;width:100%}.view-btn{flex:1 1;text-align:center}}@media (max-width:480px){.status-badge{font-size:11px;padding:3px 8px}.count-badge{font-size:1rem}.table-card table{font-size:.75rem;min-width:500px}.table-card td,.table-card th{padding:8px 6px}.table-card td:nth-child(2),.table-card th:nth-child(2){display:none}.page__header h1{font-size:1.4rem}.page__header p{font-size:.85rem}.data-card{padding:15px}.data-card-header h3{font-size:1rem}.data-card-row{font-size:.85rem}}.filters-section{align-items:center;display:flex;gap:10px}.filter-select{border-radius:8px;font-size:14px;min-width:150px;padding:8px 15px}.filter-select:focus{border-color:#667eea}.info-note{background:#e8f4fd;border-radius:8px;color:#1565c0;font-size:14px;margin:0;padding:10px 15px}.status-badge{display:inline-block;font-size:12px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.groups-checkboxes{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:12px;max-height:250px;overflow-y:auto;padding:15px}.checkbox-label{border-radius:6px;padding:8px 12px;transition:background .2s ease}.checkbox-label:hover{background:#e8f5e9}.checkbox-label span{font-size:.95rem}@media (max-width:768px){.filters-section{align-items:stretch;flex-direction:column;gap:8px}.filter-select{min-width:auto;width:100%}.info-note{font-size:13px;padding:12px}.groups-checkboxes{max-height:200px}}@media (max-width:480px){.filter-select{font-size:13px;padding:10px 12px}.checkbox-label{padding:10px}.checkbox-label span{font-size:.9rem}}.tracks-container{margin:0 auto;max-width:1400px;padding:20px}.tracks-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.tracks-header h1{color:#1b8c6b;font-size:32px;margin:0}.add-button{background:linear-gradient(135deg,#1b8c6b,#158056);border:none;border-radius:8px;box-shadow:0 2px 8px #1b8c6b33;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:all .3s ease}.add-button:hover{box-shadow:0 4px 12px #1b8c6b4d;transform:translateY(-2px)}.form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.form-container h2{color:#1b8c6b;font-size:24px;margin-bottom:24px}.form-group label{font-size:14px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#1b8c6b;outline:none}.form-group textarea{min-height:100px}.form-actions{margin-top:24px}.submit-button{background:linear-gradient(135deg,#1b8c6b,#158056);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 32px;transition:all .3s ease}.submit-button:hover{box-shadow:0 4px 12px #1b8c6b4d;transform:translateY(-2px)}.cancel-button{background:#f5f5f5;border:2px solid #ddd;border-radius:8px;color:#666;cursor:pointer;font-size:16px;font-weight:700;padding:12px 32px;transition:all .3s ease}.cancel-button:hover{background:#e0e0e0}.tracks-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.track-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden;transition:all .3s ease}.track-card:hover{border-color:#1b8c6b;box-shadow:0 8px 24px #1b8c6b26;transform:translateY(-4px)}.track-header{background:linear-gradient(135deg,#1b8c6b,#158056);color:#fff;padding:20px}.track-header h3{font-size:20px;font-weight:700;margin:0 0 12px}.track-actions{display:flex;gap:8px}.delete-btn,.edit-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .3s ease}.edit-btn:hover{background:#ffffff4d}.delete-btn:hover{background:#ff3b30cc;border-color:#ff3b30}.track-body{padding:20px}.track-description{color:#666;line-height:1.6;margin:0 0 16px;min-height:60px}.track-info{align-items:center;display:flex;gap:12px}.age-badge{background:#1b8c6b1a;border:2px solid #1b8c6b33;border-radius:20px;color:#1b8c6b;font-size:14px;font-weight:600;padding:8px 16px}.no-data{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;grid-column:1/-1;padding:60px 20px}.no-data p{color:#999;font-size:18px;margin:8px 0}.no-data p:first-child{color:#666;font-size:20px;font-weight:700}@media (max-width:768px){.tracks-container{padding:15px}.tracks-header{align-items:flex-start;flex-direction:column;gap:16px}.tracks-header h1{font-size:24px}.add-button{width:100%}.tracks-grid{grid-template-columns:1fr}.form-container{padding:20px;width:95%}.form-actions{flex-direction:column}.cancel-button,.submit-button{padding:12px;width:100%}}@media (max-width:480px){.track-header h3{font-size:16px}.track-body,.track-header{padding:15px}.track-description{min-height:auto}.age-badge{font-size:12px;padding:6px 12px}.no-data{padding:40px 15px}.no-data p{font-size:14px}.no-data p:first-child{font-size:16px}}.form-card{padding:20px}.form-group{margin-bottom:15px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:.95rem;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 2px #4caf5033}.form-group textarea{min-height:80px;resize:vertical}.form-actions{margin-top:20px}.btn-primary{display:block;font-size:.9rem;margin-bottom:20px;margin-left:auto;padding:8px 16px}.btn-secondary{background-color:#999}.btn-secondary:hover{background-color:#777}.btn-warning{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:6px;box-shadow:0 2px 4px #ff98004d;font-size:.9rem;padding:8px 16px}.btn-warning:hover{background:linear-gradient(135deg,#f57c00,#e65100);box-shadow:0 4px 8px #ff980066;transform:translateY(-1px)}.btn-chat{background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:6px;box-shadow:0 2px 4px #2196f34d;color:#fff;font-size:.9rem;padding:8px 16px}.btn-chat:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 8px #2196f366;transform:translateY(-1px)}.btn-chat:disabled{cursor:wait;opacity:.7}.btn-danger{background:linear-gradient(135deg,#f44336,#d32f2f);border-radius:6px;box-shadow:0 2px 4px #f443364d;font-size:.9rem;padding:8px 16px}.btn-danger:hover{background:linear-gradient(135deg,#d32f2f,#b71c1c);box-shadow:0 4px 8px #f4433666;transform:translateY(-1px)}.btn-sm{display:inline-block;font-size:.8rem;margin-left:4px;white-space:nowrap}.groups-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.group-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:20px;text-align:right;transition:all .3s ease}.group-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.group-card h2{color:#333;font-size:1.3rem;margin-bottom:15px;margin-top:0}.group-card p{color:#666;flex-grow:0;line-height:1.6;margin:8px 0}.group-card strong{color:#333}.card-actions{border-top:1px solid #eee;display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:auto;padding-top:15px}@media (max-width:1024px){.groups-container{gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.form-card{margin-bottom:20px;padding:15px}.form-card h3{font-size:1.1rem;margin-bottom:15px}.form-group{margin-bottom:12px}.form-group label{font-size:.9rem;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:8px 10px}.form-group textarea{min-height:70px}.form-actions{flex-direction:column;gap:8px}.btn-primary,.form-actions .btn{font-size:.95rem;padding:12px 16px;width:100%}.btn-primary{margin-left:0}.groups-container,.groups-list{grid-template-columns:1fr}.groups-container{gap:12px}.group-card{border-radius:6px;padding:15px}.group-card h2{font-size:1.1rem;margin-bottom:10px}.group-card p{font-size:.9rem;margin:6px 0}.card-actions{flex-direction:row-reverse;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:12px;padding-top:12px}.card-actions .btn{border-radius:6px;font-size:.85rem;padding:10px 12px;white-space:nowrap}.btn-sm{font-size:.8rem;margin-bottom:0;margin-left:0;padding:8px 10px}}@media (max-width:600px){.form-card{border-radius:6px;margin-bottom:15px;padding:12px}.form-card h3{font-size:1rem;margin-bottom:12px}.form-group{margin-bottom:10px}.form-group label{font-size:.85rem}.form-group input,.form-group select,.form-group textarea{border-radius:4px;font-size:.9rem;padding:8px 10px}.form-group textarea{min-height:60px}.groups-container{gap:10px;grid-template-columns:1fr;margin-top:15px}.group-card{border-radius:6px;box-shadow:0 1px 4px #00000014;padding:12px}.group-card:hover{box-shadow:0 2px 6px #0000001f}.group-card h2{font-size:1rem;margin-bottom:8px}.group-card p{font-size:.85rem;line-height:1.5;margin:5px 0}.card-actions{flex-direction:row-reverse;flex-wrap:wrap;gap:6px;justify-content:flex-start;margin-top:10px;padding-top:10px}.card-actions .btn{flex:0 1 auto;font-size:.8rem;padding:8px 10px}.btn{font-size:.85rem;padding:9px 12px}.btn-primary{margin-bottom:15px;padding:10px 14px}.btn-sm{font-size:.75rem;padding:6px 10px}.btn-chat,.btn-danger,.btn-warning{border-radius:4px;font-size:.8rem;padding:8px 10px}}@media (max-width:400px){.form-card{padding:10px}.form-group input,.form-group select,.form-group textarea{font-size:.85rem;padding:7px 8px}.group-card{padding:10px}.group-card h2{font-size:.95rem}.group-card p{font-size:.8rem}.card-actions{gap:4px}.card-actions .btn{flex:0 1 auto;font-size:.7rem;padding:7px 8px}.btn{font-size:.8rem;padding:8px 10px}.btn-sm{font-size:.7rem;padding:6px 8px}}.filter-section{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.filter-controls{grid-gap:15px;align-items:flex-end;display:grid;gap:15px;grid-template-columns:1fr auto auto}.search-input{border:1px solid #ddd;border-radius:4px;padding:12px 15px}.search-input:focus{box-shadow:0 0 0 2px #4caf5033}.filter-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;direction:rtl;font-family:inherit;font-size:.95rem;min-width:200px;padding:12px 15px}.filter-select:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.view-mode-toggle{background:#f0f0f0;border-radius:4px;display:flex;gap:8px;padding:4px}.view-btn{background:#fff;border:none;border-radius:3px;cursor:pointer;font-size:1.2rem;opacity:.6;padding:8px 16px;transition:all .3s ease}.view-btn.active{background:#4caf50;color:#fff;opacity:1}.view-btn:hover{opacity:1}.empty-state{background:#fff;border:2px dashed #ddd;border-radius:8px;color:#999;font-size:1.1rem;padding:60px 20px;text-align:center}.achievements-cards-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-bottom:30px}.achievement-card{background:#fff;border:none;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;transition:all .3s ease}.achievement-card:hover{box-shadow:0 8px 32px #667eea40;transform:translateY(-4px)}.achievement-card .achievement-header{align-items:center;background:linear-gradient(135deg,#1b8c6b,#15725a)!important;border-bottom:none!important;color:#fff!important;display:flex;justify-content:space-between;min-height:65px;padding:20px 24px;position:relative}.achievement-card .achievement-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23fff' fill-opacity='.1' fill-rule='evenodd'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.achievement-card .achievement-header h3{color:#fff!important;font-size:1.3rem;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.achievement-card .rating-badge{background:#fff!important;border-radius:25px;box-shadow:0 2px 8px #00000026;color:#1b8c6b!important;font-size:1rem;font-weight:700;padding:8px 16px;position:relative;z-index:1}.achievement-body{background:linear-gradient(180deg,#fafffe,#fff);flex-grow:1;padding:24px}.achievement-row{align-items:center;background:#f8faf9;border-radius:10px;border-right:3px solid #1b8c6b;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.achievement-row:last-child{margin-bottom:0}.achievement-row .label{color:#666;font-size:.9rem;font-weight:600}.achievement-row .value{color:#1a1a1a;font-size:.95rem;font-weight:600;text-align:left}.achievement-row .value.date{color:#888;direction:ltr;font-size:.85rem}.achievement-actions{background:linear-gradient(180deg,#f5f9f7,#eef5f2);border-top:1px solid #e8f0ec;display:flex;gap:12px;padding:16px 24px}.achievement-actions .btn{border-radius:10px;flex:1 1;font-weight:600;padding:10px 16px;transition:all .2s ease}.achievement-actions .btn-warning{background:linear-gradient(135deg,#ff9800,#f57c00);border:none;color:#fff}.achievement-actions .btn-warning:hover{box-shadow:0 4px 12px #ff980066;transform:translateY(-2px)}.achievement-actions .btn-danger{background:linear-gradient(135deg,#ef5350,#d32f2f);border:none;color:#fff}.achievement-actions .btn-danger:hover{box-shadow:0 4px 12px #ef535066;transform:translateY(-2px)}.table-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;overflow:hidden}.table-card table{border-collapse:collapse;width:100%}.table-card thead{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.table-card th{border-bottom:2px solid #3d8b40;font-size:.95rem;font-weight:700;padding:15px;text-align:right}.table-card td{border-bottom:1px solid #eee;color:#333;padding:15px;text-align:right}.table-card tbody tr{transition:background-color .2s ease}.table-card tbody tr:hover{background-color:#f9f9f9}.table-card tbody tr:last-child td{border-bottom:none}.rating{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:600;padding:6px 12px}.rating-1,.rating-2{background-color:#ffebee;color:#c62828}.rating-3,.rating-4{background-color:#ffe0b2;color:#e65100}.rating-5,.rating-6,.rating-7{background-color:#fff9c4;color:#f57f17}.rating-8,.rating-9{background-color:#c8e6c9;color:#2e7d32}.rating-10{background-color:#a5d6a7;color:#1b5e20}.form-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.form-card h3{color:#333;font-size:1.2rem;margin-bottom:20px;margin-top:0;text-align:right}.form-group{margin-bottom:18px}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;direction:rtl;font-family:inherit;font-size:1rem;max-width:100%;padding:12px 15px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026;outline:none}.form-row{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-row .form-group{margin-bottom:0}.form-actions{gap:12px;margin-top:25px}.btn{display:inline-block;text-decoration:none}.btn-primary{background-color:#4caf50;margin-bottom:25px}.btn-primary:hover,.btn-success:hover{background-color:#45a049}.btn-secondary{background-color:#757575;color:#fff}.btn-secondary:hover{background-color:#616161}.btn-warning:hover{background-color:#e68900}.btn-danger:hover{background-color:#d32f2f}.btn-sm{font-weight:500;padding:8px 16px}.student-info{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.info-badge{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;border-radius:6px;box-shadow:0 2px 4px #1565c01a;color:#1565c0;display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;padding:8px 14px}.assignment-section{background:#fff8e1;border:2px dashed #ffca28;border-radius:8px;margin-bottom:15px;margin-top:20px;padding:20px}.assignment-section h4{align-items:center;color:#f57c00;display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0 0 15px;text-align:right}.student-level-section{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:20px;padding:20px}.level-info-box{margin-bottom:20px}.level-info-box h4{color:#1565c0;font-size:1rem;font-weight:700;margin:0 0 12px;text-align:right}.level-details{display:flex;flex-wrap:wrap;gap:12px}.level-badge{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;border-radius:8px;box-shadow:0 2px 4px #1565c026;color:#1565c0}.level-badge,.part-badge{align-items:center;display:inline-flex;font-size:.95rem;font-weight:700;gap:6px;padding:10px 18px}.part-badge{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #a5d6a7;border-radius:8px;box-shadow:0 2px 4px #2e7d3226;color:#2e7d32}.required-portion-section{background:#e8f5e9;border:2px dashed #4caf50;border-radius:8px;padding:20px}.required-portion-section h4{align-items:center;color:#2e7d32;display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0 0 15px;text-align:right}@media (max-width:768px){.achievements-cards-container,.filter-controls{grid-template-columns:1fr}.achievement-row{align-items:flex-start;flex-direction:column}.achievement-row .label{margin-bottom:5px}.achievement-actions{flex-direction:column}.achievement-actions .btn{max-width:100%}.table-card{overflow-x:auto}.table-card table{min-width:600px}.student-info{flex-direction:column}.info-badge{justify-content:center;width:100%}}.challenge-form{background:linear-gradient(135deg,#f8f9fa,#fff)}.student-progress-info{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;margin:20px 0;padding:20px}.progress-header h4{color:#333;font-size:1.1rem;margin:0 0 15px}.progress-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.level-badge{background:linear-gradient(135deg,#4caf50,#45a049)}.level-badge,.stage-badge{border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:8px 16px}.stage-badge{background:linear-gradient(135deg,#2196f3,#1976d2)}.challenges-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.challenge-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.challenge-card:hover:not(.disabled){box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.challenge-card.selected{background:#e8f5e9;border-color:#4caf50;box-shadow:0 4px 15px #4caf5033}.challenge-card.disabled{background:#f5f5f5;cursor:not-allowed;opacity:.5}.challenge-card.memorization{border-top:4px solid #4caf50}.challenge-card.near-review{border-top:4px solid #2196f3}.challenge-card.far-review{border-top:4px solid #9c27b0}.challenge-card .challenge-icon{font-size:2.5rem;margin-bottom:10px}.challenge-card .challenge-title{color:#333;font-size:1rem;font-weight:700;margin-bottom:8px}.challenge-card .challenge-content{color:#666;font-size:.9rem;margin-bottom:10px;min-height:40px}.challenge-card .challenge-points{background:#fff3e0;border-radius:12px;color:#e65100;display:inline-block;font-size:.85rem;font-weight:600;padding:4px 10px}.challenge-recording-section{background:#fff;border:2px solid #4caf50;border-radius:12px;margin-top:20px;padding:20px}.challenge-recording-section h4{color:#4caf50;margin:0 0 10px}.challenge-description{background:#f5f5f5;border-radius:8px;color:#666;margin-bottom:20px;padding:10px}.aya-range-row{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:1px solid #c8e6c9;border-radius:10px;margin-bottom:15px;padding:15px}.aya-range-row .form-group{flex:1 1}.aya-range-row input{font-size:1.1rem;font-weight:600;text-align:center}.aya-range{background:#e8f5e9;border-radius:6px;color:#2e7d32;font-weight:500;padding:4px 10px}.ayah-progress-indicator{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ffb74d;border-radius:12px;margin-bottom:20px;padding:15px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.progress-title{color:#e65100;font-size:.95rem;font-weight:600}.progress-percentage{color:#f57c00;font-size:1.2rem}.progress-percentage.complete{color:#2e7d32}.progress-bar-container{background:#fff;border-radius:6px;box-shadow:inset 0 1px 3px #0000001a;height:12px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#ff9800,#f57c00);border-radius:6px;height:100%;transition:width .5s ease}.progress-bar-fill.complete{background:linear-gradient(90deg,#4caf50,#2e7d32)}.progress-details{display:flex;font-size:.9rem;justify-content:space-between;margin-top:10px}.completed-count{color:#2e7d32;font-weight:500}.remaining-count{color:#e65100;font-weight:500}.complete-message{color:#2e7d32;font-weight:600;text-align:center;width:100%}.completed-ranges{align-items:center;border-top:1px dashed #ffb74d;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.ranges-label{color:#666;font-size:.85rem;margin-left:5px}.range-badge{background:#fff;border:1px solid #4caf50;border-radius:15px;color:#2e7d32;font-size:.85rem;font-weight:500;padding:3px 10px}.next-aya-hint{background:#e3f2fd;border-radius:8px;color:#1565c0;font-size:.9rem;margin-top:12px;padding:10px;text-align:center}.next-aya-hint strong{color:#0d47a1;font-size:1.1rem}.pass-fail-section{margin:20px 0}.result-label{color:#333;display:block;font-weight:600;margin-bottom:10px}.result-buttons{display:flex;gap:15px}.result-btn{background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:15px 20px;transition:all .3s ease}.result-btn.pass{color:#4caf50}.result-btn.pass.active{background:#4caf50;border-color:#4caf50;color:#fff}.result-btn.retry{color:#ff9800}.result-btn.retry.active{background:#ff9800;border-color:#ff9800;color:#fff}.points-preview{align-items:center;background:#f0f7ff;border-radius:10px;display:flex;gap:10px;margin-top:15px;padding:15px}.points-label{color:#666;font-weight:600}.points-value{color:#4caf50;font-size:1.2rem;font-weight:700}.points-value.negative{color:#f44336}.bonus-indicator{background:linear-gradient(135deg,gold,#ffb700);border-radius:15px;color:#333;font-size:.85rem;font-weight:600;padding:5px 12px}.challenge-card.completed{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)!important;border-color:#4caf50!important;cursor:default;opacity:.9}.challenge-card.partial{background:linear-gradient(135deg,#fff8e1,#ffecb3)!important;border-color:#ff9800!important;cursor:pointer}.challenge-card.partial:hover{box-shadow:0 8px 16px #ff98004d;transform:translateY(-3px)}.partial-badge{align-items:center;background:#ff9800;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;left:10px;position:absolute;top:10px;width:28px}.challenge-card.locked{background:linear-gradient(135deg,#f5f5f5,#eee)!important;border-color:#bdbdbd!important;cursor:not-allowed;opacity:.7}.challenge-card.locked:hover{box-shadow:0 2px 8px #0000001a;transform:none}.completed-badge{background:#4caf50;font-size:1rem;font-weight:700}.completed-badge,.lock-badge{align-items:center;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;height:28px;justify-content:center;left:10px;position:absolute;top:10px;width:28px}.lock-badge{background:#9e9e9e;font-size:.9rem}.challenge-card{position:relative}.challenge-type-badge{border-radius:15px;display:inline-block;font-size:.85rem;font-weight:600;padding:5px 12px}.challenge-type-badge.memorization{background:#e8f5e9;color:#2e7d32}.challenge-type-badge.near_review{background:#e3f2fd;color:#1565c0}.challenge-type-badge.far_review{background:#f3e5f5;color:#7b1fa2}.status-badge{border-radius:15px;font-size:.85rem;font-weight:600;padding:5px 12px}.status-badge.passed{background:#e8f5e9;color:#2e7d32}.status-badge.retry{background:#fff3e0;color:#e65100}@media (max-width:992px){.challenges-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.challenges-grid{grid-template-columns:1fr}.points-preview,.result-buttons{flex-direction:column}.points-preview{text-align:center}.challenge-card{padding:15px}.challenge-title{font-size:1rem}.challenge-content{font-size:.85rem}.progress-badges{flex-direction:column;gap:8px}.level-badge,.stage-badge{text-align:center;width:100%}.challenge-recording-section{padding:15px}.form-row{gap:12px;grid-template-columns:1fr}.history-item{padding:12px}.history-header{flex-direction:column;gap:8px}.group-select,.student-select{padding:12px}}@media (max-width:480px){.student-progress-info{margin:12px 0;padding:12px}.progress-header h4{font-size:1rem}.challenge-icon{font-size:1.5rem}.challenge-points{font-size:.8rem}.cancel-btn,.submit-btn{width:100%}}.devtools-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.dev-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column}.dev-card-header{border-bottom:1px solid #e0e0e0;padding:16px 20px}.dev-card-header h3{color:#333;font-size:18px;margin:0 0 4px}.dev-card-header p{color:#666;font-size:14px;margin:0}.dev-card-body{display:flex;flex-wrap:wrap;gap:12px;padding:20px}.dev-card-body .btn{flex-grow:1}.modal-overlay{background-color:#00000080}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;direction:rtl;text-align:right}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:18px;font-weight:600}.close-btn{align-items:center;display:flex;font-size:28px;height:32px;justify-content:center;transition:color .2s;width:32px}.modal-body p{color:#333;font-size:14px;font-weight:500;margin:0 0 16px}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{gap:10px;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#1b8c6b;height:18px;margin:0;width:18px}.checkbox-label span{font-size:14px;font-weight:500}.checkbox-label:hover span{color:#1b8c6b}.modal-footer{background-color:#f8f9fa;border-top:1px solid #e0e0e0;gap:10px;justify-content:flex-start}.delete-message{font-size:16px;padding:20px 0;text-align:center}.delete-message.success{color:#28a745}.delete-message.error{color:#dc3545}@media (max-width:768px){.devtools-container{gap:16px;grid-template-columns:1fr}.dev-card-body{flex-direction:column}.dev-card-body .btn{width:100%}.modal-content{margin:10px;width:95%}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}@media (max-width:480px){.dev-card-header{padding:12px 16px}.dev-card-header h3{font-size:16px}.dev-card-header p{font-size:13px}.dev-card-body{padding:16px}}.attendance-form{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.form-group{text-align:right}.form-group input,.form-group select{background-color:#fff;border:2px solid #e0e0e0;box-sizing:border-box;direction:rtl;max-width:100%;padding:12px 15px}.form-group input[type=date]{direction:ltr;text-align:right}.form-group input:focus,.form-group select:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.attendance-list{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.attendance-header{grid-gap:15px;background-color:#4caf50;border-bottom:2px solid #3d8b40;color:#fff;display:grid;font-weight:600;gap:15px;grid-template-columns:1fr auto;padding:15px}.student-name{padding-right:10px;text-align:right}.status-button{min-width:120px;text-align:center}.attendance-row{grid-gap:15px;align-items:center;border-bottom:1px solid #eee;display:grid;gap:15px;grid-template-columns:1fr auto;padding:15px;transition:background-color .2s ease}.attendance-row:hover{background-color:#f9f9f9}.attendance-row:last-child{border-bottom:none}.attendance-row .student-name{color:#333;font-weight:500;padding-right:10px;text-align:right}.status-btn{border:2px solid;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;min-width:120px;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.status-btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.status-btn:active{transform:translateY(0)}.status-present{background-color:#4caf50;border-color:#45a049;color:#fff}.status-present:hover{background-color:#45a049}.status-late{background-color:#ff9800;border-color:#e68900;color:#fff}.status-late:hover{background-color:#e68900}.status-excused{background-color:#2196f3;border-color:#0b7dda;color:#fff}.status-excused:hover{background-color:#0b7dda}.status-absent{background-color:#f44336;border-color:#d32f2f;color:#fff}.status-absent:hover{background-color:#d32f2f}.form-actions{display:flex;gap:10px;justify-content:flex-end}.btn{border-radius:4px;transition:all .3s ease}.btn-success{background-color:#4caf50}.btn-success:hover:not(:disabled){background-color:#45a049}.btn-success:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.btn-danger:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.attendance-summary{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:30px;padding:25px}.attendance-summary h3{color:#333;font-size:1.2rem;margin-bottom:20px;margin-top:0;text-align:right}.summary-table{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-row{align-items:center;background-color:#f9f9f9;border:2px solid #eee;border-radius:6px;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.summary-row:hover{background-color:#f0f0f0;border-color:#ddd;box-shadow:0 2px 6px #00000014}.summary-label{color:#555;flex:1 1;font-size:.95rem;font-weight:600;text-align:right}.summary-label.present{color:#4caf50}.summary-label.late{color:#ff9800}.summary-label.excused{color:#2196f3}.summary-label.absent{color:#f44336}.summary-value{color:#333;font-size:1.8rem;font-weight:700;min-width:50px;padding-left:15px;text-align:center}.attendance-stats-section{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:30px;padding:25px}.stats-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.stats-header h2{color:#333;font-size:1.3rem;margin:0}.stats-header .form-group{align-items:center;display:flex;gap:10px}.stats-header .form-group label{margin:0;white-space:nowrap}.stats-header .form-group input{width:180px}.no-data{color:#999;font-style:italic;padding:30px}.stats-table-container{border:1px solid #e0e0e0;border-radius:6px;overflow-x:auto}.stats-table{border-collapse:collapse;direction:rtl;width:100%}.stats-table thead{background-color:#4caf50;color:#fff}.stats-table th{border-bottom:2px solid #3d8b40;font-size:.95rem;font-weight:600;padding:15px;text-align:center}.stats-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.stats-table tbody tr:hover{background-color:#f5f5f5}.stats-table tbody tr:last-child{border-bottom:none}.stats-table tbody tr.low-attendance{background-color:#fff3e0}.stats-table tbody tr.low-attendance:hover{background-color:#ffe0b2}.stats-table td{color:#333;font-size:.95rem;padding:15px;text-align:center}.stats-table td:first-child{font-weight:500;padding-right:20px;text-align:right}.attendance-rate{color:#4caf50;font-weight:600}.attendance-rate.warning{color:#f44336;font-weight:700}.alert-icon{cursor:help;margin-right:8px}@media (max-width:768px){.attendance-form{padding:15px}.form-row{gap:15px;grid-template-columns:1fr}.attendance-header{font-size:.9rem;padding:12px}.attendance-row{gap:10px;padding:12px}.status-button{min-width:90px}.status-btn{font-size:.85rem;padding:8px 12px}.submit-attendance-btn{font-size:1rem;padding:14px;width:100%}.stats-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.stats-table{min-width:500px}.stats-table td,.stats-table th{font-size:.85rem;padding:10px 8px}.stats-header{align-items:stretch;flex-direction:column;gap:15px}.stats-header .form-group{width:100%}}@media (max-width:480px){.student-name{font-size:.9rem}.status-btn{font-size:.8rem;padding:6px 10px}.status-button{min-width:80px}}.status-btn:disabled{border-color:#999!important;color:#999!important;cursor:not-allowed;opacity:.6}.status-btn:disabled,.status-btn:disabled:hover{background-color:#ccc!important;transform:none!important}.status-btn:disabled:hover{box-shadow:none!important}.btn-warning{background-color:#ff9800;color:#fff}.btn-warning:hover:not(:disabled){background-color:#e68900}.btn-warning:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.centers-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:400px 1fr;padding:20px 0}.centers-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 200px);overflow-y:auto;padding:20px}.centers-list-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.centers-list-header h2{color:#333;font-size:1.25rem;margin:0}.centers-cards{display:flex;flex-direction:column;gap:12px}.center-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:15px;transition:all .2s ease}.center-card:hover{background:#f0f0ff;border-color:#4f46e5}.center-card.selected{background:#eef2ff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.center-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.center-card-header h3{color:#333;font-size:1.1rem;margin:0}.center-address,.center-phone{color:#666;font-size:.9rem;margin:4px 0}.center-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 200px);overflow-y:auto;padding:24px}.center-details-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.center-details-header h2{color:#4f46e5;margin:0}.users-section{margin-bottom:24px}.users-section h3{border-bottom:1px solid #e2e8f0;color:#333;font-size:1.1rem;margin-bottom:12px;padding-bottom:8px}.users-list{display:flex;flex-direction:column;gap:10px}.user-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{color:#333;font-weight:600}.user-email{color:#666;font-size:.85rem}.user-actions{align-items:center;display:flex;gap:10px}.status-badge{padding:4px 12px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fef2f2;color:#991b1b}.btn{font-size:.95rem;padding:10px 20px}.btn-primary:hover{background:#4338ca}.btn-success{background:#059669;color:#fff}.btn-success:hover{background:#047857}.btn-sm{background:#e5e7eb;color:#374151}.btn-sm:hover{background:#d1d5db}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;padding:4px;transition:background .2s}.btn-icon:hover{background:#0000001a}.btn-icon.delete:hover{background:#fef2f2}.modal-content{max-height:calc(100vh - 40px);max-width:500px}.modal-content form{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.modal-header{background:#fff;flex-shrink:0;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h2{color:#333;font-size:1.25rem}.close-btn{line-height:1;padding:0}.close-btn:hover{color:#333}.modal-body{flex:1 1 auto;max-height:none;min-height:0;padding:24px}.modal-footer{bottom:0;flex-shrink:0;justify-content:flex-end;padding:16px 24px;position:-webkit-sticky;position:sticky;z-index:1}.form-group{margin-bottom:20px}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#4f46e5}.roles-checkboxes{background:#0000;border:none;border-radius:0;display:flex;flex-direction:column;gap:10px;padding:0}.checkbox-label{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;font-weight:500;gap:12px;overflow:hidden;padding:14px 16px;position:relative;transition:all .2s ease}.checkbox-label:hover{background:#f8faff;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e51a;transform:translateX(-2px)}.checkbox-label:has(input:checked){background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#4f46e5;box-shadow:0 2px 8px #4f46e526}.checkbox-label input[type=checkbox]{accent-color:#4f46e5;cursor:pointer;flex-shrink:0;height:22px;width:22px}.checkbox-label span{align-items:center;color:#333;display:flex;flex:1 1;font-size:1rem;gap:8px}.checkbox-label:has(input:checked) span{color:#4f46e5;font-weight:600}.form-hint{border-radius:8px;display:block;font-size:.875rem;font-weight:500;margin-top:10px;padding:10px 12px;text-align:center}.form-hint.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.form-hint.success{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;display:flex;gap:6px;justify-content:center}.form-hint.success:before{content:"✓";font-size:1.1rem;font-weight:700}.no-data{background:#f8fafc;border-radius:8px;color:#666;padding:20px}@media (max-width:900px){.centers-container{grid-template-columns:1fr}.center-details,.centers-list{max-height:none}}@media (max-width:768px){.center-details-header,.centers-list-header,.user-card{align-items:flex-start;flex-direction:column;gap:12px}.user-actions{justify-content:space-between;width:100%}.modal-content{margin:10px;max-width:100%;width:95%}.modal-footer{flex-direction:column}.modal-footer .btn{justify-content:center;width:100%}}@media (max-width:480px){.center-details,.centers-list{padding:15px}.center-card{padding:12px}.center-card-header h3{font-size:1rem}.btn{font-size:.9rem;padding:10px 16px}.form-group input,.form-group select{font-size:.9rem;padding:10px}}.pending-container{padding:20px 0}.pending-count{align-items:center;color:#666;display:flex;font-size:1.1rem;gap:10px;margin-bottom:24px}.count-badge{background:#fef3c7;border-radius:20px;color:#d97706;font-size:1rem;font-weight:600;padding:6px 14px}.no-pending{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.no-pending-icon{font-size:4rem;margin-bottom:16px}.no-pending h2{color:#333;margin-bottom:8px}.no-pending p{color:#666}.pending-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.pending-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s,box-shadow .2s}.pending-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.pending-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.student-avatar{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;color:#fff;display:flex;font-size:1.25rem;font-weight:600;height:48px;justify-content:center;width:48px}.student-info{flex:1 1}.student-info h3{color:#333;font-size:1.1rem;margin:0 0 4px}.student-email{color:#666;font-size:.85rem}.status-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:6px 12px}.status-badge.pending{background:#fef3c7;color:#d97706}.pending-card-body{padding:16px 20px}.info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-size:.9rem}.info-value{color:#333;font-weight:500}.pending-card-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.btn{flex:1 1;font-size:1rem;font-weight:500;padding:12px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-approve{background:#059669;color:#fff}.btn-approve:hover:not(:disabled){background:#047857}.btn-reject{background:#dc2626;color:#fff}.btn-reject:hover:not(:disabled){background:#b91c1c}.modal-content{border-radius:12px;width:90%}.modal-header{border-bottom:1px solid #e2e8f0;padding:16px 20px}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem}.modal-body{padding:20px}.modal-info{color:#333;margin-bottom:16px}.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:12px;width:100%}.form-group select:focus{border-color:#059669;outline:none}.modal-footer{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.modal-footer .btn{flex:1 1}@media (max-width:768px){.pending-list{gap:16px;grid-template-columns:1fr}.pending-card-header{flex-wrap:wrap;padding:14px 16px}.student-avatar{font-size:1.1rem;height:42px;width:42px}.student-info h3{font-size:1rem}.status-badge{margin-top:12px;text-align:center;width:100%}.pending-card-body{padding:14px 16px}.info-row{flex-direction:column;gap:4px}.info-row .label{min-width:auto}.pending-card-actions{flex-direction:column;padding:14px 16px}.pending-card-actions .btn{width:100%}.modal-content{margin:10px auto;width:95%}.modal-body{padding:16px}.modal-footer{flex-direction:column;gap:10px}.modal-footer .btn{width:100%}}.password-input-group{align-items:center;display:flex;gap:8px;position:relative}.password-input-group input{flex:1 1}.toggle-password-btn{background:#0000;border:none;color:#666;cursor:pointer;font-size:1.2rem;padding:5px 10px;transition:color .2s}.toggle-password-btn:hover{color:#333}.form-group{margin-bottom:16px}.form-group label{font-weight:500}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.info-text{background:#f0f9ff;border-left:3px solid #3b82f6;border-radius:6px;font-size:14px;padding:12px}@media (max-width:480px){.pending-container{padding:10px 0}.pending-count{flex-direction:column;text-align:center}.no-pending{padding:40px 15px}.no-pending-icon{font-size:3rem}}.pending-approval-message{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin:20px 0;padding:60px 20px;text-align:center}.pending-icon{font-size:4rem;margin-bottom:20px}.pending-approval-message h2{color:#d97706;margin-bottom:12px}.pending-approval-message p{color:#666;margin:8px 0}.group-info-card{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:12px;color:#fff;margin-bottom:24px;padding:20px}.group-info-header{align-items:center;display:flex;gap:14px;margin-bottom:12px}.group-icon{font-size:2rem}.group-info-header h3{font-size:1.25rem;margin:0}.group-info-header .track-name{display:block;font-size:.9rem;margin-top:4px;opacity:.9}.teacher-info{align-items:center;border-top:1px solid #fff3;display:flex;font-size:.95rem;gap:8px;opacity:.95;padding-top:12px}.teacher-icon{font-size:1.2rem}.btn-group-chat{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin-top:16px;padding:12px 20px;transition:all .3s ease;width:100%}.btn-group-chat:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.btn-group-chat:disabled{cursor:not-allowed;opacity:.6}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;text-align:center}.stat-icon{font-size:2rem;margin-bottom:8px}.stat-value{color:#333;font-size:2rem;font-weight:700;margin-bottom:4px}.stat-label{font-size:.9rem}.achievements-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.achievements-section h2{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.25rem;margin:0 0 20px;padding-bottom:12px}.no-achievements{background:#f8fafc;border-radius:10px;padding:40px;text-align:center}.no-achievements-icon{font-size:3rem;margin-bottom:12px}.no-achievements h3{color:#333;margin:0 0 8px}.no-achievements p{color:#666;margin:0}.achievements-list{display:flex;flex-direction:column;gap:16px}.achievement-card{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.achievement-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:14px 16px}.achievement-date{color:#666;font-size:.9rem}.rating-badge{border-radius:20px;font-size:.85rem;padding:4px 10px}.rating-badge.excellent{background:#dcfce7;color:#166534}.rating-badge.good{background:#dbeafe;color:#1e40af}.rating-badge.average{background:#fef3c7;color:#d97706}.rating-badge.needs-improvement{background:#fee2e2;color:#991b1b}.achievement-content{padding:16px}.assignment-info,.portion-info{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.portion-info{margin-bottom:12px}.assignment-label,.portion-label{color:#666;font-size:.9rem}.assignment-value,.portion-value{color:#333;font-weight:500}.assignment-info{border-top:1px dashed #e2e8f0;padding-top:12px}.teacher-notes{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:12px;padding:12px}.notes-label{color:#166534;display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}.notes-value{color:#15803d;font-size:.95rem;line-height:1.6;margin:0}@media (max-width:768px){.group-info-card{padding:16px}.group-info-header{align-items:flex-start;flex-direction:column;gap:8px}.teacher-info{font-size:.9rem;padding-top:10px}}@media (max-width:600px){.stats-grid{gap:12px;grid-template-columns:1fr 1fr}.stat-card{padding:16px}.stat-value{font-size:1.5rem}.achievement-header{align-items:flex-start;flex-direction:column;gap:8px}.pending-approval-message{padding:40px 15px}.pending-icon{font-size:3rem}.assignment-info,.portion-info{flex-direction:column;gap:4px}.teacher-notes{padding:10px}}.leaderboard-container{margin:0 auto;max-width:1000px;padding:2rem}.leaderboard-list{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table td,.leaderboard-table th{border-bottom:1px solid #eee;padding:1rem 1.5rem;text-align:right}.leaderboard-table th{background-color:#f8f9fa;color:#666;font-size:.9rem;font-weight:600}.rank-badge{align-items:center;background-color:#f0f0f0;border-radius:50%;color:#555;display:inline-flex;font-weight:700;height:32px;justify-content:center;width:32px}.rank-1 .rank-badge{background-color:gold;box-shadow:0 2px 4px #ffd7004d;color:#fff}.rank-2 .rank-badge{background-color:silver;color:#fff}.rank-3 .rank-badge{background-color:#cd7f32;color:#fff}.student-name{color:#2c3e50;font-weight:600}.points-cell{color:var(--color-primary);font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.level-star{margin-left:2px}.no-data{color:#888;padding:3rem;text-align:center}@media (max-width:768px){.leaderboard-container{padding:1rem}.leaderboard-table td,.leaderboard-table th{font-size:.85rem;padding:.75rem .5rem}.rank-badge{font-size:.85rem;height:28px;width:28px}.points-cell{font-size:1rem}.student-name{font-size:.9rem}}@media (max-width:480px){.leaderboard-table td:nth-child(3),.leaderboard-table th:nth-child(3){display:none}.leaderboard-table td,.leaderboard-table th{padding:.6rem .4rem}}.messages-page{margin:0 auto;max-width:900px;padding:20px}.messages-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.messages-toolbar{align-items:center;background:linear-gradient(135deg,#f8faf9,#fff);border-bottom:1px solid #e8eeeb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px}.search-box{flex:1 1;min-width:200px;position:relative}.search-input{background:#fff;border:2px solid #e0e0e0;border-radius:25px;direction:rtl;font-family:inherit;font-size:.95rem;padding:12px 45px 12px 16px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026;outline:none}.search-icon{font-size:1.1rem;opacity:.6;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.btn-new-chat{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:25px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-new-chat:hover{box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}.conversations-list{max-height:calc(100vh - 300px);overflow-y:auto}.conversation-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:14px;padding:16px 20px;transition:all .2s ease}.conversation-item:hover{background:#f8faf9}.conversation-item.unread{background:#f0f9f1}.conversation-item.unread:hover{background:#e8f5e9}.conversation-avatar{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;width:50px}.conversation-info{flex:1 1;min-width:0;overflow:hidden}.conversation-header{justify-content:space-between;margin-bottom:4px}.conversation-name{color:#1a1a1a;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{color:#888;flex-shrink:0;font-size:.8rem;margin-right:8px}.conversation-preview{display:flex;flex-direction:column;gap:2px}.conversation-role{color:#4caf50;font-size:.8rem;font-weight:500}.last-message{color:#666;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-actions{gap:8px;margin-left:auto}.conversation-actions,.unread-badge{align-items:center;display:flex;flex-shrink:0}.unread-badge{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:11px;color:#fff;font-size:.75rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.btn-delete-conversation{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;opacity:.6;padding:6px 10px;transition:all .3s ease}.btn-delete-conversation:hover{background:#f443361a;opacity:1;transform:scale(1.1)}.btn-delete-conversation:disabled{cursor:not-allowed;opacity:.4}.btn-delete-conversation.deleting{animation:spin 1s linear infinite}.empty-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{color:#333;font-size:1.3rem;margin:0 0 8px}.empty-state p{color:#777;margin:0 0 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#4caf50;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:450px;overflow:hidden;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#f8faf9,#fff);border-bottom:1px solid #e8eeeb;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#1a1a1a;font-size:1.2rem;margin:0}.modal-close{align-items:center;background:#f0f0f0;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.modal-close:hover{background:#e0e0e0}.modal-body{flex:1 1;overflow-y:auto;padding:16px}.new-chat-modal .search-box{margin-bottom:16px}.contacts-list{max-height:400px;overflow-y:auto}.contact-item{align-items:center;border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:14px 16px;transition:all .2s ease}.contact-item:hover{background:#f0f9f1}.contact-item.disabled{cursor:not-allowed;opacity:.6}.contact-avatar{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:50%;display:flex;flex-shrink:0;font-size:1.3rem;height:46px;justify-content:center;width:46px}.contact-info{display:flex;flex-direction:column;gap:2px}.contact-name{color:#1a1a1a;font-size:.95rem;font-weight:600}.contact-role{color:#4caf50;font-size:.8rem}.conversation-page{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;height:calc(100vh - 120px);margin:0 auto;max-width:900px;overflow:hidden}.conversation-header{background:linear-gradient(135deg,#4caf50,#45a049);gap:14px;padding:16px 20px}.back-button,.conversation-header{align-items:center;color:#fff;display:flex}.back-button{background:#fff3;border:none;border-radius:50%;cursor:pointer;font-size:1.3rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.back-button:hover{background:#ffffff4d}.conversation-avatar-large{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.conversation-title-section{flex:1 1}.conversation-title-section h2{font-size:1.1rem;font-weight:600;margin:0}.conversation-subtitle{font-size:.85rem;opacity:.9}.messages-area{background:#f8faf9;overflow-y:auto;padding:20px}.empty-messages,.messages-area{display:flex;flex:1 1;flex-direction:column}.empty-messages{align-items:center;color:#888;justify-content:center;text-align:center}.empty-messages .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.4}.empty-messages p{font-size:1rem;margin:0}.empty-messages .hint{font-size:.9rem;margin-top:8px;opacity:.7}.date-separator{align-items:center;display:flex;justify-content:center;margin:20px 0}.date-separator span{background:#e8eeeb;border-radius:20px;color:#666;font-size:.8rem;font-weight:500;padding:6px 16px}.message-wrapper{display:flex;flex-direction:column;margin-bottom:8px;max-width:75%}.message-wrapper.own{align-items:flex-start;align-self:flex-start}.message-wrapper.other{align-items:flex-end;align-self:flex-end}.message-sender{align-items:center;display:flex;gap:6px;margin-bottom:4px;padding:0 12px}.sender-icon{font-size:.9rem}.sender-name{color:#666;font-size:.8rem;font-weight:500}.message-bubble{word-wrap:break-word;border-radius:18px;max-width:100%;padding:12px 16px;position:relative}.message-bubble.own{background:linear-gradient(135deg,#4caf50,#45a049);border-bottom-left-radius:6px;color:#fff}.message-bubble.other{background:#fff;border-bottom-right-radius:6px;box-shadow:0 2px 8px #0000000f;color:#1a1a1a}.message-text{font-size:.95rem;line-height:1.5;margin:0;white-space:pre-wrap}.message-time{display:block;font-size:.7rem;margin-top:6px;opacity:.7;text-align:left}.message-bubble.other .message-time{color:#888;text-align:right}.message-input-form{background:#fff;border-top:1px solid #e8eeeb;padding:16px 20px}.message-input-container{align-items:flex-end;background:#f8faf9;border:2px solid #e0e0e0;border-radius:25px;display:flex;gap:12px;padding:8px 8px 8px 16px;transition:all .3s ease}.message-input-container:focus-within{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.message-input{background:#0000;border:none;direction:rtl;flex:1 1;font-family:inherit;font-size:.95rem;line-height:1.5;max-height:120px;padding:8px 0;resize:none}.message-input:focus{outline:none}.message-input::placeholder{color:#999}.send-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:center;min-width:80px;padding:10px 24px;transition:all .3s ease}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #4caf504d;transform:scale(1.05)}.send-button:disabled{cursor:not-allowed;opacity:.6}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:768px){.messages-page{padding:10px}.messages-toolbar{flex-direction:column;gap:12px}.search-box{width:100%}.btn-new-chat{justify-content:center;width:100%}.conversation-item{padding:12px 16px}.conversation-actions{gap:6px}.btn-delete-conversation{font-size:1rem;padding:4px 8px}.unread-badge{font-size:.7rem;height:20px;min-width:20px}.conversation-page{border-radius:0;height:calc(100vh - 80px)}.conversation-header{padding:12px 16px}.message-wrapper{max-width:85%}.messages-area{padding:16px}.message-input-form{padding:12px 16px}}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.change-password-container{margin:0 auto;max-width:600px;padding:20px 0}.change-password-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.user-info-section{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;display:flex;gap:20px;padding:30px}.user-avatar{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#4f46e5;display:flex;font-size:2.5rem;font-weight:700;height:80px;justify-content:center;width:80px}.user-details h3{font-size:1.5rem;font-weight:600;margin:0}.user-email{font-size:.95rem;margin:5px 0 0;opacity:.9}.change-password-form{padding:30px}.form-group{margin-bottom:24px}.form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.alert{align-items:center;border-radius:8px;display:flex;font-size:.95rem;font-weight:500;gap:10px;margin-bottom:20px;padding:14px 16px}.alert-icon{flex-shrink:0;font-size:1.2rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.form-actions{margin-bottom:25px;margin-top:30px}.form-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:14px;transition:all .2s ease;width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #4f46e54d}.btn-primary:disabled{transform:none}.password-tips{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.password-tips h4{align-items:center;color:#333;display:flex;font-size:1rem;gap:8px;margin:0 0 12px}.password-tips ul{color:#666;margin:0;padding:0 0 0 20px}.password-tips li{font-size:.9rem;line-height:1.5;margin-bottom:6px}.password-tips li:last-child{margin-bottom:0}@media (max-width:768px){.change-password-container{padding:10px}.user-info-section{flex-direction:column;padding:20px;text-align:center}.user-avatar{font-size:2rem;height:70px;width:70px}.user-details h3{font-size:1.25rem}.change-password-form{padding:20px}.form-group input{font-size:.95rem;padding:10px 14px}.form-actions .btn{font-size:.95rem;padding:12px}.password-tips{padding:15px}.password-tips h4{font-size:.95rem}.password-tips li{font-size:.85rem}}@media (max-width:480px){.user-info-section{padding:15px}.user-avatar{font-size:1.75rem;height:60px;width:60px}.user-details h3{font-size:1.1rem}.user-email{font-size:.85rem}}.batch-import-container{margin:0 auto;max-width:1000px;padding:20px 0}.steps{display:flex;gap:20px;justify-content:space-between;margin-bottom:40px}.step{align-items:center;display:flex;flex:1 1;flex-direction:column;position:relative}.step:after{background:#e2e8f0;content:"";height:2px;left:50%;position:absolute;top:20px;width:100%;z-index:-1}.step:last-child:after{display:none}.step-number{align-items:center;background:#e2e8f0;border-radius:50%;color:#666;display:flex;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;margin-bottom:8px;width:40px}.step.active .step-number{background:#4f46e5;color:#fff}.step.completed .step-number{background:#10b981;color:#fff}.step.completed:after{background:#10b981}.step-label{color:#666;font-size:.9rem;font-weight:500;text-align:center}.step.active .step-label{color:#4f46e5;font-weight:600}.step.completed .step-label{color:#10b981}.batch-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:30px}.upload-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.upload-box{grid-column:1;position:relative}#csv-upload{display:none}.upload-label{align-items:center;background:#f8faff;border:3px dashed #4f46e5;border-radius:12px;color:#4f46e5;cursor:pointer;display:flex;flex-direction:column;font-size:1.1rem;font-weight:600;justify-content:center;min-height:250px;padding:30px;transition:all .2s ease}.upload-label:hover{background:#eef2ff;border-color:#4338ca}.upload-hint{color:#666;font-size:.9rem;font-weight:400;margin-top:8px}.sample-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-column:2;padding:20px}.sample-section h3{color:#333;margin-bottom:12px;margin-top:0}.sample-section p{color:#666;font-size:.95rem;margin-bottom:15px}.column-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 20px;padding:0}.column-list li{background:#fff;border-left:3px solid #4f46e5;border-radius:6px;color:#555;font-size:.9rem;padding:8px 8px 8px 12px}.review-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-box{border-radius:12px;padding:20px;text-align:center}.stat-box.success{background:#f0fdf4;border:2px solid #10b981}.stat-box.error{background:#fef2f2;border:2px solid #ef4444}.stat-number{color:inherit;font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-box.success .stat-number{color:#10b981}.stat-box.error .stat-number{color:#ef4444}.stat-label{color:#666;font-size:.95rem;font-weight:500}.errors-section{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:30px;padding:20px}.errors-section h3{color:#dc2626;margin-bottom:15px;margin-top:0}.error-list{display:flex;flex-direction:column;gap:10px}.error-item{background:#fff;border-left:3px solid #dc2626;border-radius:8px;color:#555;font-size:.9rem;padding:12px 12px 12px 15px}.users-preview{margin-bottom:30px}.users-preview h3{color:#333;margin-bottom:15px}.table-container{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.users-table{background:#fff;border-collapse:collapse;width:100%}.users-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.users-table th{color:#333;font-weight:600;text-align:right}.users-table td,.users-table th{font-size:.9rem;padding:12px 16px}.users-table td{border-bottom:1px solid #e2e8f0;color:#555}.more-users,.users-table tbody tr:hover{background:#f8fafc}.more-users{border-top:1px solid #e2e8f0;color:#666;font-size:.9rem;padding:12px 16px;text-align:center}.settings-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:30px;padding:20px}.settings-section h3{color:#333;margin-bottom:20px;margin-top:0}.setting-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.setting-group:last-child{margin-bottom:0}.setting-group label{color:#333;font-size:.95rem;font-weight:500}.setting-group input{border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:10px 12px}.setting-group small{color:#666;font-size:.85rem}.importing-section{text-align:center}.progress-box{margin-bottom:30px}.progress-label{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:15px}.progress-bar{background:#e2e8f0;border-radius:12px;height:24px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{align-items:center;background:linear-gradient(90deg,#4f46e5,#6366f1);color:#fff;display:flex;font-size:.8rem;font-weight:600;height:100%;justify-content:flex-end;padding-right:12px;transition:width .3s ease}.progress-percentage{color:#4f46e5;font-size:1.3rem;font-weight:700}.results-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:20px}.preview-stats{display:flex;gap:20px;justify-content:center}.preview-stats .stat{border-radius:8px;font-weight:600;padding:8px 16px}.preview-stats .stat.success{background:#f0fdf4;color:#10b981}.preview-stats .stat.error{background:#fef2f2;color:#ef4444}.importing-note{color:#666;font-size:.95rem}.results-section{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-header{margin-bottom:30px;text-align:center}.results-header h2{color:#10b981;font-size:1.8rem;margin:0 0 8px}.results-header p{color:#666;font-size:1rem;margin:0}.results-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.failed-users{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:30px;padding:20px}.failed-users h3{color:#dc2626;margin-top:0}.failed-list{display:flex;flex-direction:column;gap:12px}.failed-item{background:#fff;border-left:3px solid #dc2626;border-radius:8px;font-size:.9rem;padding:12px 12px 12px 15px}.error-msg{color:#dc2626;font-size:.85rem}.successful-users{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:30px;padding:20px}.successful-users h3{color:#10b981;margin-top:0}.success-list{display:flex;flex-direction:column;gap:12px}.success-item{align-items:center;background:#fff;border-left:3px solid #10b981;border-radius:8px;display:flex;gap:15px;justify-content:space-between;padding:12px 12px 12px 15px}.user-info{color:#555;flex:1 1;font-size:.9rem;text-align:left}.user-info strong{color:#333}.password{color:#4f46e5}.password,.personal-id{display:block;font-family:Courier New,monospace;font-size:.85rem;font-weight:500;margin-top:4px}.personal-id{color:#7c3aed}.more-success{background:#fff;border-radius:8px;color:#10b981;font-weight:600;padding:12px;text-align:center}.export-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:30px;padding:20px}.export-section h3{color:#333;margin-bottom:15px;margin-top:0}.export-buttons{display:flex;flex-wrap:wrap;gap:12px}.export-buttons .btn{flex:1 1;min-width:200px}.action-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.action-buttons .btn{font-size:1rem;padding:12px 24px}.btn-sm{font-size:.85rem;padding:6px 12px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca;transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}@media (max-width:900px){.steps{gap:10px}.step-label{font-size:.8rem}.upload-section{grid-template-columns:1fr}.sample-section{grid-column:1}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}.export-buttons{flex-direction:column}.export-buttons .btn{width:100%}.success-item{align-items:flex-start;flex-direction:column}}@media (max-width:768px){.batch-content{padding:20px}.steps{margin-bottom:30px}.review-stats{grid-template-columns:1fr}.users-table td,.users-table th{font-size:.85rem;padding:10px 12px}.action-buttons{gap:8px}}@media (max-width:480px){.batch-import-container{padding:10px}.batch-content{padding:15px}.upload-label{font-size:1rem;min-height:200px;padding:20px}.steps{gap:5px}.step-number{font-size:.9rem;height:35px;width:35px}.step-label{font-size:.75rem}.stat-number{font-size:2rem}.results-header h2{font-size:1.5rem}}:root{--color-primary:#1b8c6b;--color-text-strong:#114d3a;--color-text-muted:#5e7c71;--color-background:#f7faf8}*,:after,:before{box-sizing:border-box}html{direction:rtl}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7faf8;background-color:var(--color-background);color:#114d3a;color:var(--color-text-strong);font-family:Cairo,sans-serif;margin:0;width:100%}a{color:inherit}button{font-family:inherit}input,select,textarea{font-family:Cairo,sans-serif}select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%231b8c6b' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:left 12px center;background-repeat:no-repeat;background-size:12px;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#333;cursor:pointer;font-size:1rem;max-width:100%;min-height:48px;padding:12px 15px 12px 35px;transition:all .3s ease;width:100%}select:hover{border-color:#bdbdbd}select:focus{border-color:#1b8c6b;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b8c6b26;outline:none}select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}select option{background-color:#fff;color:#333;padding:12px}select option:checked{background-color:#1b8c6b;background-color:var(--color-primary);color:#fff}input[type=date]{-webkit-appearance:none;appearance:none;background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#333;direction:ltr;font-size:1rem;max-width:100%;min-height:48px;padding:12px 15px;text-align:right;width:100%}input[type=date]:focus{border-color:#1b8c6b;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b8c6b26;outline:none}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;margin-left:0;margin-right:auto;padding:5px}@supports (-webkit-touch-callout:none){input[type=date],select{line-height:1.5;min-height:50px}}table{width:100%}.alerts-card{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:12px;box-shadow:0 4px 12px #ff980033;margin-top:25px;padding:25px}.alerts-card h2{align-items:center;color:#e65100;display:flex;font-size:1.3rem;gap:10px;margin-bottom:10px;margin-top:0}.alerts-card h2 .alert-icon{font-size:1.5rem}.alerts-description{color:#f57c00;font-size:.95rem;font-weight:500;margin-bottom:20px}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{background:#fff;border:2px solid #ffb74d;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:15px;transition:all .3s ease}.alert-item:hover{border-color:#ff9800;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.alert-content{text-align:right}.alert-student-name{color:#e65100;font-size:1.1rem;font-weight:700;margin-bottom:5px}.alert-group{color:#666;font-size:.9rem;margin-bottom:8px}.alert-stats{display:flex;flex-wrap:wrap;font-size:.9rem;gap:20px}.alert-rate{color:#d32f2f;font-weight:700}.alert-days{color:#666;font-weight:500}
/*# sourceMappingURL=main.ab9ff08a.css.map*/