.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#0b1a33}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;background-image:radial-gradient(circle at 25% 25%,#3b82f6 1px,transparent 1px),radial-gradient(circle at 75% 75%,#3b82f6 1px,transparent 1px);background-size:48px 48px}.login-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(96,165,250,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(37,99,235,.12) 0%,transparent 50%)}.login-container{position:relative;z-index:1;width:100%;max-width:440px;padding:24px}.login-lang-switcher{display:flex;justify-content:center;gap:4px;margin-bottom:24px}.login-lang-switcher button{padding:6px 16px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff9;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .2s}.login-lang-switcher button:hover{background:#ffffff1a;color:#ffffffe6}.login-lang-switcher button.active{background:#2563eb;border-color:#2563eb;color:#fff}.login-card{background:#fff;border-radius:16px;padding:40px 36px;box-shadow:0 4px 6px #0000001a,0 20px 50px #0000004d;animation:loginCardIn .5s ease-out}@keyframes loginCardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:28px}.login-logo-wrap{display:flex;justify-content:center;margin-bottom:20px}.login-logo{width:280px;height:auto;object-fit:contain;border-radius:12px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.login-bismillah{font-family:Amiri,serif;font-size:22px;color:#1e3a5f;margin:0 0 12px;line-height:1.6}.login-title{font-family:MV Bodu,Inter,sans-serif;font-size:22px;font-weight:700;color:#0f172a;margin:0 0 6px}[dir=rtl] .login-title{font-family:MV Bodu,Amiri,serif}.login-subtitle{font-size:14px;color:#64748b;margin:0}[dir=rtl] .login-subtitle{font-family:MV Utheemu,Amiri,serif;font-size:16px}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:20px;text-align:center}.login-form{display:flex;flex-direction:column;gap:18px}.login-field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:6px}[dir=rtl] .login-field label{font-family:MV Utheemu,Amiri,serif;font-size:15px}.login-field input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#f8fafc;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}[dir=rtl] .login-field input{font-family:MV Utheemu,Amiri,serif;font-size:15px;text-align:right}.login-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.login-field input::placeholder{color:#94a3b8}.login-field input:disabled{opacity:.6;cursor:not-allowed}.login-password-wrap{position:relative}.login-password-wrap input{padding-inline-end:44px}.login-password-toggle{position:absolute;top:50%;inset-inline-end:12px;transform:translateY(-50%);background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px;display:flex;align-items:center}.login-password-toggle:hover{color:#475569}.login-options{display:flex;align-items:center;justify-content:space-between}.login-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#475569}[dir=rtl] .login-checkbox{font-family:MV Utheemu,Amiri,serif;font-size:14px}.login-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.login-forgot-hint{font-size:12px;color:#94a3b8;font-weight:400;margin-top:2px}[dir=rtl] .login-forgot-hint{font-family:MV Utheemu,Amiri,serif;font-size:13px;text-align:right}.login-submit{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,box-shadow .2s,transform .1s}[dir=rtl] .login-submit{font-family:MV Bodu,Amiri,serif;font-size:17px}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb59}.login-submit:active:not(:disabled){transform:scale(.98)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.login-footer p{font-size:13px;color:#64748b;margin:0}[dir=rtl] .login-footer p{font-family:MV Utheemu,Amiri,serif;font-size:14px}.login-footer a{color:#2563eb;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}.login-apply-links{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.login-apply-link{font-size:13px;color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s}.login-apply-link:hover{color:#1d4ed8;text-decoration:underline}.login-apply-sep{color:#cbd5e1;font-size:13px}[dir=rtl] .login-apply-link{font-family:MV Utheemu,Amiri,serif;font-size:14px}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:28px 20px;border-radius:12px}.login-bismillah,.login-title{font-size:19px}.login-logo{width:200px!important;max-width:80vw}.login-logo-wrap{margin-bottom:16px}}.register-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;position:relative;overflow-y:auto;background:#0b1a33;padding:20px 0}.register-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.register-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;background-image:radial-gradient(circle at 25% 25%,#3b82f6 1px,transparent 1px),radial-gradient(circle at 75% 75%,#3b82f6 1px,transparent 1px);background-size:48px 48px}.register-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(96,165,250,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(37,99,235,.12) 0%,transparent 50%)}.register-container{position:relative;z-index:1;width:100%;max-width:480px;padding:24px}.register-container--wide{max-width:640px}.register-lang-switcher{display:flex;justify-content:center;gap:4px;margin-bottom:20px}.register-lang-switcher button{padding:6px 16px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff9;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .2s}.register-lang-switcher button:hover{background:#ffffff1a;color:#ffffffe6}.register-lang-switcher button.active{background:#2563eb;border-color:#2563eb;color:#fff}.register-card{background:#fff;border-radius:16px;padding:36px 32px;box-shadow:0 4px 6px #0000001a,0 20px 50px #0000004d;animation:regCardIn .5s ease-out forwards;animation-iteration-count:1}@keyframes regCardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.register-header{text-align:center;margin-bottom:24px}.register-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;margin-bottom:12px}.register-bismillah{font-family:Amiri,serif;font-size:22px;color:#1e3a5f;margin:0 0 10px;line-height:1.6}.register-header h1{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 6px}[dir=rtl] .register-header h1{font-family:MV Bodu,Amiri,serif}.register-header p{font-size:14px;color:#64748b;margin:0}[dir=rtl] .register-header p{font-family:MV Utheemu,Amiri,serif;font-size:16px}.step-indicator{display:flex;justify-content:center;gap:6px;margin-bottom:28px;padding:0 8px}.step-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8;border:2px solid #e2e8f0;transition:all .3s;font-size:14px}.step-item--active .step-circle{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 2px 8px #2563eb4d}.step-item--done .step-circle{background:#10b981;color:#fff;border-color:#10b981}.step-label{font-size:11px;color:#94a3b8;text-align:center;line-height:1.2;white-space:nowrap}.step-item--active .step-label{color:#2563eb;font-weight:600}.step-item--done .step-label{color:#10b981}[dir=rtl] .step-label{font-family:MV Utheemu,Amiri,serif;font-size:12px}.form-section h3{font-size:17px;color:#0f172a;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}[dir=rtl] .form-section h3{font-family:MV Bodu,Amiri,serif;font-size:19px}.form-note{font-size:13px;color:#64748b;margin:0 0 16px}[dir=rtl] .form-note{font-family:MV Utheemu,Amiri,serif;font-size:15px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field--full{grid-column:1 / -1}.form-field label{font-size:13px;font-weight:600;color:#334155}[dir=rtl] .form-field label{font-family:MV Utheemu,Amiri,serif;font-size:15px}.required-star{color:#dc2626;margin-inline-start:3px}.form-field input,.form-field select{padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#f8fafc;transition:border-color .2s,box-shadow .2s;outline:none;width:100%;box-sizing:border-box}[dir=rtl] .form-field input,[dir=rtl] .form-field select{font-family:MV Utheemu,Amiri,serif;font-size:15px}.form-field input:focus,.form-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.form-field--error input,.form-field--error select{border-color:#dc2626}.field-error{font-size:12px;color:#dc2626}.form-field input[type=date]{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;min-height:44px;padding:10px 14px;font-family:inherit;color:#0f172a;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat;background-position:right 12px center;cursor:pointer}[dir=rtl] .form-field input[type=date]{background-position:left 12px center}.form-field input[type=date]:focus{background-color:#fff}.form-field input[type=date]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.form-field input[type=date]::-webkit-datetime-edit{padding:0;font-weight:500}.form-field input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.form-field input[type=date]::-webkit-datetime-edit-day-field,.form-field input[type=date]::-webkit-datetime-edit-month-field,.form-field input[type=date]::-webkit-datetime-edit-year-field{padding:2px 3px;border-radius:4px;color:#0f172a;font-weight:500}.form-field input[type=date]::-webkit-datetime-edit-day-field:focus,.form-field input[type=date]::-webkit-datetime-edit-month-field:focus,.form-field input[type=date]::-webkit-datetime-edit-year-field:focus{background:#dbeafe;color:#1d4ed8;outline:none}.form-field input[type=date]:invalid,.form-field input[type=date][value=""]{color:#94a3b8}.form-field input[type=date]{accent-color:#2563eb;color-scheme:light}.class-cards{display:flex;flex-direction:column;gap:10px}.class-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;background:#f8fafc}.class-card:hover{border-color:#93c5fd;background:#eff6ff}.class-card--selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb1a}.class-card-radio{width:20px;height:20px;border-radius:50%;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.class-card--selected .class-card-radio{border-color:#2563eb}.class-card-radio-dot{width:10px;height:10px;border-radius:50%;background:#2563eb}.class-card-info strong{display:block;font-size:14px;color:#0f172a}[dir=rtl] .class-card-info strong{font-family:MV Bodu,Amiri,serif;font-size:16px}.class-schedule{font-size:12px;color:#64748b;margin-top:2px}.upload-section{margin-bottom:20px}.upload-label-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;color:#334155}[dir=rtl] .upload-label-row{font-family:MV Utheemu,Amiri,serif;font-size:16px}.upload-hint{font-size:12px;font-weight:400;color:#94a3b8}[dir=rtl] .upload-hint{font-size:13px}.photo-upload-area{width:min(150px,35vw);height:min(180px,42vw);border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;overflow:hidden}.photo-upload-area:hover{border-color:#2563eb;background:#f8fafc}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8;font-size:13px;text-align:center;padding:8px}.photo-preview{position:relative;width:100%;height:100%}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.file-upload-box{padding:16px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;transition:all .2s;text-align:center}.file-upload-box:hover{border-color:#2563eb;background:#f8fafc}.file-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:#94a3b8;font-size:13px}.file-selected{display:flex;align-items:center;gap:10px;color:#0f172a;font-size:13px;justify-content:center}.file-selected button{background:none;border:none;color:#dc2626;cursor:pointer;padding:2px;display:flex}.upload-size-hint{font-size:11px;color:#cbd5e1}.multi-file-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.multi-file-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f1f5f9;border-radius:6px;font-size:13px;color:#334155}.multi-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-file-remove{background:none;border:none;color:#dc2626;cursor:pointer;padding:2px;display:flex;align-items:center;flex-shrink:0}.multi-file-remove:hover{color:#991b1b}.review-grid{display:flex;flex-direction:column;gap:20px}.review-section{background:#f8fafc;border-radius:10px;padding:16px}.review-section h4{font-size:14px;color:#2563eb;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}[dir=rtl] .review-section h4{font-family:MV Bodu,Amiri,serif;font-size:16px}.review-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid #f1f5f9}.review-row:last-child{border-bottom:none}.review-label{color:#64748b}.review-value{color:#0f172a;font-weight:500}[dir=rtl] .review-row{font-family:MV Utheemu,Amiri,serif;font-size:14px}.btn-reg-primary{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border:none;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}[dir=rtl] .btn-reg-primary{font-family:MV Bodu,Amiri,serif;font-size:16px}.btn-reg-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb59}.btn-reg-primary:disabled{opacity:.7;cursor:not-allowed}.btn-reg-submit{background:linear-gradient(135deg,#10b981,#059669)}.btn-reg-submit:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159}.btn-reg-outline{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}[dir=rtl] .btn-reg-outline{font-family:MV Utheemu,Amiri,serif;font-size:16px}.btn-reg-outline:hover{border-color:#2563eb;color:#2563eb}.step-nav{display:flex;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid #e2e8f0}.step-nav-left,.step-nav-right{display:flex;gap:10px}.register-footer{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.link-btn{background:none;border:none;color:#2563eb;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none}[dir=rtl] .link-btn{font-family:MV Utheemu,Amiri,serif;font-size:14px}.link-btn:hover{text-decoration:underline}.footer-divider{color:#cbd5e1;margin:0 10px}.reg-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:10px 14px;font-size:13px;margin-top:12px;text-align:center}.register-success-card{text-align:center}.success-icon{color:#10b981;margin-bottom:16px}.register-success-card h2{font-size:22px;color:#0f172a;margin:0 0 8px}.register-success-card>p{font-size:14px;color:#64748b;margin:0 0 20px}.reg-number-box{background:#f0fdf4;border:2px solid #86efac;border-radius:12px;padding:16px;margin-bottom:12px}.reg-number-label{display:block;font-size:12px;color:#64748b;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.reg-number-value{display:block;font-size:24px;font-weight:700;color:#059669;letter-spacing:1px;font-family:SF Mono,monospace}.reg-save-note{font-size:13px;color:#f59e0b;margin:0 0 20px;font-weight:500}.success-actions{display:flex;gap:12px;justify-content:center}.status-check-form label{font-size:13px;font-weight:600;color:#334155;display:block;margin-bottom:6px}[dir=rtl] .status-check-form label{font-family:MV Utheemu,Amiri,serif;font-size:15px}.status-input-row{display:flex;gap:10px}.status-input-row input{flex:1;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none}.status-input-row input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.status-result{margin-top:16px;padding:16px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.status-result--approved{background:#f0fdf4;border-color:#86efac}.status-result--rejected{background:#fef2f2;border-color:#fecaca}.status-result-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid rgba(0,0,0,.05)}.status-result-row:last-child{border-bottom:none}.status-result-row span:first-child{color:#64748b}.status-badge-inline{padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#991b1b}@media (max-width: 640px){.register-container{padding:16px}.register-container--wide{max-width:100%}.register-card{padding:24px 18px;border-radius:12px}.form-grid{grid-template-columns:1fr}.step-label{display:none}.step-indicator{gap:12px}.step-nav{flex-direction:column;gap:10px}.step-nav-left,.step-nav-right{justify-content:stretch}.step-nav-left button,.step-nav-right button{width:100%;justify-content:center}.success-actions,.status-input-row{flex-direction:column}}@media (max-width: 480px){.register-container{padding:10px}.register-card{padding:20px 14px}}.dashboard{padding:24px;max-width:1280px}.dash-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:#2563eb}.dash-welcome{margin-bottom:24px}.dash-welcome-title{font-family:MV Bodu,Inter,sans-serif;font-size:24px;font-weight:700;color:#0f172a;margin:0 0 4px}[dir=rtl] .dash-welcome-title{font-family:MV Bodu,Amiri,serif;font-size:26px}.dash-welcome-sub{font-size:14px;color:#64748b;margin:0}[dir=rtl] .dash-welcome-sub{font-family:MV Utheemu,Amiri,serif;font-size:15px}.dash-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.dash-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px;transition:box-shadow .2s,transform .15s;cursor:default}.dash-stat[role=button]{cursor:pointer}.dash-stat[role=button]:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.dash-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-stat-content{min-width:0}.dash-stat-value{font-size:26px;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.dash-stat-label{font-size:13px;color:#64748b;margin:2px 0 0}[dir=rtl] .dash-stat-label{font-family:MV Utheemu,Amiri,serif;font-size:14px}.dash-stat-sub{font-size:12px;color:#94a3b8;margin:2px 0 0}.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}@media (max-width: 900px){.dash-grid-2{grid-template-columns:1fr}}.dash-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.dash-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.dash-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0}[dir=rtl] .dash-card-title{font-family:MV Bodu,Amiri,serif;font-size:17px}.dash-card-action{display:flex;align-items:center;gap:4px;background:none;border:none;color:#2563eb;font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}[dir=rtl] .dash-card-action{font-family:MV Utheemu,Amiri,serif;font-size:13px}.dash-card-action:hover{background:#eff6ff}.dash-card-body{padding:16px 20px 20px}.dash-chart-wrap{margin:0 -8px}.dash-performers{display:flex;flex-direction:column;gap:10px}.dash-performer{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9}.dash-performer:last-child{border-bottom:none}.dash-performer-rank{width:24px;height:24px;border-radius:6px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#475569;flex-shrink:0}.dash-performer:first-child .dash-performer-rank{background:#fef3c7;color:#b45309}.dash-performer:nth-child(2) .dash-performer-rank{background:#e2e8f0;color:#475569}.dash-performer:nth-child(3) .dash-performer-rank{background:#fed7aa;color:#c2410c}.dash-performer-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.dash-performer-info{flex:1;min-width:0}.dash-performer-name{display:block;font-size:13px;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-performer-stat{display:block;font-size:11px;color:#94a3b8}[dir=rtl] .dash-performer-stat{font-family:MV Utheemu,Amiri,serif;font-size:12px}.dash-performer-juz{font-size:16px;font-weight:700;color:#2563eb;text-align:center;min-width:48px}.dash-performer-juz small{display:block;font-size:10px;font-weight:500;color:#94a3b8}.dash-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-action-btn{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}[dir=rtl] .dash-action-btn{font-family:MV Utheemu,Amiri,serif;font-size:14px}.dash-action-btn:hover{border-color:#2563eb;background:#eff6ff;color:#2563eb}.dash-action-btn svg{color:#2563eb;flex-shrink:0}.dash-schedule{display:flex;flex-direction:column;gap:2px}.dash-schedule-item{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #f1f5f9}.dash-schedule-item:last-child{border-bottom:none}.dash-schedule-time{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#2563eb;min-width:72px;flex-shrink:0}.dash-schedule-info{flex:1;min-width:0}.dash-schedule-class{display:block;font-size:13px;font-weight:600;color:#0f172a}.dash-schedule-teacher{display:block;font-size:12px;color:#94a3b8}[dir=rtl] .dash-schedule-teacher{font-family:MV Utheemu,Amiri,serif;font-size:13px}.dash-child-section{margin-bottom:32px}.dash-child-name{font-family:MV Bodu,Inter,sans-serif;font-size:18px;font-weight:700;color:#0f172a;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}[dir=rtl] .dash-child-name{font-family:MV Bodu,Amiri,serif;font-size:20px}.dash-empty{text-align:center;padding:48px 24px;color:#94a3b8;font-size:15px}@media (max-width: 640px){.dashboard{padding:16px}.dash-stats-grid{grid-template-columns:1fr 1fr}.dash-actions{grid-template-columns:1fr}.dash-welcome-title{font-size:20px}}@media (max-width: 480px){.dash-stats-grid{grid-template-columns:1fr}}.ss-wrap{position:relative}.ss-disabled{opacity:.6;pointer-events:none}.ss-trigger{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;background:#fff;min-height:40px;transition:border-color .15s,box-shadow .15s}.ss-trigger-multi{flex-wrap:wrap}.ss-trigger:hover{border-color:#cbd5e1}.ss-trigger.ss-open{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}.ss-icon{color:#94a3b8;flex-shrink:0}.ss-input{border:none;outline:none;flex:1;font-size:13px;background:transparent;color:#0f172a;min-width:60px}.ss-value{flex:1;font-size:13px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-placeholder{flex:1;font-size:13px;color:#64748b}.ss-clear{color:#94a3b8;cursor:pointer;flex-shrink:0;border-radius:4px;padding:1px}.ss-clear:hover{color:#ef4444;background:#fef2f2}.ss-chevron{color:#94a3b8;flex-shrink:0;transition:transform .2s}.ss-chevron-up{transform:rotate(180deg)}.ss-dropdown{position:absolute;top:100%;inset-inline:0;z-index:50;margin-top:4px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;max-height:240px;overflow-y:auto;animation:ssDropIn .12s ease-out}.ss-option.ss-active{background:#f1f5f9;outline:2px solid #93c5fd;outline-offset:-2px}.ss-trigger:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}@keyframes ssDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss-option{padding:9px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:#1e293b;transition:background .1s}.ss-option:hover{background:#f8fafc}.ss-option.ss-selected{background:#eff6ff}.ss-option.ss-selected:hover{background:#dbeafe}.ss-option-none{color:#94a3b8;border-bottom:1px solid #f1f5f9}.ss-option-multi{justify-content:flex-start;gap:10px}.ss-check{color:#2563eb}.ss-empty{padding:14px;font-size:13px;color:#94a3b8;text-align:center}.ss-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1}.ss-chip{background:#dbeafe;color:#1e40af;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:4px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-chip-x{cursor:pointer;flex-shrink:0;border-radius:3px}.ss-chip-x:hover{color:#dc2626}.ss-checkbox{width:20px;height:20px;border-radius:5px;border:2px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.ss-checked{border:none;background:#2563eb}[dir=rtl] .ss-input,[dir=rtl] .ss-value,[dir=rtl] .ss-placeholder,[dir=rtl] .ss-option{font-family:MV Utheemu,Amiri,serif;font-size:14px}[dir=rtl] .ss-chip{font-family:MV Utheemu,Amiri,serif;font-size:13px}@media (max-width: 480px){.ss-input{font-size:16px}.ss-trigger{min-height:44px}.ss-option{padding:12px 14px;min-height:44px}}.students-page,.teachers-page,.classes-page,.attendance-page,.hifz-page,.murajaah-page,.reports-page,.settings-page,.fees-page,.courses-page,.messaging-page,.staff-page,.timetable-page,.audit-log-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header h1{font-size:24px;font-weight:700;color:#0f172a;margin:0}[dir=rtl] .page-header h1{font-family:MV Bodu,Amiri,serif}.page-subtitle{font-size:14px;color:#64748b;margin:4px 0 0}[dir=rtl] .page-subtitle{font-family:MV Utheemu,Amiri,serif}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#64748b;gap:12px}.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#f9fafb}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#dc2626}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:all .15s}.btn-icon:hover{background:#f1f5f9;color:#2563eb}.btn-icon-danger:hover{background:#fef2f2;color:#ef4444}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.btn-close:hover{background:#f1f5f9}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:0 12px;flex:1;min-width:220px}.search-box svg{color:#94a3b8;flex-shrink:0}.search-box input{border:none;outline:none;padding:10px 4px;font-size:14px;width:100%;background:transparent}.filters-bar select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;color:#374151;cursor:pointer;min-width:140px}[dir=rtl] .search-box input,[dir=rtl] .filters-bar select{font-family:MV Utheemu,Amiri,serif}.table-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.table-summary{padding:14px 20px;font-size:13px;color:#64748b;border-bottom:1px solid #f1f5f9}.data-table th{padding:12px 16px;text-align:start;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.data-table td{padding:14px 16px;font-size:14px;color:#374151;border-bottom:1px solid #f1f5f9;vertical-align:middle}.row-num{color:#94a3b8;font-size:13px;width:40px}.name-cell{display:flex;align-items:center;gap:12px}.student-avatar,.teacher-avatar{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0}.teacher-avatar{background:linear-gradient(135deg,#059669,#10b981)}.avatar-photo{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;display:block;border:2px solid #e2e8f0}.primary-name{font-weight:600;color:#0f172a}.secondary-name{font-size:12px;color:#94a3b8;font-family:Amiri,serif;margin-top:2px}.class-badge{display:inline-block;padding:4px 10px;background:#eff6ff;color:#2563eb;border-radius:6px;font-size:13px;font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-inactive{background:#fecaca;color:#991b1b}.status-badge.status-pending{background:#fde68a;color:#78350f}.status-badge.status-present{background:#ecfdf5;color:#059669}.status-badge.status-absent{background:#fef2f2;color:#ef4444}.status-badge.status-late{background:#fffbeb;color:#d97706}.status-badge.status-excused{background:#f0f9ff;color:#0284c7}.actions-cell{display:flex;gap:4px}.empty-row{text-align:center;color:#94a3b8;padding:40px 16px!important}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-top:1px solid #f1f5f9}.pagination button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.pagination button:hover:not(:disabled){background:#2563eb;color:#fff;border-color:#2563eb}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:13px;color:#64748b}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:85vh;max-height:85dvh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026;position:relative;z-index:1001}.modal-sm{max-width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.modal-header h3{font-size:18px;font-weight:700;color:#0f172a;margin:0}[dir=rtl] .modal-header h3{font-family:MV Bodu,Amiri,serif}.modal>form,.modal-content>form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0;flex-shrink:0}[dir=rtl] .modal-footer{justify-content:flex-start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#374151}[dir=rtl] .form-group label{font-family:MV Utheemu,Amiri,serif}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#374151;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:80px}.form-group-full{grid-column:1 / -1}.delete-name{font-weight:600;color:#0f172a;margin-top:4px}@media (max-width: 768px){.students-page,.teachers-page,.classes-page,.attendance-page,.hifz-page,.murajaah-page,.reports-page,.settings-page,.fees-page,.courses-page,.messaging-page,.staff-page,.timetable-page{padding:14px}.page-header{flex-direction:column;gap:8px}.page-header-actions{width:100%}.page-header-actions button{flex:1;justify-content:center;font-size:12px;padding:8px 10px}.form-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column;gap:8px}.filters-bar select,.filters-bar input{width:100%}.search-box{min-width:100%}.name-cell{min-width:150px}.modal,.modal-content{max-width:calc(100vw - 20px)!important;margin:10px;max-height:80vh;max-height:80dvh}.modal-overlay{padding:10px;align-items:flex-start;padding-top:5vh}.modal-header{padding:16px 18px}.modal-header h3{font-size:16px}.modal-body{padding:16px 18px}.modal-footer{padding:14px 18px}.modal-footer button{flex:1;justify-content:center}.fee-summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.report-summary-cards{grid-template-columns:repeat(2,1fr)}.data-table th,.data-table td{font-size:12px;padding:8px 10px}}@media (max-width: 480px){.students-page,.teachers-page,.classes-page,.attendance-page,.hifz-page,.murajaah-page,.reports-page,.settings-page,.fees-page,.courses-page,.messaging-page,.staff-page,.timetable-page{padding:10px}.fee-summary-grid,.report-summary-cards{grid-template-columns:1fr}.page-header h1{font-size:18px}.page-subtitle{font-size:12px}.btn-primary,.btn-secondary,.btn-outline{font-size:12px;padding:7px 12px}.modal-detail{max-width:100vw!important;margin:0;border-radius:0;max-height:100vh}.modal .form-group input,.modal .form-group select,.modal .form-group textarea,.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea,.modal .form-field input,.modal .form-field select,.modal .form-field textarea{font-size:16px;padding:12px 14px;min-height:44px}.modal .form-group label,.modal-content .form-group label,.modal .form-field label{font-size:12px}.grade-options{grid-template-columns:1fr 1fr;gap:6px}.grade-option{padding:10px 8px;font-size:13px}.cred-row code{word-break:break-all;font-size:13px}.detail-grid{gap:12px}.modal-footer{flex-wrap:wrap;gap:8px}}.filters-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.filters-row select{padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;min-width:160px}.row-inactive{opacity:.5;background:#fef2f2}.date-cell{font-size:13px;color:#64748b;white-space:nowrap}.role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.role-selector{display:flex;gap:8px;flex-wrap:wrap}.role-option{padding:8px 18px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px;color:#475569}.role-option:hover{border-color:#94a3b8;background:#f8fafc}.role-option.active{color:#fff}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon input{flex:1;padding-right:40px}.input-icon-btn{position:absolute;right:10px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;display:flex}.input-icon-btn:hover{color:#475569}.form-hint{display:block;margin-top:4px;font-size:12px;color:#94a3b8}.modal-error{background:#fef2f2;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;border:1px solid #fecaca}[dir=rtl] .data-table th,[dir=rtl] .data-table td{text-align:right}[dir=rtl] .data-table th:last-child,[dir=rtl] .data-table td:last-child{text-align:left}[dir=rtl] .action-btns{direction:ltr;display:flex;justify-content:flex-start}[dir=rtl] .name-cell{flex-direction:row-reverse}[dir=rtl] .status-badge,[dir=rtl] .btn-primary,[dir=rtl] .filters-row{direction:rtl}[dir=rtl] .modal-body .form-group label{text-align:right}[dir=rtl] .modal-body input,[dir=rtl] .modal-body select{text-align:right;direction:rtl}[dir=rtl] .role-selector{direction:rtl}[dir=rtl] .form-hint{text-align:right}[dir=rtl] .modal-error{text-align:right;direction:rtl}[dir=rtl] .input-with-icon input{padding-right:12px;padding-left:40px}[dir=rtl] .input-icon-btn{right:auto;left:10px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:540px;max-height:85vh;max-height:85dvh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-close{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:8px;display:flex;transition:all .15s}.modal-close:hover{background:#f1f5f9;color:#334155}.modal-detail{max-width:580px}.detail-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:#64748b;font-size:14px}.clickable-name{cursor:pointer}.clickable-name:hover .primary-name{color:#2563eb;text-decoration:underline}.detail-profile-header{display:flex;align-items:center;gap:18px;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid #f1f5f9}.detail-photo{width:140px;height:175px;border-radius:10px;object-fit:cover;border:3px solid #e2e8f0;flex-shrink:0}.detail-photo-placeholder{width:140px;height:175px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8;flex-shrink:0;border:3px solid #e2e8f0}.detail-profile-info{flex:1;min-width:0}.detail-profile-name{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 2px}.detail-profile-sub{font-size:14px;color:#64748b;margin:0 0 6px}[dir=rtl] .detail-profile-name{font-family:MV Bodu,Amiri,serif}[dir=rtl] .detail-profile-sub{font-family:MV Utheemu,Amiri,serif}.detail-section{padding:16px 0 0}.detail-section+.detail-section{border-top:1px solid #f1f5f9;margin-top:4px}.detail-section-title{font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}[dir=rtl] .detail-section-title{font-family:MV Bodu,Amiri,serif;text-transform:none;letter-spacing:0;font-size:14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item-full{grid-column:1 / -1}.detail-label{font-size:12px;color:#94a3b8;font-weight:500}.detail-value{font-size:14px;color:#1e293b;font-weight:500}[dir=rtl] .detail-label{font-family:MV Utheemu,Amiri,serif;font-size:13px}[dir=rtl] .detail-value{font-family:MV Utheemu,Amiri,serif;font-size:15px}.detail-lessons{display:flex;flex-direction:column;gap:10px}.detail-lesson-card{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.detail-lesson-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-lesson-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.detail-lesson-type{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px}[dir=rtl] .detail-lesson-type{font-family:MV Utheemu,Amiri,serif;text-transform:none;letter-spacing:0;font-size:13px}.detail-lesson-range{font-size:14px;font-weight:600;color:#0f172a}[dir=rtl] .detail-lesson-range{font-family:MV Utheemu,Amiri,serif;font-size:15px}.detail-lesson-meta{display:flex;align-items:center;gap:14px;margin-top:2px}.detail-lesson-meta span{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.detail-lesson-empty{font-size:13px;color:#94a3b8;font-style:italic}.detail-classes-list{display:flex;flex-direction:column;gap:8px}.detail-class-card{padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.detail-class-main{display:flex;align-items:center;gap:10px;margin-bottom:8px}.detail-class-icon{color:#2563eb;flex-shrink:0}.detail-class-name{display:block;font-size:14px;font-weight:600;color:#0f172a}[dir=rtl] .detail-class-name{font-family:MV Utheemu,Amiri,serif;font-size:15px}.detail-class-course{display:block;font-size:12px;color:#64748b;margin-top:1px}.detail-class-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.detail-class-students,.detail-class-room,.detail-class-schedule{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.detail-class-room{background:#eff6ff;color:#2563eb;padding:2px 8px;border-radius:4px;font-weight:500}.detail-empty{color:#94a3b8;font-size:13px;font-style:italic;text-align:center;padding:14px 0}@media (max-width: 480px){.detail-grid{grid-template-columns:1fr}.detail-profile-header{flex-direction:column;text-align:center}.detail-photo,.detail-photo-placeholder{width:100px;height:125px}}.workload-cell{display:flex;gap:6px;flex-wrap:wrap}.workload-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#475569;white-space:nowrap}.detail-workload-row{display:flex;gap:16px;flex-wrap:wrap}.detail-workload-item{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 20px;flex:1;min-width:80px}.detail-workload-num{font-size:22px;font-weight:700;color:#0f172a}.detail-workload-label{font-size:12px;color:#64748b;margin-top:2px}[dir=rtl] .detail-workload-label{font-family:MV Utheemu,Amiri,serif}.teacher-load-mini{font-size:11px;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:4px;margin-inline-start:6px}.lesson-type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.type-sabaq{background:#eff6ff;color:#2563eb}.type-short{background:#fef3c7;color:#b45309}.type-long{background:#f0fdf4;color:#15803d}.range-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.surah-name{font-weight:600;color:#0f172a;font-size:13px}.ayah-range{font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}.range-to{color:#94a3b8;font-size:12px}.rating-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.rating-excellent{background:#ecfdf5;color:#059669}.rating-good{background:#eff6ff;color:#2563eb}.rating-average{background:#fffbeb;color:#d97706}.rating-needsWork{background:#fef2f2;color:#ef4444}.rating-pending,.rating-null{background:#f3f4f6;color:#6b7280;font-style:italic}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-full{grid-column:1 / -1}.detail-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.detail-value{font-size:14px;color:#0f172a}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}}.lesson-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.status-assigned{background:#fef3c7;color:#b45309}.status-completed{background:#dbeafe;color:#1d4ed8}.status-graded{background:#f3e8ff;color:#7c3aed}.status-published{background:#dcfce7;color:#16a34a}.hifz-stats-row{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap}.hstat{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 18px;flex:1;min-width:140px}.hstat-icon{flex-shrink:0}.hstat-icon.assigned{color:#b45309}.hstat-icon.completed{color:#1d4ed8}.hstat-icon.graded{color:#7c3aed}.hstat-icon.published-icon{color:#16a34a}.hstat-val{font-size:20px;font-weight:700;color:#0f172a}.hstat-lbl{font-size:13px;color:#64748b}[dir=rtl] .hstat-lbl{font-family:MV Utheemu,Amiri,serif}.btn-icon-success{color:#16a34a!important}.btn-icon-success:hover{background:#f0fdf4!important}.btn-icon-warning{color:#7c3aed!important}.btn-icon-warning:hover{background:#f3e8ff!important}.btn-icon-info{color:#2563eb!important}.btn-icon-info:hover{background:#eff6ff!important}.grade-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grade-option{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}.grade-option:hover{border-color:#93c5fd}.grade-option-active{border-width:2px}.grade-option-active.grade-excellent{border-color:#059669;color:#059669;background:#ecfdf5}.grade-option-active.grade-good{border-color:#2563eb;color:#2563eb;background:#eff6ff}.grade-option-active.grade-average{border-color:#d97706;color:#d97706;background:#fffbeb}.grade-option-active.grade-needsWork{border-color:#dc2626;color:#dc2626;background:#fef2f2}@media (max-width: 640px){.hifz-stats-row{flex-direction:column}.hstat{min-width:auto}}.classes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.class-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;transition:box-shadow .2s;display:flex;flex-direction:column}.class-card:hover{box-shadow:0 4px 12px #0000000f}.class-card-header{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 10px}.class-card-icon{width:36px;height:36px;border-radius:8px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.class-card-title{flex:1;min-width:0}.class-card-title h3{font-size:17px;font-weight:700;color:#0f172a;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[dir=rtl] .class-card-title h3{font-family:MV Bodu,Amiri,serif}.class-card-ar{font-size:13px;color:#94a3b8;font-family:Amiri,serif}.class-card-actions{display:flex;gap:2px;flex-shrink:0}.class-card-body{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px;flex:1}.class-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:14px;color:#475569;min-width:0}.class-meta-row svg{color:#94a3b8;flex-shrink:0}.class-meta-row span{overflow:hidden;text-overflow:ellipsis}.meta-label{font-weight:600;color:#334155;white-space:nowrap}.class-card-footer{padding:10px 16px;border-top:1px solid #f1f5f9;margin-top:auto}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;gap:12px}.empty-state p{font-size:15px}@media (max-width: 1024px){.classes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.classes-grid{grid-template-columns:1fr}}.schedule-selector{display:flex;flex-direction:column;gap:4px;margin-top:6px}.schedule-day-row{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;transition:all .15s}.schedule-day-row.schedule-day-active{background:#eff6ff;border-color:#bfdbfe}.schedule-day-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:110px;-webkit-user-select:none;user-select:none}[dir=rtl] .schedule-day-toggle{min-width:90px}.schedule-day-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer;flex-shrink:0}.schedule-day-name{font-size:13px;font-weight:500;color:#334155}[dir=rtl] .schedule-day-name{font-family:MV Utheemu,Amiri,serif;font-size:14px}.schedule-time-inputs{display:flex;align-items:center;gap:6px;margin-inline-start:auto}.schedule-time{width:110px;padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#1e293b;background:#fff;outline:none}.schedule-time:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.schedule-time-sep{color:#94a3b8;font-size:14px}.schedule-text{font-size:14px;line-height:1.5}@media (max-width: 480px){.schedule-day-row{flex-wrap:wrap}.schedule-time-inputs{margin-inline-start:24px;margin-top:4px}.schedule-time{width:90px}}.room-conflicts{display:flex;gap:10px;padding:12px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.class-detail-info{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.detail-row{display:flex;gap:12px;font-size:14px}.detail-row .detail-label{font-weight:600;color:#475569;min-width:80px}.btn-sm{padding:5px 12px!important;font-size:12px!important;gap:4px}.btn-outline{background:transparent;border:1px solid #d1d5db;color:#475569;border-radius:6px;padding:6px 14px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.teacher-workload-info{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:#64748b;padding:4px 8px;background:#f8fafc;border-radius:6px}.teacher-workload-info span{white-space:nowrap}.courses-list{display:flex;flex-direction:column;gap:12px}.course-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;transition:box-shadow .2s}.course-card:hover{box-shadow:0 2px 8px #0000000f}.course-card--expanded{border-color:#93c5fd;box-shadow:0 2px 12px #2563eb1a}.course-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;gap:12px}.course-card-info{flex:1;min-width:0}.course-card-title{display:flex;align-items:center;gap:10px;margin-bottom:6px;color:#2563eb}.course-card-title h3{margin:0;font-size:16px;color:#0f172a}[dir=rtl] .course-card-title h3{font-size:18px}.course-card-meta{display:flex;flex-wrap:wrap;gap:12px}.course-meta-item{font-size:12px;color:#64748b;display:flex;align-items:center;gap:4px}.course-meta-pending{color:#f59e0b;font-weight:600;background:#fef3c7;padding:1px 8px;border-radius:10px}.course-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-toggle{display:flex;align-items:center;gap:4px;background:none;border:1px solid #e2e8f0;border-radius:8px;padding:4px 10px;cursor:pointer;font-size:11px;color:#94a3b8;transition:all .2s}.btn-toggle--on{color:#10b981;border-color:#86efac;background:#f0fdf4}.btn-toggle span{white-space:nowrap}.course-detail{border-top:1px solid #e2e8f0;padding:20px;background:#f8fafc}.course-section{margin-bottom:20px}.course-section:last-child{margin-bottom:0}.course-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.course-section-header h4{margin:0;font-size:14px;color:#334155}[dir=rtl] .course-section-header h4{font-family:MV Bodu,Amiri,serif;font-size:16px}.btn-sm{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;color:#334155;cursor:pointer;transition:all .2s}.btn-sm:hover{border-color:#2563eb;color:#2563eb}.btn-sm-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn-sm-primary:hover{background:#1d4ed8}.btn-sm-primary:disabled{opacity:.5;cursor:not-allowed}.course-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.mini-class-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.mini-class-card strong{font-size:13px;color:#0f172a}.mini-class-card span{font-size:12px;color:#64748b}.mini-schedule{font-size:11px;color:#94a3b8}.assign-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe;flex-wrap:wrap}.assign-bar span{font-size:13px;color:#334155;font-weight:500}.assign-bar select{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}.student-list-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;max-height:400px;overflow-y:auto}.student-row-compact{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s;background:#fff}.student-row-compact:hover{border-color:#93c5fd}.student-row-compact--selected{border-color:#2563eb;background:#eff6ff}.student-row-compact input[type=checkbox]{accent-color:#2563eb;flex-shrink:0}.student-thumb{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}.student-row-name{min-width:0}.student-row-name span{display:block;font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-row-name small{font-size:11px;color:#94a3b8}.empty-note{color:#94a3b8;font-size:13px;font-style:italic}.empty-state{text-align:center;padding:60px 20px;color:#94a3b8}.empty-state p{margin-top:12px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#334155}.toggle-label input{accent-color:#2563eb}.form-field textarea{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#f8fafc;resize:vertical;outline:none;box-sizing:border-box;font-family:inherit}@media (max-width: 640px){.course-card-header{flex-direction:column;align-items:flex-start}.course-card-actions{width:100%;justify-content:flex-end}.course-classes-grid,.student-list-compact{grid-template-columns:1fr}.assign-bar{flex-direction:column;align-items:stretch}}.fee-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.fee-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px}.fee-summary-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fee-summary-total{background:#eff6ff;color:#2563eb}.fee-summary-paid{background:#f0fdf4;color:#10b981}.fee-summary-unpaid{background:#fef2f2;color:#dc2626}.fee-summary-rate{background:#fefce8;color:#f59e0b}.fee-summary-num{display:block;font-size:20px;font-weight:700;color:#0f172a}.fee-summary-label{font-size:13px;color:#64748b}.filter-month{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.amount-cell{font-family:SF Mono,monospace;font-size:13px;white-space:nowrap}.amount-due{color:#dc2626;font-weight:600}.pay-summary{font-size:15px;color:#0f172a;font-weight:600;margin:0 0 6px}.pay-amounts{font-size:14px;color:#64748b;margin:0 0 16px}.pay-amounts strong{color:#dc2626}.generate-result{display:flex;align-items:center;gap:8px;padding:12px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;margin-top:12px;font-size:13px;color:#065f46}.page-header-actions{display:flex;gap:8px}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline:hover{border-color:#2563eb;color:#2563eb}.btn-outline-warning{border-color:#fde68a;color:#92400e;background:#fefce8}.btn-outline-warning:hover{background:#fef3c7;border-color:#f59e0b}.btn-success{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.status-paid{background:#d1fae5;color:#065f46}.status-unpaid{background:#fee2e2;color:#991b1b}.status-partial{background:#fef3c7;color:#92400e}.status-waived{background:#e0e7ff;color:#3730a3}.status-scholarship{background:#fce7f3;color:#9d174d}.paid-check{color:#10b981;font-size:16px;font-weight:700}.btn-warning{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#d97706;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-warning:hover:not(:disabled){background:#b45309}.btn-warning:disabled{opacity:.6;cursor:not-allowed}.btn-icon-warning{color:#d97706!important}.btn-icon-warning:hover{background:#fffbeb!important}@media (max-width: 768px){.fee-summary-grid{grid-template-columns:repeat(2,1fr)}.page-header-actions{flex-direction:column}}@media (max-width: 480px){.fee-summary-grid{grid-template-columns:1fr}}.fee-year-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.fee-year-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;color:#334155;transition:all .15s}.fee-year-nav button:hover{border-color:#2563eb;color:#2563eb}.fee-year-label{font-size:22px;font-weight:700;color:#0f172a;min-width:80px;text-align:center}.fee-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.fee-month-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:18px;cursor:pointer;transition:all .15s}.fee-month-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.fmc-good{border-color:#86efac}.fmc-partial{border-color:#fde68a}.fmc-unpaid{border-color:#fca5a5}.fmc-empty{border-style:dashed;border-color:#d1d5db;cursor:default}.fmc-empty:hover{transform:none;box-shadow:none}.fmc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.fmc-month-name{font-size:15px;font-weight:700;color:#0f172a}[dir=rtl] .fmc-month-name{font-family:MV Bodu,Amiri,serif;font-size:16px}.fmc-rate{font-size:13px;font-weight:700;padding:3px 10px;border-radius:6px}.fmc-good .fmc-rate{background:#dcfce7;color:#166534}.fmc-partial .fmc-rate{background:#fef3c7;color:#92400e}.fmc-unpaid .fmc-rate{background:#fee2e2;color:#991b1b}.fmc-body{display:flex;flex-direction:column;gap:8px}.fmc-amount{font-size:17px;font-weight:700;color:#0f172a}.fmc-stats{display:flex;gap:12px;font-size:13px}.fmc-paid{color:#16a34a;font-weight:600}.fmc-unpaid-count{color:#dc2626;font-weight:600}.fmc-bar{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-top:2px}.fmc-bar-fill{height:100%;border-radius:2px;transition:width .3s}.fmc-good .fmc-bar-fill{background:#22c55e}.fmc-partial .fmc-bar-fill{background:#f59e0b}.fmc-unpaid .fmc-bar-fill{background:#ef4444}.fmc-not-generated{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;color:#94a3b8;font-size:13px}.fmc-gen-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;color:#2563eb;cursor:pointer;transition:all .15s}.fmc-gen-btn:hover{background:#eff6ff;border-color:#93c5fd}.month-detail-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#0f172a;margin:0 0 16px}[dir=rtl] .month-detail-title{font-family:MV Bodu,Amiri,serif}@media (max-width: 768px){.fee-month-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.fee-month-grid{grid-template-columns:repeat(2,1fr)}}.receipt-box{width:100%;border:none;border-radius:0;padding:0;background:#fff;box-sizing:border-box}.receipt-header{text-align:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed #d1d5db}.receipt-logo{height:42px;object-fit:contain;margin-bottom:4px}.receipt-title{font-size:12px;font-weight:600;color:#64748b;margin-top:2px}.receipt-body{display:grid;gap:6px;font-size:12px}.receipt-row{display:flex;justify-content:space-between;gap:10px}.receipt-row span{color:#64748b;white-space:nowrap}.receipt-row strong{text-align:right;color:#0f172a;word-break:break-word}.receipt-row-highlight{background:#f0fdf4;padding:4px 8px;border-radius:6px}.receipt-row-highlight strong{color:#16a34a}.receipt-divider{border-top:1px dashed #d1d5db;margin:4px 0}.receipt-footer{text-align:center;font-size:10px;color:#94a3b8;margin-top:10px;padding-top:8px;border-top:1px dashed #d1d5db}[dir=rtl] .receipt-row{direction:rtl}[dir=rtl] .receipt-row strong{text-align:left}@media print{body *{visibility:hidden!important}.receipt-box,.receipt-box *{visibility:visible!important}.receipt-box{position:fixed;left:0;top:0;width:105mm;min-height:148.5mm;border:none;border-radius:0;margin:0;padding:10mm}.no-print{display:none!important}@page{size:105mm 148.5mm;margin:0}}.attendance-controls{display:flex;gap:20px;margin-bottom:24px;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:6px}.control-group label{font-size:13px;font-weight:600;color:#374151}[dir=rtl] .control-group label{font-family:MV Utheemu,Amiri,serif}.control-group select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;min-width:200px}.date-nav{display:flex;align-items:center;gap:4px}.date-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:38px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.date-nav button:hover{background:#2563eb;color:#fff;border-color:#2563eb}.date-nav input[type=date]{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.summary-card{background:#fff;border-radius:10px;border:1px solid #e2e8f0;padding:16px;display:flex;align-items:center;gap:12px}.summary-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center}.summary-present .summary-icon{background:#ecfdf5;color:#059669}.summary-absent .summary-icon{background:#fef2f2;color:#ef4444}.summary-late .summary-icon{background:#fffbeb;color:#d97706}.summary-excused .summary-icon{background:#f0f9ff;color:#0284c7}.summary-value{font-size:20px;font-weight:700;color:#0f172a}.summary-label{font-size:13px;color:#64748b}.bulk-actions{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.bulk-actions>span{font-size:13px;font-weight:600;color:#64748b}.bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.bulk-present{color:#059669}.bulk-present:hover{background:#ecfdf5;border-color:#059669}.bulk-absent{color:#ef4444}.bulk-absent:hover{background:#fef2f2;border-color:#ef4444}.bulk-late{color:#d97706}.bulk-late:hover{background:#fffbeb;border-color:#d97706}.bulk-excused{color:#0284c7}.bulk-excused:hover{background:#f0f9ff;border-color:#0284c7}.status-toggle{display:flex;gap:6px;flex-wrap:wrap}.toggle-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;color:#64748b}.toggle-btn:hover{background:#f8fafc}.toggle-present.active{background:#ecfdf5;border-color:#059669;color:#059669}.toggle-absent.active{background:#fef2f2;border-color:#ef4444;color:#ef4444}.toggle-late.active{background:#fffbeb;border-color:#d97706;color:#d97706}.toggle-excused.active{background:#f0f9ff;border-color:#0284c7;color:#0284c7}.toggle-label{display:inline}@media (max-width: 768px){.attendance-summary{grid-template-columns:repeat(2,1fr)}.toggle-label{display:none}.toggle-btn{padding:8px}}@media (max-width: 480px){.attendance-summary{grid-template-columns:1fr 1fr}}.att-date-label{font-size:15px;font-weight:600;color:#334155;align-self:flex-end;padding-bottom:4px}[dir=rtl] .att-date-label{font-family:MV Utheemu,Amiri,serif}.att-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.att-class-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:18px;cursor:pointer;transition:all .15s}.att-class-card:hover{border-color:#93c5fd;box-shadow:0 2px 12px #2563eb14;transform:translateY(-1px)}.att-class-marked{border-color:#86efac}.att-class-marked:hover{border-color:#22c55e}.att-class-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.att-class-icon{color:#2563eb;flex-shrink:0}.att-class-info{flex:1;min-width:0}.att-class-name{display:block;font-size:15px;font-weight:700;color:#0f172a}[dir=rtl] .att-class-name{font-family:MV Bodu,Amiri,serif;font-size:16px}.att-class-room{display:inline-block;font-size:12px;color:#2563eb;background:#eff6ff;padding:1px 8px;border-radius:4px;margin-top:3px}.att-class-stats{display:flex;align-items:center;justify-content:space-between;gap:10px}.att-class-count{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#64748b}.att-class-status{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600}.att-class-done{color:#16a34a}.att-class-pending{color:#d97706}.btn-back{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#334155;cursor:pointer;transition:all .15s;margin-bottom:8px}.btn-back:hover{border-color:#2563eb;color:#2563eb}[dir=rtl] .btn-back{font-family:MV Utheemu,Amiri,serif}.murajaah-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.mstat-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:20px;display:flex;align-items:center;gap:14px}.mstat-icon{flex-shrink:0}.mstat-icon.short{color:#d97706}.mstat-icon.long{color:#059669}.mstat-icon.today{color:#2563eb}.mstat-value{font-size:24px;font-weight:700;color:#0f172a}.mstat-label{font-size:13px;color:#64748b}[dir=rtl] .mstat-label{font-family:MV Utheemu,Amiri,serif}.murajaah-tabs{display:flex;gap:8px;margin-bottom:20px}.tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}[dir=rtl] .tab-btn{font-family:MV Utheemu,Amiri,serif}.tab-btn:hover{background:#f8fafc;border-color:#cbd5e1}.tab-btn.active{background:#eff6ff;border-color:#2563eb;color:#2563eb;font-weight:600}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#e2e8f0;font-size:12px;font-weight:600;color:#64748b}.tab-btn.active .tab-count{background:#2563eb;color:#fff}@media (max-width: 768px){.murajaah-stats{grid-template-columns:1fr}.murajaah-tabs{flex-direction:column}}.reports-page{padding:24px;max-width:1400px;margin:0 auto}.report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.report-tab{display:flex;align-items:center;gap:7px;padding:9px 16px;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#475569;font-weight:600;cursor:pointer;transition:all .2s;font-size:13px;white-space:nowrap}.report-tab:hover{border-color:#93c5fd;color:#2563eb;background:#eff6ff;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb14}.report-tab.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:#2563eb;box-shadow:0 2px 10px #2563eb40}[dir=rtl] .report-tab{font-family:MV Utheemu,Amiri,serif;font-size:14px}.filters-bar{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;align-items:center;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.filters-bar select,.student-select,.period-select{padding:9px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;background:#f8fafc;color:#334155;min-width:150px;transition:border-color .15s}.filters-bar select:focus,.student-select:focus,.period-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb14}.date-input{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;background:#f8fafc}.date-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb14}.date-sep{color:#94a3b8;font-size:14px}.report-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.report-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s;position:relative;overflow:hidden}.report-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0}.report-summary-blue:before{background:linear-gradient(90deg,#2563eb,#60a5fa)}.report-summary-green:before{background:linear-gradient(90deg,#10b981,#34d399)}.report-summary-purple:before{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.report-summary-amber:before{background:linear-gradient(90deg,#d97706,#fbbf24)}.report-summary-red:before{background:linear-gradient(90deg,#dc2626,#f87171)}.report-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.rsc-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-summary-blue .rsc-icon{background:#eff6ff;color:#2563eb}.report-summary-green .rsc-icon{background:#ecfdf5;color:#10b981}.report-summary-purple .rsc-icon{background:#f5f3ff;color:#7c3aed}.report-summary-amber .rsc-icon{background:#fffbeb;color:#d97706}.report-summary-red .rsc-icon{background:#fef2f2;color:#dc2626}.rsc-data{display:flex;flex-direction:column;gap:2px}.rsc-value{font-size:22px;font-weight:800;color:#0f172a;line-height:1.2}.rsc-label{font-size:13px;color:#64748b;font-weight:500}.rsc-sub{font-size:12px;color:#94a3b8;font-weight:500}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px;margin-bottom:20px;transition:box-shadow .2s}.chart-card:hover{box-shadow:0 2px 12px #0000000a}.chart-title{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 16px}[dir=rtl] .chart-title{font-family:MV Bodu,Amiri,serif;font-size:17px}.stat-row{display:flex;gap:24px;margin-bottom:16px;font-size:14px;color:#475569;flex-wrap:wrap}.stat-row strong{color:#0f172a}.table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;margin-bottom:20px;transition:box-shadow .2s}.table-card:hover{box-shadow:0 2px 12px #0000000a}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 16px;text-align:start;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#64748b;font-weight:700;border-bottom:2px solid #e2e8f0;background:#f8fafc;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#334155}.data-table tbody tr:hover{background:#f8fafc}.data-table tbody tr:last-child td{border-bottom:none}.data-table .top-rank{background:#fffbeb}[dir=rtl] .data-table th,[dir=rtl] .data-table td{font-family:MV Utheemu,Amiri,serif}.student-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.primary-name{font-size:14px;color:#0f172a;font-weight:600}.grade-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;min-width:30px}.grade-Aplus,.grade-A{background:#d1fae5;color:#065f46}.grade-Bplus,.grade-B{background:#dbeafe;color:#1e40af}.grade-C{background:#fef3c7;color:#92400e}.grade-D{background:#fee2e2;color:#991b1b}.grade-lg{font-size:18px;padding:6px 16px}.rank-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-weight:700;font-size:13px;background:#f1f5f9;color:#475569}.rank-1{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;box-shadow:0 2px 6px #f59e0b33}.rank-2{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#1e293b}.rank-3{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412}.progress-bar-wrap{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;min-width:120px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#10b981);border-radius:4px;transition:width .4s ease}.class-report-header{margin-bottom:20px;padding:16px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.class-report-header h3{margin:0 0 4px;font-size:20px;color:#0f172a}.class-report-header span{font-size:14px;color:#64748b}.achievements-grid{display:flex;flex-wrap:wrap;gap:10px}.achievement-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;transition:transform .15s}.achievement-badge:hover{transform:scale(1.03)}.achievement-bronze{background:#fef3c7;color:#92400e}.achievement-silver{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.achievement-gold{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;border:1px solid #fde68a}.achievement-platinum{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6}.achievement-diamond{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border:1px solid #86efac}.comment-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:14px;align-items:flex-start}.comment-item:last-child{border-bottom:none}.comment-date{color:#94a3b8;white-space:nowrap;min-width:85px;font-size:13px}.comment-type{color:#2563eb;font-weight:600;white-space:nowrap;min-width:100px}.comment-text{color:#334155;line-height:1.5}.empty-note{color:#94a3b8;font-size:15px;text-align:center;padding:60px 20px}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-outline:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}@media print{.page-header,.report-tabs,.filters-bar,.sidebar,.topbar,.btn-outline{display:none!important}.report-content{padding:0}.chart-card,.table-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.report-summary-card:before{display:none}}@media (max-width: 768px){.reports-page{padding:16px}.report-summary-cards{grid-template-columns:repeat(2,1fr);gap:12px}.report-tabs{gap:6px;padding:12px}.report-tab{padding:7px 12px;font-size:12px}.filters-bar{padding:12px}.rsc-value{font-size:18px}.rsc-icon{width:40px;height:40px}}@media (max-width: 480px){.report-summary-cards{grid-template-columns:1fr}.report-tabs{padding:10px;gap:4px}}.settings-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.settings-nav{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:8px;position:sticky;top:80px}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;border-radius:8px;background:transparent;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;text-align:start}[dir=rtl] .settings-nav-item{font-family:MV Utheemu,Amiri,serif}.settings-nav-item:hover{background:#f8fafc;color:#374151}.settings-nav-item.active{background:#eff6ff;color:#2563eb;font-weight:600}.settings-content{min-width:0}.settings-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:28px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.settings-card-title{font-size:18px;font-weight:700;color:#0f172a;margin:0 0 20px}[dir=rtl] .settings-card-title{font-family:MV Bodu,Amiri,serif}.settings-desc{font-size:14px;color:#64748b;margin:0 0 20px}.settings-actions{margin-top:24px;padding-top:20px;border-top:1px solid #f1f5f9}.settings-error{margin-top:12px;padding:10px 14px;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:14px}.settings-success{margin-top:12px;padding:10px 14px;background:#ecfdf5;color:#059669;border-radius:8px;font-size:14px}.input-disabled{background:#f8fafc!important;color:#94a3b8!important;cursor:not-allowed}.language-options{display:flex;flex-direction:column;gap:10px}.lang-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:all .15s}.lang-option:hover{border-color:#cbd5e1;background:#f8fafc}.lang-option.active{border-color:#2563eb;background:#eff6ff}.lang-option-text{display:flex;flex-direction:column;gap:2px}.lang-native{font-size:16px;font-weight:600;color:#0f172a}.lang-name{font-size:13px;color:#64748b}.lang-check{color:#2563eb}.notification-list{display:flex;flex-direction:column;gap:4px}.notification-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #f1f5f9;cursor:pointer}.notification-item:last-child{border-bottom:none}.notification-label{font-size:14px;color:#374151}[dir=rtl] .notification-label{font-family:MV Utheemu,Amiri,serif}.toggle-switch{width:44px;height:24px;border-radius:12px;background:#d1d5db;padding:2px;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle-switch.on{background:#2563eb}.toggle-knob{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s}.toggle-switch.on .toggle-knob{transform:translate(20px)}[dir=rtl] .toggle-switch.on .toggle-knob{transform:translate(-20px)}@media (max-width: 768px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:flex;overflow-x:auto;gap:4px}.settings-nav-item{white-space:nowrap;flex-shrink:0}}.toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0}.toggle-label span{font-size:14px;font-weight:600;color:#334155}.settings-card .settings-desc{font-size:13px;color:#64748b;margin-bottom:16px}.messaging-page{padding:24px;max-width:1400px;margin:0 auto}.msg-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.msg-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:16px}.msg-card-title{font-size:15px;font-weight:700;color:#1e293b;margin-bottom:16px}.msg-field{margin-bottom:14px}.msg-field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:6px}.msg-field input,.msg-field textarea{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical}.msg-field input:focus,.msg-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.char-count{display:block;text-align:end;font-size:11px;color:#94a3b8;margin-top:4px}.msg-summary{font-size:13px;color:#64748b;margin-bottom:12px}.msg-count{font-weight:600;color:#2563eb}.msg-send-btn{width:100%;justify-content:center;padding:12px;font-size:15px;gap:8px}.msg-result{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px}.msg-result-success{background:#dcfce7;color:#166534}.msg-result-error{background:#fef2f2;color:#991b1b}.msg-group-tabs{display:flex;gap:6px;margin-bottom:12px}.msg-group-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:#475569;transition:all .15s}.msg-group-tab:hover{border-color:#2563eb;color:#2563eb}.msg-group-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}.msg-group-count{background:#0000001a;padding:1px 8px;border-radius:10px;font-size:11px}.msg-group-tab.active .msg-group-count{background:#fff3}.msg-class-filter{width:100%;padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:13px;margin-bottom:10px}.msg-search{margin-bottom:10px}.msg-select-all{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e2e8f0;margin-bottom:8px;cursor:pointer;font-size:13px;font-weight:600;color:#334155}.msg-select-all:hover{color:#2563eb}.msg-list{max-height:400px;overflow-y:auto}.msg-recipient{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #f8fafc;cursor:pointer;border-radius:6px;transition:background .1s}.msg-recipient:hover{background:#f1f5f9}.msg-recipient.selected{background:#eff6ff}.msg-recipient.no-contact{opacity:.4;cursor:not-allowed}.msg-r-info{flex:1;min-width:0}.msg-r-name{display:block;font-size:13px;font-weight:500;color:#1e293b}.msg-r-contact{display:block;font-size:11px;color:#64748b}.checked{color:#2563eb}.disabled{color:#d1d5db}.msg-empty{text-align:center;padding:24px;color:#94a3b8;font-size:13px}.msg-history-item{padding:10px 0;border-bottom:1px solid #f1f5f9}.msg-hist-header{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}.msg-status{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.msg-status-sent{background:#dcfce7;color:#166534}.msg-status-draft{background:#fef3c7;color:#92400e}.msg-status-failed{background:#fecaca;color:#991b1b}.msg-status-not_configured{background:#fef3c7;color:#92400e}.msg-status-no_api_key{background:#fecaca;color:#991b1b}.msg-hist-date{font-size:11px;color:#94a3b8}.msg-hist-count{font-size:11px;color:#64748b}.msg-hist-subject{font-size:12px;font-weight:600;color:#334155;margin-bottom:2px}.msg-hist-body{font-size:12px;color:#64748b}.msg-hist-actions{display:flex;gap:4px;margin-inline-start:auto}.msg-action-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;cursor:pointer;display:flex;align-items:center}.msg-action-send{color:#2563eb}.msg-action-send:hover{background:#eff6ff;border-color:#2563eb}.msg-action-delete{color:#dc2626}.msg-action-delete:hover{background:#fef2f2;border-color:#dc2626}[dir=rtl] .msg-layout{direction:rtl}[dir=rtl] .msg-field input,[dir=rtl] .msg-field textarea{text-align:right;direction:rtl}[dir=rtl] .char-count{text-align:start}[dir=rtl] .msg-r-name,[dir=rtl] .msg-r-contact{text-align:right}@media (max-width: 768px){.msg-layout{grid-template-columns:1fr}.msg-group-tabs{flex-wrap:wrap}}.registrations-page{padding:24px;max-width:1400px;margin:0 auto}.pending-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:13px;font-weight:600;border:1px solid #fde68a}.reg-num-badge{font-family:SF Mono,Consolas,monospace;font-size:12px;color:#2563eb;background:#eff6ff;padding:3px 8px;border-radius:4px;white-space:nowrap}.reg-thumb{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0}.name-cell{display:flex;align-items:center;gap:10px}.btn-icon-success{color:#10b981!important}.btn-icon-success:hover{background:#ecfdf5!important}.btn-success{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-success:hover:not(:disabled){background:#059669}.btn-success:disabled{opacity:.6;cursor:not-allowed}.modal-lg{max-width:680px}.detail-grid{display:flex;flex-direction:column;gap:20px}.detail-photo{text-align:center;width:auto!important;height:auto!important;border:none!important;background:none;box-shadow:none!important}.detail-photo img{width:120px;height:150px;object-fit:cover;object-position:center top;border-radius:10px;border:2px solid #e2e8f0;box-shadow:0 2px 8px #00000014;display:block}.detail-section{background:#f8fafc;border-radius:10px;padding:16px}.detail-section h4{font-size:14px;color:#2563eb;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}[dir=rtl] .detail-section h4{font-family:MV Bodu,Amiri,serif;font-size:16px}.detail-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid #f1f5f9}.detail-row:last-child{border-bottom:none}.detail-label{color:#64748b}.detail-value{color:#0f172a;font-weight:500}[dir=rtl] .detail-row{font-family:MV Utheemu,Amiri,serif;font-size:14px}.doc-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#eff6ff;color:#2563eb;border-radius:8px;font-size:13px;text-decoration:none;transition:all .2s;margin:4px 4px 4px 0}.doc-link:hover{background:#dbeafe}.approval-success{text-align:center}.success-icon-sm{color:#10b981;margin-bottom:12px}.approval-success h4{font-size:18px;color:#0f172a;margin:0 0 16px}.credentials-box{background:#f0fdf4;border:1.5px solid #86efac;border-radius:12px;padding:20px;text-align:left}[dir=rtl] .credentials-box{text-align:right}.creds-title{font-size:13px;color:#064e3b;font-weight:600;margin:0 0 12px}.cred-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px}.cred-row span{color:#64748b;min-width:80px}.cred-row code{flex:1;font-family:SF Mono,monospace;font-size:14px;color:#0f172a;font-weight:600;background:#fff;padding:4px 10px;border-radius:6px;border:1px solid #d1fae5}.btn-copy{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;border-radius:4px;transition:all .2s}.btn-copy:hover{background:#d1fae5;color:#059669}.creds-note{margin:12px 0 0;font-size:12px;color:#f59e0b;font-weight:500}.approve-summary{font-size:14px;color:#334155;margin:0 0 16px}.form-field textarea{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#f8fafc;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.form-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.staff-page{padding:24px;max-width:1400px;margin:0 auto}.staff-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:12px;padding:4px;margin-bottom:24px}.staff-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:transparent;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap}.staff-tab:hover{color:#334155;background:#ffffff80}.staff-tab.active{background:#fff;color:#2563eb;box-shadow:0 1px 3px #00000014}[dir=rtl] .staff-tab{font-family:MV Utheemu,Amiri,serif}.role-badge.role-teacher{background:#dbeafe;color:#1e40af}.role-badge.role-admin{background:#fce7f3;color:#9d174d}.role-badge.role-coordinator{background:#e0e7ff;color:#3730a3}.role-badge.role-finance{background:#d1fae5;color:#065f46}.role-badge.role-other{background:#f1f5f9;color:#475569}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;gap:12px}.empty-state p{font-size:15px;margin:0}[dir=rtl] .empty-state p{font-family:MV Utheemu,Amiri,serif}.leave-filters{display:flex;gap:6px;flex-wrap:wrap;flex:1}.leave-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}.leave-filter-btn:hover{border-color:#94a3b8;background:#f8fafc}.leave-filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}[dir=rtl] .leave-filter-btn{font-family:MV Utheemu,Amiri,serif}.leave-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ffffff4d;font-size:11px;font-weight:700}.leave-filter-btn.active .leave-count{background:#ffffff40}.leave-cards{display:flex;flex-direction:column;gap:12px}.leave-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;transition:all .15s}.leave-card:hover{box-shadow:0 2px 8px #0000000f}.leave-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.leave-card-staff{display:flex;align-items:center;gap:10px}.leave-status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.leave-card-body{display:flex;flex-direction:column;gap:6px;padding-inline-start:46px}.leave-detail{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.leave-detail svg{color:#94a3b8;flex-shrink:0}.leave-card-actions{display:flex;gap:8px;padding-inline-start:46px;margin-top:12px}.btn-sm{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-success-sm{background:#ecfdf5;color:#059669}.btn-success-sm:hover{background:#d1fae5}.btn-danger-sm{background:#fef2f2;color:#ef4444}.btn-danger-sm:hover{background:#fee2e2}.btn-success{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#059669;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-success:hover{background:#047857}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field label{font-size:13px;font-weight:600;color:#374151}[dir=rtl] .form-field label{font-family:MV Utheemu,Amiri,serif}.form-field input,.form-field select,.form-field textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#374151;transition:border-color .15s;width:100%;box-sizing:border-box}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-field textarea{resize:vertical;min-height:70px}.leave-date-row{display:flex;gap:12px}@media (max-width: 768px){.staff-page{padding:14px}.staff-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.staff-tab{padding:8px 14px;font-size:13px}.leave-card-body,.leave-card-actions{padding-inline-start:0}.leave-filters{width:100%}.leave-filter-btn{flex:1;justify-content:center;font-size:12px;padding:8px 10px}}@media (max-width: 480px){.staff-page{padding:10px}.staff-tabs{gap:2px;padding:3px}.staff-tab{padding:8px 10px;font-size:12px;gap:4px}.leave-card{padding:12px 14px}.attendance-summary{grid-template-columns:repeat(2,1fr)}.leave-date-row{flex-direction:column;gap:8px}}.timetable-page .empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:#94a3b8}.tt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.tt-day-col{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.tt-day-header{padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:14px;font-weight:700;color:#0f172a;text-align:center}[dir=rtl] .tt-day-header{font-family:MV Bodu,Amiri,serif;font-size:15px}.tt-day-slots{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:100px}.tt-slot{padding:12px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe}.tt-slot-time{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#2563eb;margin-bottom:6px}.tt-slot-class{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}[dir=rtl] .tt-slot-class{font-family:MV Utheemu,Amiri,serif;font-size:15px}.tt-slot-room{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.tt-slot-teacher{font-size:12px;color:#64748b;margin-top:2px}.tt-slot-students{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b;margin-top:2px}@media (max-width: 640px){.tt-grid{grid-template-columns:1fr}}.tt-child-section{margin-bottom:28px}.tt-child-name{font-size:17px;font-weight:700;color:#0f172a;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}[dir=rtl] .tt-child-name{font-family:MV Bodu,Amiri,serif;font-size:18px}.programs-page{min-height:100vh;background-color:#f5f5f5}.tab-bar{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:0;position:sticky;top:0;z-index:50;box-shadow:0 1px 3px #0000000d}.tab-container{max-width:1400px;margin:0 auto;display:flex;gap:0}.tab-link{padding:16px 24px;cursor:pointer;text-decoration:none;color:#475569;border-bottom:3px solid transparent;transition:all .2s ease;font-size:14px;font-weight:500;white-space:nowrap}.tab-link:hover{color:#1e293b;background-color:#fafafa}.tab-link.active{color:#2196f3;border-bottom-color:#2196f3}.page-content{max-width:1400px;margin:0 auto;padding:32px 20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1{font-size:28px;font-weight:600;color:#333;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #00000014;border:1px solid #e0e0e0;transition:all .2s ease}.stat-card-clickable{cursor:pointer}.stat-card-clickable:hover{border-color:#2196f3;box-shadow:0 2px 8px #2196f326}.stat-card-active{border-color:#2196f3;background-color:#f0f7ff;box-shadow:0 2px 8px #2196f333}.stat-value{font-size:32px;font-weight:700;color:#2196f3;margin-bottom:8px}.stat-label{font-size:13px;color:#999;text-transform:uppercase;letter-spacing:.5px}.programs-section{background-color:#fff;border-radius:8px;overflow:hidden}.empty-state{padding:60px 20px;text-align:center;color:#999}.empty-state p{font-size:16px;margin-bottom:20px}.content-loading{padding:40px 20px;text-align:center;color:#999;font-size:14px}.programs-list{display:flex;flex-direction:column}.program-card{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.program-card:last-child{border-bottom:none}.program-card:hover{background-color:#fafafa}.program-header{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.program-info{flex:1}.program-info h3{font-size:16px;font-weight:600;color:#333;margin:0 0 8px}.program-meta{display:flex;gap:16px;margin-bottom:8px;font-size:13px;color:#666}.date-range,.venue{display:flex;align-items:center;gap:4px}.program-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-audience{background-color:#e3f2fd;color:#1976d2}.badge-type{background-color:#f3e5f5;color:#7b1fa2}.badge-status{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;color:#fff}.badge-status.badge-pending{background-color:#ff9800}.badge-status.badge-approved{background-color:#4caf50}.badge-status.badge-rejected{background-color:#f44336}.badge-free{background-color:#4caf50;color:#fff}.program-right{display:flex;align-items:center;gap:24px;margin-inline-start:20px}.seats-info,.fee-info{display:flex;flex-direction:column;align-items:center;gap:4px}.seats-info span:first-child,.fee-info span:first-child{font-size:14px;font-weight:600;color:#333}.seats-info .label,.fee-info .label{font-size:11px;color:#999}.status-badge{padding:6px 12px;border-radius:4px;color:#fff;font-size:12px;font-weight:500}.expand-btn{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.expand-btn:hover{color:#333}.detail-view{border-top:1px solid #e0e0e0;background-color:#fafafa;padding:20px}.detail-tabs{display:flex;gap:0;border-bottom:1px solid #e0e0e0;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;touch-action:pan-x}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{padding:12px 20px;background:none;border:none;cursor:pointer;color:#666;font-size:15px;font-weight:500;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.detail-tab:hover{color:#333}.detail-tab.active{color:#2196f3;border-bottom-color:#2196f3}.detail-content{background-color:#fff;border-radius:6px;padding:20px}.registrations-table{width:100%;border-collapse:collapse}.registrations-table thead{background-color:#f5f5f5}.registrations-table th{padding:12px;text-align:start;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0}.registrations-table td{padding:12px;border-bottom:1px solid #e0e0e0;font-size:14px}.registrations-table tr:hover{background-color:#fafafa}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-small{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;transition:all .2s ease}.btn-approve{background-color:#4caf50;color:#fff}.btn-approve:hover{background-color:#45a049}.btn-reject{background-color:#f44336;color:#fff}.btn-reject:hover{background-color:#da190b}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#da190b}.btn-secondary{background-color:#f0f0f0;color:#333}.btn-secondary:hover{background-color:#e0e0e0}.empty-message{text-align:center;color:#999;padding:20px;font-size:14px}.sessions-tab{display:flex;flex-direction:column;gap:16px}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px}.session-info h4{margin:0 0 4px;font-size:14px;color:#333}.session-info p{margin:0;font-size:12px;color:#666;display:flex;align-items:center;gap:6px}.session-actions{display:flex;gap:8px}.session-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px}.session-form input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px}.session-form button{grid-column:1 / -1}.attendance-tab{display:flex;flex-direction:column;gap:16px}.session-selector{display:flex;align-items:center;gap:12px}.session-selector label{font-weight:500;font-size:14px}.session-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;min-width:250px}.attendance-table{width:100%;border-collapse:collapse;margin:16px 0}.attendance-table thead{background-color:#f5f5f5}.attendance-table th{padding:12px;text-align:start;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0}.attendance-table td{padding:12px;border-bottom:1px solid #e0e0e0}.attendance-table select{padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px}.certificates-tab{display:flex;flex-direction:column;gap:16px}.certificate-form{display:flex;align-items:flex-end;gap:12px;padding:16px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px}.certificate-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}.certificate-form input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;width:100px}.certificates-table{width:100%;border-collapse:collapse}.certificates-table thead{background-color:#f5f5f5}.certificates-table th{padding:12px;text-align:start;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0}.certificates-table td{padding:12px;border-bottom:1px solid #e0e0e0;font-size:14px}.program-modal{max-width:700px}.prg-field-section{margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.prg-section-label{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px;display:block}.audience-checks{display:flex;flex-wrap:wrap;gap:18px;padding:6px 0}.check-item{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:#334155;cursor:pointer}.check-item input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.conductors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.btn-link{background:none;border:none;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;transition:background .15s}.btn-link:hover{background:#eff6ff}.conductors-list{display:flex;flex-direction:column;gap:8px}.conductor-card{padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.conductor-fields{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.conductor-fields select,.conductor-fields input{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#374151;background:#fff;flex:1;min-width:130px}.conductor-fields select:focus,.conductor-fields input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.btn-icon-danger{background:none;border:none;color:#94a3b8;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;transition:all .15s;flex-shrink:0}.btn-icon-danger:hover{color:#ef4444;background:#fef2f2}.hint-text{text-align:center;color:#94a3b8;font-size:13px;padding:16px;margin:0}.program-modal .modal-body .form-grid+.prg-field-section,.program-modal .modal-body .form-grid+.form-grid{margin-top:6px}.btn-primary{background-color:#2196f3;color:#fff;padding:10px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .2s ease}.btn-primary:hover{background-color:#1976d2}.btn-lg{padding:12px 20px;font-size:14px}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.page-content{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header h1{font-size:24px}.stats-grid{grid-template-columns:1fr 1fr}.program-header{flex-direction:column;align-items:flex-start;gap:12px}.program-right{width:100%;flex-wrap:wrap;margin-inline-start:0}.program-modal{max-width:95vw}.conductor-fields{flex-direction:column}.conductor-fields select,.conductor-fields input{min-width:auto;width:100%}.tab-link{padding:12px 16px}.detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0}.detail-tab{white-space:nowrap;padding:10px 14px;font-size:13px}.detail-view,.detail-content{padding:12px}.registrations-tab,.attendance-tab,.certificates-tab{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.registrations-table,.attendance-table,.certificates-table{font-size:12px;min-width:520px}.registrations-table th,.registrations-table td,.attendance-table th,.attendance-table td,.certificates-table th,.certificates-table td{padding:8px 6px;white-space:nowrap}.action-buttons{flex-direction:column}.btn-small{width:100%;justify-content:center}.session-selector{flex-direction:column;align-items:stretch}.session-selector select{min-width:auto;width:100%}.session-form{grid-template-columns:1fr}.certificate-form{flex-wrap:wrap}.certificate-form label,.certificate-form input{width:100%}}[dir=rtl] .tab-container{direction:rtl}.audit-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:20px}.audit-filters-header{display:flex;align-items:center;gap:8px;color:#475569;font-size:13px;font-weight:600;margin-bottom:14px}.audit-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 16px}.audit-filter-field{display:flex;flex-direction:column;gap:6px}.audit-filter-field label{font-size:12px;font-weight:500;color:#64748b;letter-spacing:.01em}.audit-filter-field input,.audit-filter-field select{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;color:#374151;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.audit-filter-field input:focus,.audit-filter-field select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}[dir=rtl] .audit-filter-field input,[dir=rtl] .audit-filter-field select{font-family:MV Utheemu,Amiri,serif}.audit-filter-actions{display:flex;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #f1f5f9}.audit-log-page .data-table td{vertical-align:top}.audit-log-page .audit-row{cursor:pointer}.audit-log-page .audit-row:hover{background:#f8fafc}.audit-when{white-space:nowrap;color:#475569;font-size:13px}.audit-actor-username{font-weight:500;color:#0f172a}.audit-actor-role{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.audit-action-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.audit-target{color:#475569;font-size:13px}.audit-result-success,.audit-result-failure{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.audit-result-success{color:#16a34a}.audit-result-failure{color:#dc2626}.audit-chevron{text-align:center;color:#94a3b8;width:40px}.audit-detail-row{background:#f8fafc}.audit-detail-row td{padding:16px 20px!important}.audit-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;font-size:12px}.audit-detail-field-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:500;margin-bottom:2px}.audit-detail-field-value{color:#334155;font-size:13px}.audit-details-block{margin-top:14px}.audit-details-block-label{color:#94a3b8;font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-weight:600}.audit-details-pre{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:8px;font-size:12.5px;line-height:1.55;overflow:auto;max-height:320px;margin:0;direction:ltr;text-align:left;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.audit-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:13px}.audit-pagination-info{color:#64748b}.audit-pagination-buttons{display:flex;gap:4px}.audit-pagination-buttons button{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;min-width:32px;height:32px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;transition:all .15s}.audit-pagination-buttons button:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.audit-pagination-buttons button:disabled{opacity:.4;cursor:not-allowed}.audit-empty-row{padding:48px 20px!important;text-align:center;color:#94a3b8;font-size:14px}@media (max-width: 768px){.audit-filters{padding:16px}.audit-filters-grid{grid-template-columns:1fr 1fr}.audit-filter-actions{flex-direction:column}.audit-filter-actions button{width:100%;justify-content:center}.audit-pagination{flex-direction:column;gap:8px;align-items:flex-start}}@media (max-width: 480px){.audit-filters-grid{grid-template-columns:1fr}}.sidebar{position:fixed;top:0;inset-inline-start:0;height:100vh;width:250px;background:#0b1a33;color:#e2e8f0;display:flex;flex-direction:column;z-index:100;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;border-inline-end:1px solid rgba(255,255,255,.06)}.sidebar--collapsed{width:68px}.sidebar-brand{display:flex;align-items:center;justify-content:center;padding:16px 12px 12px;border-bottom:1px solid rgba(255,255,255,.06);min-height:64px}.sidebar-brand-wide{display:flex;align-items:center;justify-content:center;width:100%}.sidebar-logo-wide{width:100%;max-width:190px;height:auto;object-fit:contain;border-radius:6px}.sidebar-brand-icon-collapsed{display:flex;align-items:center;justify-content:center;width:48px;height:48px}.sidebar-logo-collapsed{width:100%;height:100%;object-fit:contain}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap;overflow:hidden}.sidebar-brand-name{font-family:Inter,MV Bodu,sans-serif;font-size:17px;font-weight:700;color:#fff;letter-spacing:-.3px}.sidebar-brand-sub{font-size:11px;font-weight:500;color:#ffffff73;text-transform:uppercase;letter-spacing:1.5px}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 8px}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;text-decoration:none;color:#ffffff8c;font-size:14px;font-weight:500;position:relative;transition:all .15s ease;white-space:nowrap;overflow:hidden}[dir=rtl] .sidebar-nav-item{font-family:MV Utheemu,Amiri,serif;font-size:15px}.sidebar-nav-item:hover{background:#ffffff0f;color:#ffffffd9}.sidebar-nav-item--active{background:#2563eb26;color:#60a5fa}.sidebar-nav-item--active:hover{background:#2563eb33;color:#60a5fa}.sidebar-nav-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.sidebar-nav-label{overflow:hidden;text-overflow:ellipsis}.sidebar-nav-indicator{position:absolute;inset-inline-start:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:#2563eb}[dir=rtl] .sidebar-nav-indicator{border-radius:3px 0 0 3px}.sidebar--collapsed .sidebar-nav-item{justify-content:center;padding:10px}.sidebar--collapsed .sidebar-nav-indicator{top:8px;bottom:8px}.sidebar--collapsed .sidebar-brand{justify-content:center;padding:20px 8px 16px}.sidebar-toggle{display:flex;align-items:center;justify-content:center;padding:14px;border:none;background:#ffffff08;border-top:1px solid rgba(255,255,255,.06);color:#fff6;cursor:pointer;transition:all .15s}.sidebar-toggle:hover{background:#ffffff0f;color:#ffffffb3}@media (max-width: 768px){.sidebar{width:250px;transform:translate(-100%);z-index:100;transition:transform .25s cubic-bezier(.4,0,.2,1)}[dir=rtl] .sidebar{transform:translate(100%)}.app-layout--mobile-open .sidebar{transform:translate(0)}.sidebar-toggle{display:none}.sidebar-nav-label,.sidebar-brand-text{display:block}.sidebar-nav-item{padding:10px 16px;justify-content:flex-start}.sidebar-brand{justify-content:flex-start;padding:20px 16px 16px}}.topbar{position:fixed;top:0;inset-inline-start:var(--sidebar-width, 250px);inset-inline-end:0;height:64px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:90;transition:inset-inline-start .25s cubic-bezier(.4,0,.2,1)}.topbar-start{display:flex;align-items:center;gap:12px}.topbar-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:none;color:#475569;border-radius:8px;cursor:pointer}.topbar-menu-btn:hover{background:#f1f5f9}.topbar-search{position:relative;width:280px}.topbar-search-icon{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.topbar-search-input{width:100%;padding:8px 12px;padding-inline-start:36px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}[dir=rtl] .topbar-search-input{font-family:MV Utheemu,Amiri,serif;font-size:14px}.topbar-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.topbar-search-input::placeholder{color:#94a3b8}.topbar-end{display:flex;align-items:center;gap:4px}.topbar-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;border:none;background:none;color:#475569;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:background .15s}.topbar-btn:hover{background:#f1f5f9;color:#0f172a}.topbar-btn--icon{padding:8px;position:relative}.topbar-btn-label{letter-spacing:.3px}.topbar-badge{position:absolute;top:4px;inset-inline-end:4px;width:16px;height:16px;border-radius:50%;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.topbar-divider{width:1px;height:28px;background:#e2e8f0;margin:0 8px}.topbar-user-btn{display:flex;align-items:center;gap:10px;padding:6px 8px;border:none;background:none;border-radius:8px;cursor:pointer;transition:background .15s}.topbar-user-btn:hover{background:#f1f5f9}.topbar-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.topbar-user-info{display:flex;flex-direction:column;align-items:flex-start;text-align:start}.topbar-user-name{font-size:13px;font-weight:600;color:#0f172a;line-height:1.3}[dir=rtl] .topbar-user-name{font-family:MV Utheemu,Amiri,serif;font-size:14px}.topbar-user-role{font-size:11px;color:#94a3b8;line-height:1.3}.topbar-chevron{color:#94a3b8;transition:transform .2s}.topbar-chevron.open{transform:rotate(180deg)}.topbar-dropdown{position:relative}.topbar-dropdown-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0000001a,0 2px 6px #0000000d;min-width:180px;padding:6px;z-index:200;animation:dropdownIn .15s ease-out}.topbar-dropdown-menu--wide{min-width:280px}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topbar-dropdown-header{padding:10px 12px 8px;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}[dir=rtl] .topbar-dropdown-header{font-family:MV Utheemu,Amiri,serif;font-size:13px;text-transform:none;letter-spacing:0}.topbar-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:none;color:#334155;font-size:13px;border-radius:6px;cursor:pointer;text-align:start;transition:background .1s}[dir=rtl] .topbar-dropdown-item{font-family:MV Utheemu,Amiri,serif;font-size:14px}.topbar-dropdown-item:hover{background:#f1f5f9}.topbar-dropdown-item.active{background:#eff6ff;color:#2563eb;font-weight:600}.topbar-dropdown-item--danger{color:#dc2626}.topbar-dropdown-item--danger:hover{background:#fef2f2}.topbar-dropdown-sep{height:1px;background:#e2e8f0;margin:4px 8px}.topbar-noti-empty{display:flex;flex-direction:column;align-items:center;padding:24px 16px;color:#94a3b8;gap:8px}.topbar-noti-empty p{margin:0;font-size:13px}@media (max-width: 768px){.topbar{inset-inline-start:0;padding:0 12px}.topbar-menu-btn{display:flex}.topbar-search{width:140px}.topbar-user-info,.topbar-btn-label,.topbar-divider{display:none}.topbar-btn{padding:10px;min-width:44px;min-height:44px;justify-content:center}.topbar-btn--icon{padding:10px}.topbar-user-btn{padding:8px;min-height:44px}}@media (max-width: 480px){.topbar-search{display:none}}.app-layout{min-height:100vh;background:#f1f5f9}.app-main{margin-inline-start:250px;padding-top:64px;min-height:100vh;transition:margin-inline-start .25s cubic-bezier(.4,0,.2,1)}.app-layout--collapsed .app-main{margin-inline-start:68px}.sidebar-overlay{display:none}@media (max-width: 768px){.app-main{margin-inline-start:0!important;padding:64px 0 0}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:95;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@font-face{font-family:MV Bodu;src:url(/assets/MV-BODU-1-Cur8EGz6.OTF) format("opentype");font-weight:400;font-display:swap;unicode-range:U+0780-07BF,U+200C-200D,U+FDF2,U+FDFC,U+060C,U+061B,U+061F,U+0660-0669}@font-face{font-family:MV Utheemu;src:url(/assets/mvutheemuREGULAR-D7aU2flT.ttf) format("truetype");font-weight:400;font-display:swap;unicode-range:U+0780-07BF,U+200C-200D,U+FDF2,U+FDFC,U+060C,U+061B,U+061F,U+0660-0669}@font-face{font-family:MV Utheemu;src:url(/assets/mvutheemuBOLD-s4ZFLr8C.ttf) format("truetype");font-weight:700;font-display:swap;unicode-range:U+0780-07BF,U+200C-200D,U+FDF2,U+FDFC,U+060C,U+061B,U+061F,U+0660-0669}@font-face{font-family:Amiri;src:url(/assets/Amiri-Regular-BefDosR4.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Amiri;src:url(/assets/Amiri-Bold-qgZqBFZt.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:MV Currency Symbol;src:url(/fonts/MVCurrencySymbol.ttf) format("truetype");font-weight:400;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{overflow-x:hidden;background:#f0f4f8;color:#1a202c}input,select,textarea,button{font-family:inherit;font-size:inherit}:root{--primary: #2563eb;--primary-light: #dbeafe;--primary-dark: #1d4ed8;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-500: #6b7280;--gray-700: #374151;--gray-900: #111827}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}[dir=rtl] .toast-container{right:auto;left:20px}.toast-item{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;color:#fff;font-size:14px;font-weight:500;box-shadow:0 4px 16px #00000026;pointer-events:auto;animation:toastIn .3s ease-out;min-width:280px;max-width:calc(100vw - 40px)}.toast-success{background:#059669}.toast-error{background:#dc2626}.toast-warning{background:#d97706}.toast-info{background:#2563eb}.toast-icon{font-size:18px;font-weight:700;flex-shrink:0;width:24px;text-align:center}.toast-msg{flex:1;line-height:1.4}[dir=rtl] .toast-item{animation-name:toastInRtl}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toastInRtl{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.class-code{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;direction:ltr;unicode-bidi:embed;display:inline-block;letter-spacing:.02em}
