:root{--primary:#667eea;--primary-dark:#5568d3;--primary-light:#7c95f3;--success:#10b981;--success-dark:#059669;--warning:#f59e0b;--warning-dark:#d97706;--danger:#ef4444;--danger-dark:#dc2626;--info:#3b82f6;--info-dark:#2563eb;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-success:linear-gradient(135deg,#10b981,#059669);--gradient-warning:linear-gradient(135deg,#f59e0b,#d97706);--gradient-danger:linear-gradient(135deg,#ef4444,#dc2626);--gradient-purple:linear-gradient(135deg,#a855f7,#ec4899);--gradient-blue:linear-gradient(135deg,#3b82f6,#06b6d4);--gradient-orange:linear-gradient(135deg,#f97316,#fbbf24);--gradient-green:linear-gradient(135deg,#22c55e,#84cc16);--gradient-pink:linear-gradient(135deg,#ec4899,#f43f5e);--gradient-teal:linear-gradient(135deg,#14b8a6,#06b6d4);--spacing-sm:2px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 20px #0000001a;--shadow-xl:0 20px 35px #00000026;--shadow-2xl:0 30px 60px #0003;--shadow-primary:0 10px 30px #667eea4d;--shadow-success:0 10px 30px #10b9814d;--shadow-danger:0 10px 30px #ef44444d;--font-size-md:16px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:36px;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.5s cubic-bezier(0.4,0,0.2,1);--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#1f2937;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--border-color-dark:#d1d5db;--z-dropdown:100;--z-sticky:200;--z-modal-overlay:1000;--z-modal:1001;--z-tooltip:2000}.card{background:#fff;background:var(--bg-primary);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);padding:24px;padding:var(--spacing-lg);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);will-change:transform,box-shadow}.card:hover{box-shadow:0 10px 20px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card-modern{background:#fff;background:var(--bg-primary);border-radius:18px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);overflow:hidden;padding:32px;padding:var(--spacing-xl);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);will-change:transform,box-shadow}.card-modern:before{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-primary);border-radius:50%;content:"";height:150px;opacity:.05;position:absolute;right:0;top:0;transform:translate(30%,-30%);transition:all .5s cubic-bezier(.4,0,.2,1);transition:all var(--transition-slow);width:150px}.card-modern:hover:before{transform:translate(20%,-20%) scale(1.2)}.card-modern:hover{box-shadow:0 20px 35px #00000026;box-shadow:var(--shadow-xl);transform:translateY(-5px)}.card-gradient{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-primary);border-radius:18px;border-radius:var(--radius-xl);box-shadow:0 10px 30px #667eea4d;box-shadow:var(--shadow-primary);color:#fff;padding:32px;padding:var(--spacing-xl);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.card-gradient:hover{box-shadow:0 30px 60px #0003;box-shadow:var(--shadow-2xl);transform:translateY(-5px) scale(1.02)}.stat-card{border-radius:18px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;gap:var(--spacing-md);padding:var(--spacing-lg);will-change:transform,box-shadow}.stat-card,.stat-card:before{transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.stat-card:before{background:currentColor;border-radius:50%;content:"";height:100px;opacity:.05;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:100px}.stat-card:hover{box-shadow:0 20px 35px #00000026;box-shadow:var(--shadow-xl)}.stat-card:hover:before{transform:translate(20%,-20%) scale(1.3)}.stat-icon{border-radius:14px;border-radius:var(--radius-lg);font-size:var(--font-size-2xl);min-width:60px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.stat-content,.stat-icon{position:relative;z-index:1}.stat-content h3{color:#1f2937;font-size:var(--font-size-2xl);line-height:1;margin:0 0 var(--spacing-xs)}.stat-content p{color:#6b7280;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.stat-trend{align-items:center;background:#10b9811a;border-radius:9999px;border-radius:var(--radius-full);color:#10b981;color:var(--success);display:inline-flex;font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);gap:4px;margin-top:4px;margin-top:var(--spacing-xs);padding:2px 8px}.stat-trend.negative{background:#ef44441a;color:#ef4444;color:var(--danger)}.action-card{background:#f9fafb;background:var(--bg-secondary);border-radius:18px;border-radius:var(--radius-xl);color:#1f2937;color:var(--text-primary);font-size:16px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);gap:16px;gap:var(--spacing-md);justify-content:center;overflow:hidden;padding:32px 24px;padding:var(--spacing-xl) var(--spacing-lg);position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);will-change:transform,border-color,background}.action-card:before{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-primary);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-normal)}.action-card:hover{border-color:var(--primary);box-shadow:0 10px 20px #0000001a;box-shadow:var(--shadow-lg);color:#667eea;color:var(--primary);transform:translateY(-5px)}.action-card:hover:before{opacity:.05}.action-card:active{transform:translateY(-2px)}.action-icon{border-radius:14px;border-radius:var(--radius-lg);font-size:28px;font-size:var(--font-size-2xl);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);z-index:1}.action-card:hover .action-icon{transform:scale(1.15) rotate(-5deg)}.btn{align-items:center;border-radius:10px;border-radius:var(--radius-md);display:inline-flex;font-size:16px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);gap:2px;gap:var(--spacing-sm);justify-content:center;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);white-space:nowrap;will-change:transform,box-shadow}.btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0;z-index:0}.btn>*{position:relative;z-index:1}.btn:active:before{height:300px;width:300px}.btn:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md)}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background:var(--gradient-primary);box-shadow:0 10px 30px #667eea4d;box-shadow:var(--shadow-primary)}.btn-primary:before{background:#ffffff1a;transition:opacity .3s}.btn-primary:hover{box-shadow:0 20px 35px #00000026;box-shadow:var(--shadow-xl)}.btn-primary:hover:before{opacity:1}.btn-success{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-success);box-shadow:0 10px 30px #10b9814d;box-shadow:var(--shadow-success);color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:var(--gradient-danger);box-shadow:0 10px 30px #ef44444d;box-shadow:var(--shadow-danger)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);background:var(--gradient-warning);color:#fff}.btn-secondary{background:#f3f4f6;background:var(--bg-tertiary);color:#1f2937}.btn-outline{background:#0000;border:2px solid #667eea;border:2px solid var(--primary);color:#667eea;color:var(--primary)}.btn-outline:hover{background:#667eea;background:var(--primary);color:#fff}.btn-add{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-success);box-shadow:0 10px 30px #10b9814d;box-shadow:var(--shadow-success);font-weight:700;font-weight:var(--font-weight-bold);overflow:hidden;position:relative}.btn-add:before{background:#ffffff26;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;z-index:0}.btn-add>*{position:relative;z-index:1}.btn-add:hover{box-shadow:0 20px 35px #00000026;box-shadow:var(--shadow-xl)}.btn-add:hover:before{opacity:1}.refresh-button{background:linear-gradient(135deg,#3b82f6,#06b6d4);background:var(--gradient-blue);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);height:45px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);width:45px}.refresh-button:hover{box-shadow:0 10px 20px #0000001a;box-shadow:var(--shadow-lg);transform:rotate(180deg) scale(1.1)}.btn-sm{font-size:14px;font-size:var(--font-size-sm);padding:2px 16px;padding:var(--spacing-sm) var(--spacing-md)}.btn-lg{font-size:18px;font-size:var(--font-size-lg);padding:24px 32px;padding:var(--spacing-lg) var(--spacing-xl)}.btn-icon{border-radius:10px;border-radius:var(--radius-md);height:40px;padding:0;width:40px}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:12px;font-size:var(--font-size-xs);font-weight:700;font-weight:var(--font-weight-bold);gap:4px;gap:var(--spacing-xs);letter-spacing:.5px;padding:4px 16px;padding:4px var(--spacing-md);text-transform:uppercase;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);white-space:nowrap}.badge:hover{transform:scale(1.05)}.badge-paid,.badge-success{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-success);box-shadow:0 2px 8px #10b9814d;color:#fff}.badge-danger,.badge-unpaid{background:linear-gradient(135deg,#ef4444,#dc2626);background:var(--gradient-danger);box-shadow:0 2px 8px #ef44444d;color:#fff}.badge-warning{background:linear-gradient(135deg,#f59e0b,#d97706);background:var(--gradient-warning);box-shadow:0 2px 8px #f59e0b4d;color:#fff}.badge-info{background:linear-gradient(135deg,#3b82f6,#06b6d4);background:var(--gradient-blue);box-shadow:0 2px 8px #3b82f64d;color:#fff}.badge-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-primary);box-shadow:0 2px 8px #667eea4d;color:#fff}.badge-default{background:var(--bg-tertiary);color:#6b7280;color:var(--text-secondary)}.badge-active{background:linear-gradient(135deg,#22c55e,#84cc16);background:var(--gradient-green);color:#fff}.badge-inactive{background:#f3f4f6;background:var(--bg-tertiary);color:#9ca3af;color:var(--text-tertiary)}.badge-present{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-success);color:#fff}.badge-absent{background:linear-gradient(135deg,#ef4444,#dc2626);background:var(--gradient-danger);color:#fff}.badge-late{background:linear-gradient(135deg,#f97316,#fbbf24);background:var(--gradient-orange);color:#fff}.form-group{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:2px;margin-bottom:var(--spacing-sm)}.form-control,.form-label{color:#1f2937;color:var(--text-primary)}.form-control{background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);font-size:16px;font-size:var(--font-size-md);padding:16px;padding:var(--spacing-md);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);width:100%}.form-control:focus{border-color:#667eea;border-color:var(--primary);box-shadow:0 0 0 4px #667eea1a;outline:none;transform:translateY(-1px)}.form-control:disabled{background:#f3f4f6;background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.form-control::placeholder{color:#9ca3af;color:var(--text-tertiary)}.form-floating{position:relative}.form-floating .form-control{padding-top:24px;padding-top:var(--spacing-lg)}.form-floating .form-label{pointer-events:none;position:absolute;right:16px;right:var(--spacing-md);top:16px;top:var(--spacing-md);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.form-floating .form-control:focus~.form-label,.form-floating .form-control:not(:placeholder-shown)~.form-label{color:#667eea;color:var(--primary);font-size:12px;font-size:var(--font-size-xs);top:4px;top:var(--spacing-xs)}.table-container{border-radius:18px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.data-table thead{background:var(--gradient-primary)}.data-table th{font-size:var(--font-size-sm);font-weight:700;font-weight:var(--font-weight-bold);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.data-table tbody tr{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.data-table tbody tr:hover{background:#667eea0d;transform:translateX(-3px)}.data-table tbody tr:last-child{border-bottom:none}.data-table td{color:#1f2937;color:var(--text-primary);font-size:14px;font-size:var(--font-size-sm);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.data-table td:first-child{font-weight:600;font-weight:var(--font-weight-semibold)}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px;padding:var(--spacing-lg)}.modal-content{animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);border-radius:24px;border-radius:var(--radius-2xl);box-shadow:0 30px 60px #0003;box-shadow:var(--shadow-2xl);position:relative}.modal-header{background:#f9fafb;background:var(--bg-secondary);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color);border-radius:24px 24px 0 0;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:32px;padding:var(--spacing-xl)}.modal-header h2{color:#1f2937;font-size:22px;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);gap:2px;gap:var(--spacing-sm)}.modal-close{background:#0000;border-radius:10px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-2xl);padding:2px;padding:var(--spacing-sm);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-tertiary);color:#ef4444;color:var(--danger);transform:rotate(90deg)}.modal-body,.modal-footer{padding:32px;padding:var(--spacing-xl)}.modal-footer{background:#f9fafb;background:var(--bg-secondary);border-radius:0 0 24px 24px;border-radius:0 0 var(--radius-2xl) var(--radius-2xl);border-top:2px solid #e5e7eb;border-top:2px solid var(--border-color);gap:16px;gap:var(--spacing-md)}.grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.text-right{text-align:right}.text-left{text-align:left}.text-primary{color:#667eea;color:var(--primary)}.text-success{color:#10b981;color:var(--success)}.text-danger{color:#ef4444;color:var(--danger)}.text-warning{color:#f59e0b;color:var(--warning)}.text-muted{color:#6b7280;color:var(--text-secondary)}.m-0{margin:0}.mt-sm{margin-top:2px;margin-top:var(--spacing-sm)}.mt-md{margin-top:16px;margin-top:var(--spacing-md)}.mt-lg{margin-top:24px;margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:2px;margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:16px;margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.my-sm{margin-bottom:2px;margin-bottom:var(--spacing-sm);margin-top:2px;margin-top:var(--spacing-sm)}.my-md{margin-bottom:16px;margin-bottom:var(--spacing-md);margin-top:16px;margin-top:var(--spacing-md)}.my-lg{margin-bottom:24px;margin-bottom:var(--spacing-lg);margin-top:24px;margin-top:var(--spacing-lg)}.p-0{padding:0}.p-sm{padding:2px;padding:var(--spacing-sm)}.p-md{padding:16px;padding:var(--spacing-md)}.p-lg{padding:24px;padding:var(--spacing-lg)}.p-xl{padding:32px;padding:var(--spacing-xl)}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-start{justify-content:flex-start}.flex-end,.flex-start{align-items:center;display:flex}.flex-end{justify-content:flex-end}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:4px;gap:var(--spacing-xs)}.gap-sm{gap:2px;gap:var(--spacing-sm)}.gap-md{gap:16px;gap:var(--spacing-md)}.gap-lg{gap:24px;gap:var(--spacing-lg)}.gap-xl{gap:32px;gap:var(--spacing-xl)}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideInUp{animation:slideInUp .5s ease-out}.animate-slideInDown{animation:slideInDown .5s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#f9fafb;background:var(--bg-secondary);border-radius:14px;border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border:2px solid #f9fafb;border:2px solid var(--bg-secondary);border-radius:14px;border-radius:var(--radius-lg);-webkit-transition:background .3s cubic-bezier(.4,0,.2,1);transition:background .3s cubic-bezier(.4,0,.2,1);-webkit-transition:background var(--transition-normal);transition:background var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#a855f7,#ec4899);background:var(--gradient-purple)}::selection{background:#667eea;background:var(--primary);color:#fff}:focus-visible{outline:3px solid #667eea;outline:3px solid var(--primary);outline-offset:2px}html{scroll-behavior:smooth}.spinner{border:4px solid #e5e7eb}.loading{gap:16px;gap:var(--spacing-md);padding:64px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{scrollbar-color:#667eea #f1f1f1;scrollbar-width:thin}::-webkit-scrollbar{height:10px}::-webkit-scrollbar-track{margin:2px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border:2px solid #f1f1f1;-webkit-transition:all .3s ease;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5568d3,#6a3f91);border:2px solid #e1e1e1}::-webkit-scrollbar-corner{background:#f1f1f1}.login-container{align-items:center;animation:gradientMove 15s ease infinite;background:linear-gradient(45deg,#667eea,#764ba2,#f093fb,#4facfe);background-size:400% 400%;direction:rtl;display:flex;font-family:var(--font-family-primary);justify-content:center;min-height:100vh;overflow:hidden;padding:var(0);position:relative}.login-container:before{animation:backgroundRotate 30s linear infinite;background:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:50px 50px;content:"";height:200%;opacity:.3;position:absolute;width:200%}.floating-logo{height:120px;opacity:0;pointer-events:none;position:absolute;width:120px;z-index:0}.floating-logo img{border-radius:50%;box-shadow:0 0 30px #ffffff4d;filter:blur(1px);height:100%;object-fit:contain;width:100%}.floating-logo:first-child{animation:floatBubble1 25s ease-in-out infinite,colorPulse 4s ease-in-out infinite;animation-delay:0s;left:5%;top:10%}.floating-logo:nth-child(2){animation:floatBubble2 30s ease-in-out infinite,colorPulse 5s ease-in-out infinite;animation-delay:3s;height:100px;right:8%;top:60%;width:100px}.floating-logo:nth-child(3){animation:floatBubble3 28s ease-in-out infinite,colorPulse 4.5s ease-in-out infinite;animation-delay:6s;height:90px;left:15%;top:80%;width:90px}.floating-logo:nth-child(4){animation:floatBubble4 32s ease-in-out infinite,colorPulse 5.5s ease-in-out infinite;animation-delay:9s;height:110px;right:20%;top:30%;width:110px}.floating-logo:nth-child(5){animation:floatBubble5 27s ease-in-out infinite,colorPulse 4.8s ease-in-out infinite;animation-delay:12s;height:105px;right:10%;top:20%;width:105px}.floating-logo:nth-child(6){animation:floatBubble6 29s ease-in-out infinite,colorPulse 5.2s ease-in-out infinite;animation-delay:15s;height:95px;left:25%;top:70%;width:95px}@keyframes backgroundRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:0 20px 60px #0000004d;max-width:400px;padding:var(--spacing-3xl);position:relative;width:100%;z-index:1}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 8px}.login-header h1,.login-subtitle{font-family:Cairo,Segoe UI,Tahoma,sans-serif}.login-subtitle{color:#9ca3af;font-size:13px;font-weight:500;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)!important}.form-group label{font-size:var(--font-size-sm)}.form-group input{border:var(--border-width-base) solid var(--color-neutral-light);border-radius:var(--border-radius-base);font-size:var(--font-size-base);padding:var(--spacing-md);text-align:right;transition:border-color var(--transition-base)}.form-group input:focus{border-color:var(--color-primary-main)}.form-group input:disabled{background-color:var(--color-neutral-lighter)}.login-button{background:var(--gradient-primary);border:none;border-radius:var(--border-radius-base);color:var(--color-white);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);overflow:hidden;padding:var(--spacing-base);position:relative;transition:all var(--transition-fast)}.login-button:before{background:#ffffff1a;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-fast);z-index:0}.login-button>*{position:relative;z-index:1}.login-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d}.login-button:hover:not(:disabled):before{opacity:1}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background-color:#fee;border:var(--border-width-thin) solid #fcc;border-radius:var(--border-radius-base);color:#c33;font-size:var(--font-size-sm);padding:var(--spacing-md)}.login-footer{border-top:var(--border-width-thin) solid var(--color-neutral-lighter);margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);text-align:center}.login-footer p{color:var(--color-neutral-medium);font-size:var(--font-size-xs);margin:0}.logo-container{height:100px;margin:0 auto 25px;position:relative;width:100px}.login-logo{animation:logoFloat 3s ease-in-out infinite;border-radius:50%;box-shadow:0 8px 25px #667eea40;height:100%;object-fit:contain;position:relative;width:100%;z-index:2}.logo-glow{animation:glowPulse 2.5s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;filter:blur(20px);inset:0;opacity:.5;position:absolute;z-index:1}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glowPulse{0%,to{opacity:.5}50%{opacity:.8}}@media (max-width:480px){.login-card{padding:30px 20px}.login-header h1{font-size:20px}.logo-container{height:85px;margin-bottom:20px;width:85px}}.reset-password-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.reset-password-card{animation:slideUp .5s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;width:100%}.reset-password-header{margin-bottom:30px;text-align:center}.reset-password-header .header-icon{animation:pulse 2s ease-in-out infinite;color:#667eea;font-size:64px;margin-bottom:16px}.reset-password-header h2{color:#1a202c;font-size:28px;font-weight:700;margin:0 0 8px}.reset-password-header .subtitle{color:#718096;font-size:14px;margin:0}.reset-password-form{display:flex;flex-direction:column;gap:20px}.reset-password-form .form-group{display:flex;flex-direction:column;gap:8px}.reset-password-form label{align-items:center;color:#2d3748;display:flex;font-size:14px;font-weight:600;gap:6px}.reset-password-form label svg{color:#667eea;font-size:18px}.reset-password-form label.required:after{color:#e53e3e;content:"*";margin-left:4px}.reset-password-form input{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .3s ease}.reset-password-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.reset-password-form input.error{border-color:#e53e3e}.reset-password-form input:disabled{background-color:#f7fafc;cursor:not-allowed}.password-input-wrapper input{flex:1 1;padding-right:45px}.password-input-wrapper .toggle-password{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:20px;justify-content:center;padding:4px;position:absolute;right:12px;transition:transform .2s ease}.password-input-wrapper .toggle-password:hover{transform:scale(1.1)}.password-input-wrapper .toggle-password:focus{border-radius:4px;outline:2px solid #667eea;outline-offset:2px}.error-text{color:#e53e3e;font-size:13px;margin-top:-4px}.form-hint{color:#718096;margin-top:-4px}.form-actions{flex-direction:column;margin-top:10px}.btn-submit{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .3s ease}.btn-submit:hover:not(:disabled){box-shadow:0 10px 25px #667eea4d}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea;font-size:15px}.btn-secondary:hover:not(:disabled){background:#f7fafc}.reset-password-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.warning-text{align-items:center;color:#d69e2e;display:flex;font-size:13px;gap:6px;justify-content:center;margin:0;text-align:center}@media (max-width:600px){.reset-password-card{padding:30px 20px}.reset-password-header h2{font-size:24px}.reset-password-header .header-icon{font-size:48px}}.teacher-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.teacher-login-card{animation:slideUp .5s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}.teacher-login-header{margin-bottom:30px;text-align:center}.teacher-icon{animation:bounce 2s infinite;font-size:4rem;margin-bottom:10px}.teacher-login-header h1{color:#333;font-size:2rem;font-weight:700;margin:10px 0}.teacher-login-header p{color:#666;font-size:1.1rem;margin:5px 0}.teacher-login-form{display:flex;flex-direction:column;gap:20px}.teacher-error-message{animation:shake .5s;background:#fee;border:1px solid #fcc;border-radius:10px;color:#c33;font-size:.95rem;padding:15px;text-align:center}.teacher-form-group{display:flex;flex-direction:column;gap:8px}.teacher-form-group label{align-items:center;color:#333;display:flex;font-size:1rem;font-weight:600;gap:8px}.label-icon{font-size:1.2rem}.teacher-form-group input{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;padding:15px;transition:all .3s}.teacher-form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.teacher-form-group input:disabled{background:#f0f0f0;cursor:not-allowed}.field-hint{color:#666;font-size:.85rem;margin-top:-4px}.teacher-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:15px;position:relative;transition:all .3s}.teacher-btn-primary:before{background:#ffffff26;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;z-index:0}.teacher-btn-primary>*{position:relative;z-index:1}.teacher-btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea99}.teacher-btn-primary:hover:not(:disabled):before{opacity:1}.teacher-btn-primary:active:not(:disabled){box-shadow:0 2px 10px #667eea66}.teacher-btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.teacher-btn-secondary{background:#fff;border:2px solid #667eea;border-radius:10px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:15px;position:relative;transition:all .3s}.teacher-btn-secondary:before{background:#667eea;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;z-index:0}.teacher-btn-secondary:hover:not(:disabled){color:#fff}.teacher-btn-secondary:hover:not(:disabled):before{opacity:1}.teacher-btn-secondary span{position:relative;z-index:1}.teacher-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.teacher-btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95rem;padding:10px;text-decoration:underline;transition:color .3s}.teacher-btn-link:hover:not(:disabled){color:#764ba2}.teacher-divider{align-items:center;display:flex;margin:10px 0;text-align:center}.teacher-divider:after,.teacher-divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.teacher-divider span{color:#999;font-size:.9rem;padding:0 15px}.teacher-footer{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px;text-align:center}.teacher-footer p{color:#999;font-size:.9rem}.success-card{text-align:center}.success-icon{animation:scaleUp .5s ease-out;background:linear-gradient(135deg,#11998e,#38ef7d);font-size:3rem}@keyframes scaleUp{0%{transform:scale(0)}to{transform:scale(1)}}.success-card h1{color:#11998e;font-size:1.8rem;margin-bottom:30px}.success-info{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.info-box{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;padding:20px}.info-box.highlight{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-color:#fdcb6e}.info-label{margin-bottom:8px}.info-value{direction:ltr;font-size:1.3rem;font-weight:700;text-align:center}.password-value{font-family:Courier New,monospace;font-size:2rem;letter-spacing:3px}.info-hint{color:#666;font-size:.85rem;font-weight:400;margin-top:8px}@media (max-width:600px){.teacher-login-card{padding:30px 20px}.teacher-login-header h1{font-size:1.5rem}.teacher-icon{font-size:3rem}.teacher-form-group input{padding:12px}.teacher-btn-primary,.teacher-btn-secondary{font-size:1rem;padding:12px}}.student-login-container{align-items:center;background:linear-gradient(135deg,#10b981,#3b82f6);display:flex;font-family:Cairo,Segoe UI,Tahoma,sans-serif;justify-content:center;min-height:100vh;padding:20px}.student-login-card{animation:slideIn .5s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.student-login-card.success-card{max-width:600px}.student-login-header{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px;text-align:center}.student-login-header h1{color:#10b981;font-size:2em;font-weight:700;margin-bottom:10px}.student-login-header p{color:#666;font-size:1.1em;margin:5px 0}.student-login-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:8px}.form-group label{font-size:1em;text-align:right}.form-group input{border:2px solid #e0e0e0;border-radius:10px;font-family:inherit;font-size:1em;padding:15px;transition:all .3s ease}.form-group input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message-box{animation:shake .5s;background-color:#fee;border:2px solid #f66;border-radius:10px;color:#c33;font-weight:600;padding:15px;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.btn-primary{background:linear-gradient(135deg,#10b981,#3b82f6);border-radius:10px;box-shadow:0 4px 15px #10b9814d;font-family:inherit;font-size:1.1em;font-weight:700;overflow:hidden;padding:15px;position:relative}.btn-primary:before{background:#ffffff26;bottom:0;left:0;opacity:0;right:0;top:0;transition:opacity .3s ease;z-index:0}.btn-primary>*{position:relative;z-index:1}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #10b98166}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:active:not(:disabled){box-shadow:0 2px 10px #10b9814d}.btn-secondary{background:#0000;border:2px solid #10b981;border-radius:10px;color:#10b981;font-family:inherit;font-size:1em;font-weight:600;overflow:hidden;padding:12px;position:relative}.btn-secondary:before{background:#ff3939;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:0}.btn-secondary:hover:not(:disabled){color:#fffbfb,255),161),156),224)}.btn-secondary:hover:not(:disabled):before{opacity:.5}.btn-secondary span{position:relative;z-index:1}.btn-secondary:disabled{opacity:.5}.back-to-home{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.back-to-home a{color:#10b981;font-weight:600;text-decoration:none;transition:all .3s ease}.back-to-home a:hover{color:#059669;text-decoration:underline}.success-header{margin-bottom:30px;text-align:center}.success-icon{align-items:center;animation:scaleIn .5s ease-out;background:linear-gradient(135deg,#10b981,#3b82f6);border-radius:50%;color:#fff;display:flex;font-size:3em;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.success-header h1{color:#10b981;font-size:1.8em;margin:0}.success-content{display:flex;flex-direction:column;gap:20px}.success-message{color:#666;font-size:1.1em;line-height:1.6;text-align:center}.credentials-box{background:#f0fdf4;border:2px solid #10b981;border-radius:12px;gap:15px;padding:20px}.credential-item,.credentials-box{display:flex;flex-direction:column}.credential-item{gap:5px}.credential-label{color:#666;font-size:.9em;font-weight:600}.credential-value{background:#fff;border-radius:6px;color:#10b981;font-family:Courier New,monospace;font-size:1.2em;font-weight:700;padding:10px;word-break:break-all}.success-note{background:#fef3c7;border:2px solid #fbbf24;border-radius:10px;color:#92400e;font-size:.95em;line-height:1.5;padding:15px;text-align:center}@media (max-width:768px){.student-login-card{margin:10px;padding:30px 20px}.student-login-header h1{font-size:1.5em}.form-group input{padding:12px}.btn-primary,.btn-secondary{font-size:1em;padding:12px}}.cache-toggle-container{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;display:flex;gap:6px;padding:4px 8px;transition:all .2s ease}.cache-toggle-container:hover{background:#ffffff0f;border-color:#ffffff1f}.cache-toggle-wrapper{align-items:center;display:flex;gap:6px}.cache-label{align-items:center;color:#a0aec0;display:flex;font-size:12px;font-weight:500;gap:4px;-webkit-user-select:none;user-select:none}.cache-label svg{font-size:14px;transition:all .2s ease}.cache-label-text{color:inherit;display:inline-block;font-size:12px;font-weight:600;transition:color .2s ease;white-space:nowrap}.cache-toggle-switch{background:#0000;border:1px solid #4a5568;border-radius:12px;cursor:pointer;flex-shrink:0;height:18px;outline:none;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:32px}.cache-toggle-switch:hover{border-color:#718096;transform:scale(1.05)}.cache-toggle-switch:focus{box-shadow:0 0 0 2px #4299e14d}.cache-toggle-switch.enabled{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#48bb78;box-shadow:0 1px 4px #48bb784d}.cache-toggle-switch.disabled{background:linear-gradient(135deg,#718096,#4a5568);border-color:#4a5568}.toggle-slider{align-items:center;display:flex;height:100%;width:100%}.toggle-indicator{background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;height:12px;left:2px;transition:all .2s ease;width:12px}.cache-toggle-switch.enabled .toggle-indicator{box-shadow:0 1px 4px #0000004d;transform:translateX(-16px)}.cache-toggle-switch.disabled .toggle-indicator{transform:translateX(0)}.cache-status{align-items:center;display:flex;gap:4px}.status-dot{border-radius:50%;flex-shrink:0;height:6px;transition:all .2s ease;width:6px}.status-dot.active{animation:pulse-green 2s infinite;background:#48bb78;box-shadow:0 0 4px #48bb7880}.status-dot.inactive{background:#718096;box-shadow:0 0 4px #7180964d}.status-text{display:none}@keyframes pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.cache-toggle-container .cache-label{color:#48bb78;transition:color .2s ease}.cache-toggle-container:has(.cache-toggle-switch.disabled) .cache-label{color:#cbd5e0}@media (prefers-color-scheme:dark){.cache-toggle-container{background:#1a202ccc;border-color:#ffffff1a}.cache-toggle-container:hover{background:#1a202ce6;border-color:#ffffff26}}@media (max-width:768px){.cache-toggle-container{padding:3px 6px}.cache-label svg{font-size:12px}.cache-toggle-switch{height:16px;width:28px}.toggle-indicator{height:10px;width:10px}.cache-toggle-switch.enabled .toggle-indicator{transform:translateX(12px)}.status-dot{height:5px;width:5px}}.maintenance-toggle{align-items:center;display:inline-flex;flex-direction:column;gap:10px}.maintenance-toggle.loading{padding:10px}.maintenance-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#764ba2;height:30px;width:30px}.maintenance-button{align-items:center;background:#fff;border:2px solid;border-radius:10px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;gap:10px;padding:12px 20px;transition:all .3s ease}.maintenance-button:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.maintenance-button:active:not(:disabled){transform:translateY(0)}.maintenance-button:disabled{cursor:not-allowed;opacity:.6}.maintenance-button.enabled{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800}.maintenance-button.enabled:hover:not(:disabled){background:linear-gradient(135deg,#ffe0b2,#ffcc80)}.maintenance-button.disabled{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50}.maintenance-button.disabled:hover:not(:disabled){background:linear-gradient(135deg,#c8e6c9,#a5d6a7)}.maintenance-button .icon{flex-shrink:0;font-size:24px}.active-icon{color:#4caf50}.status-text{align-items:flex-start;display:flex;flex-direction:column;line-height:1.3}.status-text strong{color:#333;font-weight:600}.status-text small{color:#666;font-size:.75rem;margin-top:2px}.button-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#764ba2;height:20px;width:20px}.maintenance-warning{align-items:center;animation:warningPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:8px;box-shadow:0 2px 8px #ff980033;color:#e65100;display:flex;font-size:.85rem;font-weight:500;gap:8px;max-width:300px;padding:10px 15px;text-align:center}.maintenance-warning .warning-icon{animation:rotate 2s linear infinite;font-size:20px}@keyframes warningPulse{0%,to{box-shadow:0 2px 8px #ff980033}50%{box-shadow:0 4px 16px #ff980066}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.maintenance-button{font-size:.85rem;padding:10px 15px}.maintenance-button .icon{font-size:20px}.maintenance-warning{font-size:.75rem;max-width:250px;padding:8px 12px}.status-text strong{font-size:.9rem}.status-text small{font-size:.7rem}}.network-status{align-items:center;border-radius:20px;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.network-status.online{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d;color:#fff}.network-status.offline{animation:pulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d;color:#fff}.network-icon{animation:fadeIn .3s ease;font-size:16px}.network-text{font-size:12px;white-space:nowrap}@media (max-width:768px){.network-status{font-size:11px;padding:4px 8px}.network-icon{font-size:14px}.network-text{display:none}}.quick-access-section{margin-bottom:32px}.quick-access-title{align-items:center;color:#1a1a1a;display:flex;font-size:1.5rem;font-weight:700;gap:10px;margin-bottom:20px}.title-icon{animation:pulse 2s infinite;font-size:1.8rem}.quick-access-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (max-width:768px){.quick-access-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.quick-access-grid{grid-template-columns:1fr}}.quick-access-btn{border:none;border-radius:16px;box-shadow:0 4px 15px #0000001a;cursor:pointer;overflow:hidden;padding:24px 16px;position:relative;transition:all .3s ease}.quick-access-btn:hover{box-shadow:0 8px 25px #00000026}.quick-btn-content{align-items:center;color:#fff;display:flex;flex-direction:column;gap:12px;position:relative;z-index:2}.quick-btn-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:2.5rem}.quick-btn-label{font-size:1rem;font-weight:600;text-shadow:0 2px 4px #0003}.quick-btn-shine{background:linear-gradient(45deg,#0000,#ffffff1a,#0000);height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);transition:all .5s ease;width:200%}.quick-access-btn:hover .quick-btn-shine{left:100%}[data-theme=dark] .quick-access-title{color:#fff}[data-theme=dark] .quick-access-btn{box-shadow:0 4px 15px #0000004d}[data-theme=dark] .quick-access-btn:hover{box-shadow:0 8px 25px #0006}.daily-stats-section{margin-bottom:32px}.daily-stats-title{align-items:center;color:#1a1a1a;display:flex;font-size:1.5rem;font-weight:700;gap:10px;margin-bottom:20px}.stats-loading{color:#666;font-size:1.1rem;padding:40px;text-align:center}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-card{border-radius:16px;box-shadow:0 4px 15px #0000001a;color:#fff;cursor:default;overflow:hidden;position:relative}.stat-card:hover{box-shadow:0 8px 25px #00000026}.stat-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:2.5rem}.trend-icon{animation:bounce 2s infinite;font-size:1.5rem}.trend-up{color:#ffffffe6}.trend-down{color:#ffffffb3}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.stat-value{font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:8px;text-shadow:0 2px 4px #0003}.stat-label{font-size:1rem;opacity:.95;text-shadow:0 1px 2px #0003}.stat-shine{background:linear-gradient(45deg,#0000,#ffffff1a,#0000);height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);transition:all .5s ease;width:200%}.stat-card:hover .stat-shine{left:100%}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{box-shadow:0 10px 30px #0003;transform:translateY(-3px)}.attendance-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.attendance-modal{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:100%}.attendance-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:24px 28px}.attendance-modal-header>div{align-items:center;display:flex;gap:12px}.modal-header-icon{font-size:28px}.attendance-modal-header h3{font-size:1.5rem;font-weight:700;margin:0}.close-modal-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.close-modal-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.attendance-modal-body{flex:1 1;overflow-y:auto;padding:24px 28px}.no-attendance-data{color:#666;padding:60px 20px;text-align:center}.no-attendance-data p{font-size:1.1rem;margin:0}.sections-attendance-list{display:flex;flex-direction:column;gap:16px}.section-attendance-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.section-attendance-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateX(-4px)}.section-info{flex:1 1}.section-info h4{color:#1a1a1a;font-size:1.15rem;font-weight:700;margin:0 0 12px}.section-stats{display:flex;flex-wrap:wrap;gap:20px}.section-stat{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:.95rem;font-weight:600;gap:6px;padding:6px 12px}.section-stat svg{font-size:18px}.section-stat.success{border:1px solid #28a7454d;color:#28a745}.section-stat.danger{border:1px solid #dc35454d;color:#dc3545}.section-stat.warning{border:1px solid #ff98004d;color:#ff9800}.section-total{align-items:center;background:#fff;border:2px solid #667eea;border-radius:12px;color:#667eea;display:flex;font-size:1.5rem;font-weight:800;gap:8px;padding:12px 20px}.section-total svg{font-size:24px}.attendance-modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:20px 28px}.summary-stats{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-around}.summary-item{align-items:center;gap:6px}.summary-label{color:#666;font-size:.85rem}.summary-value{border-radius:8px;font-size:1.8rem;font-weight:800;padding:4px 12px}.summary-value.success{background:#28a7451a;color:#28a745}.summary-value.warning{background:#ff98001a;color:#ff9800}.summary-value.info{background:#667eea1a;color:#667eea}@media (max-width:768px){.attendance-modal{border-radius:16px 16px 0 0;margin-top:auto;max-height:90vh;max-width:100%}.attendance-modal-header{padding:20px}.attendance-modal-header h3{font-size:1.25rem}.attendance-modal-body{padding:16px}.section-attendance-item{align-items:flex-start;flex-direction:column;gap:16px}.section-total{align-self:flex-end}.summary-stats{flex-direction:column;gap:12px}.summary-item{background:#fff;border-radius:8px;flex-direction:row;justify-content:space-between;padding:8px 12px;width:100%}}[data-theme=dark] .daily-stats-title{color:#fff}[data-theme=dark] .stats-loading{color:#aaa}[data-theme=dark] .stat-card{box-shadow:0 4px 15px #0000004d}[data-theme=dark] .stat-card:hover{box-shadow:0 8px 25px #0006}[data-theme=dark] .attendance-modal{background:#2a2a2a}[data-theme=dark] .section-attendance-item{background:#333;color:#fff}[data-theme=dark] .section-info h4{color:#fff}[data-theme=dark] .section-stat,[data-theme=dark] .section-total{background:#444}[data-theme=dark] .attendance-modal-footer{background:#333;border-top-color:#444}[data-theme=dark] .summary-item{background:#444}.dashboard{background-color:var(--color-neutral-lightest);direction:rtl;display:flex;flex-direction:row-reverse;font-family:var(--font-family-primary);height:100vh}.sidebar{background:var(--gradient-primary);box-shadow:var(--shadow-sidebar);color:var(--color-white);display:flex;flex-direction:column;order:2;position:relative;transition:width .3s cubic-bezier(.4,0,.2,1);width:260px}.sidebar.collapsed{width:80px}.sidebar.collapsed .nav-group-title,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-header h2,.sidebar.collapsed .sidebar-header p,.sidebar.collapsed .user-info{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:12px 0;position:relative}.sidebar.collapsed .nav-item:hover:after{background:#000000e6;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;content:attr(title);font-size:13px;left:90px;padding:8px 12px;pointer-events:none;position:absolute;white-space:nowrap;z-index:1000}.sidebar.collapsed .nav-icon{font-size:24px;margin:0}.sidebar.collapsed .nav-group-featured{background:linear-gradient(90deg,#ffd7001f,#ffd7000d);margin:12px 0;padding:8px 0}.sidebar.collapsed .nav-item-featured .nav-icon{color:gold;font-size:26px}.sidebar.collapsed .change-password-btn,.sidebar.collapsed .logout-btn{font-size:0!important;gap:0!important;justify-content:center;overflow:hidden;padding:14px}.sidebar.collapsed .change-password-btn svg,.sidebar.collapsed .logout-btn svg{font-size:28px!important;height:28px!important;margin:0!important;width:28px!important}.sidebar-collapse-toggle{align-items:center;background:var(--color-primary-dark)!important;border:2px solid var(--color-primary);border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;direction:rtl;display:flex;height:30px;justify-content:center;left:-15px;position:absolute;top:20px;transition:all .3s cubic-bezier(.4,0,.2,1);width:30px;z-index:10}.sidebar-collapse-toggle:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.sidebar-collapse-toggle:active{transform:scale(.95)}.sidebar-header{border-bottom:var(--border-width-thin) solid #ffffff1a;padding:18px var(--spacing-md)}.sidebar-header h2{font-size:22px;font-weight:var(--font-weight-bold);letter-spacing:.3px;margin:0 0 4px}.sidebar-header p{font-size:13px;font-weight:var(--font-weight-medium);margin:0;opacity:.9}.sidebar-nav{direction:rtl;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-lg) 0}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff80}.sidebar-nav{scrollbar-color:#ffffff4d #ffffff0d;scrollbar-width:thin}.nav-group{border-top:1px solid #ffffff14;margin:0;padding:4px 0}.nav-group-featured{background:#ffffff0f;border-bottom:1px solid #ffffff26;border-top:1px solid #ffffff26;margin:12px 0;padding:8px 0;position:relative;transition:background .3s ease}.nav-group-featured:after{background:linear-gradient(180deg,#fffc,#ffffff4d);content:"";height:0;left:0;position:absolute;top:0;transition:height .4s ease;width:3px}.nav-group-featured:hover:after{height:100%}.nav-group-title{align-items:center;color:#ffffff80;display:flex;font-size:10.5px;font-weight:700;letter-spacing:.8px;margin-bottom:2px;padding:6px 16px;text-transform:uppercase;transition:color .3s ease,letter-spacing .3s ease}.nav-group:hover .nav-group-title{color:#ffffffb3;letter-spacing:1px}.featured-title{align-items:center;color:#ffffffd9;display:flex;font-size:10.5px;font-weight:700;letter-spacing:1px;position:relative}.featured-title:before{animation:starGlow 3s ease-in-out infinite;background:#ffffffb3;border-radius:50%;content:"";display:inline-block;height:6px;margin-left:8px;width:6px}@keyframes starGlow{0%,to{box-shadow:0 0 0 #ffffff80;opacity:.6;transform:scale(1)}50%{box-shadow:0 0 8px #fffc;opacity:1;transform:scale(1.3)}}.nav-item{background:none;border:none;border-left:3px solid #0000;color:var(--color-white);gap:10px;padding:8px 16px;text-align:right;transition:all .2s ease;width:100%}.nav-item-featured{overflow:hidden;position:relative}.nav-item-featured:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.nav-item-featured:hover:before{left:100%}.nav-item-featured .nav-icon{color:#fffffff2;font-size:18px;transition:transform .3s ease,color .2s ease}.nav-item-featured .nav-label{color:#fffffff2;font-size:13.5px;font-weight:600;transition:color .2s ease,letter-spacing .3s ease}.nav-item-featured:hover{background-color:#ffffff1f;border-left-color:#ffffffb3}.nav-item-featured:hover .nav-icon{color:#fff;transform:scale(1.1) translateX(-2px)}.nav-item-featured:hover .nav-label{color:#fff;letter-spacing:.5px}.nav-item-featured.active{background-color:#ffffff2e;border-left-color:#fffffff2;box-shadow:inset 0 0 15px #ffffff1a}.nav-item-featured.active .nav-icon{animation:pulse 2s ease-in-out infinite;color:#fff}.nav-item-featured.active .nav-label{color:#fff;font-weight:700}.nav-item:hover{background-color:#ffffff14;border-left-color:#fff6}.nav-item.active{background-color:#ffffff26;border-left-color:#ffffffe6}.nav-item.read-only{opacity:.8}.nav-item.read-only:hover{background-color:#ffffff14}.read-only-badge{font-size:14px;margin-right:auto;opacity:.9}.nav-icon{align-items:center;display:flex;font-size:18px;justify-content:center;min-width:18px;opacity:.9}.nav-group:not(.nav-group-featured) .nav-item .nav-icon,.nav-group:not(.nav-group-featured) .nav-item .nav-label{color:#ffffffd9}.nav-group:not(.nav-group-featured) .nav-item:hover .nav-icon,.nav-group:not(.nav-group-featured) .nav-item:hover .nav-label{color:#fffffff2}.nav-label{font-size:13.5px;font-weight:500;letter-spacing:.2px;line-height:1.3;white-space:nowrap}.sidebar-footer{border-top:var(--border-width-thin) solid #ffffff1a;padding:var(--spacing-lg)}.user-info{margin-bottom:var(--spacing-base)}.user-info p{font-size:var(--font-size-sm);margin:0}.user-email{font-size:var(--font-size-xs)!important;opacity:.8;word-break:break-all}.change-password-btn{align-items:center;background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:center;margin-bottom:10px;padding:10px;transition:background-color var(--transition-base);width:100%}.change-password-btn:hover{background:#218838}.logout-btn{background-color:#fff3;border:var(--border-width-thin) solid #ffffff4d;border-radius:var(--border-radius-sm);color:var(--color-white);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:background-color var(--transition-base);width:100%}.logout-btn:hover{background-color:#ffffff4d}.main-content{display:flex;flex:1 1;flex-direction:column;order:1;overflow:hidden}.content-header{align-items:center;background:var(--color-white);border-bottom:var(--border-width-thin) solid var(--color-neutral-light);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:16px 20px}.content-header h1{color:var(--color-neutral-darker);flex:1 1;font-size:22px;font-weight:var(--font-weight-semibold);margin:0}.header-controls{align-items:center;display:flex;flex-shrink:0;gap:12px}.content-body{direction:rtl;flex:1 1;overflow-y:auto;padding:20px}.content-body::-webkit-scrollbar{width:10px}.content-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.content-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}.content-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5568d3,#6a3f91)}.content-body{scrollbar-color:#667eea #f1f1f1;scrollbar-width:thin}.overview-section h2{color:var(--color-neutral-darker);font-size:20px;margin:0 0 20px}.loading{color:var(--color-neutral-medium);font-size:var(--font-size-base);padding:var(--spacing-3xl);text-align:center}.stats-grid{grid-gap:var(--spacing-lg);gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--spacing-3xl)}.stat-card{background:var(--color-white);border-left:4px solid var(--color-info);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);gap:var(--spacing-lg);padding:var(--spacing-xl);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-icon{background:#0000;color:inherit;font-size:var(--font-size-4xl);opacity:1}.stat-content h3{color:var(--color-neutral-darker);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-xs) 0}.stat-content p{color:var(--color-neutral-medium);font-size:var(--font-size-base)}.quick-actions{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl)}.quick-actions h3{color:var(--color-neutral-darker);font-size:var(--font-size-xl);margin:0 0 var(--spacing-lg) 0}.action-buttons{grid-gap:var(--spacing-base);display:grid;gap:var(--spacing-base);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-buttons button{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--border-radius-base);color:var(--color-white);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-base) var(--spacing-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.action-buttons button:hover{box-shadow:0 6px 15px #667eea4d;transform:translateY(-2px)}.section-placeholder{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-3xl);text-align:center}.section-placeholder h2{color:var(--color-neutral-darker);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-base) 0}.section-placeholder p{color:var(--color-neutral-medium);font-size:var(--font-size-base);margin:0 0 var(--spacing-2xl) 0}.placeholder-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-base);justify-content:center}.placeholder-actions button{background:var(--gradient-primary);border:none;border-radius:var(--border-radius-base);color:var(--color-white);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-xl);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.placeholder-actions button:hover{box-shadow:0 6px 15px #667eea4d;transform:translateY(-2px)}.mobile-menu-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%)!important;border:none;border-radius:10px;box-shadow:0 4px 15px #0003,0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;position:fixed;right:15px;top:15px;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px;z-index:1001}.mobile-menu-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);box-shadow:0 6px 20px #00000040,0 4px 12px #667eea66;transform:translateY(-2px) scale(1.05)}.mobile-menu-btn:active{box-shadow:0 2px 8px #00000026;transform:translateY(0) scale(.98)}.mobile-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.dashboard{flex-direction:column}.mobile-menu-btn{background-color:var(--color-primary-dark)!important;display:flex}.sidebar-collapse-toggle{display:none}.mobile-overlay{display:block}.sidebar{height:100vh;overflow-y:auto;position:fixed;right:-100%;top:0;transition:right .3s ease;width:280px;z-index:1000}.sidebar.mobile-open{box-shadow:-4px 0 20px #0000004d;right:0}.sidebar-header{display:block;padding:15px}.sidebar-header h2{font-size:18px}.sidebar-footer{display:block;padding:15px}.nav-group{display:block}.nav-group-featured{margin:8px 0;padding:8px 0}.nav-item{padding:10px 12px}.nav-icon{font-size:20px}.nav-label{font-size:14px}.main-content{order:1;width:100%}.content-header{justify-content:flex-end;padding:12px 15px}.content-header h1{display:none}.header-controls{justify-content:center;width:100%}.content-body{padding:70px 15px 15px}.sidebar-nav{display:flex;flex-direction:column;gap:0;overflow-x:visible;padding:80px 0 20px}.nav-item{border-bottom:none;border-left:3px solid #0000;flex-direction:row;font-size:15px;gap:12px;justify-content:flex-start;padding:16px 20px;text-align:right;white-space:nowrap}.nav-item svg{height:24px!important;width:24px!important}.nav-item:hover{background:#ffffff1a;border-bottom:none;border-left-color:#ffffff80}.nav-item.active{background:#ffffff26;border-bottom:none;border-left-color:#fff}.action-buttons,.stats-grid{grid-template-columns:1fr}.placeholder-actions{flex-direction:column}}.compact-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.compact-stat-card{align-items:center;border-radius:10px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:all .2s ease}.compact-stat-card .stat-icon{background:#0000;color:inherit;font-size:32px;opacity:1}.compact-stat-card .stat-data{flex:1 1}.compact-stat-card .stat-value{display:block;font-size:24px;font-weight:700;line-height:1;margin-bottom:4px}.compact-stat-card .stat-label{color:#fff;display:block;font-size:18px;font-weight:600;opacity:1}.info-cards-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.info-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:16px;transition:all .2s ease}.info-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.info-card-header{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:12px}.info-card-header svg{color:#667eea;font-size:20px}.info-stats{display:flex;justify-content:space-between;margin-bottom:10px}.info-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.info-stat svg{font-size:20px}.info-stat.success svg{color:#22c55e}.info-stat.danger svg{color:#ef4444}.info-stat.warning svg{color:#f59e0b}.info-stat span{color:#111827;font-size:18px;font-weight:700}.info-stats-column{display:flex;flex-direction:column;gap:8px}.info-stat-row{align-items:center;color:#4b5563;display:flex;font-size:13px;font-weight:600;gap:8px}.info-stat-row svg{color:#9ca3af;font-size:18px}.info-stat-row.total{border-top:1px solid #e5e7eb;color:#111827;font-weight:700;margin-top:4px;padding-top:8px}.mini-progress{background:#e5e7eb;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.mini-progress-bar{background:linear-gradient(90deg,#22c55e,#10b981);border-radius:3px;height:100%;transition:width .3s ease}.mini-progress-bar.paid{background:linear-gradient(90deg,#3b82f6,#2563eb)}.info-footer{color:#6b7280;font-size:12px;font-weight:600;text-align:center}.quick-actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.quick-action-btn{background:linear-gradient(135deg,#545c81,#523075 300%);border:2px solid #e5e7eb;border-radius:10px;color:#1f2937;flex-direction:column;font-size:13px;gap:8px;padding:16px 12px;transition:all .2s ease}.quick-action-btn:hover{background:linear-gradient(135deg,#523075 300%,#545c81 0);border-color:inherit;box-shadow:0 4px 12px #0000001a}.quick-action-btn svg{color:inherit;font-size:28px}.quick-action-btn span{text-align:center}@media (max-width:768px){.compact-stats-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.compact-stat-card{padding:12px}.compact-stat-card .stat-icon{background:#0000;color:inherit;font-size:24px}.compact-stat-card .stat-value{font-size:20px}.info-cards-row{gap:12px;grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}.overview-section{will-change:opacity}.simple-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea33;margin-bottom:2rem;padding:1.2rem 1.5rem}.simple-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.welcome-banner{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 30px #667eea4d;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem;will-change:transform,opacity}.welcome-content h2{font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.welcome-content p{font-size:1rem;margin:0;opacity:.9}.welcome-date{font-size:.95rem;font-weight:600;opacity:.9}.modern-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.modern-stat-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:box-shadow .3s ease!important;will-change:transform,opacity}.modern-stat-card:hover{box-shadow:0 12px 30px #00000026}.card-gradient{border-radius:50%;height:100px;opacity:.1;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:100px}.card-content{align-items:center;gap:1.5rem;position:relative;z-index:1}.card-icon{border-radius:12px;color:#fff;height:60px;width:60px}.card-info h3{color:#2d3748;font-size:2rem;font-weight:700;margin:0 0 .25rem}.card-info p{color:#718096;font-size:.95rem;margin:0 0 .5rem}.card-trend{align-items:center;color:#48bb78;display:inline-flex;font-size:.85rem;font-weight:600;gap:.25rem}.advanced-stats-row{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.stat-card-detailed{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:2rem;will-change:transform,opacity}.card-header{border-bottom:2px solid #f7fafc;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.header-icon{font-size:1.8rem}.card-header h3{color:#2d3748;font-size:1.2rem;font-weight:700;margin:0}.attendance-card .stat-row{display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.stat-item{align-items:center;background:#f7fafc;border-radius:12px;flex:1 1;gap:.75rem;padding:1rem}.stat-item.present{background:#48bb781a;color:#48bb78}.stat-item.absent{background:#f565651a;color:#f56565}.stat-item.late{background:#ed89361a;color:#ed8936}.stat-item .stat-value{display:block;font-size:1.5rem;font-weight:700}.stat-item .stat-label{display:block;font-size:.85rem;opacity:.8}.progress-bar{background:#e2e8f0;border-radius:100px;height:12px;margin-bottom:.75rem}.progress-fill{border-radius:100px;transition:width 1s ease}.attendance-rate{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0;text-align:center}.invoice-summary{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.invoice-item{align-items:center;background:#f7fafc;border-radius:12px;display:flex;justify-content:space-between;padding:1rem}.invoice-item.paid{background:#48bb781a}.invoice-item.unpaid{background:#f565651a}.invoice-label{color:#718096;font-size:.95rem}.invoice-value{color:#2d3748;font-size:1.5rem;font-weight:700}.amount-summary{border-top:2px solid #f7fafc;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.amount-item{align-items:center;display:flex;font-size:.95rem;justify-content:space-between}.amount-item span{color:#718096}.amount-item strong{color:#2d3748;font-size:1.1rem}.amount-item.paid strong{color:#48bb78}.quick-actions-modern{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:2rem}.quick-actions-modern h3{color:#2d3748;font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.action-cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-card{align-items:center;background:#f7fafc;border:2px solid #0000;border-radius:12px;color:#2d3748;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:600;gap:1rem;padding:2rem 1.5rem;transition:all .3s ease;will-change:transform,opacity}.action-card:hover{background:#fff;border-color:#667eea;box-shadow:0 8px 20px #667eea26}.action-icon{border-radius:12px;color:#fff;height:60px;width:60px}.action-icon,.loading{align-items:center;display:flex;justify-content:center}.loading{flex-direction:column;padding:4rem 2rem}.spinner{height:50px;margin-bottom:1rem;width:50px}@media (max-width:1024px){.advanced-stats-row{grid-template-columns:1fr}}@media (max-width:768px){.welcome-banner{flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.welcome-content h2{font-size:1.4rem}.welcome-content p{font-size:.9rem}.welcome-date{font-size:.85rem}.modern-stats-grid{gap:1rem;grid-template-columns:1fr}.modern-stat-card{padding:1.25rem}.card-content{gap:1rem}.card-icon{height:50px;width:50px}.card-info h3{font-size:1.6rem}.advanced-stats-row{gap:1.5rem;grid-template-columns:1fr}.stat-card-detailed{padding:1.5rem}.attendance-card .stat-row{flex-direction:column;gap:.75rem}.stat-item{padding:.75rem}.quick-actions-modern{padding:1.5rem}.action-cards-grid{gap:1rem;grid-template-columns:1fr}.action-card{padding:1.5rem 1rem}}.id-display{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:8px;border-right:4px solid #667eea;box-shadow:0 2px 4px #0000000d;display:inline-flex;font-size:14px;gap:8px;margin-bottom:24px;padding:12px 16px}.id-display-label{color:#ddd8d8;font-weight:500}.id-display-value{background:#ffffffb3;border-radius:4px;color:#667eea;font-family:Courier New,monospace;font-weight:600;padding:2px 8px}.searchable-select-container{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.searchable-select-label{color:#333;display:block;font-size:14px;font-weight:500}.searchable-select-label .required{color:#dc3545;margin-right:4px}.searchable-select{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;gap:8px;justify-content:space-between;min-height:48px;padding:12px 16px;position:relative;transition:all .3s ease}.searchable-select:hover:not(.disabled){border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.searchable-select.open{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.searchable-select.disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.searchable-select.error{border-color:#dc3545}.searchable-select.error.open,.searchable-select.error:focus{box-shadow:0 0 0 3px #dc35451a}.searchable-select-value{color:#333;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-placeholder{color:#999}.searchable-select-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.searchable-select-clear{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.searchable-select-clear:hover{background:#f0f0f0;color:#666}.searchable-select-arrow{align-items:center;color:#666;display:flex;font-size:24px;justify-content:center;transition:transform .3s ease}.searchable-select-arrow.open{transform:rotate(180deg)}.searchable-select-dropdown{animation:dropdownSlideIn .2s ease-out;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 24px #0000001f;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.searchable-select-search{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;gap:10px;padding:12px}.searchable-select-search .search-icon{align-items:center;color:#999;display:flex;flex-shrink:0;font-size:18px;justify-content:center}.searchable-select-search-input{background:none;border:none;color:#333;flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:4px 0}.searchable-select-search-input::placeholder{color:#999}.searchable-select-options{list-style:none;margin:0;max-height:280px;overflow-y:auto;padding:0}.searchable-select-options::-webkit-scrollbar{width:8px}.searchable-select-options::-webkit-scrollbar-track{background:#f1f1f1}.searchable-select-options::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.searchable-select-options::-webkit-scrollbar-thumb:hover{background:#999}.searchable-select-option{border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s ease}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover{background:#f8f9fa}.searchable-select-option.highlighted{background:#f0f4ff}.searchable-select-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:500}.searchable-select-option.selected:hover{background:linear-gradient(135deg,#5568d3,#6a4291)}.searchable-select-option.empty{color:#999;cursor:default;font-style:italic;text-align:center}.searchable-select-option.empty:hover{background:none}.searchable-select-error{color:#dc3545;font-size:13px;margin-top:4px}.searchable-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}@media (max-width:768px){.searchable-select-dropdown{max-height:300px}.searchable-select-options{max-height:240px}}.export-button-container{display:inline-block;position:relative}.export-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:all .3s ease}.export-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.export-button svg{font-size:18px}.export-button .dropdown-arrow{font-size:16px;transition:transform .3s ease}.export-button .dropdown-arrow.open{transform:rotate(180deg)}.export-dropdown-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.export-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;min-width:200px;overflow:hidden;position:absolute;top:calc(100% + 8px);z-index:1000}.export-dropdown-item{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px;text-align:right;transition:background .2s ease;width:100%}.export-dropdown-item:hover{background:#f3f4f6}.export-dropdown-item span:first-child{font-size:20px}.export-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.export-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;width:90%}.export-modal-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.export-modal-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.export-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.export-modal-close:hover{background:#f3f4f6;color:#1f2937}.export-modal-body{flex:1 1;overflow-y:auto;padding:24px}.export-modal-hint{background:#f9fafb;border-radius:8px;border-right:3px solid #667eea;color:#6b7280;font-size:14px;margin-bottom:20px;padding:12px}.export-fields-list{display:flex;flex-direction:column;gap:8px}.export-field-item{align-items:center;background:#f9fafb;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.export-field-item:hover{background:#f3f4f6}.export-field-item input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.export-field-item span{color:#374151;font-size:14px;font-weight:500}.export-grouped-notice{align-items:center;background:#dbeafe;border-radius:8px;border-right:3px solid #3b82f6;display:flex;gap:10px;margin-top:20px;padding:12px}.export-grouped-notice span:first-child{font-size:20px}.export-grouped-notice span:last-child{color:#1e40af;font-size:13px;font-weight:500}.export-formatting-option{background:#fef3c7;border-radius:8px;border-right:3px solid #f59e0b;margin-top:20px;padding:14px}.export-formatting-label{align-items:center;cursor:pointer;display:flex;gap:10px;margin-bottom:8px;-webkit-user-select:none;user-select:none}.export-formatting-label input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;height:18px;width:18px}.export-formatting-label span{color:#92400e;font-size:14px;font-weight:600}.export-formatting-hint{color:#78350f;font-size:12px;line-height:1.4;margin:0;padding-right:28px}.export-modal-footer{align-items:center;border-top:2px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.export-modal-footer button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .3s ease}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb}.btn-export{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px #10b98133}.btn-export:hover:not(:disabled){box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.btn-export:disabled{cursor:not-allowed;opacity:.5}.btn-export svg{font-size:18px}@media (max-width:768px){.export-modal{max-height:90vh;width:95%}.export-modal-body,.export-modal-footer,.export-modal-header{padding:16px}.export-button{font-size:13px;padding:8px 12px}.export-button span:nth-child(2){display:none}}.data-table-wrapper{direction:rtl;width:100%}.status-filter-bar{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:15px;margin-bottom:0;padding:16px 24px}.status-filter-label{color:#495057;font-size:15px;font-weight:600;margin:0}.status-filter-buttons{display:flex;gap:8px}.status-filter-btn{background:#f8f9fa;border:2px solid #0000;border-radius:6px;color:#6c757d;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s}.status-filter-btn:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.status-filter-btn.active{background:#e8f5e9;color:#2e7d32}.status-filter-btn.active.selected{background:#2e7d32;border-color:#2e7d32;box-shadow:0 2px 8px #2e7d324d;color:#fff}.status-filter-btn.inactive{background:#ffebee;color:#c62828}.status-filter-btn.inactive.selected{background:#c62828;border-color:#c62828;box-shadow:0 2px 8px #c628284d;color:#fff}.status-filter-btn.all{background:#e3f2fd;color:#1976d2}.status-filter-btn.all.selected{background:#1976d2;border-color:#1976d2;box-shadow:0 2px 8px #1976d24d;color:#fff}.entries-control{gap:8px}.entries-control select{transition:border-color .2s}.right-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-right:auto}.group-by-control{align-items:center;display:flex;gap:8px;min-width:200px}.group-by-control label{align-items:center;color:#495057;display:flex;font-size:14px;font-weight:600;gap:6px;white-space:nowrap}.group-by-control label svg{color:#667eea;font-size:18px}.group-by-control>div{flex:1 1;min-width:0}.filters-toggle-btn{align-items:center;border:1px solid #ced4da;border-radius:6px;display:flex;gap:8px;padding:9px 16px}.status-filter-inline{align-items:center;display:flex;gap:10px}.status-filter-inline .status-filter-buttons{display:flex;gap:6px}.status-filter-inline .status-filter-btn{font-size:13px;padding:6px 14px}.filters-toggle-btn{background:#fff;color:#495057;cursor:pointer;font-size:14px;font-weight:600;position:relative;transition:all .2s}.filters-toggle-btn:hover{background:#f8f9ff;border-color:#667eea}.filters-toggle-btn.active{background:#667eea;border-color:#667eea;color:#fff}.filters-toggle-btn svg{font-size:18px}.filter-count{align-items:center;background:#ff5252;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;margin-right:-4px;width:20px}.column-filters-section{animation:slideDown .3s ease;background:#fff;border-bottom:1px solid #e0e0e0;padding:20px 24px}.filters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.filters-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.clear-filters-btn{align-items:center;background:#fff;border:1px solid #dc3545;color:#dc3545;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px}.clear-filters-btn:hover{background:#dc3545;color:#fff}.column-filters-grid{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.filter-group-inline{align-items:center;display:flex;gap:12px}.filter-inline-label{color:#495057;font-size:14px;font-weight:600;min-width:-webkit-fit-content;min-width:fit-content;white-space:nowrap}.filter-inline-select{flex:1 1;min-width:0}.filter-group{gap:6px}.filter-group label{color:#495057;font-size:13px}.filter-select{border:1px solid #ced4da;padding:8px 12px}.filter-select:hover{border-color:#667eea}.active-filters-bar{align-items:center;background:#f8f9ff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;padding:12px 24px}.filters-label{color:#495057;font-size:14px;font-weight:600;white-space:nowrap}.filter-tags{display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.filter-tag{align-items:center;animation:fadeIn .3s ease;background:#667eea;border-radius:20px;color:#fff;display:inline-flex;font-size:13px;gap:8px;padding:6px 12px}.filter-tag strong{font-weight:600}.remove-filter-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:18px;justify-content:center;padding:0;transition:all .2s;width:18px}.remove-filter-btn:hover{background:#ffffff4d;transform:scale(1.1)}.remove-filter-btn svg{font-size:14px}.table-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:20px 24px}.entries-control{align-items:center;color:#495057;display:flex;font-size:15px;font-weight:500;gap:10px}.entries-control select{background:#fff;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;min-width:70px;padding:8px 32px 8px 12px;transition:all .2s}.entries-control select:hover{border-color:#667eea}.entries-control select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-control{align-items:center;color:#495057;display:flex;font-size:15px;font-weight:500;gap:10px}.search-input{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:14px;min-width:250px;padding:9px 16px;transition:all .2s}.search-input:focus,.search-input:hover{border-color:#667eea}.search-input::placeholder{color:#adb5bd}.data-table-container{-webkit-overflow-scrolling:touch;background:#fff;display:block;max-height:600px;max-width:100%;overflow-x:auto;overflow-y:auto;position:relative;scrollbar-color:#cbd5e0 #f7fafc;scrollbar-width:thin;width:100%}.data-table-container::-webkit-scrollbar{height:8px;width:8px}.data-table-container::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.data-table-container::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.data-table-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}.data-table-container:after,.data-table-container:before{bottom:8px;content:"";pointer-events:none;position:absolute;top:0;transition:opacity .3s;width:20px;z-index:2}.data-table-container:before{background:linear-gradient(270deg,#0000,#0000000d);left:0;opacity:0}.data-table-container:after{background:linear-gradient(90deg,#0000,#0000000d);right:0}.data-table-container.scroll-left:before{opacity:1}.data-table-container.scroll-right:after{opacity:0}.data-table{min-width:100%;table-layout:auto;white-space:nowrap}.data-table thead{background:#f8f9fa;border-bottom:2px solid #e5e7eb;color:#1f2937}.data-table th{font-size:12px;letter-spacing:.5px;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible;padding:12px;text-transform:uppercase;white-space:nowrap}.data-table th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background-color:#ffffff26}.th-content{align-items:center;display:flex;gap:8px;justify-content:space-between}.sort-icon{flex-shrink:0;font-size:18px;opacity:.6;transition:opacity .2s}.sort-icon.active{opacity:1}.data-table th.align-center .th-content{justify-content:center}.data-table th.align-left .th-content{flex-direction:row-reverse;justify-content:flex-start}.data-table th.align-center{text-align:center}.data-table th.align-left{text-align:left}.data-table td{border-bottom:2px solid #f3f4f6;color:#495057;font-size:13px;overflow:hidden;padding:14px 12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.data-table td.align-center{text-align:center}.data-table td.align-left{text-align:left}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:nth-child(2n){background:#fafbfc}.data-table tbody tr:hover{background-color:#f0f9ff}.data-table tbody tr:last-child td{border-bottom:none}.table-badge{border-radius:12px;font-size:11px;font-weight:500;padding:3px 10px}.table-badge.active{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.table-badge.inactive{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.table-badge.pending{background-color:#fed7aa;border:1px solid #fbbf24;color:#92400e}.table-badge.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.table-badge.danger{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.table-badge.warning{background-color:#fed7aa;border:1px solid #fbbf24;color:#92400e}.table-badge.info{background-color:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.index-badge{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151;font-size:13px;min-width:32px;padding:0 10px}.table-actions{display:flex;gap:8px;justify-content:flex-start}.custom-row-actions{align-items:center;display:flex;gap:8px}.btn-icon{border:none;font-size:14px;height:28px;transition:all .2s ease;width:28px}.btn-edit{background-color:#dbeafe;color:#1e40af}.btn-edit:hover{background-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d;color:#fff}.btn-delete{background-color:#fee2e2;color:#dc2626}.btn-delete:hover:not(:disabled){background-color:#ef4444;box-shadow:0 2px 8px #ef44444d;color:#fff}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.spinner-small{height:16px;width:16px}.data-table-empty{background:#fff;border-radius:0 0 12px 12px;color:#6c757d;font-size:16px;font-weight:500;padding:60px 20px;text-align:center}.table-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:20px 24px}.entries-info{color:#495057;font-size:15px;font-weight:500}.pagination{gap:6px}.page-btn,.pagination{align-items:center;display:flex}.page-btn{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:600;height:38px;justify-content:center;min-width:38px;padding:0 12px;transition:all .2s ease}.page-btn:hover:not(:disabled):not(.active){background-color:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.page-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff;font-weight:700}.page-btn:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.4}.page-ellipsis{color:#adb5bd;font-size:16px;font-weight:600;padding:0 8px}@media (max-width:768px){.table-controls{align-items:stretch;flex-direction:column;padding:12px 16px}.entries-control,.search-control{font-size:13px;justify-content:space-between;width:100%}.search-input{flex:1 1;font-size:13px;min-width:auto;padding:8px 12px}.table-footer{align-items:stretch;flex-direction:column;padding:12px 16px}.entries-info{font-size:12px;margin-top:12px;order:2;text-align:center}.pagination{flex-wrap:wrap;justify-content:center;order:1}.page-btn{font-size:12px;height:30px;min-width:30px;padding:0 6px}.data-table td,.data-table th{font-size:11px;padding:10px 8px;white-space:nowrap}.data-table th,.table-badge{font-size:10px}.table-badge{border-radius:8px;padding:2px 6px}.btn-icon{font-size:13px;height:26px;width:26px}.index-badge{font-size:11px;height:28px;min-width:28px}.data-table-container{-webkit-overflow-scrolling:touch;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;margin:0 -1px;max-height:none;overflow-x:auto;overflow-y:visible}.data-table{display:table;font-size:12px;min-width:600px;width:100%}.data-table thead{background:#fff;display:table-header-group;position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table tbody{display:table-row-group}.data-table tbody tr{display:table-row}.data-table tbody td{display:table-cell;white-space:nowrap}.attendance-badge{display:inline-flex;font-size:10px;gap:2px;padding:3px 6px;white-space:nowrap}.attendance-badge svg{font-size:12px}.data-table-container:after{display:none}}@media (max-width:480px){.page-btn{font-size:12px;height:28px;min-width:28px}.pagination{gap:2px}}@media (min-width:769px){.data-table-container{overflow-x:auto}.data-table{table-layout:auto;width:100%}}@media (max-width:768px){.data-table-container{overflow-x:hidden!important;overflow-y:visible!important}.data-table{min-width:0!important;min-width:auto!important;width:100%!important}}.grouped-data-view{background:#fff}.group-controls-bar{align-items:center;background:linear-gradient(135deg,#f8f9ff,#fff);border-bottom:2px solid #667eea;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:16px 24px}.group-info{align-items:center;color:#495057;display:flex;font-size:15px;gap:12px}.group-info strong{color:#667eea;font-weight:700}.group-count-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea4d;color:#fff;font-size:13px;font-weight:700;padding:4px 12px}.group-action-buttons{display:flex;gap:8px}.group-action-btn{align-items:center;background:#fff;border:1px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.group-action-btn:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-1px)}.group-action-btn svg{font-size:18px}.data-group{animation:fadeInGroup .3s ease;border-bottom:1px solid #e9ecef}@keyframes fadeInGroup{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.data-group:last-child{border-bottom:none}.group-header{background:linear-gradient(135deg,#f8f9fa,#fff);border-left:4px solid #0000;cursor:pointer;padding:16px 24px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.group-header:hover{background:linear-gradient(135deg,#e8e9ff,#f5f6ff);border-left-color:#667eea}.group-header-content{align-items:center;display:flex;gap:12px}.group-toggle-icon{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;transition:all .3s ease;width:32px}.group-header:hover .group-toggle-icon{box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.group-title{color:#333;flex:1 1;font-size:16px;font-weight:700}.group-count{background:#667eea1a;border-radius:20px;color:#667eea;font-size:14px;font-weight:600;padding:4px 12px}.group-items{animation:slideDownGroup .3s ease;overflow:hidden}@keyframes slideDownGroup{0%{max-height:0;opacity:0}to{max-height:5000px;opacity:1}}.group-items .data-table{margin:0}.group-items .data-table thead{background:linear-gradient(135deg,#8b9cff,#9a7ec0)}.group-items .data-table tbody tr:hover{background-color:#f8f9ff}@media (max-width:768px){.group-controls-bar{align-items:stretch;flex-direction:column}.group-info{flex-wrap:wrap;justify-content:center}.group-action-buttons{justify-content:center;width:100%}.group-action-btn{flex:1 1}.group-header{padding:12px 16px}.group-title{font-size:14px}.group-count{font-size:12px}.group-by-control{min-width:auto;width:100%}.group-by-control label{font-size:13px}}.refresh-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea33;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1;min-width:auto;overflow:hidden;padding:8px 16px;position:relative;transition:all .3s ease;white-space:nowrap;width:auto}.refresh-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea59;transform:translateY(-2px)}.refresh-button:active{box-shadow:0 2px 8px #667eea33;transform:translateY(0)}.refresh-button.refreshing{cursor:not-allowed;opacity:.8}.refresh-button.disabled{background:#ccc;box-shadow:none;cursor:not-allowed;opacity:.6}.refresh-button.disabled:hover{background:#ccc;box-shadow:none;transform:none}.refresh-icon{flex-shrink:0;font-size:16px;transition:transform .6s ease}.refresh-button.refreshing .refresh-icon{animation:spin 1s linear infinite}.refresh-label{font-family:Cairo,sans-serif}.refresh-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.refresh-button:active:before{height:300px;width:300px}@media (max-width:768px){.refresh-button{font-size:13px;padding:8px 12px}.refresh-icon{font-size:16px}}.refresh-button.compact{border-radius:50%;min-height:36px;min-width:36px;padding:8px}.refresh-button.compact .refresh-label{display:none}.refresh-button.compact .refresh-icon{font-size:18px}.page-layout{padding:0}.page-header{border-bottom:var(--border-width-base) solid var(--color-neutral-lighter);justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.header-content,.page-header{align-items:center;display:flex}.header-content{flex:1 1;gap:10px}.header-text{display:flex;flex:1 1;flex-direction:column;gap:4px}.title-row{gap:12px}.header-extra,.title-row{align-items:center;display:flex}.header-extra{gap:8px}.description{font-size:13px;margin:0}.description,.extra-info{color:var(--color-neutral-medium)}.extra-info{font-size:12px;margin-top:4px}.last-updated{color:var(--color-neutral-medium);font-size:11px;font-style:italic;margin-top:6px;opacity:.8}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.header-icon{color:var(--color-primary-main);font-size:24px}.page-header h2{color:var(--color-neutral-darker);font-size:20px;margin:0 0 4px}.page-header p{color:var(--color-neutral-medium);font-size:13px;margin:0}.btn-add{background:var(--gradient-primary);border-radius:var(--border-radius-base);box-shadow:0 2px 8px #667eea33;color:var(--color-white);font-size:13px;font-weight:var(--font-weight-semibold);gap:6px;padding:8px 16px;transition:all var(--transition-fast);white-space:nowrap}.btn-add svg{flex-shrink:0;font-size:16px}.btn-add:hover{box-shadow:0 6px 20px #667eea59}.btn-add:active{box-shadow:0 2px 8px #667eea33;transform:translateY(0)}.btn-action{align-items:center;border:none;border-radius:var(--border-radius-base);cursor:pointer;display:flex;font-size:13px;font-weight:var(--font-weight-semibold);gap:6px;line-height:1;overflow:hidden;padding:8px 16px;position:relative;transition:all var(--transition-fast);white-space:nowrap}.btn-action svg{flex-shrink:0;font-size:16px;z-index:1}.btn-action span{z-index:1}.btn-action.primary{background:var(--gradient-primary);box-shadow:0 2px 8px #667eea33;color:var(--color-white)}.btn-action.primary:hover{box-shadow:0 6px 20px #667eea59}.btn-action.success{background:var(--gradient-success);box-shadow:0 2px 8px #10b98133;color:var(--color-white)}.btn-action.success:hover{box-shadow:0 6px 20px #10b98159}.btn-action.danger{background:var(--gradient-danger);box-shadow:0 2px 8px #ef444433;color:var(--color-white)}.btn-action.danger:hover{box-shadow:0 6px 20px #ef444459}.btn-action.warning{background:var(--gradient-warning);box-shadow:0 2px 8px #f59e0b33;color:var(--color-white)}.btn-action.warning:hover{box-shadow:0 6px 20px #f59e0b59}.btn-action.secondary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea33;color:var(--color-white)}.btn-action.secondary:hover{box-shadow:0 6px 20px #667eea59}.btn-action:hover:not(:disabled){transform:translateY(-2px)}.btn-action:active:not(:disabled){transform:translateY(0)}.btn-action:disabled{cursor:not-allowed;opacity:.6;transform:none}.page-body{min-height:200px}.page-summary{background:var(--color-white);border-radius:var(--border-radius-base);box-shadow:var(--shadow-base);display:flex;gap:var(--spacing-2xl);margin-top:var(--spacing-lg);padding:var(--spacing-base) var(--spacing-lg)}.page-summary p{color:var(--color-neutral-medium);font-size:var(--font-size-sm);margin:0}.page-summary strong{color:var(--color-neutral-darker);font-size:var(--font-size-lg)}@media (max-width:768px){.page-layout{max-width:100vw;overflow-x:hidden;padding:0}.page-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:15px;padding:0}.header-content{gap:8px;width:100%}.header-icon{font-size:20px}.page-header h2{font-size:18px}.description,.page-header p{font-size:12px}.header-actions{gap:8px;width:100%}.btn-action,.btn-add{flex:1 1;justify-content:center;white-space:nowrap}.btn-action,.btn-add,.refresh-button{font-size:13px;padding:10px 12px}.refresh-label{display:none}.page-body{max-width:100%;min-height:150px;overflow-x:hidden}.page-summary{flex-direction:column;gap:10px;padding:12px}}.management-container{padding:0}.btn-add{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.btn-add:hover{box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.btn-primary{font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea4d}.btn-secondary{border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#e8e8e8}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.data-table-wrapper{background:#fff}.data-table,.data-table-wrapper{border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden}.table-header{border-bottom:1px solid #eee;justify-content:space-between;padding:20px 24px}.search-box,.table-header{align-items:center;display:flex}.search-box{background:#f5f5f5;border-radius:8px;flex:1 1;gap:12px;max-width:400px;padding:10px 16px}.search-box input{background:none;border:none;flex:1 1;font-size:14px;outline:none}table{border-collapse:collapse;width:100%}thead{background:#f8f9fa}th{border-bottom:2px solid #eee;color:#1a1a1a;font-weight:600;text-align:right}td,th{font-size:14px;padding:16px 24px}td{border-bottom:1px solid #f0f0f0;color:#333}tbody tr{transition:background-color .2s ease}tbody tr:hover{background-color:#f8f9fa}.table-badge{border-radius:6px;display:inline-block;font-size:13px;font-weight:600;letter-spacing:.3px;padding:6px 14px}.table-badge.active{background-color:#d1f4e0;color:#0f6938}.table-badge.inactive{background-color:#ffe5e5;color:#c41e3a}.info-badge{background-color:#e3f2fd;border-radius:6px;color:#0277bd;display:inline-block;font-size:13px;font-weight:600;letter-spacing:.3px;padding:6px 14px}.grade-badge{background-color:#fff4e5;color:#997404}.batch-badge{background-color:#e0f2f7;color:#01579b}.order-badge{align-items:center;display:inline-flex;font-size:14px;font-weight:600;height:36px;width:36px}.count-badge,.order-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;justify-content:center}.count-badge{box-shadow:0 2px 8px #667eea4d;font-size:15px;font-weight:700;height:40px;min-width:40px;padding:0 12px}.actions-cell{display:flex;gap:8px;justify-content:flex-end}.action-btn{background:none;font-size:18px;padding:8px;transition:all .2s ease}.action-btn.edit{color:#667eea}.action-btn.edit:hover{background-color:#e7eaff}.action-btn.delete{color:#dc3545}.action-btn.delete:hover{background-color:#ffe5e7}.action-btn:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{animation:fadeIn .2s ease}.modal-header{border-bottom:1px solid #eee;padding:24px}.modal-header h3{color:#333;font-size:20px}.btn-close{align-items:center;background:none;color:#999;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.btn-close:hover{background-color:#f5f5f5;color:#333}.modal-body{max-height:calc(90vh - 80px)}.management-form,.modal-body{padding:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.required{color:#dc3545}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;transition:border-color .2s ease}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.error-message{display:block}.form-actions{align-items:center;border-top:1px solid #eee;flex-direction:row;flex-wrap:nowrap;margin-top:24px;padding-top:20px}.form-actions button{white-space:nowrap}.spinner{border:3px solid #f3f3f3;margin-bottom:16px}.empty-state-icon{color:#ddd;font-size:64px;margin-bottom:16px}.empty-state h3{color:#666;font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{color:#999;font-size:14px}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 8px 24px #0000001f}.stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);font-size:28px;height:56px;width:56px}.stat-content h3{color:#333;font-size:28px;margin:0 0 4px}.stat-content p{color:#666;font-size:14px}@media (max-width:768px){.form-row,.stats-container{grid-template-columns:1fr}.modal-content{margin:10px;width:95%}}.index-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:inline-flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.sections-management-wrapper{direction:rtl;width:100%}.sections-management-container{min-height:100vh;padding:12px}.summary-compact{align-items:center;display:flex;gap:20px}.summary-compact .summary-item{align-items:center;display:flex;font-size:14px;gap:8px}.summary-compact .summary-label{color:var(--text-secondary);font-weight:500}.summary-compact .summary-value{color:var(--primary);font-size:16px;font-weight:700}.sections-table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:16px;overflow:hidden}.sections-table{border-collapse:collapse;font-size:14px;width:100%}.sections-table thead{background:#f8f9fa;border-bottom:2px solid #e5e7eb;color:#1f2937}.sections-table thead th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:right;text-transform:uppercase;white-space:nowrap}.sections-table tbody tr{border-bottom:2px solid #f3f4f6;transition:all var(--transition-fast)}.sections-table tbody tr:nth-child(2n){background:#fafbfc}.sections-table tbody tr:hover{background:#f0f9ff;box-shadow:none;transform:none}.sections-table tbody td{font-size:13px;padding:14px 12px;vertical-align:middle}.teacher-name{color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;text-decoration:none;transition:all var(--transition-fast)}.teacher-name:hover{color:#2563eb;text-decoration:underline;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-underline-offset:2px}.count-badge{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;color:#374151;display:inline-flex;font-size:12px;font-weight:600;gap:3px;padding:3px 8px}.count-badge svg{font-size:14px}.attendance-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:4px 10px;transition:all var(--transition-fast);white-space:nowrap}.attendance-badge svg{font-size:14px}.attendance-badge.taken{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46;cursor:pointer}.attendance-badge.taken:hover{background:#a7f3d0}.attendance-badge.not-taken{background:#fed7aa;border:1px solid #fbbf24;color:#92400e;cursor:pointer}.attendance-badge.not-taken:hover{background:#fbbf24}.attendance-badge.holiday{background:#e5e7eb;border:1px solid #d1d5db;color:#374151}.action-btn{box-shadow:none;color:#fff;display:flex;font-size:14px;height:28px;transition:all var(--transition-fast);width:28px}.students-btn{background:#3b82f6}.students-btn:hover{background:#2563eb}.attendance-btn{background:#10b981}.attendance-btn:hover{background:#059669}.exams-btn{background:#8b5cf6}.exams-btn:hover{background:#7c3aed}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;z-index:var(--z-modal-overlay)}.assignments-modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.modal-header{background:var(--gradient-primary);color:#fff}.modal-header h3{font-weight:600}.close-btn{background:#fff3;border-radius:50%;color:#fff;font-size:20px;height:32px;transition:all var(--transition-fast);width:32px}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{overflow-y:auto;padding:20px 24px}.empty-message{color:var(--text-secondary);font-size:14px;padding:40px 20px;text-align:center}.assignments-list{display:flex;flex-direction:column;gap:12px}.assignment-card{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);border-right:4px solid var(--primary);display:flex;justify-content:space-between;padding:14px 18px;transition:all var(--transition-fast)}.assignment-card:hover{background:#fff;box-shadow:var(--shadow-md);transform:translateX(-4px)}.assignment-info{display:flex;flex-direction:column;gap:4px}.assignment-info strong{color:var(--text-primary);font-size:14px;font-weight:600}.subject-name{color:var(--text-secondary);font-size:12px}.status-badge{border-radius:var(--radius-full);padding:4px 12px}.status-badge.active{background:var(--gradient-success);color:#fff}.status-badge.inactive{background:var(--bg-tertiary);color:var(--text-secondary)}.spinner{border:4px solid var(--border-color);border-top-color:var(--primary)}.loading-state p{color:var(--text-secondary);font-size:14px}.text-center{text-align:center}.clickable{cursor:pointer}@media (max-width:1024px){.sections-table{font-size:13px}.sections-table tbody td,.sections-table thead th{padding:8px 12px}.action-btn{font-size:14px;height:28px;width:28px}}@media (max-width:768px){.sections-table-container{overflow-x:auto}.sections-table{min-width:900px}.summary-compact{align-items:flex-start;flex-direction:column;gap:8px}}.change-password-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.change-password-modal-content{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.change-password-modal-header{border-bottom:2px solid #f0f0f0;margin-bottom:25px;padding-bottom:20px;text-align:center}.change-password-modal-header .modal-icon{animation:iconPulse 2s ease-in-out infinite;color:#667eea;font-size:48px;margin-bottom:15px}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.change-password-modal-header h2{color:#2d3748;font-size:24px;margin:0 0 10px}.change-password-modal-header .user-info{color:#718096;font-size:16px;font-weight:500;margin:0}.change-password-form{display:flex;flex-direction:column;gap:20px}.change-password-form .form-group{display:flex;flex-direction:column;gap:8px}.change-password-form .form-group label{color:#2d3748;font-size:14px;font-weight:600;text-align:right}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .password-input{border:2px solid #e2e8f0;border-radius:8px;direction:ltr;font-size:16px;padding:12px 45px 12px 15px;text-align:left;transition:all .3s ease;width:100%}.password-input-wrapper .password-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.password-input-wrapper .password-input:disabled{background-color:#f7fafc;cursor:not-allowed}.password-toggle-btn{align-items:center;background:none;border:none;color:#718096;cursor:pointer;display:flex;justify-content:center;left:12px;padding:8px;position:absolute;transition:color .2s ease}.password-toggle-btn:hover{color:#667eea}.password-toggle-btn:focus{outline:none}.input-hint{color:#718096;font-size:12px;text-align:right}.warning-message{background:#fff5e6;border:2px solid #ffb74d;border-radius:8px;color:#e65100;font-size:14px;line-height:1.5;padding:12px 15px;text-align:right}.warning-message strong{display:block;font-size:15px;margin-bottom:5px}.modal-actions{display:flex;gap:12px;margin-top:10px}.modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 20px;transition:all .3s ease}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-cancel{background:#e2e8f0;color:#2d3748}.btn-cancel:hover:not(:disabled){background:#cbd5e0}.btn-cancel:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.change-password-modal-content{padding:20px;width:95%}.change-password-modal-header h2{font-size:20px}.change-password-modal-header .user-info{font-size:14px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.lock-modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.lock-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:550px;overflow-y:auto;width:90%}.lock-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #f0f0f0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.lock-modal-header h2{font-size:22px;font-weight:600;margin:0}.lock-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:36px}.lock-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.lock-modal-body{padding:24px}.lock-user-info{background:#f8f9fa;border-radius:8px;border-right:4px solid #667eea;margin-bottom:20px;padding:16px}.lock-user-info p{color:#333;font-size:14px;margin:8px 0}.lock-user-info strong{color:#667eea;margin-left:8px}.lock-current-status{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:16px;padding:16px}.lock-badge{border-radius:20px;display:inline-block;font-size:13px;font-weight:600;margin-bottom:12px;padding:6px 12px}.lock-badge.locked{background:#dc3545;color:#fff}.lock-reason-display{margin-top:12px}.lock-reason-display strong{color:#856404;display:block;margin-bottom:6px}.lock-reason-display p{background:#fff;border-radius:6px;border-right:3px solid #ffc107;color:#333;margin:0;padding:10px}.lock-date{color:#6c757d;margin-top:8px}.lock-lock-section .form-group{margin-bottom:20px}.lock-lock-section label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.lock-lock-section textarea{border:2px solid #e0e0e0;border-radius:8px;direction:rtl;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.lock-lock-section textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.lock-lock-section textarea::placeholder{color:#999}.lock-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:13px;line-height:1.6;margin:16px 0;padding:12px 16px}.lock-error-message{background:#f8d7da;border:1px solid #dc3545;border-radius:8px;color:#721c24;font-size:14px;margin:16px 0;padding:12px 16px;text-align:center}.lock-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.lock-modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .2s}.btn-lock{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.btn-lock:hover:not(:disabled){box-shadow:0 4px 12px #dc35454d;transform:translateY(-2px)}.btn-unlock{background:linear-gradient(135deg,#28a745,#218838);color:#fff}.btn-unlock:hover:not(:disabled){box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background:#5a6268}.lock-modal-actions button:disabled{cursor:not-allowed;opacity:.6}[dir=rtl] .lock-modal-header{text-align:right}[dir=rtl] .lock-user-info{border-left:4px solid #667eea;border-right:none}[dir=rtl] .lock-reason-display p{border-left:3px solid #ffc107;border-right:none}.student-import-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.import-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;height:100%;left:0;position:absolute;top:0;width:100%}.import-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;position:relative;width:90%}.import-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px}.import-modal-header h2{color:#1f2937;font-size:24px;font-weight:700;margin:0}.import-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;transition:all .2s;width:40px}.import-modal-close:hover{background:#f3f4f6;color:#1f2937}.import-modal-body{flex:1 1;overflow-y:auto;padding:32px}.import-step-indicator{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:center;padding:24px 32px}.step-item{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:100px;transition:all .3s}.step-item.active .step-number{background:#3b82f6;color:#fff;transform:scale(1.1)}.step-item.completed .step-number{background:#10b981;color:#fff}.step-number{background:#e5e7eb;color:#6b7280;font-size:20px;transition:all .3s}.step-label{color:#6b7280;font-size:13px}.step-item.active .step-label{color:#3b82f6}.step-item.completed .step-label{color:#10b981}.step-connector{background:#e5e7eb;flex:1 1;height:2px;margin:0 8px;max-width:60px;transition:all .3s}.step-connector.completed{background:#10b981}.import-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;gap:12px;margin-bottom:24px;padding:16px}.import-error-banner .error-icon{font-size:24px}.import-error-banner button{background:none;border:none;border-radius:4px;color:#991b1b;cursor:pointer;font-size:20px;margin-left:auto;padding:4px 8px}.import-error-banner button:hover{background:#fee2e2}.import-step-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:32px;padding-top:24px}.import-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.import-btn-primary{background:#3b82f6;color:#fff}.import-btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.import-btn-secondary{background:#f3f4f6;color:#374151}.import-btn-secondary:hover:not(:disabled){background:#e5e7eb}.import-btn:disabled{cursor:not-allowed;opacity:.5}.import-spinner{animation:spin .6s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;display:inline-block;height:16px;width:16px}@media (max-width:768px){.import-modal-content{max-height:95vh;width:95%}.import-step-indicator{overflow-x:auto;padding:16px}.step-item{min-width:80px}.step-number{font-size:16px;height:40px;width:40px}.step-label{font-size:11px}.step-connector{max-width:40px}}.btn-view-profile{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-view-profile:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.btn-view-profile svg{font-size:16px}.btn-transfer{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-transfer:hover{box-shadow:0 4px 8px #4facfe4d;transform:translateY(-1px)}.btn-transfer svg{font-size:16px}.btn-activate-account{align-items:center;background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-activate-account:hover:not(:disabled){background:#16a34a;box-shadow:0 4px 12px #22c55e59;transform:translateY(-1px)}.btn-activate-account:disabled{cursor:default;opacity:.7}.student-form-page{background:#f5f5f5;max-height:100vh;min-height:100vh;overflow-y:auto;padding:24px}.student-form{margin:0 auto;max-width:1200px}.form-section.highlight-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.highlight-section .section-header h3{color:#fff}.highlight-section .readonly-field label{color:#ffffffe6}.highlight-section .readonly-input{background:#ffffff26;border:1px solid #ffffff4d;color:#fff;font-size:18px;font-weight:600}.section-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea26;margin-bottom:24px;padding:16px 20px}.section-header h3{color:#fff;font-size:22px;font-weight:700;text-shadow:0 2px 4px #0000001a}.required-note{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;color:#fff;padding:6px 12px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea}.form-group input.error{border-color:#dc3545}.form-group input.error:focus{box-shadow:0 0 0 3px #dc35451a}.readonly-field{margin-top:8px}.readonly-field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.readonly-input{font-size:16px}.readonly-fields{margin-top:24px}.readonly-fields h4{color:#667eea;font-size:16px;font-weight:600;margin:0 0 16px}[dir=rtl] .form-grid{direction:rtl}[dir=rtl] .form-group label .required{margin-left:4px;margin-right:0}@media (max-width:768px){.page-header,.student-form-page{padding:16px}.header-title h1{font-size:22px}.header-icon{font-size:32px}.form-section{padding:16px}.form-grid{gap:16px;grid-template-columns:1fr}.form-actions{flex-direction:column;position:static}.form-actions button{justify-content:center;width:100%}}.student-name-cell strong{color:#1a1a1a;font-size:14px}.school-number-sub{font-family:Courier New,monospace;font-size:12px;font-weight:500}.field-hint{color:#999}.form-group-full-width{grid-column:1/-1}.leaving-note-label{align-items:center;color:#dc3545;display:flex;font-weight:600;gap:6px}.leaving-note-input{background-color:#fff5f5;border:2px solid #dc3545;border-radius:8px;color:#dc3545;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;transition:all .2s ease;width:100%}.leaving-note-input:focus{background-color:#fff;border-color:#c82333;box-shadow:0 0 0 3px #dc35451a;outline:none}.leaving-note-input::placeholder{color:#dc354580;font-style:italic}.delete-student-modal{max-width:550px;width:90%}.delete-student-modal .modal-header{align-items:center;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.delete-student-modal .modal-header h3{font-size:20px;font-weight:600;margin:0}.modal-close-btn{background:#fff3;font-size:20px}.modal-close-btn:hover{background:#ffffff4d}.delete-student-modal .modal-body{padding:24px}.delete-confirm-text{color:#333;font-size:16px;line-height:1.6;margin-bottom:24px}.delete-confirm-text strong{color:#dc3545;font-weight:600}.delete-student-modal .form-group{margin-bottom:20px}.delete-student-modal .form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.delete-student-modal .form-group label.required:after{color:#dc3545;content:" *";font-weight:700}.delete-student-modal .form-control{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.delete-student-modal select.form-control{background-color:#fff;cursor:pointer}.delete-student-modal textarea.form-control{min-height:80px;resize:vertical}.delete-student-modal .form-control:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a;outline:none}.delete-student-modal .alert{border-radius:8px;font-size:13px;line-height:1.6;margin-top:20px;padding:12px 16px}.delete-student-modal .alert-warning{background-color:#fff3cd;border:1px solid #ffc107;color:#856404}.delete-student-modal .alert strong{display:block;font-weight:600;margin-bottom:4px}.delete-student-modal .modal-footer{background-color:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.delete-student-modal .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 24px;transition:all .2s}.delete-student-modal .btn-secondary{background-color:#6c757d;color:#fff}.delete-student-modal .btn-secondary:hover:not(:disabled){background-color:#5a6268}.delete-student-modal .btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.delete-student-modal .btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.delete-student-modal .btn:disabled{cursor:not-allowed;opacity:.6}.payment-invoice-modal{max-height:85vh;max-width:550px;overflow-y:auto}.payment-summary-card{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;color:#fff;margin-bottom:1.2rem;padding:1rem}.payment-summary-card h3{font-size:1rem;font-weight:600;margin:0 0 .75rem}.summary-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,1fr)}.summary-item{flex-direction:column;gap:.2rem}.summary-item .label{font-size:.75rem;opacity:.9}.summary-item .value{font-size:.95rem;font-weight:600}.summary-item.highlight{background:#ffffff26;border-radius:6px;grid-column:1/-1;padding:.6rem}.summary-item.highlight .value{font-size:1.1rem}.summary-item .value.success{color:#86efac}.summary-item .value.error{color:#fca5a5}.payment-type-selector{display:flex;gap:.75rem;margin-bottom:1.2rem}.type-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:.4rem;justify-content:center;padding:.75rem;transition:all .2s}.type-btn:hover:not(:disabled){border-color:#6366f1;box-shadow:0 4px 6px #0000001a;color:#6366f1;transform:translateY(-2px)}.type-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.type-btn:disabled{cursor:not-allowed;opacity:.5}.type-btn svg{font-size:1.25rem}.calculation-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.2rem;padding:.85rem}.calculation-preview h4{color:#374151;font-size:.9rem;margin:0 0 .75rem}.calc-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;font-size:.85rem;justify-content:space-between;padding:.4rem 0}.calc-row:last-child{border-bottom:none}.calc-row.total{border-top:2px solid #d1d5db;color:#111827;font-size:.95rem;font-weight:600;margin-top:.4rem;padding-top:.75rem}.calc-row.remaining{font-weight:600}.calc-row.status{border-top:1px solid #d1d5db;margin-top:.4rem;padding-top:.75rem}.calc-row .highlight{color:#6366f1;font-weight:600}.exemption-note{align-items:flex-start;background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;display:flex;gap:.6rem;margin-bottom:1.2rem;padding:.85rem}.exemption-note svg{color:#3b82f6;flex-shrink:0;font-size:1.25rem;margin-top:.125rem}.exemption-note p{color:#1e40af;font-size:.85rem;line-height:1.4;margin:0}.helper-text{color:#6b7280;display:block;font-size:.8rem;margin-top:.4rem}.info-note{align-items:start;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;display:flex;gap:.6rem;margin-bottom:1.2rem;padding:.85rem}.info-note svg{color:#f59e0b;flex-shrink:0;font-size:1.1rem;margin-top:.125rem}.info-note p{color:#92400e;font-size:.8rem;line-height:1.4;margin:0}.badge{border-radius:10px;display:inline-block;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.badge-unpaid{background:#fee2e2;color:#991b1b}.badge-partial{background:#fef3c7;color:#92400e}.badge-paid{background:#d1fae5;color:#065f46}.badge-exempt{background:#dbeafe;color:#1e40af}.badge-default{background:#f3f4f6;color:#374151}.loading-state{gap:1rem;padding:3rem}.spinner{border:4px solid #f3f4f6;height:40px;width:40px}.error-message{color:#991b1b;padding:2rem;text-align:center}@media (max-width:640px){.payment-invoice-modal{max-width:95vw}.summary-grid{grid-template-columns:1fr}.summary-item.highlight{grid-column:1}.payment-type-selector{flex-direction:column}}.profile-container{direction:rtl;margin:0 auto;max-width:1200px;padding:20px;width:100%}.profile-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}.back-btn,.print-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.back-btn:hover,.print-btn:hover{box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}.print-btn{background:linear-gradient(135deg,#10b981,#059669)}.profile-header{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;box-shadow:0 4px 20px #6366f14d;color:#fff;display:flex;gap:20px;margin-bottom:30px;padding:30px}.profile-picture-container{flex-shrink:0;height:120px;position:relative;width:120px}.profile-picture{display:block;object-fit:cover}.profile-picture,.profile-picture-placeholder{border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0003;height:120px;width:120px}.profile-picture-placeholder{background:linear-gradient(135deg,#fff,#f0f0f0);color:#667eea;font-size:48px;font-weight:700;text-transform:uppercase}.profile-picture-placeholder,.upload-picture-btn{align-items:center;display:flex;justify-content:center}.upload-picture-btn{background:#fff;border:3px solid #667eea;border-radius:50%;bottom:0;box-shadow:0 2px 8px #0003;cursor:pointer;font-size:20px;height:40px;position:absolute;right:0;transition:all .3s ease;width:40px}.upload-picture-btn:hover:not(:disabled){background:#667eea;box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.upload-picture-btn:disabled{cursor:not-allowed;opacity:.6}.edit-profile-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 8px #3b82f633;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.edit-profile-btn:hover{box-shadow:0 4px 16px #3b82f64d;transform:translateY(-2px)}.edit-profile-btn:active{transform:translateY(0)}.quick-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:2px solid #0000;box-shadow:0 2px 12px #00000014;gap:16px;padding:24px}.stat-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-4px)}.stat-icon{border-radius:16px;height:64px;transition:all .3s ease;width:64px}.stat-card:first-child .stat-icon{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 4px 15px #4caf504d;color:#fff;font-size:40px}.stat-card:nth-child(2) .stat-icon{background:linear-gradient(135deg,#7b1fa2,#9c27b0);box-shadow:0 4px 15px #9c27b04d;color:#fff;font-size:40px}.stat-card.payment-warning .stat-icon{background:linear-gradient(135deg,#ff9800,#ffa726);box-shadow:0 4px 15px #ff98004d;color:#fff;font-size:40px}.stat-card.payment-success .stat-icon{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 4px 15px #10b9814d;color:#fff;font-size:40px}.stat-card:hover .stat-icon{transform:scale(1.05)}.stat-info{flex:1 1;min-width:0}.stat-value{color:#333;font-size:28px;line-height:1.2;margin-bottom:6px}.stat-label{font-size:14px;font-weight:600}.stat-details{color:#888;font-size:12px;line-height:1.4;margin-top:6px}.stat-card.payment-warning{background:linear-gradient(135deg,#fff9f0,#fff);border-color:#ff9800}.stat-card.payment-success{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#10b981}.stat-card.payment-warning:hover{border-color:#f57c00;box-shadow:0 8px 24px #f57c0033}.stat-card.payment-success:hover{border-color:#059669;box-shadow:0 8px 24px #10b98133}.profile-header-info h2{font-size:28px;margin:0 0 10px}.profile-badges{display:flex;flex-wrap:wrap;gap:10px}.badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;font-size:13px;padding:6px 12px}.badge.status-active{background:#4caf50e6}.badge.status-inactive{background:#f44336e6}.profile-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:30px;overflow-x:auto}.profile-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.profile-tabs button:hover{background:#667eea0d;color:#667eea}.profile-tabs button.active{background:#667eea1a;border-bottom-color:#667eea;color:#667eea}.profile-content{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:30px}.collapsible-section{border:1px solid #e0e0e0;border-radius:10px;margin-bottom:25px;overflow:hidden;transition:all .3s ease}.collapsible-section:hover{box-shadow:0 2px 8px #667eea26}.section-header{background:linear-gradient(135deg,#f5f7fa,#e8ebf0);cursor:pointer;padding:18px 24px;transition:all .3s ease}.section-header:hover{background:linear-gradient(135deg,#e8ebf0,#dde1e7)}.section-header h3{color:#333;font-size:18px}.arrow{color:#667eea;font-size:12px;transition:transform .3s ease}.arrow.open{transform:rotate(180deg)}.section-content{animation:slideDown .3s ease;background:#fff;padding:24px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.info-item{background:#f9fafb;border-radius:8px;border-right:4px solid #667eea;padding:10px;transition:all .3s ease}.info-item:hover{background:#f0f4ff;transform:translateX(-5px)}.info-item.full-width{grid-column:1/-1}.info-item strong{color:#667eea;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#333;font-size:16px}.table-container{margin-top:20px}.data-table{background:#fff;border-collapse:collapse;width:100%}.data-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.data-table th{font-size:14px;font-weight:600;padding:15px;text-align:right}.data-table td{border-bottom:1px solid #e0e0e0;padding:12px 15px}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:#f5f7fa;transform:scale(1.01)}.status-badge{padding:5px 12px}.status-badge.active{background:#e8f5e9;color:#4caf50}.status-badge.inactive{background:#ffebee;color:#f44336}.status-badge.present{background:#e8f5e9;color:#4caf50}.status-badge.absent{background:#ffebee;color:#f44336}.status-badge.paid{background:#e8f5e9;color:#4caf50}.status-badge.partial{background:#fff3e0;color:#ff9800}.status-badge.unpaid{background:#ffebee;color:#f44336}.attendance-summary,.summary-card{margin-bottom:20px}.summary-card{flex-wrap:wrap;gap:12px}.summary-item{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;flex:1 1;min-width:120px;text-align:center;transition:all .3s ease}.summary-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-item.present{background:#ecfdf5;border-color:#10b981}.summary-item.absent{background:#fef2f2;border-color:#ef4444}.summary-item.late{background:#fffbeb}.summary-item.percentage{background:#eff6ff;border-color:#3b82f6}.summary-label{color:#6b7280;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.summary-value{color:#111827;display:block;font-size:22px}.score-display{color:#333;font-weight:600}.percentage-badge{font-size:13px}.percentage-badge.pass{background:#e8f5e9;color:#4caf50}.percentage-badge.fail{background:#ffebee;color:#f44336}.empty-state{color:#999;font-size:16px}.profile-loading{animation:pulse 1.5s ease-in-out infinite;color:#667eea;font-size:18px;padding:100px 20px;text-align:center}.profile-error{color:#f44336;font-size:16px;padding:60px 20px;text-align:center}.profile-error p{margin-bottom:20px}.profile-empty{color:#999;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.profile-container{padding:15px}.profile-header{flex-direction:column;padding:20px;text-align:center}.profile-picture-container{margin:0 auto}.quick-stats{grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{font-size:40px;height:56px;width:56px}.stat-value{font-size:28px}.info-grid,.summary-card{grid-template-columns:1fr}.profile-actions{flex-direction:column;gap:8px}.back-btn,.print-btn{width:100%}.profile-tabs{gap:5px}.profile-tabs button{font-size:13px;padding:10px 16px}.data-table td,.data-table th{font-size:13px;padding:10px}}@media print{.profile-actions,.profile-tabs,.upload-picture-btn{display:none!important}.profile-container{max-width:100%}.profile-content{box-shadow:none}.collapsible-section .section-header{background:#fff;border-bottom:2px solid #333}.section-content{display:block!important}.arrow{display:none}.quick-stats{page-break-after:avoid}.stat-card{border:1px solid #ddd;box-shadow:none}}.payments-tab{padding:1.5rem}.tab-header{margin-bottom:1.5rem}.tab-header h3{color:#1f2937;font-size:1.5rem}.tab-actions{gap:.75rem}.btn-icon,.tab-actions{align-items:center;display:flex}.btn-icon{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;justify-content:center;padding:.5rem;transition:all .2s}.btn-icon:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.btn-icon svg{color:#6b7280;font-size:1.25rem}.btn-icon svg.spinning{animation:spin 1s linear infinite}.btn-primary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px)}.btn-primary svg{font-size:1.125rem}.payment-summary-section{background:#fff;margin-bottom:2rem;padding:0}.summary-cards{grid-gap:0;border-bottom:1px solid #e5e7eb;gap:0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.summary-card{border-left:1px solid #e5e7eb;padding:1.25rem;transition:all .3s ease}.summary-card:first-child{border-left:none}.summary-card:hover{background:#f9fafb}.summary-card.highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left-color:#3b82f6;border-left-width:3px}.summary-card.success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left-color:#22c55e;border-left-width:3px}.summary-card.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left-color:#f59e0b;border-left-width:3px}.summary-card .card-label{color:#6b7280;font-size:.813rem;font-weight:600;letter-spacing:.3px;margin-bottom:.5rem;text-transform:uppercase}.summary-card .card-value{color:#111827;font-size:1.5rem;font-weight:700}.summary-card.highlight .card-value{color:#1e40af}.summary-card.success .card-value{color:#15803d}.summary-card.warning .card-value{color:#d97706}.last-payment-info{background:#f9fafb;color:#6b7280;font-size:.875rem;font-weight:500;padding:1rem 1.25rem}.payment-history{margin-top:2rem}.payment-history h4{color:#1f2937;font-size:1.25rem;margin:0 0 1rem}.payment-type-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.payment-type-badge.regular{background:#dbeafe;color:#1e40af}.payment-type-badge.exempt{background:#d1fae5;color:#065f46}.data-table td.amount{color:#1f2937;font-weight:600}.data-table td.note{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.status-unpaid{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.status-badge.status-partial{background:#fffbeb;border:1px solid #fde68a;color:#d97706}.status-badge.status-paid{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.status-badge.status-exempt{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.status-badge.status-default{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}@media (max-width:768px){.summary-cards{grid-template-columns:1fr}.summary-card.highlight{grid-column:span 1}.tab-header{align-items:flex-start;flex-direction:column;gap:1rem}.tab-actions{justify-content:space-between;width:100%}}.tab-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.tab-header h3{color:#333;font-size:20px;font-weight:700;margin:0}.export-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 8px #10b98133;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.export-btn:hover{box-shadow:0 4px 16px #10b9814d;transform:translateY(-2px)}.export-btn:active{transform:translateY(0)}.attendance-table tbody tr:hover{background:#f8fafc}.attendance-table .status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:6px 14px}.attendance-table .status-badge.present{background:#d1fae5;color:#065f46}.attendance-table .status-badge.absent{background:#fee2e2;color:#991b1b}.attendance-table .status-badge.late{background:#fef3c7;color:#92400e}.summary-item.late{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.student-section-transfer{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1400px;padding:24px}.transfer-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:12px;margin-bottom:32px;padding-bottom:16px}.transfer-header .header-icon{color:#1976d2;font-size:36px}.transfer-header h2{color:#333;font-size:28px;margin:0}.steps-progress{display:flex;justify-content:space-between;margin-bottom:40px;padding:0 20px;position:relative}.steps-progress:before{background:#e0e0e0;content:"";height:2px;left:10%;position:absolute;right:10%;top:24px;z-index:0}.step-indicator{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;position:relative;z-index:1}.step-number{background:#e0e0e0;border:3px solid #fff;box-shadow:0 2px 4px #0000001a;color:#999;font-size:18px;height:48px;transition:all .3s ease;width:48px}.step-indicator.active .step-number{background:#1976d2;box-shadow:0 4px 8px #1976d24d;color:#fff;transform:scale(1.1)}.step-indicator.completed .step-number{background:#4caf50;color:#fff}.step-label{color:#666;font-size:14px;font-weight:600;text-align:center}.step-indicator.active .step-label{color:#1976d2}.step-indicator.completed .step-label{color:#4caf50}.transfer-content{background:#fafafa;border-radius:8px;min-height:500px;padding:32px}.transfer-step h3{color:#333;font-size:22px;margin-bottom:24px;margin-top:0;text-align:center}.form-group label{color:#555}.students-selection{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin:24px 0;padding:16px}.students-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.students-header label{color:#333;font-weight:600;margin:0}.btn-link{background:none;border:none;color:#1976d2;cursor:pointer;font-size:14px;font-weight:600;text-decoration:underline}.btn-link:hover{color:#1565c0}.students-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px;overflow-y:auto;padding:8px}.student-checkbox{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s ease}.student-checkbox:hover{background:#f0f0f0;border-color:#1976d2}.student-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.student-checkbox input[type=checkbox]:checked{accent-color:#1976d2}.student-checkbox span{color:#333;font-size:14px}.exam-alert-card{background:#fff;border-radius:8px;border-right:6px solid;display:flex;gap:16px;margin-bottom:20px;padding:16px}.exam-alert-card.warning{background:#fff8e1;border:1px solid #ffb74d;border-right-color:#f57c00}.exam-alert-card.info{background:#e3f2fd;border:1px solid #64b5f6;border-right-color:#1976d2}.exam-alert-card.danger{background:#ffebee;border:1px solid #ef5350;border-right-color:#d32f2f}.exam-alert-card .alert-icon{color:#f57c00;flex-shrink:0;font-size:32px}.exam-alert-card .alert-content{flex:1 1}.exam-alert-card.info .alert-icon{color:#1976d2}.exam-alert-card.danger .alert-icon{color:#d32f2f}.exam-alert-card h4{color:#333;font-size:18px;margin:0 0 8px}.exam-alert-card p{color:#555;font-size:14px;line-height:1.5;margin:0 0 8px}.exam-alert-card ul{color:#444;font-size:14px;margin:0;padding-right:20px}.exam-alert-card li{margin-bottom:4px}.exam-alert-card .list-meta{color:#777;font-size:12px}.student-exams-table{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;overflow:hidden}.student-exams-header{align-items:center;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px}.student-exams-header h4{color:#1976d2;font-size:18px;margin:0}.student-summary-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.summary-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:4px 10px}.summary-chip.success{background:#e8f5e9;color:#2e7d32}.summary-chip.warning{background:#fff8e1;color:#f57c00}.summary-chip.danger{background:#ffebee;color:#c62828}.summary-chip.info{background:#e3f2fd;color:#1976d2}.exam-table-wrapper{overflow-x:auto}.exam-compact-table{border-collapse:collapse;min-width:780px;width:100%}.exam-compact-table thead{background:#fafafa}.exam-compact-table td,.exam-compact-table th{border-bottom:1px solid #ececec;font-size:14px;padding:10px 12px;text-align:right;white-space:nowrap}.exam-compact-table td.match-cell{min-width:240px}.exam-compact-table tbody tr:hover{background:#f7f9fc}.exam-compact-table tr.status-noMatch{background:#fff8e1}.exam-compact-table tr.status-newExam{background:#e3f2fd}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px}.status-pill.matched{background:#e8f5e9;color:#2e7d32}.status-pill.needsSelection{background:#fff8e1;color:#f57c00}.status-pill.noMatch{background:#ffebee;color:#c62828}.status-pill.newExam{background:#e3f2fd;color:#1976d2}.match-cell .searchable-select-container{min-width:220px;width:100%}.no-match-note{color:#c62828;font-size:13px;font-weight:600}.new-exam-note{color:#1976d2;font-size:12px;font-style:italic;line-height:1.4}.new-exam-mark{color:#1976d2;font-weight:600}.attendance-table-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;overflow-x:auto}.attendance-table{border-collapse:collapse;font-size:14px;width:100%}.attendance-table thead{background:#1976d2;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.attendance-table td,.attendance-table th{border:1px solid #e0e0e0;padding:12px;text-align:center}.attendance-table th{font-weight:600;white-space:nowrap}.attendance-table td.student-name{background:#fff;color:#333;font-weight:600;position:-webkit-sticky;position:sticky;right:0;text-align:right;z-index:5}.attendance-table tbody tr:nth-child(2n){background:#f9f9f9}.attendance-table tbody tr:hover{background:#f0f7ff}.attendance-cell{min-width:60px}.attendance-icon{border-radius:50%;display:inline-block;font-size:16px;font-weight:700;height:24px;line-height:24px;width:24px}.attendance-icon.present{background:#4caf50;color:#fff}.attendance-icon.absent{background:#f44336;color:#fff}.attendance-icon.late{background:#ff9800;color:#fff}.attendance-icon.none{background:#9e9e9e;color:#fff}.unmatched-count{color:#f57c00;font-weight:600}.attendance-legend{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.attendance-legend h5{color:#555;margin:0 0 12px}.legend-items{display:flex;flex-wrap:wrap;gap:24px}.legend-items>div{align-items:center;color:#666;display:flex;font-size:14px;gap:8px}.empty-state{background:#fafafa;border:1px dashed #cfd8dc;border-radius:8px;color:#777;padding:24px}.confirmation-card{background:#fff;border:2px solid #ff9800;border-radius:8px;padding:24px;text-align:center}.warning-icon-large{color:#ff9800;font-size:64px;margin-bottom:16px}.confirmation-card h4{color:#f57c00;font-size:24px;margin:0 0 24px}.transfer-summary{margin:24px auto;max-width:600px;text-align:right}.summary-item{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 16px}.summary-item:last-child{border-bottom:none}.summary-item strong{color:#555}.summary-item span{color:#333;font-weight:600}.warning-text{color:#d32f2f;font-size:16px;font-weight:600;line-height:1.6;margin:24px 0 0}.step-actions{border-top:1px solid #e0e0e0;display:flex;gap:16px;justify-content:center;margin-top:32px;padding-top:24px}.btn-danger,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-primary{background:#1976d2}.btn-primary:hover:not(:disabled){background:#1565c0;box-shadow:0 4px 8px #1976d24d}.btn-secondary{background:#f5f5f5;border:1px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-danger{background:#d32f2f;color:#fff}.btn-danger:hover:not(:disabled){background:#c62828;box-shadow:0 4px 8px #d32f2f4d;transform:translateY(-2px)}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.student-section-transfer{padding:16px}.transfer-header h2{font-size:22px}.steps-progress{padding:0 8px}.step-number{font-size:16px;height:40px;width:40px}.step-label{font-size:12px}.transfer-content{padding:16px}.students-list{grid-template-columns:1fr}.legend-items{gap:12px}.legend-items,.step-actions{flex-direction:column}.btn-danger,.btn-primary,.btn-secondary{justify-content:center;width:100%}.attendance-table td,.attendance-table th{font-size:12px;padding:8px}}@media (max-width:480px){.transfer-header{flex-direction:column;text-align:center}.steps-progress:before{display:none}.steps-progress{flex-wrap:wrap;gap:16px}.step-indicator{flex-basis:calc(50% - 8px);flex-grow:0;flex-shrink:0}}.enrollment-form-page{background:#f5f5f5;max-height:100vh;min-height:100vh;overflow-y:auto;padding:24px}.page-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.header-title{align-items:center;display:flex;gap:16px}.header-icon{color:#667eea;font-size:40px}.header-title h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0}.header-title p{color:#666;font-size:14px;margin:4px 0 0}.enrollment-form{margin:0 auto;max-width:1000px}.form-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.section-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.section-header h3{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.required-note{color:#dc3545;font-size:13px;font-weight:500}.form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group label{color:#333}.form-group label .required{color:#dc3545;margin-right:4px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.error,.form-group select.error{border-color:#dc3545}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #dc35451a}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.error-message{color:#dc3545;font-size:13px;margin-top:6px}.field-hint{color:#6c757d}.readonly-fields{border-radius:8px;padding:20px}.readonly-fields,.readonly-input{background:#f8f9fa;border:1px solid #e0e0e0}.readonly-input{border-radius:8px;color:#495057;cursor:not-allowed;font-size:14px;padding:12px;width:100%}.form-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:12px;justify-content:flex-end;margin-bottom:24px;padding:24px}.form-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:12px 32px;transition:all .3s ease}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#f8f9fa;border:1px solid #ddd;color:#495057}.btn-secondary:hover:not(:disabled){background:#e9ecef}.loading-state{gap:16px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3}.loading-state p{color:#666;font-size:16px}@media (max-width:768px){.enrollment-form-page,.page-header{padding:16px}.header-title h1{font-size:22px}.header-icon{font-size:32px}.form-section{padding:16px}.form-grid{gap:16px;grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{justify-content:center;width:100%}}.assignment-form-page{background:#f5f5f5;max-height:100vh;min-height:100vh;overflow-y:auto;padding:24px 24px 48px}.assignment-form{margin-left:auto;margin-right:auto;margin-top:16px;max-width:1100px}.assignments-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:40px 0}.assignments-spinner{animation:spin 1s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;height:42px;width:42px}.assignment-summary{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 24px}.assignment-summary .summary-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 4px 16px #0f172a14;display:flex;flex:1 1 200px;flex-direction:column;gap:6px;padding:16px 20px}.assignment-summary .summary-card.success{border-left-color:#22c55e}.assignment-summary .summary-card.warning{border-left-color:#f59e0b}.assignment-summary .summary-label{color:#64748b;font-size:13px}.assignment-summary .summary-value{color:#0f172a;font-size:24px;font-weight:600}.assignment-form .form-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.assignment-form .form-toolbar .btn-secondary{align-items:center;display:inline-flex;gap:6px}.assignment-form .form-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.assignment-form .form-group{display:flex;flex-direction:column}.assignment-form .form-group.full-width{grid-column:1/-1}.assignment-form .readonly-fields{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.assignment-form .readonly-input{background:#f1f5f9;border:1px solid #d0d7e2;border-radius:8px;color:#1e293b;cursor:not-allowed;padding:12px;width:100%}.assignment-form .field-hint{color:#6b7280;font-size:12px;margin-top:6px}.assignment-form .leave-note-group label{color:#b91c1c}.assignment-form .leave-note-group textarea{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}.assignment-form .leave-note-group textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.assignment-form .leave-note-group .field-hint{color:#b91c1c}.assignment-form .info-box{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;color:#3730a3;margin-top:20px;padding:16px 20px}.assignment-form .info-box.warning{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.assignment-form .form-group.has-error input,.assignment-form .form-group.has-error select{border-color:#dc3545}.assignment-form .form-group.has-error input:focus,.assignment-form .form-group.has-error select:focus{box-shadow:0 0 0 3px #dc35451a}@media (max-width:768px){.assignment-form-page{padding:16px 16px 32px}.assignment-summary{flex-direction:column}.assignment-form .form-toolbar{justify-content:flex-start}.assignment-form .form-grid{grid-template-columns:1fr}}.attendance-form-container{max-height:90vh;max-width:1200px;overflow-y:auto;width:95%}@media (max-width:768px){.attendance-form-container{background:#f0f2f5;height:100vh;margin:0;max-height:100vh;max-width:100%;padding:0;width:100%}}.attendance-header-section{background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:1rem;padding:1rem}.section-info{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);display:flex;gap:1.5rem;margin-top:.8rem;padding-top:.8rem}.section-info p{font-size:.9rem;margin:0}.bulk-actions{align-items:center;background:#f5f5f5;background:var(--background,#f5f5f5);border-radius:8px;display:flex;gap:.8rem;margin-bottom:1rem;padding:.8rem 1rem}.bulk-actions label{font-size:.9rem;font-weight:600;margin:0}.bulk-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.bulk-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;gap:.4rem;padding:.4rem .8rem;transition:all .2s}.bulk-btn svg{flex-shrink:0;font-size:1.1rem}.bulk-btn.present{background:#e8f5e9;color:#2e7d32}.bulk-btn.present:hover{background:#c8e6c9}.bulk-btn.absent{background:#ffebee;color:#c62828}.bulk-btn.absent:hover{background:#ffcdd2}.bulk-btn.late{background:#fff3e0;color:#e65100}.bulk-btn.late:hover{background:#ffe0b2}.status-summary{background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;padding:.8rem 1rem}.status-summary .summary-item{align-items:center;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;min-width:0;white-space:nowrap}.status-summary .summary-item svg{font-size:1.2rem}.status-summary .summary-item.present{color:#2e7d32}.status-summary .summary-item.absent{color:#c62828}.status-summary .summary-item.late{color:#e65100}.students-attendance-list{background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;padding:1rem}.students-attendance-list h3{color:#333;color:var(--text-primary,#333);font-size:1rem;margin:0 0 .8rem}.attendance-grid{display:flex;flex-direction:column;gap:.7rem;max-height:500px;overflow-y:auto;padding-right:.5rem}@media (max-width:768px){.attendance-grid{gap:1rem;max-height:none;overflow-y:visible;padding:0 1rem 1rem}}.attendance-item{grid-gap:.8rem;align-items:center;background:#f9f9f9;background:var(--background,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;display:grid;gap:.8rem;grid-template-columns:2fr 1fr 2fr;padding:.8rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.attendance-item:hover{box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.student-info{display:flex;flex-direction:column;gap:.25rem}.student-name{color:#333;color:var(--text-primary,#333);font-weight:600}.student-id{color:#666;color:var(--text-secondary,#666);font-size:.85rem}.status-buttons{gap:.4rem}.status-btn{background:var(--card-bg,#fff);border:2px solid #ddd;border:2px solid var(--border-color,#ddd);font-size:1.2rem;height:36px;transition:all .25s cubic-bezier(.4,0,.2,1);width:36px}.status-btn.active,.status-btn:hover{box-shadow:0 4px 10px #00000026;transform:translateY(-2px)}.status-btn:active{transform:scale(.95)}.status-btn.present{color:#2e7d32}.status-btn.present.active{background:#e8f5e9;border-color:#2e7d32}.status-btn.absent{color:#c62828}.status-btn.absent.active{background:#ffebee;border-color:#c62828}.status-btn.late{color:#e65100}.status-btn.late.active{background:#fff3e0;border-color:#e65100}.notes-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;font-size:.9rem;padding:.5rem;transition:all .2s;width:100%}.notes-input:focus{border-color:#1976d2;border-color:var(--primary-color,#1976d2);box-shadow:0 0 0 3px #1976d21a;outline:none}.filters-toggle{background:#1976d2;background:var(--primary-color,#1976d2);border-radius:6px;display:flex;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.filters-toggle:hover{background:#1565c0;background:var(--primary-dark,#1565c0);transform:translateY(-1px)}.filters-container{background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border-color,#e0e0e0);margin-top:1rem;padding:1.5rem}.filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.attendance-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.4rem .8rem}.attendance-status-badge.present{background:#e8f5e9;color:#2e7d32}.attendance-status-badge.absent{background:#ffebee;color:#c62828}.attendance-status-badge.late{background:#fff3e0;color:#e65100}.date-badge{background:#f5f5f5;background:var(--background,#f5f5f5);border-radius:6px;font-size:.9rem;font-weight:600;padding:.4rem .8rem}.student-cell{gap:.25rem}.student-id-small{color:#666;color:var(--text-secondary,#666);font-size:.8rem}.attendance-summary-container{background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;padding:1.5rem}.summary-header{margin-bottom:1.5rem}.summary-header h3{color:#333;color:var(--text-primary,#333);font-size:1.5rem;margin:0 0 .5rem}.summary-subtitle{color:#666;color:var(--text-secondary,#666);font-size:1.1rem;margin:0}.summary-cards{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1rem}.summary-card{align-items:center;border-radius:8px;box-shadow:0 2px 6px #667eea33;flex-direction:row;gap:8px;min-width:120px;overflow:hidden;padding:10px 12px;position:relative;transition:all .2s ease}.summary-card:before{background:linear-gradient(135deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.summary-card:hover{box-shadow:0 3px 10px #00000026;transform:translateY(-1px)}.card-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;width:36px}.card-icon.total{background:#ffffff40;color:#fff}.card-icon.present{background:#4caf5033;color:#e8f5e9}.card-icon.absent{background:#f4433633;color:#ffebee}.card-icon.late{background:#ff980033;color:#fff3e0}.card-content{display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center}.card-content h4{color:#ffffffd9;font-size:.7rem;font-weight:500;line-height:1.2;margin:0}.card-value{color:#fff;font-size:1.3rem;font-weight:700;line-height:1;margin:0}.attendance-rate-card{background:#f9f9f9;background:var(--background,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.attendance-rate-card h4{color:#333;color:var(--text-primary,#333);font-size:1.1rem;margin:0 0 1rem}.rate-display{margin-bottom:1rem}.rate-value{font-size:3rem;font-weight:700}.rate-display.success .rate-value{color:#2e7d32}.rate-display.warning .rate-value{color:#e65100}.rate-display.danger .rate-value{color:#c62828}.rate-bar{background:#e0e0e0;background:var(--background,#e0e0e0);border-radius:10px;height:20px;overflow:hidden;width:100%}.rate-fill{border-radius:10px;height:100%;transition:width .5s ease}.rate-fill.success{background:linear-gradient(90deg,#66bb6a,#2e7d32)}.rate-fill.warning{background:linear-gradient(90deg,#ffa726,#e65100)}.rate-fill.danger{background:linear-gradient(90deg,#ef5350,#c62828)}.students-summary-table{margin-top:1.5rem}.students-summary-table h4{color:#333;color:var(--text-primary,#333);font-size:1.1rem;margin:0 0 1rem}.summary-table{background:#fff;background:var(--card-bg,#fff);border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.summary-table thead{background:#1976d2;background:var(--primary-color,#1976d2);color:#fff}.summary-table td,.summary-table th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);padding:1rem;text-align:right}.summary-table th{font-size:.9rem;font-weight:600}.summary-table tbody tr:hover{background:#f5f5f5;background:var(--background,#f5f5f5)}.summary-table tbody tr:last-child td{border-bottom:none}.status-cell{font-weight:600;text-align:center!important}.status-cell.present{color:#2e7d32}.status-cell.absent{color:#c62828}.status-cell.late{color:#e65100}.rate-badge{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:600;padding:.3rem .8rem}.rate-badge.success{background:#e8f5e9;color:#2e7d32}.rate-badge.warning{background:#fff3e0;color:#e65100}.rate-badge.danger{background:#ffebee;color:#c62828}.date-range-info{background:#f5f5f5;background:var(--background,#f5f5f5);border-radius:8px;margin-top:1.5rem;padding:1rem;text-align:center}.date-range-info p{color:#666;color:var(--text-secondary,#666);font-size:.95rem;margin:0}.view-mode-toggle{background:#f1f4f8;border-radius:10px;padding:4px}.toggle-switch{align-items:center;cursor:pointer;display:flex;gap:10px;position:relative;-webkit-user-select:none;user-select:none}.toggle-switch input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:#cbd5e1;border-radius:34px;flex-shrink:0;height:26px;position:relative;transition:all .3s ease;width:48px}.toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:20px;position:absolute;right:3px;transition:all .3s ease;width:20px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(-22px)}.toggle-label{align-items:center;color:#4b5563;display:flex;font-size:.85rem;font-weight:600;gap:6px;white-space:nowrap}.toggle-label svg{color:#667eea;font-size:18px}.attendance-action-modal{max-width:500px;width:90%}.attendance-action-modal .modal-header{border-bottom:3px solid;padding:1rem 1.2rem}.attendance-action-modal .modal-title-with-icon{align-items:center;display:flex;gap:12px}.attendance-action-modal .action-icon{align-items:center;display:flex;font-size:24px}.attendance-action-modal h3{font-size:1.3rem;font-weight:600;margin:0}.attendance-info{background:#f8f9fa;border-radius:8px;margin-bottom:1.2rem;padding:.9rem}.info-row{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.4rem 0}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-size:.9rem}.info-value{color:#333;font-size:.9rem}.current-status{border-radius:4px;font-size:.9rem;font-weight:600;padding:4px 12px}.current-status.present{background:#e8f5e9;color:#2e7d32}.current-status.absent{background:#ffebee;color:#c62828}.current-status.late{background:#fff3e0;color:#ef6c00}.btn-present{background:#4caf50!important}.btn-absent,.btn-present{border:none;color:#fff!important}.btn-absent{background:#f44336!important}.btn-late{background:#ff9800!important;border:none;color:#fff!important}.attendance-quick-actions{flex-direction:row;flex-wrap:wrap;gap:6px}.attendance-quick-actions,.quick-action-btn{align-items:center;display:flex;justify-content:center}.quick-action-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;flex:1 1;font-size:.85rem;font-weight:600;gap:5px;min-width:80px;padding:8px 12px;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.quick-action-btn svg{flex-shrink:0;font-size:16px}.quick-action-btn span{font-size:.8rem}.quick-action-btn.present{background:linear-gradient(135deg,#4caf50,#45a049)}.quick-action-btn.absent{background:linear-gradient(135deg,#f44336,#e53935)}.quick-action-btn.late{background:linear-gradient(135deg,#ff9800,#fb8c00)}.quick-action-btn:hover{box-shadow:0 6px 12px #0003;transform:translateY(-2px)}.quick-action-btn:active{transform:scale(.96)}@media (max-width:768px){.attendance-form-container{background:#f8f9fa;max-height:100vh;width:100%}.attendance-summary-container{margin-top:1rem;order:999}.attendance-header-section{border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:.8rem;padding:1rem}.section-info{flex-direction:row;flex-wrap:wrap;gap:.5rem}.section-info p{flex:1 1;font-size:.85rem;min-width:45%}.bulk-actions{border-radius:12px;box-shadow:0 2px 8px #0000000f;flex-direction:column;gap:.8rem;margin-bottom:1rem;padding:1rem}.bulk-actions label{font-size:1rem;text-align:center}.bulk-buttons{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(3,1fr)}.bulk-btn{border-radius:12px;box-shadow:0 2px 6px #0000001a;font-size:.85rem;font-weight:700;justify-content:center;padding:.8rem .6rem}.bulk-btn svg{font-size:1.2rem}.status-summary{background:#f8f9fa;border:none;border-radius:12px;box-shadow:0 2px 8px #0000000f;flex-wrap:nowrap;gap:.6rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.status-summary .summary-item{background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014;flex:1 1;font-size:.9rem;justify-content:center;min-width:0;padding:.6rem 1rem}.status-summary .summary-item svg{font-size:1.5rem}.students-attendance-list{background:#0000;border:none;padding:0}.students-attendance-list h3{color:#333;font-size:1rem;margin-bottom:1rem;padding:0 1rem}.attendance-grid{gap:.8rem;max-height:none;padding:0 1rem}.attendance-item{background:#fff;border:none;border-radius:16px;box-shadow:0 2px 12px #00000014;gap:.8rem;grid-template-columns:1fr;padding:1rem}.attendance-item:hover{box-shadow:0 4px 16px #0000001f}.student-info{gap:.3rem}.student-name{font-size:1rem;font-weight:700}.student-id{color:#999;font-size:.8rem}.status-buttons{gap:.6rem;justify-content:stretch}.status-btn{border-radius:12px;box-shadow:0 2px 8px #0000001a;flex:1 1;font-size:1.4rem;height:50px;width:auto}.status-btn:active{transform:scale(.96)}.notes-input{border:2px solid #e0e0e0;border-radius:10px;font-size:.9rem;padding:.75rem}.notes-input:focus{border-color:#667eea}.summary-cards{gap:.8rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.summary-card{border-radius:14px;box-shadow:0 3px 12px #667eea40;min-width:auto;padding:1rem}.card-icon{font-size:1.3rem;height:40px;width:40px}.card-content h4{font-size:.7rem}.card-value{font-size:1.4rem}.attendance-quick-actions{gap:.5rem}.quick-action-btn{border-radius:10px;box-shadow:0 2px 6px #0000001f;flex:1 1;font-size:.85rem;min-width:auto;padding:.8rem 1rem}.quick-action-btn svg{font-size:1.1rem}.quick-action-btn span{font-size:.8rem;font-weight:700}.quick-action-btn:active{transform:scale(.96)}.attendance-action-modal{border-radius:20px 20px 0 0;margin:0;max-height:85vh;max-width:100%;width:100%}.attendance-action-modal .modal-header{border-radius:20px 20px 0 0;padding:1.2rem}.attendance-action-modal h3{font-size:1.2rem}.attendance-action-modal .action-icon{font-size:24px}.attendance-info{border-radius:12px;padding:1rem}.info-row{padding:.7rem 0}.info-label,.info-value{font-size:.95rem}.modal-actions{flex-direction:column;gap:.8rem;padding:1rem 0 0}.modal-actions button{border-radius:12px;box-shadow:0 2px 8px #0000001f;font-size:1rem;padding:1rem;width:100%}.page-header-actions{flex-direction:column;gap:10px;width:100%}.page-header-actions>button,.view-mode-toggle{justify-content:center;width:100%}.toggle-switch{justify-content:center}.date-badge{border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:.85rem;padding:.4rem .8rem}.student-cell{font-size:.9rem}.attendance-status-badge{border-radius:8px;font-size:.85rem;padding:.4rem .8rem}.filters-grid{grid-template-columns:1fr}.summary-table{-webkit-overflow-scrolling:touch;border-radius:12px;display:block;font-size:.85rem;overflow-x:auto}.summary-table td,.summary-table th{font-size:.85rem;padding:.8rem .6rem}}.attendance-statistics,.stats-main-cards{margin-bottom:16px}.stats-main-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:160px 1fr}.attendance-stats-card{background:#fff;border-radius:8px;box-shadow:0 2px 6px #00000014;padding:12px;transition:all .3s ease}.attendance-stats-card:hover{box-shadow:0 4px 10px #0000001f;transform:translateY(-2px)}.attendance-stats-card.total-card{border-left:4px solid #3498db;display:flex;flex-direction:column;gap:4px;justify-content:center}.stats-label{color:#666;font-size:12px;font-weight:500}.stats-value{color:#2c3e50;font-size:24px;font-weight:700}.attendance-stats-card.combined-status-card{align-items:center;display:flex;justify-content:space-around;padding:10px 16px}.status-section{align-items:center;display:flex;flex:1 1;gap:8px}.status-icon{font-weight:700}.status-section.success .status-icon{color:#2ecc71}.status-section.danger .status-icon{color:#e74c3c}.status-section.warning .status-icon{color:#f39c12}.status-info{display:flex;flex-direction:column;gap:2px}.status-label{color:#666;font-size:11px;font-weight:500}.status-value{color:#2c3e50;font-size:14px;font-weight:700}.status-divider{background:#e0e0e0;height:35px;width:1px}.stats-sub-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.sub-card-group{background:#fff;border-radius:8px;box-shadow:0 2px 6px #00000014;padding:12px}.sub-card-title{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:13px;font-weight:600;margin-bottom:10px;padding-bottom:6px}.attendance-rate-card .attendance-rate-content{padding:6px 0;text-align:center}.attendance-rate-card .rate-value{color:#2ecc71;font-size:30px;font-weight:700;margin-bottom:10px}.progress-bar{background:#ecf0f1}.progress-fill{background:linear-gradient(90deg,#2ecc71,#27ae60);border-radius:4px;transition:width .6s ease}.rate-description{color:#7f8c8d;font-size:12px}.daily-summary-list{display:flex;flex-direction:column;gap:5px}.daily-summary-item{align-items:center;background:#f8f9fa;border-radius:5px;display:grid;grid-template-columns:65px 1fr 45px;padding:6px 8px;transition:all .2s ease}.daily-summary-item:hover{background:#e9ecef;transform:translateX(-2px)}.daily-date{color:#495057;font-size:11px;font-weight:600}.daily-stats{align-items:center;display:flex;font-size:12px;font-weight:600;gap:4px}.stat-present{color:#2ecc71}.stat-absent{color:#e74c3c}.stat-late{color:#f39c12}.stat-separator{color:#dee2e6}.daily-rate{color:#2c3e50;font-size:12px;font-weight:700;text-align:left}.no-data{color:#95a5a6;font-size:12px;padding:12px}@media (max-width:768px){.attendance-statistics{margin-bottom:2rem;margin-top:1.5rem;order:999;padding:0 1rem}.stats-main-cards{gap:.8rem;grid-template-columns:1fr}.attendance-stats-card{border-radius:14px;box-shadow:0 3px 10px #0000001a;padding:1rem}.attendance-stats-card.total-card{background:linear-gradient(135deg,#667eea,#764ba2);border-left:none;color:#fff}.attendance-stats-card.total-card .stats-label{color:#ffffffe6;font-size:.85rem}.attendance-stats-card.total-card .stats-value{color:#fff;font-size:2rem}.combined-status-card{align-items:stretch!important;flex-direction:column;gap:1rem;padding:1rem}.status-section{gap:.8rem}.status-icon{align-items:center;border-radius:12px;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.status-section.success .status-icon{background:#2ecc7126}.status-section.danger .status-icon{background:#e74c3c26}.status-section.warning .status-icon{background:#f39c1226}.status-label{font-size:.8rem}.status-value{font-size:1.3rem}.status-divider{display:none}.stats-sub-cards{gap:.8rem;grid-template-columns:1fr}.sub-card-group{border-radius:14px;box-shadow:0 3px 10px #0000001a;padding:1rem}.sub-card-title{font-size:.95rem;margin-bottom:.8rem}.attendance-rate-card .rate-value{font-size:2.5rem;margin-bottom:.8rem}.progress-bar{border-radius:6px;height:10px}.rate-description{font-size:.85rem;margin-top:.5rem}.daily-summary-item{border-radius:8px;grid-template-columns:70px 1fr 50px;padding:.7rem .8rem}.daily-date{font-size:.8rem}.daily-rate,.daily-stats{font-size:.85rem}}@media (max-width:480px){.status-value{font-size:14px}}.attendance-grid-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;width:100%}.attendance-grid-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-bottom:16px;padding-bottom:12px}.export-grid-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.export-grid-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.export-grid-btn svg{font-size:20px}.attendance-grid-wrapper{border:1px solid #e5e7eb;border-radius:8px;max-height:600px;overflow-x:auto;overflow-y:auto}.attendance-grid-table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.attendance-grid-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.attendance-grid-table th{border:1px solid #fff3;font-weight:600;padding:12px 8px;text-align:center;white-space:nowrap}.student-name-header{background:linear-gradient(135deg,#667eea,#764ba2);min-width:180px;position:-webkit-sticky;position:sticky;right:0;text-align:right;z-index:11}.date-header{max-width:50px;min-width:50px;padding:8px 4px}.summary-header{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #fff3;color:#fff;font-weight:600;min-width:100px;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;top:0;white-space:nowrap;z-index:9}.date-vertical{font-size:12px;font-weight:500;letter-spacing:1px;text-orientation:mixed;transform:rotate(180deg);writing-mode:vertical-rl}.attendance-grid-table tbody tr{transition:background-color .2s ease}.attendance-grid-table tbody tr.student-row:hover{background-color:#f9fafb}.attendance-grid-table tbody tr.student-row:nth-child(2n){background-color:#fafbfc}.attendance-grid-table td,.summary-cell{border:1px solid #e5e7eb;padding:12px 8px;text-align:center}.summary-cell{font-size:14px;font-weight:600}.summary-present{background-color:#d1fae5;color:#059669}.summary-absent{background-color:#fee2e2;color:#dc2626}.summary-rate{background-color:#e0e7ff;color:#4f46e5;font-size:15px}.student-name-cell{font-weight:500;position:-webkit-sticky;position:sticky;right:0;text-align:right;z-index:5}.attendance-grid-table tbody tr.student-row:nth-child(2n) .student-name-cell{background-color:#fafbfc}.attendance-grid-table tbody tr.student-row:hover .student-name-cell{background-color:#f9fafb}.attendance-cell{cursor:pointer;position:relative;transition:all .2s ease}.attendance-cell.has-data:hover{background-color:#e0e7ff;transform:scale(1.1)}.attendance-cell.no-data{color:#d1d5db;cursor:default}.status-icon{display:inline-block;font-size:20px;vertical-align:middle}.status-icon.present{color:#10b981}.status-icon.absent{color:#ef4444}.status-icon.late{color:#f59e0b}.status-icon.empty{color:#d1d5db;font-size:16px}.attendance-cell-modal{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d;max-width:500px}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px}.modal-header h3{color:#1f2937;font-size:18px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:20px}.detail-row{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#6b7280;min-width:120px}.detail-value{color:#1f2937;flex:1 1;text-align:left}.detail-value.note{background:#f9fafb;border-radius:6px;color:#4b5563;font-style:italic;padding:8px 12px}.detail-value.status-present{color:#10b981;font-weight:600}.detail-value.status-absent{color:#ef4444;font-weight:600}.detail-value.status-late{color:#f59e0b;font-weight:600}.modal-footer{border-top:1px solid #e5e7eb;padding:20px}.btn-close{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s ease}.btn-close:hover{background:#5568d3}.attendance-grid-legend{background:#f9fafb;border-radius:8px;display:flex;gap:24px;justify-content:center;margin-top:16px;padding:12px}.legend-item{align-items:center;color:#4b5563;display:flex;font-size:14px;gap:8px}.attendance-grid-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.attendance-grid-empty svg{color:#d1d5db;margin-bottom:16px}.attendance-grid-empty p{font-size:16px;margin:0}@media (max-width:768px){.attendance-grid-wrapper{max-height:400px}.student-name-cell,.student-name-header{min-width:140px}.date-vertical{font-size:11px}.status-icon{font-size:18px}.modal-content{width:95%}.attendance-grid-legend{flex-wrap:wrap;gap:12px}}.exams-list-container{width:100%}.exam-title-cell{display:flex;flex-direction:column;gap:4px}.exam-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.exam-semester-badge{background-color:#fff3e0;border:1px solid #ffb74d;border-radius:4px;color:#e65100;font-weight:600}.exam-semester-badge,.exam-type-badge{display:inline-block;font-size:11px;padding:2px 8px}.exam-type-badge{background-color:#f5f5f5;border-radius:4px;color:#666;font-weight:500}.exam-type-badge[class*=\634\641\647\64A]{background-color:#f3e5f5;color:#7b1fa2}.exam-type-badge[class*=\648\638\627\626\641]{background-color:#e8f5e9;color:#388e3c}.exam-type-badge[class*="مذاكرة أولى"]{background-color:#e3f2fd;color:#1976d2}.exam-type-badge[class*="مذاكرة ثانية"]{background-color:#e1f5fe!important;color:#0277bd!important}.exam-type-badge[class*=\627\645\62A\62D\627\646]{background-color:#fce4ec!important;color:#c2185b!important}.total-marks{color:#1976d2;font-weight:600}.exam-actions{display:flex;flex-wrap:wrap;gap:8px}.exam-actions .action-btn{align-items:center!important;border:none!important;border-radius:4px!important;cursor:pointer!important;display:flex!important;font-size:13px!important;gap:4px!important;justify-content:center!important;min-width:70px!important;padding:6px 12px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;transition:all .2s!important;white-space:nowrap!important}.exam-actions .action-btn:disabled{cursor:not-allowed!important;opacity:.6!important}.exam-actions .view-results-btn,button.view-results-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:2px solid #667eea!important;color:#fff!important}.exam-actions .view-results-btn:hover:not(:disabled),button.view-results-btn:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8b)!important;box-shadow:0 4px 12px #667eea66!important;transform:translateY(-1px)!important}.exam-actions .publish-btn,button.publish-btn{background:#10b981!important;border:2px solid #10b981!important;color:#fff!important}.exam-actions .publish-btn:hover:not(:disabled),button.publish-btn:hover:not(:disabled){background:#059669!important;box-shadow:0 4px 12px #10b98166!important;transform:translateY(-1px)!important}.exam-actions .unpublish-btn,button.unpublish-btn{background:#f59e0b!important;border:2px solid #f59e0b!important;color:#fff!important}.exam-actions .unpublish-btn:hover:not(:disabled),button.unpublish-btn:hover:not(:disabled){background:#d97706!important;box-shadow:0 4px 12px #f59e0b66!important;transform:translateY(-1px)!important}.status-badge{border-radius:12px;font-size:12px}.status-badge.published{background-color:#dcfce7;border:1px solid #86efac;color:#15803d}.status-badge.draft{background-color:#fef3c7;border:1px solid #fcd34d;color:#92400e}.published-warning-banner{animation:slideDown .3s ease;border-left:4px solid;border-radius:8px;margin-bottom:24px;padding:16px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.published-warning-banner.teacher-mode{background-color:#fef2f2;border-color:#ef4444}.published-warning-banner.admin-mode{background-color:#f0fdf4;border-color:#22c55e}.warning-content{align-items:flex-start;display:flex;gap:12px}.warning-icon{font-size:24px;margin-top:2px}.teacher-mode .warning-icon{color:#ef4444}.admin-mode .warning-icon{color:#22c55e}.warning-text{flex:1 1}.warning-text strong{display:block;font-size:15px;margin-bottom:4px}.teacher-mode .warning-text strong{color:#991b1b}.admin-mode .warning-text strong{color:#15803d}.warning-text p{color:#6b7280;font-size:13px;margin:0}.publish-info{border-top:1px solid #0000001a;margin-top:8px;padding-top:8px}.publish-info small{color:#6b7280;font-size:12px}.filters-section{margin-bottom:20px}.toggle-filters-btn{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px;transition:all .2s}.toggle-filters-btn:hover{background-color:#e8e8e8}.filters-container{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-top:12px;padding:20px}.filter-row{grid-gap:16px;align-items:end;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{color:#555;font-size:13px;font-weight:500}.filter-actions{align-items:flex-end;display:flex}.clear-filters-btn{background-color:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.clear-filters-btn:hover{background-color:#f57c00}.exam-form-container{margin:0 auto;max-width:900px}.form-hint{font-style:italic}.exam-results-container{width:100%}.exam-info-card{background:#0000;border-bottom:1px solid #e9ecef;border-radius:0;box-shadow:none;color:#495057;margin-bottom:24px;padding:0 0 16px}.exam-info-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.exam-info-item{align-items:center;display:flex;flex-direction:row;gap:8px}.info-label{color:#667eea;font-size:12px;font-weight:600;min-width:-webkit-fit-content;min-width:fit-content;opacity:.8}.info-value{color:#495057;font-size:14px;font-weight:500}.results-actions-bar{background-color:#f5f5f5;border-radius:8px;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px;padding:16px}.actions-left,.actions-right,.results-actions-bar{align-items:center;display:flex;gap:12px}.btn-toggle-edit{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-toggle-edit:hover{background-color:#1976d2}.btn-toggle-edit.active{background-color:#ff9800}.btn-toggle-edit.active:hover{background-color:#f57c00}.btn-bulk-save{align-items:center;background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.btn-bulk-save:hover:not(:disabled){background-color:#45a049}.btn-bulk-save:disabled{background-color:#ccc;cursor:not-allowed}.btn-export{align-items:center;background-color:#9c27b0;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.btn-export:hover{background-color:#7b1fa2}.marks-input,.remarks-input{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px;transition:all .2s;width:100%}.marks-input:focus,.remarks-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.marks-display{color:#666;font-size:16px;font-weight:600}.marks-display.has-marks{color:#4caf50}.remarks-display{color:#666;font-size:13px;font-style:italic}.save-single-btn{align-items:center;background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s}.save-single-btn:hover:not(:disabled){background-color:#45a049;transform:scale(1.05)}.save-single-btn:disabled{background-color:#ccc;cursor:not-allowed}.result-saved-badge{align-items:center;background-color:#e8f5e9;border-radius:4px;color:#4caf50;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:2px 8px}.results-statistics{background-color:#f5f5f5;border-radius:12px;margin-top:32px;padding:24px}.results-statistics h3{color:#333;font-size:18px;margin:0 0 16px}.stats-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-item{background-color:#fff;box-shadow:0 2px 4px #0000000d;gap:8px;padding:16px}.stat-label{color:#666;font-size:13px}.stat-value{color:#1976d2;font-size:24px}.student-name-cell{gap:6px}@media (max-width:768px){.exam-info-row{grid-template-columns:1fr}.results-actions-bar{align-items:stretch;flex-direction:column}.actions-left,.actions-right{flex-direction:column;width:100%}.actions-left button,.actions-right button{justify-content:center;width:100%}.filter-row,.stats-grid{grid-template-columns:1fr}}.loading-spinner{align-items:center;color:#666;display:flex;font-size:16px;justify-content:center;padding:60px 20px}.empty-state svg{color:#ccc;font-size:64px;margin-bottom:16px}.empty-state p{color:#666;font-size:16px}.modal-close-btn{border-radius:4px;color:#666;font-size:32px;height:32px;line-height:1;margin:0;transition:all .2s;width:32px}.modal-close-btn:hover{background-color:#f5f5f5;color:#333}.modal-header-content{display:flex;flex-direction:column;gap:8px}.modal-header{align-items:flex-start}.form-hint{color:#666;display:block;font-size:12px;margin-top:4px}.form-hint.warning{color:#f57c00;font-weight:500}.page-actions-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.page-actions-bar .btn-add{margin:0}.page-actions-bar .btn-add.active{background:#f57c00;border-color:#f57c00}.page-actions-bar .btn-add.active:hover{background:#ef6c00;border-color:#ef6c00}.page-actions-bar .btn-add:disabled{cursor:not-allowed;opacity:.5}.bus-number-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;box-shadow:0 2px 4px #667eea4d;color:#fff;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px}.notes-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;max-width:300px}.modal-large{max-width:700px}.notes-text{color:var(--text-secondary);display:block;font-size:13px;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-display{color:var(--primary);font-size:14px}.amount-display.total{color:var(--success)}.sections-list{display:flex;flex-wrap:wrap;gap:6px}.section-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.more-badge,.section-badge{border-radius:12px;font-size:11px;font-weight:500}.more-badge{background:var(--background-secondary);color:var(--text-secondary);display:inline-block;padding:4px 10px}.guidance-notes{background:linear-gradient(135deg,#667eea15,#764ba215);border:1px solid #667eea33;margin-bottom:24px;padding:20px}.guidance-header{color:var(--primary);font-size:16px;font-weight:600;gap:10px;margin-bottom:12px}.guidance-icon{font-size:24px}.guidance-content{color:var(--text-primary);line-height:1.8}.guidance-content p{margin:0 0 12px}.guidance-content ul{margin:12px 0 0 20px;padding:0}.guidance-content li{list-style-type:disc;margin-bottom:8px}.guidance-content strong{color:var(--primary)}.filter-section{align-items:center;background:var(--card-background);border-radius:8px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.filter-group{gap:10px}.filter-group label{font-size:14px;font-weight:500}.filter-select{background:var(--background-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.filter-select:focus,.filter-select:hover{border-color:var(--primary)}.form-guidance{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;margin-bottom:24px;padding:16px}.form-guidance p{color:#1565c0;font-size:14px;line-height:1.6;margin:0}.form-guidance strong{font-weight:600}.update-warning{align-items:flex-start;background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffc107;border-radius:8px;box-shadow:0 4px 12px #ffc10733;display:flex;gap:12px;margin-bottom:24px;padding:16px}.warning-icon{animation:pulse-warning 2s infinite;color:#ff6f00;font-size:28px}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.warning-content{flex:1 1}.warning-content strong{color:#e65100;display:block;font-size:16px;font-weight:700;margin-bottom:8px}.warning-content p{color:#6d4c00;font-size:14px;font-weight:500;line-height:1.6;margin:0}.form-grid{grid-gap:20px;gap:20px;margin-bottom:24px}.form-grid .full-width{grid-column:1/-1}.form-group label{font-weight:500}.form-group label.required:after{color:#e74c3c;content:" *"}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #ddd!important;border-radius:6px;color:var(--text-primary);padding:10px 14px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea!important;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#e74c3c!important}.error-message{color:#e74c3c;font-size:12px;margin-top:4px}.field-hint{color:var(--text-secondary);display:block;font-size:12px;font-style:italic;margin-top:6px}.multi-select-container{display:flex;flex-direction:column;gap:12px}.selected-items{align-items:center;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;min-height:50px;padding:10px}.placeholder-text{color:#999;font-size:14px}.selected-tag{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.remove-tag-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:20px;justify-content:center;line-height:1;margin:0;padding:0;transition:background .2s;width:20px}.remove-tag-btn:hover{background:#fff3}.multi-select{background:#fff;border:2px solid #ddd!important;border-radius:6px;color:var(--text-primary);font-size:14px;min-height:200px;padding:8px;width:100%}.multi-select:focus{border-color:#667eea!important;box-shadow:0 0 0 3px #667eea1a;outline:none}.multi-select.error{border-color:#e74c3c!important}.multi-select option{border-radius:4px;cursor:pointer;margin:2px 0;padding:8px}.multi-select option:checked{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.modal-overlay{background:#00000080;padding:20px}.modal-content{background:#fff;width:100%}.modal-content.large{max-width:800px;width:90%}.modal-header{border-bottom:1px solid #e0e0e0;padding:20px 24px}.modal-header h2{color:var(--text-primary);font-size:20px}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:4px;transition:color .2s}.close-btn:hover{color:#333}.modal-content form{padding:24px}.modal-footer{background:#f9f9f9;border-top:1px solid #e0e0e0;gap:12px;padding:20px 24px}.modal-footer button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0}.btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.guidance-notes{padding:16px}.guidance-content ul{margin-left:16px}.filter-section{align-items:flex-start}.filter-section,.sections-list,.update-warning{flex-direction:column}.update-warning{text-align:center}.warning-icon{font-size:36px}.form-grid{gap:16px;grid-template-columns:1fr}.modal-content.large{max-height:95vh;width:95%}.modal-footer{flex-direction:column}.modal-footer button{justify-content:center;width:100%}}.invoice-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 12px 24px #00000026;transform:translateY(-5px)}.stat-icon{align-items:center;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.8rem;height:60px;justify-content:center;transition:transform .3s ease;width:60px}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-content{flex:1 1}.stat-content h3{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .25rem}.stat-content p{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0}.invoice-details{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.invoice-details h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 1rem}.details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{gap:.25rem}.detail-item.total{border-top:2px solid var(--border-color);grid-column:1/-1;margin-top:.5rem;padding-top:.5rem}.detail-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.detail-value{color:var(--text-primary);font-size:1rem;font-weight:600}.detail-value.amount{color:var(--primary-color)}.detail-value.advance{color:#2196f3}.detail-value.outstanding{color:#ff9800}.form-section h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 1rem}.form-grid{grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:1/-1}.payment-feedback{background:var(--hover-bg);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem}.predicted-status{border-radius:var(--border-radius);display:inline-block;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.predicted-status.badge-unpaid{background:#f443361a;border:1px solid #f443364d;color:#f44336}.predicted-status.badge-paid{background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.predicted-status.badge-outstanding{background:#ff98001a;border:1px solid #ff98004d;color:#ff9800}.predicted-status.badge-advance{background:#2196f31a;border:1px solid #2196f34d;color:#2196f3}.balance-info{color:var(--text-secondary);font-size:.875rem;font-weight:500}.warning-note{align-items:flex-start;background:#ff98001a;border:1px solid #ff98004d;border-radius:var(--border-radius);display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.warning-icon{flex-shrink:0;font-size:1.5rem}.warning-note p{color:#e65100;font-size:.9rem;line-height:1.5;margin:0}.status-badge{border-radius:20px;display:inline-block;font-size:.875rem;padding:.375rem .875rem;text-align:center}.status-badge.badge-unpaid{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 2px 8px #f443364d;color:#fff}.status-badge.badge-paid{background:linear-gradient(135deg,#51cf66,#37b24d);box-shadow:0 2px 8px #4caf504d;color:#fff}.status-badge.badge-outstanding{background:linear-gradient(135deg,#ffa94d,#ff922b);box-shadow:0 2px 8px #ff98004d;color:#fff}.status-badge.badge-advance{background:linear-gradient(135deg,#339af0,#1c7ed6);box-shadow:0 2px 8px #2196f34d;color:#fff}.status-badge.badge-settled{background:linear-gradient(135deg,#9775fa,#845ef7);box-shadow:0 2px 8px #9c27b04d;color:#fff}.amount-cell{font-size:1rem;font-weight:700;white-space:nowrap}.amount-cell.due{color:#e67e22}.amount-cell.paid{color:#27ae60}.amount-cell.zero{color:var(--text-secondary);font-weight:500}.amount-display{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:600}.amount-display.due{color:#e67e22}.amount-display.paid{color:#27ae60}.btn-process-payment{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .3s ease}.btn-process-payment:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.btn-process-payment:active{transform:translateY(0)}.btn-process-payment:disabled{background:linear-gradient(135deg,#ccc,#999);box-shadow:none;cursor:not-allowed;transform:none}.invoice-filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.invoice-filters .form-group{margin:0;min-width:200px}.filter-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:1.5rem;padding:1.25rem}.filter-group{align-items:center;gap:1rem}.filter-group label{color:var(--text-primary);white-space:nowrap}.filter-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:.95rem;min-width:200px;padding:.625rem 1rem;transition:all .3s ease}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-content.large{max-width:700px}.guidance-note.invoice-info{background:linear-gradient(135deg,#667eea14,#764ba214);border-radius:12px;border-right:4px solid #667eea;padding:1.5rem}.guidance-notes{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.guidance-header{align-items:center;color:#667eea;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;margin-bottom:1rem}.guidance-icon{font-size:1.5rem}.guidance-content p{color:#495057;line-height:1.7;margin:0 0 1rem}.guidance-content ul{margin:1rem 0;padding-right:1.5rem}.guidance-content li{color:#495057;line-height:1.6;margin-bottom:.75rem}.guidance-content strong{color:#667eea;font-weight:600}.important-note{background:#ff98001a;border-radius:8px;border-right:3px solid #ff9800;margin-top:1rem;padding:1rem}.important-note strong{color:#e67e22}@media (max-width:768px){.invoice-stats-grid{grid-template-columns:1fr}.stat-card{padding:1.25rem}.stat-icon{height:50px;width:50px}.stat-content h3,.stat-icon{font-size:1.5rem}.details-grid,.form-grid{grid-template-columns:1fr}.invoice-filters{align-items:stretch;flex-direction:column}.invoice-filters .form-group{width:100%}.filter-group{align-items:stretch;flex-direction:column}.filter-select{width:100%}.btn-process-payment{justify-content:center;width:100%}}@media print{.invoice-details{break-inside:avoid;page-break-inside:avoid}.action-btn,.btn-process-payment{display:none}.status-badge{border:1px solid}}.filters-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filters-toggle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.25rem;position:relative;transition:all .3s ease}.filters-toggle:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.filters-toggle:hover:before{height:300px;width:300px}.filters-toggle:hover{box-shadow:0 4px 12px #667eea66}.filters-badge{animation:pulse 2s infinite;background-color:#ffffff4d;border-radius:4px;display:inline-block;font-size:.75rem;font-weight:700;margin-left:.5rem;padding:.25rem .5rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{font-size:1.3rem;gap:.75rem;margin:0}.modal-close-btn,.modal-header h2{align-items:center;color:#fff;display:flex}.modal-close-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1.5rem;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.modal-close-btn:hover{background-color:#fff3}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{background-color:var(--bg-light);border-radius:0 0 12px 12px;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.form-group .searchable-select{border:1px solid var(--border-color)!important}.form-group .searchable-select:hover{border-color:#667eea!important}.form-group .searchable-select.open{border-color:#667eea!important;box-shadow:0 0 0 3px #667eea1a!important}.form-control,.form-group select{background-color:#fff;border:1px solid var(--border-color);border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .3s ease}.form-control:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:scale(1.02)}.btn{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.btn-primary:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-primary:hover:before{height:300px;width:300px}.btn-primary:hover{box-shadow:0 4px 12px #667eea66}.btn-secondary{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);transition:all .3s ease}.btn-secondary:hover{background-color:var(--bg-light);border-color:var(--text-primary);transform:translateY(-2px)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.invoice-stats-grid .stat-card{animation:slideInUp .5s ease-out forwards}.invoice-stats-grid .stat-card:first-child{animation-delay:0s}.invoice-stats-grid .stat-card:nth-child(2){animation-delay:.1s}.invoice-stats-grid .stat-card:nth-child(3){animation-delay:.2s}.invoice-stats-grid .stat-card:nth-child(4){animation-delay:.3s}.guidance-notes{animation:fadeInUp .6s ease-out .4s both}.filters-section{animation:fadeIn .3s ease-out .5s both}.modal-overlay{animation:fadeIn .2s ease-out forwards}.modal-content{animation:scaleIn .3s ease-out forwards}.system-action-map{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Cairo,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px;width:100%}.map-tabs{border-radius:12px;box-shadow:0 2px 10px #0000001a;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:15px}.map-tabs,.tab-button{background:#fff;display:flex}.tab-button{align-items:center;border:2px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.tab-button:hover{background:#f5f5f5;border-color:#667eea;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea66;color:#fff}.tab-icon{font-size:20px}.tab-label{font-size:16px}.map-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;direction:rtl;padding:30px}.action-map-container{margin:0 auto;max-width:1200px}.action-map-header{border-bottom:3px solid #667eea;margin-bottom:40px;padding-bottom:20px;text-align:center}.action-map-header h2{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:15px}.action-description{color:#7f8c8d;font-size:18px;line-height:1.6}.flow-diagram{align-items:center;display:flex;flex-direction:column;gap:20px;margin-bottom:50px}.flow-step{align-items:flex-start;display:flex;gap:20px;max-width:900px;width:100%}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 15px #667eea66;color:#fff;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:50px;justify-content:center;min-width:50px}.step-content{border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 15px #0000001a;flex:1 1;padding:25px;transition:all .3s ease}.step-content:hover{box-shadow:0 6px 25px #00000026;transform:translateX(-5px)}.step-icon{display:inline-block;font-size:36px;margin-bottom:15px}.step-content h3{color:#2c3e50;font-size:24px;font-weight:700;margin-bottom:15px}.step-details{color:#555;line-height:1.8;margin-top:15px}.step-details p{font-size:16px;margin-bottom:10px}.step-details strong{color:#2c3e50;font-weight:600}.start-step{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.validation-step{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-color:#9c27b0}.transaction-step{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800}.process-step{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);border-color:#009688}.database-step{background:linear-gradient(135deg,#fce4ec,#f8bbd0);border-color:#e91e63}.success-step{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50}.end-step{background:linear-gradient(135deg,#f1f8e9,#dcedc8);border-color:#8bc34a}.flow-arrow{color:#667eea;font-size:32px;text-shadow:0 2px 4px #0000001a}.code-block{background:#2c3e50;border-radius:8px;color:#ecf0f1;font-family:Courier New,monospace;margin:15px 0;overflow-x:auto;padding:20px}.code-block strong{color:#3498db;display:block;font-size:14px;margin-bottom:10px}.code-block pre{color:#a8dadc;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.operation-list,.validation-list{list-style:none;margin:15px 0;padding:0}.operation-list li,.validation-list li{border-bottom:1px solid #0000000d;font-size:16px;padding:8px 0}.operation-list li:last-child,.validation-list li:last-child{border-bottom:none}.info-box{background:#fff9c4;border-right:4px solid #fbc02d;font-size:15px;line-height:1.8}.info-box,.success-message{border-radius:8px;margin:15px 0;padding:15px 20px}.success-message{background:#c8e6c9;border-right:4px solid #4caf50;color:#2e7d32;font-size:16px;font-weight:600}.summary-section{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #2196f3;border-radius:12px;margin-top:50px;padding:30px}.summary-section h3{color:#1976d2;font-size:28px;font-weight:700;margin-bottom:25px;text-align:center}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.summary-card{background:#fff;box-shadow:0 2px 10px #0000001a;padding:20px;transition:transform .3s ease}.summary-card:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-5px)}.summary-icon{font-size:40px}.summary-card h4,.summary-icon{margin-bottom:15px;text-align:center}.summary-card h4{color:#2c3e50;font-size:20px;font-weight:700}.summary-card ul{list-style:none;padding:0}.summary-card ul li{border-bottom:1px solid #0000000d;font-size:15px;padding:8px 0}.summary-card ul li:last-child{border-bottom:none}.error-handling-section{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #f44336;border-radius:12px;margin-top:50px;padding:30px}.error-handling-section h3{color:#c62828;font-size:28px;font-weight:700;margin-bottom:25px;text-align:center}.error-scenarios{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.error-card{background:#fff;border-radius:10px;border-right:4px solid #f44336;box-shadow:0 2px 10px #0000001a;padding:20px}.error-icon{font-size:36px;margin-bottom:15px;text-align:center}.error-card h4{color:#c62828;font-size:18px;font-weight:700;margin-bottom:10px}.error-card p{color:#555;font-size:15px;line-height:1.6}.database-structure-section{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border:2px solid #9c27b0;border-radius:12px;margin-top:50px;padding:30px}.database-structure-section h3{color:#7b1fa2;font-size:28px;font-weight:700;margin-bottom:25px;text-align:center}.tables-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.table-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:25px}.table-card h4{color:#7b1fa2;font-size:22px;font-weight:700;margin-bottom:10px}.table-description{color:#666;font-size:15px;font-style:italic;margin-bottom:15px}.table-fields{list-style:none;padding:0}.table-fields li{background:#f5f5f5;border-radius:6px;border-right:3px solid #9c27b0;font-size:14px;margin-bottom:8px;padding:10px}.table-fields li strong{color:#7b1fa2;font-weight:700}.major-section{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e0e0e0;border-radius:12px;margin-bottom:30px;padding:30px}.section-title{border-bottom:3px solid #667eea;color:#2c3e50;font-weight:700;margin-bottom:30px;padding-bottom:15px;text-align:center}.critical-operations-section{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:3px solid #f44336;border-radius:12px;padding:30px}.warning-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:25px}.warning-card{background:#fff;border-radius:10px;border-right:6px solid;box-shadow:0 4px 15px #0000001a;padding:25px}.warning-card.danger{border-color:#f44336}.warning-card.warning{border-color:#ff9800}.warning-card.critical{border-color:#d32f2f}.warning-icon{font-size:48px;margin-bottom:15px;text-align:center}.warning-card h3{color:#c62828;font-size:20px;font-weight:700;margin-bottom:15px}.warning-content h4{color:#2c3e50;font-size:16px;font-weight:600;margin:15px 0 10px}.warning-content ul{margin:10px 0;padding-right:20px}.warning-content ul li{line-height:1.6;margin-bottom:8px}.warning-content ul ul{margin-right:20px;margin-top:5px}.danger-box{background:#ffebee;border-right:4px solid #f44336;color:#c62828}.danger-box,.success-box{border-radius:8px;font-size:15px;font-weight:600;line-height:1.8;margin:15px 0;padding:15px 20px}.success-box{background:#e8f5e9;border-right:4px solid #4caf50;color:#2e7d32}.bugs-section{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:3px solid #ff9800;border-radius:12px;padding:30px}.bugs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:25px}.bug-card{background:#fff;border-radius:10px;border-top:5px solid;box-shadow:0 4px 15px #0000001a;padding:25px;position:relative}.bug-card h3{color:#e65100;font-size:18px;font-weight:700;margin-bottom:15px;padding-top:10px}.bug-severity{border-radius:20px;color:#fff;font-size:12px;font-weight:700;left:15px;padding:5px 12px;position:absolute;top:15px}.bug-severity.high{background:#f44336}.bug-severity.medium{background:#ff9800}.bug-severity.low{background:#4caf50}.bug-content h4{color:#2c3e50;font-size:15px;font-weight:600;margin:12px 0 8px}.bug-content p{color:#555;line-height:1.6;margin-bottom:10px}.bug-content ul{margin:8px 0;padding-right:20px}.bug-content ul li{line-height:1.6;margin-bottom:6px}.best-practices-section{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:3px solid #4caf50;border-radius:12px;padding:30px}.practices-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:25px}.practice-card{background:#fff;border-radius:10px;border-right:5px solid #4caf50;box-shadow:0 4px 15px #0000001a;padding:25px}.practice-icon{font-size:40px}.practice-card h4,.practice-icon{margin-bottom:15px;text-align:center}.practice-card h4{color:#2e7d32;font-size:18px;font-weight:700}.practice-card ul{list-style:none;padding:0}.practice-card ul li{background:#f1f8e9;border-radius:6px;border-right:3px solid #8bc34a;font-size:14px;line-height:1.6;margin-bottom:8px;padding:10px 8px}@media (max-width:768px){.map-content{padding:15px}.flow-step{align-items:center;flex-direction:column}.step-number{margin-bottom:10px}.bugs-grid,.error-scenarios,.practices-grid,.summary-grid,.tables-overview,.warning-grid{grid-template-columns:1fr}.action-map-header h2{font-size:24px}.step-content h3{font-size:20px}}:root{--hub-primary:#4285f4;--hub-primary-hover:#3367d6;--hub-success:#34a853;--hub-success-hover:#2d9148;--hub-warning:#fbbc04;--hub-warning-hover:#f9ab00;--hub-danger:#ea4335;--hub-danger-hover:#d33828;--hub-info:#00bcd4;--hub-gray-50:#f8f9fa;--hub-gray-100:#f1f3f4;--hub-gray-200:#e8eaed;--hub-gray-300:#dadce0;--hub-gray-400:#bdc1c6;--hub-gray-500:#9aa0a6;--hub-gray-600:#80868b;--hub-gray-700:#5f6368;--hub-gray-800:#3c4043;--hub-gray-900:#202124;--hub-shadow-sm:0 1px 3px #3c40431a;--hub-shadow-md:0 2px 6px #3c404326;--hub-shadow-lg:0 4px 12px #3c404333;--hub-radius-sm:6px;--hub-radius-md:8px;--hub-radius-lg:12px;--hub-transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}.search-section{background:#fff;border:1px solid var(--color-neutral-lighter);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin-bottom:24px;padding:24px}.search-bar{margin-bottom:20px;position:relative}.search-icon{color:var(--color-neutral-medium);font-size:20px;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--color-neutral-lightest);border:1.5px solid var(--color-neutral-light);border-radius:8px;font-size:15px;font-weight:var(--font-weight-medium);padding:12px 50px;transition:all var(--transition-fast);width:100%}.search-input:focus{background:#fff;border-color:var(--color-primary-main);box-shadow:0 0 0 3px #667eea1a;outline:none}.search-input::placeholder{color:var(--color-neutral-medium)}.search-input.typing{background:#fef3c7;border-color:#f59e0b;border-width:1.5px;box-shadow:0 0 0 3px #f59e0b1a}.search-icon.typing{animation:pulse 1.5s ease-in-out infinite;color:#f59e0b}.typing-indicator{animation:blink 1.2s ease-in-out infinite;color:#f59e0b;font-size:18px;font-weight:700;left:45px;letter-spacing:1px;pointer-events:none}.clear-search,.typing-indicator{position:absolute;top:50%;transform:translateY(-50%)}.clear-search{align-items:center;background:var(--color-neutral-lighter);border:none;border-radius:50%;color:var(--color-neutral-dark);cursor:pointer;display:flex;height:28px;justify-content:center;padding:6px;right:12px;transition:all var(--transition-fast);width:28px}.clear-search:hover{background:var(--color-neutral-light);color:var(--color-neutral-darker);transform:translateY(-50%) scale(1.1)}.clear-search:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.quick-filters{display:flex;flex-wrap:wrap;gap:10px}.filter-btn{align-items:center;background:#fff;border:2px solid var(--color-neutral-light);border-radius:var(--border-radius-base);color:var(--color-neutral-darker);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1;padding:8px 16px;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--color-neutral-lightest);border-color:var(--color-primary-main);box-shadow:var(--shadow-sm);color:var(--color-primary-main);transform:translateY(-1px)}.filter-btn:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.school-hub-container{max-width:100%;padding:0}.filter-btn.active{background:var(--gradient-primary);border-color:var(--color-primary-main);box-shadow:0 4px 12px #667eea4d;color:#fff}.table-container{background:#fff;border:1px solid #e8eaed;border:1px solid var(--hub-gray-200);border-radius:12px;border-radius:var(--hub-radius-lg);box-shadow:0 2px 6px #3c404326;box-shadow:var(--hub-shadow-md);overflow:hidden}.hub-table{border-collapse:collapse;direction:rtl;table-layout:fixed;width:100%}.hub-table thead{background:#1f2937;border-bottom:2px solid #374151}.hub-table th{background:#1f2937;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px;position:-webkit-sticky;position:sticky;text-align:center;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.hub-table col.col-select{width:56px}.hub-table col.col-name{width:220px}.hub-table col.col-attendance,.hub-table col.col-finance,.hub-table col.col-section{width:130px}.hub-table col.col-status{width:160px}.hub-table col.col-phone{width:180px}.hub-table col.col-actions{min-width:320px;width:auto}.hub-table tbody tr{border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--hub-gray-200);transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--hub-transition)}.hub-table tbody tr:nth-child(2n){background:#f9fafb}.hub-table tbody tr:hover{background:#e0f2fe;border-right:3px solid #4285f4;border-right:3px solid var(--hub-primary)}.hub-table tbody tr:last-child{border-bottom:none}.hub-table td{border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--hub-gray-200);color:#3c4043;color:var(--hub-gray-800);font-size:13px;padding:12px;text-align:center;vertical-align:middle;white-space:nowrap}.hub-table td.col-name,.hub-table th.col-name{text-align:right;white-space:normal}.hub-table td.col-actions,.hub-table td.col-phone,.hub-table th.col-actions,.hub-table th.col-phone{text-align:center}.school-number{background:#f1f3f4;background:var(--hub-gray-100);border-radius:3px;color:#9aa0a6;color:var(--hub-gray-500);display:inline-block;font-size:11px;font-weight:500;padding:2px 6px}.phone-cell{flex-direction:column;font-family:Courier New,monospace;gap:3px}.phone-cell,.phone-cell div{align-items:center;display:flex}.phone-cell div{gap:4px}.phone-cell small{color:#5f6368;color:var(--hub-gray-700);direction:ltr;font-size:11px;font-weight:500}.section-badge{background:#dbeafe;border:1px solid #bfdbfe;border-radius:4px;color:#1e40af;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.status-lock-container{align-items:center;display:flex;flex-wrap:nowrap;gap:4px;justify-content:center}.hub-checkbox{accent-color:#4285f4;accent-color:var(--hub-primary);cursor:pointer;height:16px;margin:0;width:16px}.checkbox-btn{align-items:center;background:#fff;border:2px solid #dadce0;border:2px solid var(--hub-gray-300);border-radius:6px;border-radius:var(--hub-radius-sm);color:#9aa0a6;color:var(--hub-gray-500);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:6px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--hub-transition);width:32px}.checkbox-btn:hover{background:#4285f4;background:var(--hub-primary);border-color:#4285f4;border-color:var(--hub-primary);box-shadow:0 2px 8px #4285f44d;color:#fff;transform:scale(1.1)}.checkbox-btn:focus{outline:2px solid #4285f4;outline:2px solid var(--hub-primary);outline-offset:2px}.action-buttons{direction:ltr;display:flex;gap:4px;justify-content:center}.action-btn{align-items:center;background:#f1f3f4;background:var(--hub-gray-100);border:none;border-radius:6px;color:#80868b;color:var(--hub-gray-600);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.action-btn:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}.action-btn svg{flex-shrink:0;font-size:16px}.action-btn span{display:none}.view-btn:hover{background:#3b82f6;color:#fff}.pay-btn:hover{background:#22c55e;color:#fff}.note-btn:hover{background:#f59e0b;color:#fff}.move-btn:hover{background:#06b6d4;color:#fff}.status-badge{align-items:center;border:1px solid;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;gap:3px;padding:4px 10px;white-space:nowrap}.status-badge-paid{background:#d4edda;border-color:#c3e6cb;color:#155724}.status-badge-pending{background:#fff3cd;border-color:#ffeaa7;color:#856404}.status-badge-late{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.status-badge-present{background:#d1ecf1;border-color:#bee5eb;color:#0c5460}.status-badge-absent{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.selection-actions{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);background:linear-gradient(135deg,#fff 0,var(--hub-gray-50) 100%);border:2px solid #e8eaed;border:2px solid var(--hub-gray-200);border-radius:12px;border-radius:var(--hub-radius-lg);box-shadow:0 2px 6px #3c404326;box-shadow:var(--hub-shadow-md);display:flex;gap:16px;margin-top:20px;padding:20px 24px}.bulk-payment-btn,.select-all-btn{align-items:center;border:none;border-radius:var(--border-radius-base);cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--font-weight-semibold);gap:8px;padding:12px 20px;text-transform:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.bulk-payment-btn:focus,.select-all-btn:focus{outline:2px solid currentColor;outline-offset:2px}.select-all-btn{background:var(--color-neutral-lighter);border:2px solid var(--color-neutral-light);color:var(--color-neutral-darker)}.select-all-btn:hover{background:var(--color-neutral-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.bulk-payment-btn{background:var(--gradient-success);color:#fff}.bulk-payment-btn:hover{box-shadow:0 6px 20px #2ecc714d;transform:translateY(-2px)}.selected-count{background:var(--gradient-primary);border-radius:var(--border-radius-base);box-shadow:var(--shadow-sm);color:#fff;font-size:14px;font-weight:var(--font-weight-semibold);margin-right:auto;padding:10px 20px}.empty-state,.loading-state{background:linear-gradient(135deg,#fff,#f8f9fa);background:linear-gradient(135deg,#fff 0,var(--hub-gray-50) 100%);border:2px dashed #dadce0;border:2px dashed var(--hub-gray-300);border-radius:12px;border-radius:var(--hub-radius-lg);box-shadow:0 2px 6px #3c404326;box-shadow:var(--hub-shadow-md);padding:80px 20px;text-align:center}.empty-state p,.loading-state p{color:#80868b;color:var(--hub-gray-600);font-size:16px;font-weight:600;margin-top:16px}.spinner{animation:spin .8s linear infinite;border:5px solid #e8eaed;border-top:5px solid #4285f4;border:5px solid var(--hub-gray-200);border-top-color:var(--hub-primary);height:56px;margin:0 auto;width:56px}.empty-icon{color:#dadce0;color:var(--hub-gray-300);font-size:72px;opacity:.6}.action-panel-overlay{align-items:flex-end;background:#00000080;bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:1000}.action-panel{background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #0003;max-height:80vh;overflow-y:auto;width:100%}.action-panel-header{align-items:center;background:#fff;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.action-panel-header h3{color:#333;font-size:18px;margin:0}.close-panel-btn{align-items:center;background:var(--color-neutral-lighter);border:none;border-radius:50%;color:var(--color-neutral-dark);cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.close-panel-btn:hover{background:var(--color-neutral-light);transform:rotate(90deg)}.close-panel-btn:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.action-panel-content{padding:20px}.student-info-mini{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:4px;margin-bottom:20px;padding:12px}.student-info-mini strong{color:#333;font-size:16px}.student-info-mini span{color:#666;font-size:14px}.bulk-payment-form,.move-section-form,.notes-form,.payment-form{margin:0 auto;max-width:500px}.form-group{margin-bottom:20px}.form-group label{color:var(--color-neutral-darker);display:block;font-size:14px;font-weight:var(--font-weight-medium);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:var(--color-neutral-lightest);border:2px solid var(--color-neutral-light);border-radius:var(--border-radius-base);font-family:inherit;font-size:14px;padding:12px;transition:border-color var(--transition-fast);width:100%}.form-group input.disabled-input,.form-group input:disabled,.form-group select.disabled-input,.form-group select:disabled,.form-group textarea.disabled-input,.form-group textarea:disabled{background:#f5f5f5;border-color:#e0e0e0;color:#666;cursor:not-allowed;opacity:.8}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:var(--color-primary-main);box-shadow:0 0 0 4px #667eea1a;outline:none}.submit-btn{background:var(--gradient-primary);border:none;border-radius:var(--border-radius-base);color:#fff;cursor:pointer;font-size:16px;font-weight:var(--font-weight-semibold);padding:12px 24px;transition:transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.submit-btn:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.submit-btn:disabled{background:var(--color-neutral-light);cursor:not-allowed;opacity:.6;transform:none}.profile-view{display:flex;flex-direction:column;gap:15px}.profile-field{background:#f8f9fa;border-radius:6px;display:flex;gap:10px;justify-content:flex-start;padding:12px}.profile-field label{color:#666;font-weight:500;min-width:100px}.profile-field span{color:#333;font-weight:500}.open-full-profile-btn{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--border-radius-base);color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-top:10px;padding:12px 24px;transition:transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.open-full-profile-btn:hover{box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.open-full-profile-btn:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.mode-selector{display:flex;gap:10px;margin-bottom:20px}.mode-selector button{background:#fff;border:2px solid var(--color-neutral-light);border-radius:var(--border-radius-base);color:var(--color-neutral-darker);cursor:pointer;flex:1 1;font-size:14px;font-weight:var(--font-weight-medium);padding:10px 16px;transition:all var(--transition-fast)}.mode-selector button:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.mode-selector button.active{background:var(--gradient-primary);border-color:var(--color-primary-main);color:#fff}.progress-indicator{margin:20px 0;text-align:center}.progress-bar{background:#e0e0e0;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4285f4,#34a853);height:100%;transition:width .3s ease}.progress-indicator p{color:#666;font-size:14px;font-weight:500}.mobile-cards-container{display:none}.student-card{border:2px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:12px;padding:16px;transition:all .2s ease}.student-card:hover{border-color:#4285f4;box-shadow:0 4px 12px #4285f433}.student-card-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:12px;margin-bottom:12px;padding-bottom:12px}.student-card-checkbox{flex-shrink:0}.student-card-name{display:flex;flex:1 1;flex-direction:column;gap:4px}.student-card-name strong{color:#333;font-size:16px}.student-card-name .school-number{background:#f0f0f0;border-radius:4px;color:#666;display:inline-block;font-size:11px;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.student-card-body{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.student-card-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.student-card-row label{color:#666;font-weight:500;min-width:80px}.student-card-row .value{color:#333;flex:1 1;font-weight:600;text-align:left}.student-card-footer{border-top:2px solid #f0f0f0;display:flex;gap:6px;padding-top:12px}.student-card-footer .action-btn{align-items:center;display:flex;flex:1 1;gap:4px;height:36px;justify-content:center;padding:0 12px;width:auto}.student-card-footer .action-btn span{display:inline;font-size:12px;font-weight:600}@media (max-width:768px){.search-section{padding:16px}.table-container{display:none!important}.mobile-cards-container{display:block}.selection-actions{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.selected-count{margin-right:0;text-align:center}.bulk-payment-btn,.select-all-btn{justify-content:center;width:100%}.quick-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.quick-filters::-webkit-scrollbar{height:4px}.filter-btn{flex-shrink:0;white-space:nowrap}}.table-container{overflow-x:auto;scroll-behavior:smooth}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#f1f3f4;background:var(--hub-gray-100);border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#bdc1c6;background:var(--hub-gray-400);border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#9aa0a6;background:var(--hub-gray-500)}.hub-table tbody tr{position:relative}.hub-table tbody tr:before{background:#4285f4;background:var(--hub-primary);bottom:0;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .2s ease;width:4px}.hub-table tbody tr:hover:before{transform:scaleY(1)}.teacher-profile-compact{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 20px #667eea40;color:#fff;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;margin-bottom:20px;padding:25px}.profile-left{align-items:center;display:flex;flex:1 1;gap:20px}.profile-photo,.profile-photo-container{position:relative}.profile-photo{align-items:center;background:#fff;border:3px solid #ffffff4d;border-radius:50%;box-shadow:0 4px 12px #0003;cursor:pointer;display:flex;height:90px;justify-content:center;overflow:hidden;width:90px}.profile-photo img{height:100%;object-fit:cover;width:100%}.profile-photo .default-avatar{color:#667eea;height:50px;width:50px}.photo-overlay{align-items:center;background:#00000080;color:#fff;display:flex;font-size:24px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.profile-photo:hover .photo-overlay{opacity:1}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;margin-left:8px;width:20px}.profile-info-compact h2{color:#fff;font-size:1.6rem;font-weight:700;margin:0 0 10px;text-shadow:0 2px 4px #0000001a}.info-items{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.info-item{align-items:center;background-color:#594b9363;color:#fffffff2;font-size:.9rem;gap:8px}.info-item svg{color:#ffffffe6;font-size:16px}.btn-change-password-compact{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .3s}.btn-change-password-compact:hover{background:#5568d3;transform:translateY(-1px)}.stats-inline{display:flex;flex-wrap:wrap;gap:25px}.stat-inline{align-items:center;display:flex;gap:12px}.stat-icon-inline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;color:#fff;height:45px;padding:11px;width:45px}.stat-icon-inline.sections,.stat-icon-inline.students,.stat-icon-inline.subjects{background:#fff3}.stat-number{color:#fff;font-size:1.8rem;font-weight:800;line-height:1;text-shadow:0 2px 4px #0000001a}.stat-label{color:#ffffffe6;font-weight:500}.assignments-section-compact{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.assignments-section-compact h3{color:#333;font-size:1.2rem;margin:0 0 15px}.assignments-table{display:flex;flex-direction:column;gap:8px}.assignment-row{grid-gap:15px;align-items:center;background:#f8f9fa;border-radius:8px;border-right:3px solid #667eea;display:grid;gap:15px;grid-template-columns:2fr 2fr 1.2fr 1.3fr 1.5fr;padding:12px 15px;transition:all .3s}.assignment-row.inactive-assignment{background:#f0f0f0;border-right-color:#999;opacity:.6}.assignment-row:hover{background:#f1f3f5;box-shadow:0 2px 6px #00000014;transform:translateX(-3px)}.assignment-row.inactive-assignment:hover{background:#e8e8e8}.assignment-col.subject strong{align-items:center;color:#333;display:inline-flex;font-size:.95rem;gap:8px}.inactive-badge{background:#e74c3c;border-radius:10px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;margin-right:8px;padding:2px 8px}.inactive-status-wrapper{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.inactive-status{color:#e74c3c;font-size:.85rem;font-weight:600}.inactive-date{color:#999;font-size:.75rem;font-style:italic;font-weight:500}.assignment-col.section,.assignment-col.year{color:#666;font-size:.9rem}.attendance-badge-compact{align-items:center;border-radius:12px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px;white-space:nowrap}.attendance-badge-compact.pending{animation:pulse 2s infinite}.assignment-col.actions{display:flex;gap:6px;justify-content:flex-end}.btn-compact{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px;transition:all .3s;white-space:nowrap}.btn-compact.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-compact.primary:hover:not(:disabled){box-shadow:0 3px 8px #667eea66;transform:translateY(-2px)}.btn-compact.secondary{background:#fff;border:1.5px solid #667eea;color:#667eea}.btn-compact.secondary:hover{background:#667eea;color:#fff}.btn-compact:disabled{cursor:not-allowed;opacity:.6}.no-data{color:#999;padding:40px 20px;text-align:center}@media (max-width:1024px){.teacher-profile-compact{align-items:flex-start;flex-direction:column;padding:20px}.stats-inline{border-top:1px solid #fff3;justify-content:space-around;padding-top:15px;width:100%}}@media (max-width:768px){.teacher-profile-compact{gap:12px;margin-bottom:15px;padding:15px}.profile-left{flex-direction:column;gap:12px;text-align:center;width:100%}.profile-photo{border-width:2px;height:70px;margin:0 auto;width:70px}.profile-photo .default-avatar{height:40px;width:40px}.profile-info-compact h2{font-size:1.2rem}.info-items{align-items:center;gap:5px}.info-item{font-size:.8rem}.info-item svg{font-size:14px}.btn-change-password-compact{font-size:.8rem;padding:6px 12px}.assignment-row{gap:8px;grid-template-columns:1fr;padding:12px}.assignment-col{display:flex;flex-direction:column;gap:3px}.assignment-col.subject strong{font-size:.85rem;gap:6px}.assignment-col.section,.assignment-col.year{font-size:.8rem}.assignment-col.status{align-self:flex-start}.assignment-col.actions{flex-direction:row;gap:8px;justify-content:center;width:100%}.btn-compact{flex:1 1;font-size:.8rem;padding:8px 10px;text-align:center}.stats-inline{flex-direction:row;gap:8px;justify-content:space-between;width:100%}.stat-inline{flex:1 1;flex-direction:column;gap:5px;min-width:0;text-align:center}.stat-icon-inline{height:38px;margin:0 auto;padding:9px;width:38px}.stat-number{font-size:1.3rem}.stat-label{font-size:.7rem}.assignments-section-compact{padding:12px}.assignments-section-compact h3{font-size:1rem;margin-bottom:10px}.attendance-badge-compact{font-size:.7rem;padding:3px 8px}.inactive-badge{font-size:.65rem;padding:2px 6px}}.teacher-sections-container{padding:20px}.teacher-sections-container .subject-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 2px 4px #667eea33;color:#fff;display:inline-block;font-size:.6rem;font-weight:500;padding:5px 12px}.teacher-sections-container .info-badge{border-radius:16px;display:inline-block;font-size:.85rem;font-weight:500;padding:5px 12px}.teacher-sections-container .grade-badge{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.teacher-sections-container .count-badge{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:20px;color:#fff;display:inline-block;font-size:.95rem;font-weight:700;min-width:40px;padding:5px 12px;text-align:center}.teacher-sections-container .action-buttons{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:center}.teacher-sections-container .action-btn{align-items:center;border:none;border-radius:6px;color:#fff!important;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:5px;min-width:90px;padding:6px 12px;text-decoration:none;transition:all .2s;white-space:nowrap}.teacher-sections-container .action-btn svg{color:#fff!important;font-size:1.1rem}.teacher-sections-container .attendance-btn{background:linear-gradient(135deg,#11998e,#38ef7d)!important}.teacher-sections-container .attendance-btn:hover:not(:disabled){box-shadow:0 4px 8px #11998e4d;transform:translateY(-2px)}.teacher-sections-container .exams-btn{background:linear-gradient(135deg,#ee0979,#ff6a00)!important}.teacher-sections-container .exams-btn:hover:not(:disabled){box-shadow:0 4px 8px #ee09794d;transform:translateY(-2px)}.teacher-sections-container .action-btn:disabled{cursor:not-allowed;filter:grayscale(50%);opacity:.5}.teacher-sections-container .empty-state{color:#95a5a6;padding:60px 20px;text-align:center}.teacher-sections-container .empty-icon{color:#ddd;font-size:4rem;margin-bottom:20px}.teacher-sections-container .empty-state p{font-size:1.1rem;margin:0}@media (max-width:768px){.teacher-sections-container{padding:0}.teacher-sections-container .action-buttons{flex-direction:column;gap:6px}.teacher-sections-container .action-btn{font-size:.8rem;justify-content:center;min-width:0;min-width:auto;padding:8px 10px;width:100%}.teacher-sections-container .action-btn svg{font-size:1rem}.teacher-sections-container .info-badge,.teacher-sections-container .subject-badge{font-size:.75rem;padding:4px 10px}.teacher-sections-container .count-badge{font-size:.85rem;min-width:35px;padding:4px 10px}}.attendance-status-badge{box-shadow:0 2px 6px #00000026;transition:all .3s ease;white-space:nowrap}.attendance-status-badge:hover{box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.attendance-status-badge.pending{animation:pulse 2s infinite}.teacher-attendance-container{padding:20px}.attendance-filters{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:20px}.filter-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr;margin-bottom:20px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:#2c3e50;font-size:.95rem;font-weight:600}.date-input{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:10px 14px;transition:all .2s}.date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.date-input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.section-info-card{grid-gap:10px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:12px 14px}.info-item{display:flex;flex-direction:column;gap:3px}.info-label{font-size:.75rem;opacity:.9}.info-value{font-size:.95rem;font-weight:600}.status-buttons{flex-wrap:wrap;gap:6px}.status-btn,.status-buttons{display:flex;justify-content:center}.status-btn{align-items:center;background:#fff;border:2px solid #0000;border-radius:6px;color:#95a5a6;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;gap:4px;min-width:85px;padding:8px 14px;transition:all .2s}.status-btn svg{font-size:1.2rem}.status-btn.present{border-color:#27ae60;color:#27ae60}.status-btn.present.active{background:#27ae60;color:#fff}.status-btn.absent{border-color:#e74c3c;color:#e74c3c}.status-btn.absent.active{background:#e74c3c;color:#fff}.status-btn.late{border-color:#f39c12;color:#f39c12}.status-btn.late.active{background:#f39c12;color:#fff}.status-btn:hover:not(.active){box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.note-input{border:1px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:.9rem;padding:8px 12px;transition:all .2s;width:100%}.note-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.attendance-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:15px;justify-content:center;margin-top:20px;padding:20px}.notify-btn,.save-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 30px;transition:all .3s}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.save-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.notify-btn{background:linear-gradient(135deg,#f093fb,#f5576c)}.notify-btn:hover:not(:disabled){box-shadow:0 6px 20px #f093fb66;transform:translateY(-2px)}.notify-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.6}.notify-btn svg,.save-btn svg{font-size:1.3rem}@media (max-width:768px){.teacher-attendance-container{background:#f0f2f5;min-height:100vh;padding:0}.filter-row{gap:12px;grid-template-columns:1fr;padding:1rem}.attendance-filters{border-radius:0;box-shadow:0 2px 8px #00000014;margin-bottom:0}.section-info-card{border-radius:12px;box-shadow:0 3px 12px #667eea4d;gap:.8rem;grid-template-columns:repeat(2,1fr);padding:1rem}.info-label{font-size:.7rem;opacity:.85}.info-value{font-size:.9rem;font-weight:700}.status-buttons{flex-wrap:nowrap;gap:.6rem}.status-btn{border-radius:10px;box-shadow:0 2px 6px #0000001a;font-size:.85rem;min-width:auto;padding:.8rem .6rem}.status-btn svg{font-size:1.4rem}.status-btn:active{transform:scale(.95)}.note-input{border-radius:10px;font-size:.9rem;padding:.75rem}.attendance-actions{background:#fff;border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -2px 12px #00000014;flex-direction:column;gap:.8rem;padding:1rem;position:-webkit-sticky;position:sticky}.notify-btn,.save-btn{border-radius:12px;box-shadow:0 2px 8px #00000026;font-size:1rem;justify-content:center;padding:1rem;width:100%}.notify-btn:active,.save-btn:active{transform:scale(.98)}}.teacher-exam-results-container{padding:20px}.exam-info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:20px}.exam-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.exam-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.published-badge{align-items:center;background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:20px;color:#fff;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:6px 14px}.exam-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-label{color:#7f8c8d;font-size:.85rem;font-weight:600}.detail-value{color:#2c3e50;font-size:1.05rem;font-weight:700}.stats-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:20px;padding:20px}.stats-card h4{font-size:1.1rem;margin:0 0 15px}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{background:#ffffff26;border-radius:8px;display:flex;flex-direction:column;gap:5px;padding:12px;text-align:center}.stat-label{font-size:.85rem;opacity:.9}.stat-value{font-size:1.5rem;font-weight:700}.warning-banner{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;font-weight:600;gap:10px;margin-bottom:20px;padding:12px 20px}.warning-banner svg{font-size:1.3rem}.student-cell{display:flex;flex-direction:column;gap:4px}.student-id-small{color:#95a5a6;font-size:.75rem}.marks-input{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:1rem;font-weight:600;max-width:120px;padding:8px 12px;text-align:center;transition:all .2s;width:100%}.marks-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.marks-input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.percentage-badge{border-radius:20px;color:#fff;display:inline-block;font-size:.95rem;font-weight:700;min-width:70px;padding:6px 14px;text-align:center}.results-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;justify-content:center;margin-top:20px;padding:20px}.save-results-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;gap:10px;padding:14px 40px;transition:all .3s}.save-results-btn svg{font-size:1.3rem}.save-results-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.save-results-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.empty-state{color:#95a5a6}.empty-icon{color:#ddd;font-size:4rem}.empty-state p{font-size:1.1rem;margin:0}@media (max-width:768px){.teacher-exam-results-container{padding:0}.exam-info-card{margin-bottom:12px;padding:12px}.exam-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px}.exam-header h3{font-size:1.1rem}.published-badge{font-size:.8rem;gap:5px;padding:5px 12px}.exam-details{gap:10px;grid-template-columns:1fr}.detail-item{gap:3px}.detail-label{font-size:.75rem}.detail-value{font-size:.95rem}.stats-card{margin-bottom:12px;padding:12px}.stats-card h4{font-size:1rem;margin-bottom:10px}.stats-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.stat-item{gap:3px;padding:8px}.stat-label{font-size:.75rem}.stat-value{font-size:1.2rem}.warning-banner{font-size:.85rem;gap:8px;margin-bottom:12px;padding:10px 15px}.warning-banner svg{font-size:1.1rem}.student-cell{gap:3px}.student-id-small{font-size:.7rem}.marks-input{font-size:.95rem;max-width:100%;padding:8px 10px}.percentage-badge{font-size:.85rem;min-width:65px;padding:5px 12px}.results-actions{margin-top:12px;padding:12px}.save-results-btn{font-size:.95rem;gap:8px;justify-content:center;padding:12px 30px;width:100%}.save-results-btn svg{font-size:1.1rem}.empty-state{padding:40px 15px}.empty-icon{font-size:3.5rem;margin-bottom:15px}.empty-state p{font-size:1rem}}.teacher-students-container{display:flex;flex-direction:column;gap:20px}.students-summary{display:flex;flex-wrap:wrap;gap:12px;overflow-x:auto}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 2px 8px #667eea33;color:#fff;cursor:default;display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:140px;padding:14px 18px;transition:all .25s ease}.summary-card:hover{background:linear-gradient(135deg,#7c8ff0,#8a5db0);box-shadow:0 4px 16px #667eea59;transform:translateY(-2px)}.summary-label{color:#ffffffe6;font-size:.8rem;font-weight:500;opacity:.95}.summary-value{color:#fff;font-size:1.6rem;font-weight:700}.student-name-cell{display:flex;flex-direction:column;gap:4px}.student-email{color:#7b8794;font-size:.8rem}.school-number-sub{color:#667eea;font-size:.78rem;font-weight:600}.teacher-student-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:4px;justify-content:center}.teacher-student-actions button{align-items:center;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:inline-flex;font-size:16px;height:32px;justify-content:center;padding:0;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;width:32px}.teacher-student-actions button svg{font-size:16px}.btn-view-profile{background:#3b82f6;color:#fff}.btn-quick-attendance{background:#22c55e;color:#fff}.btn-quick-grades{background:#f59e0b;color:#fff}.teacher-student-actions button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.teacher-student-actions button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.btn-view-profile:hover{background:#2563eb}.btn-quick-attendance:hover{background:#16a34a}.btn-quick-grades:hover{background:#d97706}.empty-state{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;color:#869099}.empty-icon{color:#d7dcdf;font-size:3.5rem;margin-bottom:16px}.teacher-students-tabs{align-items:center;background:#f1f4f8;border-radius:10px;display:flex;gap:4px;padding:4px}.teacher-students-tabs .tab{background:#0000;border:none;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.teacher-students-tabs .tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 6px #667eea40;color:#fff}.teacher-students-tabs .tab:hover:not(.active){background:#667eea1f;color:#3c366b}@media (max-width:768px){.teacher-students-container{gap:12px}.students-summary{gap:8px}.summary-card{gap:4px;min-width:120px;padding:10px 14px}.summary-label{font-size:.7rem}.summary-value{font-size:1.3rem}.student-name-cell{gap:3px}.student-email{font-size:.75rem}.school-number-sub{font-size:.72rem}.teacher-student-actions{flex-wrap:nowrap;gap:4px;justify-content:center}.teacher-student-actions button{height:32px;width:32px}.teacher-student-actions button svg{font-size:15px}.teacher-students-tabs{gap:4px;padding:4px;width:100%}.teacher-students-tabs .tab{flex:1 1;font-size:.75rem;padding:8px 10px;text-align:center}.empty-state{padding:40px 15px}.empty-icon{font-size:3rem;margin-bottom:12px}.loading-state{gap:10px;padding:40px 15px}.spinner{border-width:3px;height:40px;width:40px}.loading-state p{font-size:.9rem}}.loading-state{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;gap:12px;padding:60px 20px}.spinner{animation:teacher-spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}@keyframes teacher-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p{color:#4a5568;font-weight:600;margin:0}.teacher-navigation{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;position:-webkit-sticky;position:sticky;top:0;transition:width .3s ease;width:280px}.teacher-navigation.collapsed{width:80px}.collapse-toggle-btn{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;color:#667eea;cursor:pointer;display:flex;height:30px;justify-content:center;left:-15px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:30px;z-index:10}.collapse-toggle-btn:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.1)}.collapse-toggle-btn svg{font-size:20px}.teacher-nav-header{border-bottom:1px solid #fff3;padding:30px 20px;position:relative;text-align:center;transition:padding .3s ease}.teacher-navigation.collapsed .teacher-nav-header{padding:20px 10px}.teacher-avatar-icon{background:#fff3;border-radius:50%;height:80px;margin:0 auto 15px;padding:20px;position:relative;transition:all .3s ease;width:80px}.teacher-navigation.collapsed .teacher-avatar-icon{display:none}.teacher-nav-header .network-status{font-size:11px;min-width:auto;padding:4px 8px;position:absolute;right:20px;top:25px;transition:all .3s ease}.teacher-navigation.collapsed .teacher-nav-header .network-status{margin:0 auto;position:static}.teacher-nav-header .network-icon{font-size:14px}.teacher-navigation.collapsed .teacher-nav-header .network-icon{font-size:20px}.teacher-navigation.collapsed .teacher-nav-header .network-text{display:none}.teacher-info h3{font-size:1.2rem;font-weight:600;margin-bottom:5px;transition:all .3s ease}.teacher-navigation.collapsed .teacher-info{display:none}.teacher-role{font-size:.9rem;margin:0;opacity:.9}.teacher-nav-menu{flex:1 1;overflow-y:auto;padding:20px 0}.nav-item{align-items:center;border-right:4px solid #0000;color:#fff;cursor:pointer;display:flex;overflow:hidden;padding:15px 25px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.teacher-navigation.collapsed .nav-item{justify-content:center;padding:15px}.teacher-navigation.collapsed .nav-item span{display:none}.teacher-navigation.collapsed .nav-icon{margin-left:0}.nav-item:hover{background:#ffffff1a;border-right-color:#ffffff80}.nav-item.active{background:#ffffff26;border-right-color:#fff;font-weight:600}.nav-icon{font-size:1.5rem;margin-left:15px}.btn-change-password-nav{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;margin:10px 20px;overflow:hidden;padding:12px 15px;transition:all .3s;white-space:nowrap}.teacher-navigation.collapsed .btn-change-password-nav{margin:10px;padding:12px}.teacher-navigation.collapsed .btn-change-password-nav span{display:none}.btn-change-password-nav:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.btn-change-password-nav svg{font-size:1.1rem}.btn-logout-teacher{align-items:center;background:#ff3b30cc;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;margin:10px 20px 20px;overflow:hidden;padding:15px;transition:all .3s;white-space:nowrap}.teacher-navigation.collapsed .btn-logout-teacher{margin:10px;padding:15px 10px}.teacher-navigation.collapsed .btn-logout-teacher span{display:none}.btn-logout-teacher:hover{background:#ff3b30;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn-logout-teacher svg{font-size:1.2rem}.mobile-menu-toggle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:none;font-size:1.3rem;height:45px;justify-content:center;position:fixed;right:12px;top:12px;transition:all .2s cubic-bezier(.4,0,.2,1);width:45px;z-index:1002}.mobile-menu-toggle:hover{box-shadow:0 3px 12px #667eea66;transform:scale(1.02)}.mobile-menu-toggle:active{transform:scale(.95)}.menu-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.mobile-menu-toggle{display:flex}.menu-overlay{display:block}.teacher-navigation{box-shadow:-4px 0 15px #0000004d;height:100vh;position:fixed;right:-100%;top:0;transition:right .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.teacher-navigation.menu-open{right:0}.teacher-nav-header{padding:18px 16px}.teacher-nav-header .network-status{font-size:10px;padding:3px 6px;right:12px;top:16px}.teacher-nav-header .network-text{display:none}.teacher-avatar-icon{height:50px;margin-bottom:10px;padding:12px;width:50px}.teacher-info h3{font-size:.9rem;margin-bottom:3px}.teacher-role{font-size:.75rem}.teacher-nav-menu{display:flex;flex-direction:column;padding:8px 0}.nav-item{border-bottom:none;border-right:4px solid #0000;flex-direction:row;font-size:.9rem;padding:12px 16px;text-align:right}.nav-item.active{border-bottom:none;border-right-color:#fff}.nav-icon{font-size:1.15rem;margin-bottom:0;margin-left:10px}.btn-change-password-nav{font-size:.85rem;gap:8px;margin:8px 16px;padding:10px 12px}.btn-change-password-nav svg{font-size:1rem}.btn-logout-teacher{font-size:.9rem;gap:8px;margin:12px 16px 16px;padding:10px}.btn-logout-teacher svg{font-size:1.1rem}}@media (min-width:769px){.teacher-navigation{width:280px}}.teacher-panel{background:#f8f9fa;direction:rtl;display:flex;min-height:100vh;overflow:hidden}.teacher-content{flex:1 1;height:100vh;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:20px;position:relative}.teacher-content::-webkit-scrollbar{width:8px}.teacher-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.teacher-content::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.teacher-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.teacher-panel{background:#f0f2f5;flex-direction:column;height:100vh;overflow:hidden}.teacher-content{-webkit-overflow-scrolling:touch;background:#f0f2f5;height:calc(100vh - 65px);max-width:100vw;overflow-x:hidden;overflow-y:auto;padding:65px 10px 10px;width:100%}}.student-panel{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);direction:rtl;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.student-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px 30px;position:-webkit-sticky;position:sticky;position:relative;top:0;z-index:100}.student-header-left{align-items:center;display:flex;gap:15px}.student-avatar{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 10px #0003;color:#667eea;display:flex;font-size:24px;font-weight:700;height:50px;justify-content:center;width:50px}.student-info h2{font-size:20px;font-weight:600;margin:0}.student-info p{font-size:14px;margin:5px 0 0;opacity:.9}.student-header-right{align-items:center;display:flex;gap:15px}.header-icon-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:45px;justify-content:center;position:relative;transition:all .3s;width:45px}.header-icon-btn:hover{background:#ffffff4d;transform:scale(1.1)}.notification-badge{background:#ef4444;border-radius:50%;font-size:10px;font-weight:700;height:18px;justify-content:center;position:absolute;right:5px;top:5px;width:18px}.logout-btn,.notification-badge{align-items:center;color:#fff;display:flex}.logout-btn{background:#fff3;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.logout-btn:hover{background:#ffffff4d}.student-layout{display:flex;min-height:calc(100vh - 90px)}.student-sidebar{background:#fff;box-shadow:4px 0 20px #00000014;padding:30px 0;transition:all .3s;width:280px}.student-sidebar.collapsed{width:80px}.sidebar-toggle{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;height:40px;justify-content:center;margin-left:10px;width:40px}.student-nav{list-style:none;margin:0;padding:0}.student-nav-item{margin:5px 15px}.student-nav-link{align-items:center;border-radius:12px;color:#4b5563;display:flex;font-size:16px;font-weight:500;gap:15px;overflow:hidden;padding:15px 20px;position:relative;text-decoration:none;transition:all .3s}.student-nav-link:hover{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#667eea;transform:translateX(-5px)}.student-nav-link.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.student-nav-link.active:before{background:#fff;content:"";height:100%;position:absolute;right:0;top:0;width:4px}.nav-icon{font-size:24px;min-width:24px}.nav-text{flex:1 1;white-space:nowrap}.student-sidebar.collapsed .nav-text{display:none}.student-sidebar.collapsed .student-nav-link{justify-content:center;padding:15px}.student-content{flex:1 1;max-height:calc(100vh - 90px);overflow-y:auto;padding:30px}.page-title{color:#1f2937;font-size:32px;font-weight:700;gap:15px;margin:0 0 30px}.page-title,.page-title-icon{align-items:center;display:flex}.page-title-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;font-size:28px;height:50px;justify-content:center;width:50px}.student-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:25px;padding:25px;transition:all .3s}.student-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.card-header{border-bottom:2px solid #f3f4f6;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.card-header,.card-title{align-items:center;display:flex}.card-title{color:#1f2937;font-size:20px;font-weight:600;gap:10px;margin:0}.card-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:98}.sidebar-overlay.show{display:block}@media (max-width:768px){.sidebar-toggle{display:flex}.student-sidebar{box-shadow:-4px 0 20px #0000004d;height:100vh;position:fixed;right:-100%;top:0;transition:right .3s ease;z-index:101}.student-sidebar.open{right:0}.student-content{padding:20px 15px}.page-title{font-size:24px}.student-header{padding:15px 20px}.student-info h2{font-size:16px}.student-info p{font-size:12px}.logout-btn span,.student-avatar{display:none!important}.logout-btn{min-width:auto;padding:8px 12px}.header-icon-btn{height:40px;min-height:40px;min-width:40px;width:40px}}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #f3f4f6;border-top-color:#667eea;margin-bottom:20px}.empty-state{color:#6b7280;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.3}.empty-text{font-size:18px;font-weight:600;margin-bottom:10px}.empty-subtext{font-size:14px;opacity:.7}.maintenance-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.maintenance-background{height:100%;left:0;opacity:.3;overflow:hidden;position:absolute;top:0;width:100%}.floating-emoji{animation:float 6s ease-in-out infinite;font-size:3rem;opacity:.5;position:absolute}.floating-emoji:first-child{animation-delay:0s;left:10%}.floating-emoji:nth-child(2){animation-delay:1s;left:30%}.floating-emoji:nth-child(3){animation-delay:2s;left:50%}.floating-emoji:nth-child(4){animation-delay:3s;left:70%}.floating-emoji:nth-child(5){animation-delay:4s;left:90%}@keyframes float{0%,to{transform:translateY(100vh) rotate(0deg)}50%{transform:translateY(-100px) rotate(180deg)}}.maintenance-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:40px;position:relative;text-align:center;width:100%;z-index:10}.shake-0{animation:shake1 .5s}.shake-1{animation:shake2 .5s}.shake-2{animation:shake3 .5s}@keyframes shake1{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@keyframes shake2{0%,to{transform:translateY(0)}25%{transform:translateY(-10px)}75%{transform:translateY(10px)}}@keyframes shake3{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.maintenance-icon-container{display:inline-block;margin-bottom:20px;position:relative}.maintenance-icon{animation:sadBounce 2s ease-in-out infinite;color:#764ba2;font-size:120px}.sad-face{filter:drop-shadow(0 10px 20px rgba(118,75,162,.3))}@keyframes sadBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.tears{height:100%;left:0;top:0;width:100%}.tear,.tears{position:absolute}.tear{animation:tearDrop 2s ease-in infinite;font-size:30px}.tear-left{animation-delay:.5s;left:20%;top:60%}.tear-right{animation-delay:1s;right:20%;top:60%}@keyframes tearDrop{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(50px) scale(.5)}}.maintenance-title{color:#764ba2;font-size:3rem;font-weight:700;margin:20px 0;position:relative;text-shadow:3px 3px 0 #667eea}.glitch{animation:glitch 3s infinite}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}96%{transform:translate(-2px,-2px)}98%{transform:translate(2px,2px)}}.maintenance-message-box{animation:messagePulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 5px 15px #764ba24d;margin:30px 0;padding:20px}@keyframes messagePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.maintenance-message{color:#fff;font-size:1.8rem;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.wasted-time-container{align-items:center;background:#fff3cd;border:3px dashed #ff9800;border-radius:10px;display:flex;gap:15px;justify-content:center;margin:25px 0;padding:20px}.warning-icon{color:#ff9800;font-size:40px}.blink{animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.wasted-time-content{text-align:center}.wasted-time-label{color:#856404;font-size:1rem;font-weight:700;margin:0 0 5px}.wasted-time-counter{color:#ff9800;font-family:Courier New,monospace;font-size:2rem;font-weight:700;margin:0;text-shadow:2px 2px 4px #ff98004d}.sarcastic-message{background:#f8d7da;border:2px solid #f5c6cb;border-radius:10px;margin:20px 0;padding:20px}.broken-icon{color:#721c24;display:block;font-size:50px;margin:0 auto 10px}.spin{animation:spin 3s linear infinite}.sarcastic-message p{color:#721c24;font-size:1.2rem;line-height:1.6;margin:0}.maintenance-advice{background:#d1ecf1;border-left:5px solid #17a2b8;border-radius:5px;margin:20px 0;padding:15px}.advice-text{color:#0c5460;font-size:1rem;line-height:1.6;margin:0}.fake-loading{margin:30px 0}.fake-loading-bar{background:#e0e0e0;border-radius:15px;height:30px;overflow:hidden;position:relative;width:100%}.fake-loading-progress{animation:fakeProgress 3s ease-in-out infinite;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:15px;height:100%;width:15%}@keyframes fakeProgress{0%{width:0}50%{width:15%}to{width:0}}.fake-loading-text{color:#666;font-size:.9rem;font-style:italic;margin-top:10px}.final-message{background:#f5f5f5;border-radius:10px;margin:20px 0;padding:20px}.final-message p{color:#333;font-size:1rem;line-height:1.8;margin:0}.final-message strong{color:#764ba2;font-weight:700}.maintenance-actions{display:flex;flex-direction:column;gap:15px;margin-top:20px;max-width:500px;width:100%}.fake-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 5px 15px #764ba266;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 40px;transition:transform .2s}.fake-button:hover{box-shadow:0 7px 20px #764ba280;transform:translateY(-2px)}.fake-button:active{transform:translateY(0)}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.marketing-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:15px;box-shadow:0 5px 20px #4caf5066;color:#fff;display:flex;gap:15px;justify-content:space-between;overflow:hidden;padding:20px 25px;position:relative;text-decoration:none;transition:all .3s ease}.marketing-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 8px 25px #4caf5099;transform:translateY(-3px)}.marketing-button:active{transform:translateY(-1px)}.shine{position:relative}.shine:before{animation:shine 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shine{0%{left:-100%}50%,to{left:100%}}.button-icon{animation:rotate-slow 10s linear infinite;flex-shrink:0;font-size:2rem}@keyframes rotate-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button-text{align-items:flex-start;display:flex;flex-direction:column;flex-grow:1;line-height:1.4}.button-text strong{font-size:1.1rem;font-weight:700;margin-bottom:3px}.button-text small{font-size:.85rem;font-weight:400;opacity:.9}.button-arrow{animation:arrowBounce 1.5s ease-in-out infinite;flex-shrink:0;font-size:1.5rem;font-weight:700}@keyframes arrowBounce{0%,to{transform:translateX(0)}50%{transform:translateX(-5px)}}@media (max-width:768px){.maintenance-content{padding:20px}.maintenance-title{font-size:2rem}.maintenance-message{font-size:1.3rem}.maintenance-icon{font-size:80px}.wasted-time-counter{font-size:1.5rem}.maintenance-actions{max-width:100%}.fake-button{font-size:.95rem;padding:12px 25px}.marketing-button{flex-direction:row;gap:10px;padding:15px 20px}.button-icon{font-size:1.5rem}.button-text strong{font-size:.95rem}.button-text small{font-size:.75rem}.button-arrow{font-size:1.2rem}}.ai-chat-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;left:24px;position:fixed;transition:all .3s ease;width:56px;z-index:9999}.ai-chat-button:hover{box-shadow:0 6px 20px #667eea99;transform:scale(1.1)}.ai-chat-button:active{transform:scale(.95)}.ai-chat-button.open{background:linear-gradient(135deg,#f093fb,#f5576c)}.ai-chat-window{animation:slideUp .3s ease;background:#fff;border-radius:16px;bottom:90px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;height:600px;left:24px;overflow:hidden;position:fixed;width:400px;z-index:9998}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;justify-content:space-between;padding:16px}.ai-chat-header,.ai-chat-header-content{align-items:center;display:flex;gap:12px}.ai-chat-header-content{flex:1 1}.ai-chat-header h3{font-size:16px;font-weight:600;margin:0}.ai-chat-header p{font-size:12px;margin:0;opacity:.9}.ai-chat-clear-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.ai-chat-clear-btn:hover:not(:disabled){background:#ffffff4d}.ai-chat-clear-btn:disabled{cursor:not-allowed;opacity:.5}.ai-chat-messages{background:#f8f9fa;display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:#0000}.ai-chat-messages::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#a0aec0}.ai-chat-welcome{align-items:center;color:#667eea;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.ai-chat-welcome svg{margin-bottom:16px;opacity:.2}.ai-chat-welcome h4{color:#2d3748;font-size:20px;margin:0 0 8px}.ai-chat-welcome p{color:#718096;font-size:14px;margin:0}.ai-chat-welcome-hint{color:#4a5568!important;font-weight:600;margin-top:24px!important}.ai-chat-quick-questions{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:280px;width:100%}.ai-chat-quick-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:13px;padding:10px 16px;text-align:right;transition:all .2s ease}.ai-chat-quick-btn:hover:not(:disabled){background:#f7fafc;border-color:#667eea;color:#667eea}.ai-chat-quick-btn:disabled{cursor:not-allowed;opacity:.5}.ai-chat-message{animation:messageSlide .3s ease;display:flex;gap:8px;max-width:85%}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message.user{align-self:flex-end;flex-direction:row-reverse}.ai-chat-message.assistant{align-self:flex-start}.ai-chat-message-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.ai-chat-message-content{display:flex;flex-direction:column;gap:4px}.ai-chat-message-text{word-wrap:break-word;background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#2d3748;direction:rtl;font-size:14px;line-height:1.6;padding:10px 14px;text-align:right;white-space:pre-wrap}.ai-chat-message.user .ai-chat-message-text{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-chat-message-time{color:#a0aec0;direction:rtl;font-size:11px;padding:0 4px;text-align:right}.ai-chat-loading{background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;display:flex;gap:4px;padding:10px 14px}.ai-chat-loading span{animation:loadingDot 1.4s ease-in-out infinite both;background:#667eea;border-radius:50%;height:8px;width:8px}.ai-chat-loading span:first-child{animation-delay:-.32s}.ai-chat-loading span:nth-child(2){animation-delay:-.16s}@keyframes loadingDot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ai-chat-input{align-items:flex-end;background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:8px;padding:16px}.ai-chat-input textarea{border:2px solid #e2e8f0;border-radius:12px;direction:rtl;flex:1 1;font-family:inherit;font-size:14px;max-height:100px;min-height:40px;padding:10px 14px;resize:none;text-align:right;transition:all .2s ease}.ai-chat-input textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.ai-chat-input textarea:disabled{background:#f7fafc;cursor:not-allowed}.ai-chat-send-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s ease;width:40px}.ai-chat-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:scale(1.05)}.ai-chat-send-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.ai-chat-send-btn:active:not(:disabled){transform:scale(.95)}@media (max-width:768px){.ai-chat-window{bottom:80px;height:calc(100vh - 140px);left:16px;width:calc(100vw - 32px)}.ai-chat-button{bottom:16px;height:52px;left:16px;right:16px;width:52px}}@media (max-width:480px){.ai-chat-window{border-radius:12px;bottom:70px;height:calc(100vh - 120px);left:8px;width:calc(100vw - 16px)}.ai-chat-quick-questions{max-width:100%}.ai-chat-message{max-width:90%}}@media (prefers-color-scheme:dark){.ai-chat-window{background:#1a202c}.ai-chat-messages{background:#2d3748}.ai-chat-message-text{background:#4a5568;color:#e2e8f0}.ai-chat-message.user .ai-chat-message-text{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-chat-input{background:#1a202c;border-top-color:#4a5568}.ai-chat-input textarea{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.ai-chat-welcome h4{color:#e2e8f0}.ai-chat-quick-btn{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.ai-chat-loading{background:#4a5568}}:root{--color-primary-main:#667eea;--color-primary-secondary:#764ba2;--color-primary-light:#8b9cff;--color-primary-dark:#5568d3;--color-success:#2ecc71;--color-danger:#e74c3c;--color-warning:#f39c12;--color-info:#3498db;--color-white:#fff;--color-neutral-lightest:#f8f9fa;--color-neutral-lighter:#e9ecef;--color-neutral-light:#dee2e6;--color-neutral-medium:#adb5bd;--color-neutral-dark:#495057;--color-neutral-darker:#343a40;--color-neutral-black:#212529;--color-stats-students:#3498db;--color-stats-teachers:#e74c3c;--color-stats-batches:#2ecc71;--color-stats-grades:#f39c12;--color-stats-subjects:#9b59b6;--color-stats-assignments:#e67e22;--color-stats-enrollments:#1abc9c;--overlay-light:#0000001a;--overlay-medium:#0000004d;--overlay-dark:#00000080;--gradient-primary:linear-gradient(135deg,var(--color-primary-main) 0%,var(--color-primary-secondary) 100%);--gradient-danger:linear-gradient(135deg,#e74c3c,#c0392b);--gradient-success:linear-gradient(135deg,#2ecc71,#27ae60);--gradient-info:linear-gradient(135deg,#3498db,#2980b9);--font-family-primary:"Cairo","Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-secondary:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--font-family-monospace:"Courier New",monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-size-5xl:48px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-base:16px;--spacing-lg:20px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:40px;--spacing-4xl:48px;--border-radius-sm:4px;--border-radius-base:8px;--border-radius-md:10px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--border-width-thin:1px;--border-width-base:2px;--border-width-thick:3px;--shadow-sm:0 1px 2px #0000000d;--shadow-base:0 2px 4px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--shadow-sidebar:-2px 0 10px #0000001a;--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease;--sidebar-width:220px;--sidebar-width-collapsed:70px;--header-height:70px;--max-content-width:1400px;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-modal:1030;--z-index-popover:1040;--z-index-tooltip:1050}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-neutral-lightest);font-family:var(--font-family-primary);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.App,body{direction:rtl}.App{height:100vh;height:100dvh;overflow:hidden;text-align:right}.loading-container{align-items:center;background:var(--gradient-primary);color:var(--color-white);display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top:3px solid var(--color-white);height:50px;margin-bottom:var(--spacing-lg);width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.access-denied{align-items:center;background:var(--gradient-danger);color:var(--color-white);display:flex;flex-direction:column;height:100vh;justify-content:center;padding:var(--spacing-3xl);text-align:center}.access-denied h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}.access-denied p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-2xl);opacity:.9}.access-denied button{background:#fff3;border:var(--border-width-base) solid #ffffff4d;border-radius:var(--border-radius-base);color:var(--color-white);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base)}.access-denied button:hover{background:#ffffff4d;border-color:#ffffff80}@media (max-width:768px){.App{height:auto;min-height:100vh;overflow:visible}.access-denied h1{font-size:var(--font-size-4xl)}.access-denied p{font-size:var(--font-size-base)}}@keyframes gradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes floatBubble1{0%{opacity:0;transform:translate(0) scale(.8)}10%{opacity:.6}50%{opacity:.8;transform:translate(80vw,-30vh) scale(1.2)}90%{opacity:.4}to{opacity:0;transform:translate(0) scale(.8)}}@keyframes floatBubble2{0%{opacity:0;transform:translate(0) scale(1)}15%{opacity:.7}50%{opacity:.9;transform:translate(-70vw,20vh) scale(.9)}85%{opacity:.5}to{opacity:0;transform:translate(0) scale(1)}}@keyframes floatBubble3{0%{opacity:0;transform:translate(0) scale(.9)}12%{opacity:.5}50%{opacity:.7;transform:translate(60vw,-50vh) scale(1.1)}88%{opacity:.3}to{opacity:0;transform:translate(0) scale(.9)}}@keyframes floatBubble4{0%{opacity:0;transform:translate(0) scale(1.1)}8%{opacity:.6}50%{opacity:.8;transform:translate(-50vw,40vh) scale(.8)}92%{opacity:.4}to{opacity:0;transform:translate(0) scale(1.1)}}@keyframes floatBubble5{0%{opacity:0;transform:translate(0) scale(1)}12%{opacity:.65}50%{opacity:.85;transform:translate(-60vw,35vh) scale(1.15)}88%{opacity:.45}to{opacity:0;transform:translate(0) scale(1)}}@keyframes floatBubble6{0%{opacity:0;transform:translate(0) scale(.95)}10%{opacity:.55}50%{opacity:.75;transform:translate(50vw,-40vh) scale(1.05)}90%{opacity:.35}to{opacity:0;transform:translate(0) scale(.95)}}@keyframes colorPulse{0%,to{filter:blur(1px) hue-rotate(0deg) brightness(1)}25%{filter:blur(2px) hue-rotate(30deg) brightness(1.2)}50%{filter:blur(1.5px) hue-rotate(60deg) brightness(1.1)}75%{filter:blur(2px) hue-rotate(30deg) brightness(1.3)}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}