@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-primary: #2563EB;--color-primary-muted: #93C5FD;--color-success: #16A34A;--color-warning: #F59E0B;--color-danger: #DC2626;--color-bg: #F5F5F4;--color-surface: #FFFFFF;--color-border: #E5E7EB;--color-text-primary: #111827;--color-text-secondary: #4B5563;--color-text-muted: #9CA3AF;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg);color:var(--color-text-primary);overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:1.2;letter-spacing:-.02em}p{margin:0}button{font-family:inherit;cursor:pointer;border:none;outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.text-primary{color:var(--color-primary)}.bg-primary{background:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-muted{color:var(--color-text-muted)}.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;background:#f3f4f6;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:inset -1px 0 #e5e7eb}.sidebar.collapsed{width:80px}.sidebar-brand{padding:24px 20px;border-bottom:1px solid #E5E7EB;position:relative}.brand-content{display:flex;align-items:center;gap:12px}.brand-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#111827;border-radius:12px;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #00000014}.brand-text{flex:1;min-width:0}.brand-title{font-size:17px;font-weight:700;color:#111827;margin:0;line-height:1.2;letter-spacing:-.02em}.brand-subtitle{font-size:12px;color:#6b7280;margin:2px 0 0;font-weight:500}.collapse-btn{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:#e5e7eb;border:none;color:#374151;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.collapse-btn:hover{background:#d1d5db;color:#111827}.sidebar.collapsed .brand-content{justify-content:center}.sidebar.collapsed .collapse-btn{right:50%;transform:translate(50%,-50%)}.sidebar-nav{flex:1;overflow-y:auto;padding:20px 12px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff26}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.nav-sublist{list-style:none;margin:4px 0 0;padding:0 0 0 37px;display:flex;flex-direction:column;gap:4px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);transition:max-height .28s ease,opacity .24s ease,transform .24s ease;position:relative;pointer-events:none}.nav-sublist:before{content:"";position:absolute;left:-15px;top:-8px;bottom:16px;width:2px;background:linear-gradient(180deg,#2563eb,#60a5fa,#93c5fd);border-radius:999px;opacity:.4}.nav-sublist.open{max-height:320px;opacity:1;transform:translateY(0);pointer-events:auto}.nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:transparent;border:1px solid transparent;border-radius:12px;color:#4b5563;cursor:pointer;transition:all .2s ease;text-align:left}.nav-item:hover{background:#fff;color:#111827;border-color:#e5e7eb}.nav-item.active{background:#fff;color:#111827;border-color:#e5e7eb;box-shadow:0 4px 12px #0000000f}.nav-subitem{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px 8px 6px;position:relative;background:transparent;border:1px solid transparent;border-radius:10px;color:#4b5563;cursor:pointer;transition:all .2s ease;text-align:left}.nav-subitem:hover{background:#fff;border-color:#93c5fd;color:#111827}.nav-subitem:hover:before{border-left-color:#2563eb;border-bottom-color:#2563eb;opacity:.7}.nav-subitem:hover .nav-sub-bullet{background:#60a5fa;border-color:#60a5fa;transform:scale(1.15)}.nav-subitem.active{background:#fff;border-color:#e5e7eb;color:#111827;box-shadow:0 2px 8px #0000000a}.nav-subitem:before{content:"";position:absolute;left:-27px;top:0;width:20px;height:50%;border-left:2px solid #93C5FD;border-bottom:2px solid #93C5FD;border-bottom-left-radius:10px;opacity:.5;transition:all .2s ease}.nav-subitem.active:before{border-left-color:#2563eb;border-bottom-color:#2563eb;opacity:.8}.nav-sub-bullet{width:8px;height:8px;border-radius:999px;background:#d1d5db;border:2px solid #F3F4F6;flex-shrink:0;transition:all .2s ease}.nav-subitem.active .nav-sub-bullet{background:#2563eb;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;transform:scale(1.2)}.nav-sub-label{font-size:13px;font-weight:600;color:inherit}.nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-chevron{display:flex;align-items:center;justify-content:center;padding-left:6px;color:#9ca3af;cursor:pointer;transition:transform .2s ease,color .2s ease}.nav-chevron .chevron-open{transform:rotate(180deg)}.nav-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nav-label{font-size:14px;font-weight:600;line-height:1.2}.nav-description{font-size:11px;color:#6b7280;line-height:1.2}.active-indicator{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:24px;background:#22c55e;border-radius:999px}.sidebar.collapsed .nav-item{justify-content:center;padding:14px}.sidebar.collapsed .active-indicator{left:0;width:4px;height:32px}.sidebar-footer{padding:16px 12px 20px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:12px}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;transition:all .2s ease;cursor:pointer;width:100%}.user-profile:hover{background:#f9fafb}.logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.user-avatar{width:40px;height:40px;border-radius:12px;background:#111827;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #00000014}.user-info{flex:1;min-width:0}.user-name{font-size:14px;font-weight:700;color:#111827;margin:0;line-height:1.2}.user-role{font-size:12px;color:#6b7280;margin:2px 0 0;line-height:1.2}.sidebar.collapsed .user-profile{justify-content:center}.sidebar.collapsed .logout-btn{padding:12px;justify-content:center}.sidebar.collapsed .logout-btn span{display:none}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.main-layout{margin-left:280px;margin-top:0;min-height:100vh;background:#f8fafc;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.main-layout.sidebar-collapsed{margin-left:80px}.main-content{padding:32px;max-width:1600px;margin:0 auto}@media(max-width:768px){.main-layout{margin-left:0;margin-top:0}.main-content{padding:20px}}.stat-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:22px;transition:all .2s ease;box-shadow:0 4px 10px #0000000a}.stat-card:hover{border-color:#d1d5db;box-shadow:0 8px 18px #0000000f;transform:translateY(-2px)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stat-card-title{font-size:13px;font-weight:600;color:#6b7280;letter-spacing:.01em}.stat-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#111827}.stat-card-icon.stat-card-neutral{background:#f3f4f6;box-shadow:inset 0 1px #ffffffb3}.stat-card-icon.stat-card-soft{background:#e5e7eb;box-shadow:inset 0 1px #ffffffb3}.stat-card-icon.stat-card-dark{background:#111827;color:#fff;box-shadow:0 2px 6px #0000001f}.stat-card-body{margin-bottom:12px}.stat-card-value{font-size:30px;font-weight:700;color:#111827;line-height:1.2;margin-bottom:4px;letter-spacing:-.015em}.stat-card-subtitle{font-size:13px;color:#6b7280;line-height:1.4}.stat-card-trend{display:flex;align-items:center;gap:6px;padding-top:12px;border-top:1px solid #F3F4F6;font-size:13px}.trend-icon{font-size:16px;font-weight:700}.trend-value{font-weight:700}.trend-label{color:#9ca3af;font-weight:500}.stat-card-trend.trend-up{color:#16a34a}.stat-card-trend.trend-down{color:#dc2626}@media(max-width:640px){.stat-card{padding:20px}.stat-card-value{font-size:28px}.stat-card-icon{width:36px;height:36px}.stat-card-icon svg{width:18px;height:18px}}.dashboard-page{display:flex;flex-direction:column;gap:32px}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start}.dashboard-greeting{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px;letter-spacing:-.02em}.dashboard-date{font-size:15px;color:#6b7280;margin:0;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.dashboard-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.section-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;overflow:hidden;box-shadow:0 6px 16px #0000000d}.section-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #F3F4F6}.section-title{font-size:18px;font-weight:700;color:#111827;margin:0;letter-spacing:-.01em}.section-action{background:transparent;border:none;color:#2563eb;font-size:14px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease}.section-action:hover{background:#2563eb14}.section-content{padding:0}.attendance-list{display:flex;flex-direction:column}.attendance-item{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid #F3F4F6;transition:background .2s ease}.attendance-item:last-child{border-bottom:none}.attendance-item:hover{background:#f9fafb}.attendance-avatar{width:44px;height:44px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#111827;flex-shrink:0}.attendance-info{flex:1;min-width:0}.attendance-name{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px;line-height:1.2}.attendance-detail{font-size:13px;color:#6b7280;margin:0;line-height:1.2}.attendance-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;flex-shrink:0}.attendance-badge.success{background:#ecfdf3;color:#15803d}.class-list{display:flex;flex-direction:column}.class-item{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid #F3F4F6;transition:background .2s ease}.class-item:last-child{border-bottom:none}.class-item:hover{background:#f9fafb}.class-time{width:80px;padding:8px 12px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;font-size:13px;font-weight:700;color:#111827;text-align:center;flex-shrink:0}.class-info{flex:1;min-width:0}.class-subject{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 4px;line-height:1.2}.class-detail{font-size:13px;color:#64748b;margin:0;line-height:1.2}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media(max-width:768px){.dashboard-page{gap:24px}.dashboard-greeting{font-size:24px}.dashboard-sections,.stats-grid{grid-template-columns:1fr}}.finance-page{display:flex;flex-direction:column;gap:24px}.communications-page{display:flex;flex-direction:column;gap:24px}.reports-page{display:flex;flex-direction:column;gap:24px}.success-modal{background:#fff;border-radius:24px;padding:48px;max-width:450px;width:90%;text-align:center;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#1e40af);padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-20px,20px)}}.login-card{background:var(--color-surface);border-radius:20px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:500px;padding:48px;animation:slideUp .5s ease-out;position:relative;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:36px}.logo-container{display:flex;justify-content:center;margin-bottom:20px}.logo-icon{width:72px;height:72px;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 20px #2563eb66}.login-header h1{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px;letter-spacing:-.5px}.login-header .subtitle{font-size:16px;color:var(--color-text-secondary);font-weight:400}.login-form,.request-form{display:flex;flex-direction:column;gap:20px}.form-step{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.step-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-border);display:flex;align-items:center;gap:10px}.lg-form-group{display:flex;flex-direction:column;gap:10px}.lg-form-group label{font-size:14px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.form-input{padding:12px 16px;border:2px solid var(--color-border);border-radius:8px;font-size:15px;font-family:inherit;transition:all .2s ease;background:var(--color-surface);color:var(--color-text-primary)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder{color:var(--color-text-muted)}.form-input.error{border-color:var(--color-danger)}.error-message{color:var(--color-danger);font-size:13px;font-weight:500}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:4px;border-radius:4px;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{color:var(--color-text-primary)}.error-alert{background-color:#fee2e2;border:1px solid #FECACA;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.field-hint{font-size:13px;color:var(--color-text-muted);margin-top:4px}.btn{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;border:none}.btn-link{background:none;border:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;padding:12px;transition:all .2s ease;text-align:center}.btn-link:hover{color:var(--color-primary)}.btn-link .highlight{color:var(--color-primary);font-weight:600}.btn-link:hover .highlight{text-decoration:underline}.login-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.form-actions{display:flex;flex-direction:row;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.form-actions .btn-link{flex-basis:100%;order:3}.form-actions .btn-secondary{margin-right:auto}.form-actions .btn-primary{margin-left:auto}.progress-indicator{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:0 10px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;flex:0 0 auto}.step-number{width:44px;height:44px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;color:var(--color-text-muted);transition:all .3s ease}.progress-step.active .step-number{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb4d}.progress-step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:12px;font-weight:500;color:var(--color-text-muted);transition:all .3s ease;white-space:nowrap}.progress-step.active .step-label{color:var(--color-primary);font-weight:600}.progress-line{flex:1;height:2px;background:var(--color-border);margin:0 8px;position:relative;top:-14px;transition:all .3s ease}.progress-line.completed{background:var(--color-success)}.plan-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}.plan-option{border:2px solid var(--color-border);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative}.plan-option input[type=radio]{position:absolute;opacity:0}.plan-option:hover{border-color:var(--color-primary);background:#2563eb05}.plan-option.selected{border-color:var(--color-primary);background:#2563eb0d;box-shadow:0 0 0 3px #2563eb1a}.plan-content{display:flex;flex-direction:column;gap:4px}.plan-name{font-size:15px;font-weight:600;color:var(--color-text-primary)}.plan-description{font-size:12px;color:var(--color-text-secondary);line-height:1.4}@media(max-width:600px){.login-card{padding:32px 24px}.logo-icon{width:64px;height:64px}.login-header h1{font-size:24px}.login-header .subtitle{font-size:14px}.form-input{padding:10px 14px;font-size:14px}.btn{padding:10px 20px;font-size:14px}.progress-indicator{padding:0 5px}.step-number{width:36px;height:36px;font-size:14px}.step-label{font-size:11px}.plan-options{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:8px}.form-actions .btn{width:100%;justify-content:center}.form-actions .btn-secondary,.form-actions .btn-primary{margin-left:0;margin-right:0}.form-actions .btn-link{order:0}}.form-input:disabled{background:var(--color-bg);cursor:not-allowed;opacity:.6}.account-page{display:flex;flex-direction:column;gap:32px;padding:8px;max-width:1400px}.loading-state{text-align:center;padding:64px 24px;color:#6b7280;font-size:16px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:8px}.page-title{font-size:32px;font-weight:800;color:#111827;margin:0;letter-spacing:-.03em}.page-subtitle{font-size:16px;color:#6b7280;margin:8px 0 0;font-weight:500}.account-content{display:flex;flex-direction:column;gap:32px}.profile-picture-section{display:flex;justify-content:center;align-items:center;padding:32px 0}.profile-card{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:24px;padding:32px;color:#fff;box-shadow:0 20px 40px #1e3a8a4d;height:fit-content}.profile-header{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.2)}.profile-avatar-wrapper{position:relative;display:inline-block}.profile-avatar{width:120px;height:120px;border-radius:24px;background:linear-gradient(135deg,#e5e7eb,#d1d5db);display:flex;align-items:center;justify-content:center;color:#6b7280;border:4px solid #9CA3AF;overflow:hidden;position:relative;transition:all .3s ease;box-shadow:0 4px 14px #0000001a}.profile-avatar:hover{transform:scale(1.05);box-shadow:0 8px 24px #00000026}.profile-avatar-image{width:100%;height:100%;object-fit:cover}.profile-image-input{display:none}.profile-image-upload-btn{position:absolute;bottom:4px;right:4px;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid rgba(255,255,255,.95);transition:all .2s ease;box-shadow:0 4px 12px #3b82f666}.profile-image-upload-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px #3b82f680}.upload-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;width:100%;height:100%;border-radius:24px;display:flex;align-items:center;justify-content:center;color:#fff}.spinning{animation:spin 1s linear infinite}.profile-info{text-align:center;width:100%}.profile-name{font-size:24px;font-weight:700;color:#fff;margin:0 0 12px;letter-spacing:-.02em}.profile-badge{display:inline-block;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:8px 16px;border-radius:12px;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.3)}.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.2)}.stat-label{font-size:13px;color:#fffc;font-weight:500}.stat-value{font-size:16px;font-weight:700;color:#fff}.stat-value.active{color:#10b981}.stat-value.inactive{color:#f59e0b}.info-sections{display:flex;flex-direction:column;gap:28px}.info-section{background:#fff;border:1px solid #E5E7EB;border-radius:24px;padding:36px;box-shadow:0 1px 3px #00000008,0 12px 32px #0000000a;transition:all .3s ease}.info-section:hover{box-shadow:0 4px 6px #0000000a,0 20px 40px #0000000f;transform:translateY(-2px)}.section-header svg{flex-shrink:0;padding:10px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-radius:12px;box-shadow:0 4px 14px #2563eb40}.section-title{font-size:20px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em;flex:0 0 auto}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.info-item{display:flex;flex-direction:column;gap:10px}.info-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.info-label svg{color:#9ca3af}.info-value{font-size:16px;font-weight:600;color:#111827;padding:14px 18px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #E5E7EB;border-radius:12px;transition:all .2s ease}.info-value:hover{background:#fff;border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.access-badge{display:inline-block;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;border:1px solid #93C5FD}.status-badge{display:inline-block;padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;border:1px solid}.status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-color:#6ee7b7}.status-badge.inactive{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-color:#fcd34d}.security-actions{display:flex;gap:12px}.btn{padding:14px 28px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:10px;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 6px 16px #3b82f640}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 24px #3b82f659}.btn-secondary{background:#fff;color:#374151;border:2px solid #E5E7EB;box-shadow:0 2px 8px #0000000d}.btn-secondary:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}@media(max-width:1024px){.account-content{gap:24px}}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:20px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #F3F4F6}.modal-header h3{font-size:22px;font-weight:700;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:32px;color:#9ca3af;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#111827}.password-form{padding:28px}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:14px;font-weight:600;border:1px solid #FCA5A5}.success-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 28px;color:#065f46}.success-message svg{margin-bottom:16px;color:#10b981}.success-message p{font-size:18px;font-weight:600;margin:0}.modal-actions{display:flex;gap:12px;margin-top:28px}@media(max-width:768px){.account-page{padding:4px}.page-header{flex-direction:column;align-items:stretch}.info-grid,.profile-stats{grid-template-columns:1fr}.security-actions{flex-direction:column}.security-actions .btn{width:100%;justify-content:center}.info-section{padding:24px;border-radius:20px}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.register-student-page{display:flex;flex-direction:column;gap:32px;padding:8px}.modal-student-info{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:16px;margin-bottom:28px;border:1px solid #E5E7EB}.modal-student-avatar{width:60px;height:60px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#e5e7eb,#d1d5db);display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.modal-student-avatar img{width:100%;height:100%;object-fit:cover}.modal-student-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.modal-student-name{font-size:18px;font-weight:700;color:#111827}.modal-student-id{font-size:14px;color:#6b7280;font-weight:500;padding:4px 10px;background:#fff;border-radius:8px;border:1px solid #E5E7EB}.student-form{display:flex;flex-direction:column;gap:28px}.form-label{font-size:14px;font-weight:700;color:#1f2937;letter-spacing:-.01em}.date-picker-container{position:relative;width:100%}.date-picker-container .react-datepicker-wrapper{width:100%}.date-picker-container .react-datepicker__input-container input{width:100%;padding:14px 50px 14px 18px;border:2px solid #E5E7EB;border-radius:12px;font-size:15px;color:#111827;background:#f9fafb;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.date-picker-container .react-datepicker__input-container input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1a,0 1px 3px #0000001a;transform:translateY(-1px)}.date-picker-container .react-datepicker__input-container input::placeholder{color:#9ca3af;font-weight:400}.date-picker-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none;z-index:1}.subject-main{display:flex;align-items:center}.subject-options{padding-left:32px;border-left:2px solid #E5E7EB;margin-left:10px}.free-card-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.free-card-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#DC2626}.checkbox-label{font-weight:500}.subjects-container{margin-top:12px}.subjects-table{border:2px solid #E5E7EB;border-radius:12px;overflow:hidden;background:#fff}.subjects-table-header{display:grid;grid-template-columns:80px 1fr 120px 100px;gap:16px;padding:16px 20px;background:#f8fafc;border-bottom:2px solid #E5E7EB;font-weight:600;color:#374151;font-size:14px}.subjects-table-body{max-height:400px;overflow-y:auto}.subject-row{display:grid;grid-template-columns:80px 1fr 120px 100px;gap:16px;padding:16px 20px;border-bottom:1px solid #F1F5F9;align-items:center;transition:all .2s ease;cursor:pointer}.subject-row:hover{background:#f8fafc;transform:translate(2px)}.subject-row.selected{background:#eff6ff;border-left:4px solid #2563EB}.subject-row.selected:hover{background:#dbeafe}.subject-row:last-child{border-bottom:none}.col-select{display:flex;justify-content:center}.col-select input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563EB}.col-subject .subject-name{font-weight:600;color:#1f2937}.col-price .price-amount{font-weight:600;color:#059669;font-size:14px}.col-free{display:flex;justify-content:center}.col-free input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#DC2626}.col-free input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.checkbox-container{display:flex;align-items:center;gap:14px;padding:20px 24px;border:2px solid #E5E7EB;border-radius:14px;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.checkbox-container:hover{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5);transform:translateY(-2px);box-shadow:0 8px 20px #10b98126}.checkbox-container input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:#10B981}.checkbox-label{font-size:15px;font-weight:700;color:#374151}.checkbox-container:has(input:checked){border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5);box-shadow:0 8px 20px #10b98133}.checkbox-container:has(input:checked) .checkbox-label{color:#059669}@media(max-width:768px){.register-student-page{padding:0}.page-title{font-size:26px}.form-section{padding:24px;border-radius:16px}.form-grid,.subjects-grid{grid-template-columns:1fr}.image-upload-label{width:100%;max-width:220px}.form-actions{flex-direction:column-reverse;gap:12px}.btn{width:100%;justify-content:center}}.find-student-page{display:flex;flex-direction:column;gap:24px}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;overflow-y:auto;padding:20px}.student-modal{background:#fff;border-radius:24px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.subjects-section,.subjects-view{margin-top:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:2px solid #F3F4F6;position:sticky;top:0;background:#fff;z-index:10;border-radius:24px 24px 0 0}.modal-title{font-size:24px;font-weight:800;color:#111827;margin:0}.modal-close-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:#e5e7eb;color:#111827}.modal-body{padding:32px;display:flex;flex-direction:column;gap:28px}.modal-avatar-section{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:24px;border-bottom:2px solid #F3F4F6}.modal-avatar-large{width:120px;height:120px;border-radius:20px;background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 10px 30px #2563eb4d}.avatar-text-large{font-size:48px;font-weight:700;color:#fff}.modal-student-name{font-size:28px;font-weight:800;color:#111827;margin:0}.modal-student-id{font-size:14px;color:#6b7280;font-weight:600;padding:6px 14px;background:#f3f4f6;border-radius:8px}.payment-status-section{padding:24px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:16px;border:1px solid #E5E7EB}.section-subtitle{font-size:16px;font-weight:700;color:#111827;margin:0 0 20px;letter-spacing:-.01em}.subject-payment-list{display:flex;flex-direction:column;gap:12px}.subject-payment-row{display:grid;grid-template-columns:150px 1fr;align-items:center;padding:16px;background:#fff;border-radius:12px;border:1px solid #E5E7EB;gap:16px;transition:all .2s ease}.subject-payment-row:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000000d}.subject-name-col{display:flex;align-items:center}.subject-name{font-size:14px;font-weight:700;color:#111827}.payment-months{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start}.payment-month-item{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.month-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.payment-status-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:700;white-space:nowrap}.payment-status-badge.paid{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669;border:1px solid #A7F3D0}.payment-status-badge.unpaid{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border:1px solid #FECACA}.modal-info-section{display:flex;flex-direction:column;gap:16px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info-item{display:flex;flex-direction:column;gap:8px}.info-item.full-width{grid-column:1 / -1}.info-item label{font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:15px;font-weight:600;color:#111827}.modal-input{padding:10px 14px;border:2px solid #E5E7EB;border-radius:10px;font-size:15px;color:#111827;background:#f9fafb;transition:all .2s ease;font-weight:500}.modal-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.subjects-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.subject-tag{padding:6px 12px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;border-radius:8px;font-size:13px;font-weight:600;border:1px solid #BFDBFE}.medical-info-text{padding:16px;background:#f9fafb;border-radius:12px;border:1px solid #E5E7EB;font-size:14px;color:#374151;line-height:1.6;margin:0}.modal-footer{padding:24px 32px;border-top:2px solid #F3F4F6;display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:0;background:#fff;border-radius:0 0 24px 24px}.btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;box-shadow:0 4px 12px #11182740}.btn-primary:hover{background:linear-gradient(135deg,#1f2937,#374151);transform:translateY(-2px);box-shadow:0 6px 18px #11182759}.btn-secondary{background:#fff;color:#6b7280;border:2px solid #E5E7EB}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.search-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px;box-shadow:0 4px 10px #0000000a}.search-bar{position:relative;display:flex;align-items:center;margin-bottom:12px}.search-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;margin:0;padding-left:2px}.search-hint svg{color:#9ca3af}.search-input{width:100%;padding:14px 18px 14px 48px;border:2px solid #E5E7EB;border-radius:12px;font-size:15px;color:#111827;background:#f9fafb;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.search-input:focus{outline:none;background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a;transform:translateY(-1px)}.search-input::placeholder{color:#9ca3af;font-weight:400}.results-section{display:flex;flex-direction:column;gap:20px}.results-header{display:flex;justify-content:space-between;align-items:center}.results-title{font-size:18px;font-weight:700;color:#111827;margin:0}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.student-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;display:flex;gap:16px;transition:all .2s ease;box-shadow:0 4px 10px #0000000a}.student-card:hover{border-color:#d1d5db;box-shadow:0 8px 18px #00000014;transform:translateY(-2px)}.student-avatar{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2563eb33;overflow:hidden}.avatar-text{font-size:20px;font-weight:700;color:#fff}.student-name{font-size:18px;font-weight:700;color:#111827;margin:0 0 12px;letter-spacing:-.01em}.student-actions{display:flex;flex-direction:column;gap:8px}.action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #E5E7EB;background:#fff;cursor:pointer;transition:all .2s ease;color:#6b7280}.action-btn:hover,.view-btn:hover{border-color:#2563eb;background:#eff6ff;color:#2563eb}.edit-btn:hover{border-color:#059669;background:#ecfdf5;color:#059669}@media(max-width:768px){.students-grid{grid-template-columns:1fr}.student-card{flex-direction:column}.student-actions{flex-direction:row;justify-content:flex-end}.student-modal{max-width:100%;max-height:100vh;border-radius:0}.modal-body{padding:20px}.info-grid,.payment-status-grid{grid-template-columns:1fr}.subject-payment-row{flex-direction:column;align-items:flex-start}.subject-name-col{width:100%;min-width:unset}.payment-months{width:100%}.payment-month-item{width:100%;min-width:unset}.modal-header,.modal-footer{padding:16px 20px}}.subject-checkbox{display:flex;align-items:center;gap:12px;padding:16px 20px;border:2px solid #E5E7EB;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f9fafb;position:relative;overflow:hidden}.subject-checkbox:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#2563eb,#3b82f6);transform:scaleY(0);transition:transform .3s ease}.subject-checkbox:hover{border-color:#2563eb;background:#fff;transform:translate(4px);box-shadow:0 4px 12px #2563eb1a}.subject-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563EB}.subject-label{font-size:14px;font-weight:600;color:#374151}.subject-checkbox:has(input:checked){border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #2563eb26}.subject-checkbox:has(input:checked):before{transform:scaleY(1)}.subject-checkbox:has(input:checked) .subject-label{color:#1e40af}.view-all-students-page{display:flex;flex-direction:column;gap:24px}.page-header-right{margin-left:auto;display:flex;align-items:flex-start}.export-dropdown{position:relative}.btn-export{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#111827;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-export:hover{background:#1f2937;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.export-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 10px 30px #00000026;min-width:200px;z-index:100;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.export-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;background:none;border:none;text-align:left;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.export-menu-item:hover{background:#f9fafb;color:#111827}.export-menu-item svg{color:#6b7280}.filters-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;box-shadow:0 4px 10px #0000000a}.filters-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#111827}.filters-title{font-size:16px;font-weight:600;color:#111827}.filters-group{display:flex;gap:12px;flex-wrap:wrap}.filter-select{padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;color:#111827;background:#fff;cursor:pointer;transition:all .2s ease;min-width:150px}.filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.table-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;overflow:hidden;box-shadow:0 4px 10px #0000000a}.table-container{overflow-x:auto}.students-table{width:100%;border-collapse:collapse}.students-table thead{background:#f9fafb;border-bottom:1px solid #E5E7EB}.students-table th{padding:16px;text-align:left;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.students-table tbody tr{border-bottom:1px solid #F3F4F6;transition:background .2s ease}.students-table tbody tr:hover{background:#f9fafb}.students-table tbody tr:last-child{border-bottom:none}.students-table td{padding:16px;font-size:14px;color:#374151}.hidden-column{display:none}.student-id{font-family:monospace;font-weight:600;color:#6b7280}.student-name-cell{display:flex;align-items:center;gap:12px}.student-avatar-small{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover}.student-name-text{font-weight:600;color:#111827}.rfid-text{font-family:monospace;font-size:13px;color:#6b7280;font-weight:600}.school-cell{color:#6b7280;font-size:13px}.subjects-cell{display:flex;flex-wrap:wrap;gap:4px}.subject-chip{padding:4px 8px;background:#eff6ff;color:#2563eb;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.subject-chip.more{background:#f3f4f6;color:#6b7280}.payment-status-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.payment-paid{background:#ecfdf3;color:#15803d}.payment-unpaid{background:#fef2f2;color:#dc2626}.payment-free{background:#f0f9ff;color:#0369a1}.grade-badge{display:inline-block;padding:6px 12px;background:#eff6ff;color:#2563eb;border-radius:6px;font-size:13px;font-weight:600}.email-cell{color:#6b7280;font-size:13px}.status-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active{background:#ecfdf3;color:#15803d}.status-suspended{background:#fef3c7;color:#b45309}.status-alumni{background:#f3f4f6;color:#374151}.table-actions{display:flex;gap:6px}.table-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #E5E7EB;background:#fff;cursor:pointer;transition:all .2s ease;color:#6b7280}.table-action-btn.view:hover{border-color:#2563eb;background:#eff6ff;color:#2563eb}.table-action-btn.edit:hover{border-color:#059669;background:#ecfdf5;color:#059669}.table-action-btn.delete:hover{border-color:#dc2626;background:#fef2f2;color:#dc2626}@media(max-width:1024px){.table-container{overflow-x:scroll}.students-table{min-width:1000px}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px;align-items:stretch}.btn-export{width:100%;justify-content:center}}.modal-avatar-section{display:flex;flex-direction:column;align-items:center;padding:32px 0 24px;border-bottom:1px solid #E5E7EB;margin-bottom:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px 16px 0 0}.modal-avatar-large{width:120px;height:120px;border-radius:16px;background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;margin-bottom:16px;overflow:hidden;box-shadow:0 8px 24px #2563eb33;border:4px solid #FFFFFF;transition:transform .3s ease}.modal-avatar-large:hover{transform:scale(1.05)}.modal-avatar-large img{width:100%;height:100%;object-fit:cover}.avatar-text-large{font-size:36px;font-weight:700;color:#fff;text-transform:uppercase}.student-info-header{text-align:center;margin-bottom:8px}.modal-student-name{font-size:24px;font-weight:700;color:#111827;margin:0 0 12px;text-align:center}.student-meta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.modal-student-id{font-size:14px;color:#6b7280;font-weight:600;background:#f3f4f6;padding:6px 12px;border-radius:20px;text-align:center;display:inline-flex;align-items:center;gap:6px;border:1px solid #E5E7EB}.student-grade-badge{font-size:14px;color:#2563eb;font-weight:600;background:#ebf4ff;padding:6px 12px;border-radius:20px;text-align:center;display:inline-flex;align-items:center;gap:6px;border:1px solid #BFDBFE}.view-modal{background:#fff;border-radius:24px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.modal-body{padding:24px 32px 32px;background:linear-gradient(180deg,#fff,#f8fafc)}.student-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.detail-section{background:#f9fafb;padding:20px;border-radius:12px;border:1px solid #E5E7EB;transition:all .3s ease;position:relative;overflow:hidden}.detail-section:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#d1d5db}.detail-section h4{font-size:16px;font-weight:600;color:#374151;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #E5E7EB}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #E5E7EB}.section-header h4{font-size:16px;font-weight:600;color:#374151;margin:0}.detail-item strong{color:#374151;font-weight:600}.detail-item{margin-bottom:12px;font-size:14px;line-height:1.5}.detail-item:last-child{margin-bottom:0}.subjects-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.subject-tag{background:#ebf4ff;color:#2563eb;padding:4px 12px;border-radius:16px;font-size:13px;font-weight:500;border:1px solid #BFDBFE;display:inline-block}.free-cards-grid{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.free-card-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid #E5E7EB;background:#f9fafb}.free-card-item.free{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.free-card-item.paid{background:#fef3c7;border-color:#fcd34d;color:#92400e}.subject-name{flex:1;font-weight:600}.card-status{font-size:12px;padding:2px 8px;border-radius:12px;font-weight:600}.free-card-item.free .card-status{background:#10b981;color:#fff}.free-card-item.paid .card-status{background:#f59e0b;color:#fff}.no-data{color:#6b7280;font-style:italic;margin-top:8px;display:inline-block}.full-width{grid-column:1 / -1}.edit-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:12px}.no-subjects-message{padding:24px;text-align:center;color:#6b7280;font-size:16px;font-weight:600;background:#f9fafb;border:2px dashed #E5E7EB;border-radius:14px;grid-column:1 / -1}@media(max-width:768px){.view-modal,.edit-modal,.delete-modal{width:95%;margin:20px}.modal-header,.modal-body{padding-left:24px;padding-right:24px}.student-detail-grid,.edit-form-grid{grid-template-columns:1fr;gap:16px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.subject-selection-table{margin-top:12px;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.subjects-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.subjects-table thead{background:#f8fafc}.subjects-table th{padding:16px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #E5E7EB;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.subjects-table td{padding:16px 12px;border-bottom:1px solid #F1F5F9;vertical-align:middle}.subjects-table tbody tr{transition:all .2s ease;cursor:pointer}.subjects-table tbody tr:hover{background:#f8fafc}.subjects-table tbody tr.selected{background:#eff6ff}.subjects-table tbody tr.selected:hover{background:#dbeafe}.subjects-table input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#2563EB}.subjects-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.no-subjects-message{padding:24px;text-align:center;color:#6b7280;font-size:16px;font-weight:600;background:#f9fafb;border:2px dashed #E5E7EB;border-radius:14px}.student-attendance-page{display:flex;flex-direction:column;gap:24px}.search-section{margin-bottom:32px}.search-bar .search-icon{color:#9ca3af;flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:15px;color:#1f2937;background:transparent}.search-input::placeholder{color:#9ca3af}.search-btn-inline{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.search-btn-inline:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.search-btn-inline:disabled{opacity:.6;cursor:not-allowed}.search-hint{display:flex;align-items:center;gap:6px;margin-top:8px;padding-left:4px;font-size:13px;color:#6b7280}.error-message{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px 16px;background:#fee2e2;color:#dc2626;border-radius:8px;font-size:14px}.student-info-card{display:flex;align-items:center;gap:20px;background:#fff;border:2px solid #E5E7EB;border-radius:12px;padding:24px;margin-bottom:24px}.student-avatar{width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.student-details h3{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 8px}.student-meta{display:flex;gap:20px;font-size:14px;color:#6b7280}.meta-item strong{color:#374151;margin-right:4px}.subjects-attendance-list{display:flex;flex-direction:column;gap:24px}.subject-attendance-card{background:#fff;border:2px solid #E5E7EB;border-radius:12px;overflow:hidden;transition:all .2s}.subject-attendance-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000014}.attendence-subject-header{padding:20px 24px;background:#f9fafb;border-bottom:2px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.subject-title{display:flex;align-items:center;gap:12px}.subject-title h4{font-size:18px;font-weight:600;color:#1f2937;margin:0}.subject-title svg{color:#3b82f6}.subject-stats{display:flex;gap:12px;flex-wrap:wrap}.stat-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600}.stat-badge .stat-value{font-size:16px}.stat-badge .stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.stat-badge.total{background:#0c74fc;color:#1e40af}.stat-badge.present{background:#09c062;color:#065f46}.stat-badge.absent{background:#f53434;color:#991b1b}.stat-badge.percentage{padding:8px 16px}.stat-badge.percentage.good{background:#12c468;color:#065f46}.stat-badge.percentage.warning{background:#fef3c7;color:#92400e}.attendance-table-wrapper{overflow-x:auto}.attendance-table{width:100%;border-collapse:collapse}.attendance-table thead{background:#f9fafb}.attendance-table th{text-align:left;padding:16px 24px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #E5E7EB}.attendance-table tbody tr{border-bottom:1px solid #F3F4F6;transition:background .2s}.attendance-table tbody tr:hover{background:#f9fafb}.attendance-table td{padding:16px 24px;font-size:14px;color:#374151}.date-cell{display:flex;align-items:center;gap:8px;color:#1f2937}.date-cell svg{color:#9ca3af}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.present{background:#d1fae5;color:#065f46}.status-badge.absent{background:#fee2e2;color:#991b1b}.empty-state,.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:24px}.empty-state-text{font-size:20px;font-weight:600;color:#6b7280;margin:0 0 8px}@media(max-width:768px){.student-attendance-page{padding:16px}.attendence-subject-header{flex-direction:column;align-items:flex-start}.subject-stats{width:100%;justify-content:space-between}.stat-badge{flex:1;min-width:0;justify-content:center}.attendance-table th,.attendance-table td{padding:12px 16px}}.promote-students-page{padding:24px}.page-title{font-size:28px;font-weight:600;color:#1f2937;margin:0 0 8px}.promotion-result{background:#f0fdf4;border:1px solid #86EFAC;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;margin-bottom:24px}.promotion-result svg{color:#16a34a;flex-shrink:0}.promotion-result h3{font-size:16px;font-weight:600;color:#166534;margin:0 0 4px}.promotion-result p{font-size:14px;color:#166534;margin:0}.promotion-form-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.form-section{margin-bottom:32px}.form-section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #F3F4F6}.section-header svg{color:#3b82f6}.section-header h3{font-size:18px;font-weight:600;color:#1f2937;margin:0}.form-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:8px;display:block}.form-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:start;margin-bottom:24px}.arrow-icon{color:#3b82f6;display:flex;align-items:center;justify-content:center;margin-top:32px}.form-select,.form-textarea{padding:12px 16px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;color:#1f2937;transition:all .2s;background:#fff;min-height:44px;width:100%}.form-select:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.form-hint{font-size:12px;color:#6b7280;margin-top:4px;display:block}.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select:disabled{background:#f3f4f6;cursor:not-allowed}.form-hint{font-size:12px;color:#6b7280;margin-top:4px}.promotion-preview{background:linear-gradient(to bottom right,#f0f9ff,#f9fafb);border:1px solid #E5E7EB;border-radius:12px;padding:24px;margin-top:24px}.preview-content{display:flex;flex-direction:column;gap:20px}.preview-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.preview-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:32px;font-weight:700;color:#1f2937;line-height:1}.stat-label{font-size:13px;color:#6b7280;font-weight:500}.preview-detail-card{padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:12px;justify-content:center}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:13px;color:#6b7280;font-weight:500}.detail-value{font-size:14px;color:#1f2937;font-weight:600}.preview-warning{display:flex;gap:12px;padding:12px;background:#fef3c7;border-radius:8px}.preview-warning svg{color:#d97706;flex-shrink:0;margin-top:2px}.preview-warning p{font-size:13px;color:#92400e;margin:0}.form-actions{margin-top:24px;display:flex;justify-content:center}.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn svg{flex-shrink:0}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-large{padding:12px 32px;font-size:16px}.btn-secondary{background:#fff;color:#374151;border:1px solid #D1D5DB}.btn-secondary:hover{background:#f9fafb}.students-preview-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.students-preview-card .section-header{margin-bottom:16px}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.student-preview-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px}.student-avatar img,.avatar-placeholder{width:40px;height:40px;border-radius:50%;object-fit:cover}.avatar-placeholder{background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.student-info{display:flex;flex-direction:column}.student-name{font-size:14px;font-weight:500;color:#1f2937}.student-id{font-size:12px;color:#6b7280}.more-students{display:flex;align-items:center;justify-content:center;padding:12px;background:#f3f4f6;border-radius:8px;font-size:14px;color:#6b7280;font-weight:500}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-modal{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;text-align:center}.modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.modal-icon.warning{background:#fef3c7;color:#d97706}.confirm-modal h3{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 12px}.confirm-modal p{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5}.warning-text{background:#fef3c7;padding:12px;border-radius:8px;color:#92400e!important;font-size:13px!important}.modal-actions{display:flex;gap:12px;margin-top:24px;justify-content:center}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.arrow-icon{transform:rotate(90deg);padding:0}.students-grid,.preview-stats-grid{grid-template-columns:1fr}}.notification-toast{position:fixed;top:24px;right:24px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 10px 25px #00000026;display:flex;align-items:center;gap:12px;min-width:320px;max-width:500px;z-index:1001;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-success .notification-icon{background:#d1fae5;color:#10b981}.notification-error .notification-icon{background:#fee2e2;color:#ef4444}.notification-message{font-size:14px;color:#1f2937;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.notification-close:hover{background:#f3f4f6;color:#6b7280}.success-modal{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:90%;text-align:center;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-icon-container{position:relative;width:80px;height:80px;margin:0 auto 24px}.modal-icon-bg{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;position:relative;z-index:2;animation:iconBounce .6s ease-out}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.prom-modal-icon-ring{position:absolute;inset:-8px;border-radius:50%;background:#10b98133;animation:ringPulse 1.5s ease-out infinite}@keyframes ringPulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.3);opacity:0}}.modal-title{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 12px}.modal-message{font-size:15px;color:#6b7280;margin:0 0 24px;line-height:1.5}.modal-promotion-info{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:24px}.modal-promotion-stat{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #E5E7EB}.modal-promotion-stat svg{flex-shrink:0}.modal-promotion-stat .stat-value{display:block;font-size:36px;font-weight:700;color:#10b981;line-height:1;margin-bottom:4px}.modal-promotion-stat .stat-label{display:block;font-size:13px;color:#6b7280;font-weight:500}.modal-promotion-details{display:flex;flex-direction:column;gap:10px;text-align:left}.modal-promotion-details p{font-size:14px;color:#374151;margin:0;display:flex;justify-content:space-between}.modal-promotion-details strong{color:#6b7280;font-weight:500}.add-subject-page{display:flex;flex-direction:column;gap:24px}.add-subject-page{display:flex;flex-direction:column;gap:32px;padding:8px}.modal-subject-info{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:16px;margin-bottom:28px;border:1px solid #E5E7EB}.modal-subject-avatar{width:60px;height:60px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#e5e7eb,#d1d5db);display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.modal-subject-avatar img{width:100%;height:100%;object-fit:cover}.modal-subject-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.modal-subject-name{font-size:18px;font-weight:700;color:#111827}.modal-subject-id{font-size:14px;color:#6b7280;font-weight:500;padding:4px 10px;background:#fff;border-radius:8px;border:1px solid #E5E7EB}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.page-title{font-size:32px;font-weight:800;background:linear-gradient(135deg,#1f2937,#111827);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 12px;letter-spacing:-.03em}.page-subtitle{font-size:16px;color:#6b7280;margin:0;font-weight:500}.subject-form{display:flex;flex-direction:column;gap:28px}.form-section{background:#fff;border:1px solid #F3F4F6;border-radius:20px;padding:32px;box-shadow:0 1px 3px #0000000d,0 10px 30px #00000008;transition:all .3s ease}.form-section:hover{box-shadow:0 4px 6px #0000000d,0 20px 40px #0000000f;border-color:#e5e7eb}.section-header{display:flex;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #F3F4F6;color:#111827}.section-header svg{padding:10px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-radius:12px;box-shadow:0 4px 14px #2563eb40}.section-title{font-size:20px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.form-group{display:flex;flex-direction:column;gap:10px}.add-form-label{font-size:14px;font-weight:700;color:#374151;letter-spacing:-.01em}.form-input,.form-textarea{width:100%;padding:14px 18px;border:2px solid #E5E7EB;border-radius:12px;font-size:15px;color:#111827;background:#f9fafb;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.form-input:focus,.form-textarea:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1a,0 1px 3px #0000001a;transform:translateY(-1px)}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af;font-weight:400}.form-textarea{resize:vertical;font-family:inherit;line-height:1.6}.image-upload-container{width:100%;display:flex;justify-content:center;padding:20px 0}.image-input{display:none}.image-upload-label{display:block;width:220px;height:220px;border:3px dashed #D1D5DB;border-radius:20px;cursor:pointer;overflow:hidden;transition:all .3s ease;background:linear-gradient(135deg,#f9fafb,#f3f4f6);position:relative}.image-upload-label:hover{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);transform:scale(1.02);box-shadow:0 10px 30px #2563eb26}.image-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280;gap:16px}.image-upload-placeholder svg{stroke-width:2.5}.image-upload-placeholder span{font-size:14px;font-weight:600}.image-preview{width:100%;height:100%;object-fit:cover}.grades-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:12px}.grade-checkbox{display:flex;align-items:center;gap:12px;padding:16px 20px;border:2px solid #E5E7EB;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f9fafb;position:relative;overflow:hidden}.grade-checkbox:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#2563eb,#3b82f6);transform:scaleY(0);transition:transform .3s ease}.grade-checkbox:hover{border-color:#2563eb;background:#fff;transform:translate(4px);box-shadow:0 4px 12px #2563eb1a}.grade-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563EB}.grade-label{font-size:14px;font-weight:600;color:#374151}.grade-checkbox:has(input:checked){border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #2563eb26}.grade-checkbox:has(input:checked):before{transform:scaleY(1)}.form-actions{display:flex;justify-content:flex-end;gap:16px;padding:24px 0 0}.btn{display:flex;align-items:center;gap:10px;padding:16px 32px;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;letter-spacing:-.01em}.btn-primary{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;box-shadow:0 4px 14px #11182740}.btn-primary:hover{background:linear-gradient(135deg,#1f2937,#374151);transform:translateY(-2px);box-shadow:0 8px 24px #11182759}.btn-secondary{background:#fff;color:#6b7280;border:2px solid #E5E7EB;box-shadow:0 2px 8px #0000000d}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}@media(max-width:1024px){.grades-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.add-subject-page{padding:0}.page-title{font-size:26px}.form-section{padding:24px;border-radius:16px}.form-grid,.grades-grid{grid-template-columns:1fr}.image-upload-label{width:100%;max-width:220px}.form-actions{flex-direction:column-reverse;gap:12px}.btn{width:100%;justify-content:center}}@media(max-width:768px){.pricing-row{flex-direction:column;align-items:stretch;gap:12px}.pricing-grade-label{text-align:center;padding-bottom:8px;border-bottom:1px solid #E5E7EB}.pricing-fields{flex-direction:column;gap:12px}}.manage-subject-page{display:flex;flex-direction:column;gap:24px}.subjects-count{font-size:14px;color:#6b7280;font-weight:600;background:#f9fafb;padding:8px 16px;border-radius:8px;border:1px solid #E5E7EB}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.no-subjects{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.no-subjects svg{margin-bottom:16px;opacity:.5}.no-subjects h3{font-size:18px;font-weight:600;margin:0 0 8px;color:#374151}.no-subjects p{margin:0;font-size:14px}.subject-card{background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.subject-card:hover{box-shadow:0 8px 25px #0000001a;border-color:#d1d5db;transform:translateY(-2px)}.subject-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.subject-avatar{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,#e5e7eb,#d1d5db);display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0}.subject-avatar img{width:100%;height:100%;object-fit:cover;border-radius:12px}.subject-basic-info{flex:1}.subject-teacher-right{display:flex;align-items:center;flex-shrink:0}.subject-teacher{font-size:14px;font-weight:600;color:#111827;background:#f3f4f6;padding:6px 12px;border-radius:6px}.subject-name{font-size:18px;font-weight:700;color:#111827;margin:0 0 4px}.subject-medium{display:flex;align-items:center;gap:6px;font-size:14px;color:#6b7280;font-weight:500}.subject-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151}.detail-item svg{color:#6b7280;flex-shrink:0}.subject-description{margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:8px;border-left:4px solid #2563EB;display:none}.subject-description p{margin:0;font-size:14px;color:#374151;line-height:1.5}.subject-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #E5E7EB;justify-content:center}.btn{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-sm{padding:6px 12px;font-size:13px}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #D1D5DB}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.btn-danger{background:#fee2e2;color:#dc2626;border:1px solid #FECACA}.btn-danger:hover{background:#fecaca;border-color:#f87171}@media(max-width:1024px){.subjects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.filters-section{padding:20px}.filters-group,.subjects-grid{grid-template-columns:1fr}.subject-card{padding:20px}}@media(max-width:480px){.subject-header{flex-direction:column;text-align:center}.subject-actions{flex-direction:column}.btn{justify-content:center}}.edit-modal{background:#fff;border-radius:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 24px;border-bottom:1px solid #E5E7EB}.modal-title{font-size:24px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px 32px 32px}.edit-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:0}.form-input{padding:12px 16px;border:2px solid #E5E7EB;border-radius:8px;font-size:14px;transition:all .2s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{padding:12px 16px;border:2px solid #E5E7EB;border-radius:8px;font-size:14px;resize:vertical;transition:all .2s ease;font-family:inherit;min-height:80px}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.grades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:8px}.grade-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#f9fafb}.grade-checkbox:hover{border-color:#2563eb;background:#fff}.grade-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2563EB}.grade-label{font-size:13px;font-weight:600;color:#374151}.grade-checkbox:has(input:checked){border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.grade-checkbox:has(input:checked) .grade-label{color:#1e40af}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:1px solid #E5E7EB}@media(max-width:768px){.edit-modal,.delete-modal{width:95%;margin:20px}.modal-header,.modal-body{padding-left:24px;padding-right:24px}.edit-form-grid{grid-template-columns:1fr;gap:16px}.grades-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.pricing-grid{display:flex;flex-direction:column;gap:16px}.pricing-row{display:flex;align-items:center;gap:20px;padding:16px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;transition:all .2s ease}.pricing-row:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.pricing-row.new-grade-row{border-color:#fcd34d;background:#fffbeb}.pricing-row.new-grade-row:hover{border-color:#fcd34d;box-shadow:0 2px 8px #fcd34d33}.pricing-grade-label{min-width:80px;font-weight:600;color:#111827;font-size:14px}.pricing-grade-select{min-width:120px}.pricing-fields{display:flex;gap:16px;flex:1}.pricing-fields .form-input{flex:1;margin-bottom:0}@media(max-width:768px){.pricing-row{flex-direction:column;align-items:stretch;gap:12px}.pricing-grade-label{text-align:center;padding-bottom:8px;border-bottom:1px solid #E5E7EB}.pricing-grade-select{min-width:unset}.pricing-fields{flex-direction:column;gap:12px}}.view-all-subjects-page{display:flex;flex-direction:column;gap:24px}.subject-students-container{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:flex-start}.subStudents-header-content{display:flex;align-items:center;gap:1rem}.header-icon{width:48px;height:48px;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #2563eb33}.notification{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;animation:slideIn .3s ease-out;font-weight:600}.notification-success{background-color:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.notification-error{background-color:#fef2f2;color:#dc2626;border:1px solid #FECACA}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.filters-section{background:#fff;padding:24px;border-radius:14px;box-shadow:0 4px 10px #0000000a;border:1px solid #E5E7EB;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{display:flex;align-items:center;gap:.5rem;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:12px 14px;border:2px solid #E5E7EB;border-radius:12px;font-size:15px;color:#111827;background-color:#f9fafb;transition:all .2s;cursor:pointer;font-weight:500}.filter-select:hover{border-color:#d1d5db;background:#fff}.filter-select:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.viewSub-search-bar{display:flex;align-items:center;gap:.75rem;padding:12px 14px;background-color:#f9fafb;border:2px solid #E5E7EB;border-radius:12px;transition:all .2s}.viewSub-search-bar:focus-within{border-color:#2563eb;background-color:#fff;box-shadow:0 0 0 3px #2563eb1a}.viewSub-search-bar input{flex:1;border:none;background:transparent;font-size:15px;color:#111827;outline:none;font-weight:500}.viewSub-search-bar input::placeholder{color:#9ca3af;font-weight:400}.viewSub-search-bar input:disabled{cursor:not-allowed}.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#d1d5db;background:#fff;border:2px dashed #E5E7EB;border-radius:16px}.empty-state-text{font-size:20px;font-weight:700;color:#6b7280;margin:20px 0 8px}.empty-state-subtitle{font-size:15px;color:#9ca3af;margin:0}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#9ca3af;background:#fff;border:1px solid #E5E7EB;border-radius:14px}.no-results-text{font-size:18px;font-weight:600;color:#6b7280;margin:16px 0 4px}.no-results-subtitle{font-size:14px;color:#9ca3af;margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:1rem;background:#fff;border:1px solid #E5E7EB;border-radius:14px}.spinner{width:40px;height:40px;border:4px solid #E5E7EB;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:#6b7280;font-size:15px;font-weight:600;margin:0}.students-list{display:flex;flex-direction:column;gap:24px}.grade-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;box-shadow:0 4px 10px #0000000a}.grade-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:transparent(135deg,#111827 0%,#1F2937 100%);border:1px dashed rgba(0,0,0,.2);border-radius:12px;margin-bottom:16px;color:#081592}.grade-info{display:flex;align-items:center;gap:1rem}.grade-info h2{font-size:18px;font-weight:700;margin:0;letter-spacing:-.01em}.student-count{font-size:13px;font-weight:600;background:#fff3;padding:6px 12px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.remove-grade-btn{display:flex;align-items:center;gap:.5rem;padding:10px 16px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #dc26264d}.remove-grade-btn:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc262666}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.viewSub-student-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;transition:all .2s ease;position:relative;box-shadow:0 2px 6px #0000000a}.viewSub-student-card:hover{border-color:#2563eb;box-shadow:0 6px 16px #2563eb1f;transform:translateY(-2px)}.viewSub-student-avatar{width:52px;height:52px;border-radius:10px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.viewSub-student-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}.student-info h3{font-size:15px;font-weight:700;color:#111827;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.student-id{font-size:12px;color:#6b7280;margin:0;font-weight:600}.student-school{font-size:13px;color:#9ca3af;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.remove-student-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#dc2626;border:1px solid #FECACA;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.remove-student-btn:hover{background:#dc2626;color:#fff;border-color:#dc2626;transform:scale(1.05);box-shadow:0 4px 12px #dc26264d}.delete-modal{background:#fff;border-radius:24px;padding:48px;max-width:450px;width:90%;text-align:center;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.delete-modal .modal-icon-container{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px}.delete-modal .modal-icon-bg.warning{width:100px;height:100px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) .2s both;box-shadow:0 10px 40px #f59e0b66}.delete-modal .modal-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 12px;letter-spacing:-.02em}.delete-modal .modal-message{font-size:16px;color:#6b7280;margin:0 0 32px;line-height:1.6}.delete-modal .modal-message strong{color:#111827;font-weight:700}.delete-modal .modal-actions{display:flex;gap:12px;justify-content:center}.delete-modal .modal-actions .btn{flex:1;justify-content:center}.btn{display:flex;align-items:center;gap:8px;padding:13px 28px;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:-.01em}.btn-secondary{background:#fff;color:#6b7280;border:2px solid #E5E7EB;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;box-shadow:0 2px 4px #0000001a}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 14px #dc26264d}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 6px 18px #dc262659}@media(max-width:768px){.subject-students-container{padding:1rem}.filters-section{grid-template-columns:1fr;gap:1rem}.students-grid{grid-template-columns:1fr}.grade-header{flex-direction:column;align-items:flex-start;gap:1rem}.remove-grade-btn{width:100%;justify-content:center}}.add-class-page{display:flex;flex-direction:column;gap:24px}.success-message{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:16px 24px;border-radius:12px;font-weight:600;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-modal{background:#fff;border-radius:24px;padding:48px;max-width:450px;width:90%;text-align:center;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.modal-icon-container{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px}.modal-icon-bg{width:100px;height:100px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) .2s both;box-shadow:0 10px 40px #10b98166}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.modal-icon-ring{position:absolute;width:120px;height:120px;border:3px solid rgba(16,185,129,.3);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.5}}.modal-title{font-size:28px;font-weight:800;color:#111827;margin:0 0 12px;letter-spacing:-.03em}.modal-message{font-size:16px;color:#6b7280;margin:0 0 28px;line-height:1.6}.modal-class-info{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:16px;margin-bottom:28px;border:1px solid #E5E7EB}.modal-class-avatar{width:60px;height:60px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#e5e7eb,#d1d5db);display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.modal-class-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.modal-class-name{font-size:18px;font-weight:700;color:#111827}.modal-class-id{font-size:14px;color:#6b7280;font-weight:500;padding:4px 10px;background:#fff;border-radius:8px;border:1px solid #E5E7EB}.modal-class-subjects{font-size:14px;color:#6b7280;font-weight:500}.add-class-form{display:flex;flex-direction:column;gap:32px}.form-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px;box-shadow:0 4px 10px #0000000a}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #E5E7EB}.section-header h3{font-size:18px;font-weight:700;color:#111827;margin:0}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:14px;font-weight:600;color:#374151}.form-input,.form-select,.form-textarea{padding:12px 16px;border:2px solid #E5E7EB;border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.time-picker-container{position:relative}.time-display{display:flex;align-items:center;border:2px solid #E5E7EB;border-radius:8px;background:#fff;transition:all .2s ease}.time-display:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.time-display-input{flex:1;padding:12px 16px;border:none;background:transparent;font-size:14px;cursor:pointer;outline:none}.time-display-input::placeholder{color:#9ca3af}.time-picker-toggle{padding:12px 16px;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:0 6px 6px 0;transition:all .2s ease}.time-picker-toggle:hover{background:#f3f4f6;color:#374151}.time-picker-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 10px 25px #0000001a;z-index:1000;max-height:300px;overflow-y:auto;margin-top:4px}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}.time-slot-btn{padding:8px 12px;border:1px solid #E5E7EB;border-radius:6px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.time-slot-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#111827}.time-slot-btn:active{background:#e5e7eb;transform:scale(.98)}@media(max-width:768px){.time-slots-grid{grid-template-columns:repeat(3,1fr);gap:6px;padding:12px}.time-slot-btn{padding:6px 8px;font-size:12px}}.no-grade-message,.no-subjects-message{text-align:center;padding:48px 24px;color:#6b7280}.no-grade-message svg,.no-subjects-message svg{color:#d1d5db;margin-bottom:16px}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.subject-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border:2px solid #E5E7EB;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.subject-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.subject-item.selected{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.subject-info h4{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px}.subject-info p{font-size:14px;color:#6b7280;margin:0 0 8px}.subject-fee{font-size:13px;font-weight:600;color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:6px}.subject-checkbox{color:#10b981}.schedule-builder{display:flex;flex-direction:column;gap:24px}.schedule-inputs{display:grid;grid-template-columns:1fr 2fr 2fr auto;gap:16px;align-items:start}.add-schedule-btn{width:auto;min-width:100px;white-space:nowrap;margin-top:28px}.schedule-list{border:1px solid #E5E7EB;border-radius:8px;overflow:hidden}.no-schedule{text-align:center;padding:48px 24px;color:#6b7280}.no-schedule svg{color:#d1d5db;margin-bottom:16px}.schedule-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E5E7EB;background:#fff}.schedule-item:last-child{border-bottom:none}.schedule-info{display:flex;flex-direction:column;gap:4px}.schedule-header{display:flex;align-items:center;gap:12px}.schedule-grade{font-size:12px;font-weight:600;color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:6px;border:1px solid #A7F3D0}.schedule-day{font-size:16px;font-weight:600;color:#111827}.schedule-time{font-size:14px;color:#6b7280}.remove-schedule-btn{color:#ef4444;background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.remove-schedule-btn:hover{background:#fef2f2}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:1px solid #E5E7EB}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background:#fff;color:#374151;border:2px solid #E5E7EB}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:8px 12px;font-size:12px}.existing-schedules-section{background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:20px;margin-bottom:24px}.existing-schedules-title{font-size:15px;font-weight:600;color:#374151;margin:0 0 16px;display:flex;align-items:center;gap:8px}.existing-schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.existing-schedule-item{background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:all .2s ease}.existing-schedule-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.existing-schedule-subject{display:flex;align-items:center;gap:8px;font-weight:600;color:#111827;font-size:14px}.existing-schedule-subject svg{color:#3b82f6;flex-shrink:0}.existing-schedule-day{font-size:13px;font-weight:500;color:#6b7280;padding-left:24px}.existing-schedule-time{font-size:13px;font-weight:600;color:#059669;padding-left:24px;font-family:SF Mono,Monaco,monospace}@media(max-width:768px){.notification-toast{top:16px;right:16px;left:16px;min-width:auto;max-width:none}.subjects-grid,.schedule-inputs{grid-template-columns:1fr}.schedule-item{flex-direction:column;align-items:flex-start;gap:12px}.form-actions{flex-direction:column}.form-actions .btn{width:100%;justify-content:center}}.view-classes-page{display:flex;flex-direction:column;gap:24px}.filters-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:20px}.search-container{position:relative;max-width:400px}.search-input{width:100%;padding:12px 16px 12px 44px;border:2px solid #E5E7EB;border-radius:12px;font-size:14px;color:#111827;background:#f9fafb;transition:all .3s ease}.search-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6b7280}.filters-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-item label{font-size:14px;font-weight:600;color:#374151}.filter-select{padding:10px 14px;border:2px solid #E5E7EB;border-radius:8px;font-size:14px;color:#111827;background:#f9fafb;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.no-classes{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#6b7280;background:#fff;border:2px dashed #E5E7EB;border-radius:16px}.no-classes svg{margin-bottom:24px;opacity:.5;color:#9ca3af}.no-classes h3{font-size:20px;font-weight:600;margin:0 0 8px;color:#374151}.no-classes p{margin:0 0 24px;font-size:14px;max-width:400px}.class-card{background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.class-card:hover{box-shadow:0 8px 25px #0000001a;border-color:#d1d5db;transform:translateY(-2px)}.class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.class-grade-badge{font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:6px 12px;border-radius:20px;border:1px solid #A7F3D0}.class-actions{display:flex;gap:8px}.btn-icon{padding:8px;border:none;border-radius:6px;background:#f9fafb;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f3f4f6;color:#374151}.btn-icon.btn-danger:hover{background:#fef2f2;color:#dc2626}.class-content{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.class-subjects,.class-schedule,.class-teachers,.class-capacity{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:#374151}.class-subjects svg,.class-schedule svg,.class-teachers svg,.class-capacity svg{color:#6b7280;flex-shrink:0;margin-top:2px}.subjects-list{display:flex;flex-wrap:wrap;gap:6px}.subject-tag{background:#eff6ff;color:#1e40af;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid #BFDBFE}.subject-tag.more{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.teachers-list{display:flex;flex-wrap:wrap;gap:6px}.teacher-name{background:#f0fdf4;color:#15803d;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid #BBF7D0}.teacher-name.more{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.vc-schedule-list{display:flex;flex-direction:column;border-bottom:1px solid #dddee2;border-radius:8px;gap:10px;flex:1}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;gap:12px}.schedule-item .view-schedule-info{display:flex;align-items:center;gap:12px;flex:1}.schedule-item .schedule-subject{font-weight:600;color:#1f2937;min-width:120px}.schedule-item .schedule-day{font-weight:600;color:#374151;min-width:90px}.schedule-item .schedule-time{color:#6b7280}.schedule-item.more{background:transparent;padding:0;font-style:italic;color:#9ca3af;justify-content:flex-start}.class-description{padding:12px 16px;background:#f9fafb;border-radius:8px;border-left:3px solid #2563EB}.class-description p{margin:0;font-size:13px;color:#374151;line-height:1.5}.class-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #E5E7EB}.class-created-date{font-size:12px;color:#9ca3af}.class-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:capitalize}.class-status.active{background:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.class-status.inactive{background:#fef3c7;color:#d97706;border:1px solid #FCD34D}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:1024px){.classes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.filters-section{padding:20px}.filters-group{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.classes-grid{grid-template-columns:1fr}.class-card{padding:20px}.class-header{flex-direction:column;gap:12px}.class-actions{align-self:flex-end}}@media(max-width:480px){.filters-group{grid-template-columns:1fr}.class-subjects,.class-schedule,.class-capacity{flex-direction:column;gap:8px}.schedule-item{flex-direction:column;align-items:flex-start;gap:4px}.class-footer{flex-direction:column;align-items:flex-start;gap:8px}}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #E5E7EB}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:#111827}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px 32px}.detail-section{margin-bottom:24px}.detail-section h4{font-size:16px;font-weight:600;color:#374151;margin:0 0 12px}.detail-section p{margin:0;color:#6b7280;line-height:1.5}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.active{background:#ecfdf5;color:#059669}.status-badge.inactive{background:#fef3c7;color:#d97706}.edit-modal .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.edit-modal .form-group{display:flex;flex-direction:column;gap:8px}.edit-modal .form-group label{font-size:14px;font-weight:600;color:#374151}.edit-modal .form-group input,.edit-modal .form-group select,.edit-modal .form-group textarea{padding:10px 12px;border:2px solid #E5E7EB;border-radius:8px;font-size:14px;transition:all .2s ease}.edit-modal .form-group input:focus,.edit-modal .form-group select:focus,.edit-modal .form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.edit-modal .subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:8px}.edit-modal .subject-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#f9fafb}.edit-modal .subject-checkbox:hover{border-color:#2563eb;background:#fff}.edit-modal .subject-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2563EB}.edit-modal .current-schedule{margin-bottom:24px;padding:16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px}.edit-modal .current-schedule h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.edit-modal .schedule-entries{display:flex;flex-direction:column;gap:8px}.edit-modal .schedule-entry{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border:1px solid #D1D5DB;border-radius:6px;transition:all .2s ease;flex-wrap:wrap}.edit-modal .schedule-entry:hover{border-color:#9ca3af}.edit-modal .view-schedule-info{display:flex;flex-direction:column;gap:4px}.edit-modal .schedule-day{font-weight:600;color:#374151;font-size:14px}.edit-modal .schedule-time{color:#6b7280;font-size:13px}.edit-modal .schedule-actions{display:flex;gap:8px;align-items:center}.edit-modal .edit-schedule-btn{padding:6px;border:none;border-radius:4px;background:#eff6ff;color:#0284c7;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.edit-modal .edit-schedule-btn:hover{background:#e0f2fe}.edit-modal .remove-schedule-btn{padding:6px;border:none;border-radius:4px;background:#fef2f2;color:#dc2626;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.edit-modal .remove-schedule-btn:hover{background:#fee2e2}.schedule-edit-form{width:100%;display:flex;flex-direction:column;gap:16px;padding:16px;background:#f9fafb;border-radius:6px}.edit-form-row{display:flex;flex-direction:column;gap:8px}.time-label{font-size:13px;font-weight:600;color:#374151}.time-inputs{display:flex;align-items:center;gap:8px}.time-input{width:60px;padding:8px;border:1px solid #D1D5DB;border-radius:4px;font-size:14px}.period-select{width:80px;padding:8px;border:1px solid #D1D5DB;border-radius:4px;font-size:14px;background:#fff}.edit-input{width:100%;padding:8px;border:1px solid #D1D5DB;border-radius:4px;font-size:14px;background:#fff}.edit-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.btn-sm{padding:6px 12px;font-size:13px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.edit-modal .add-schedule-section{padding:16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px}.edit-modal .add-schedule-section h5{margin:0 0 16px;font-size:14px;font-weight:600;color:#374151}.edit-modal .schedule-form{display:flex;flex-direction:column;gap:16px}.edit-modal .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.edit-modal .time-input-group{display:flex;align-items:center;gap:8px}.edit-modal .time-input-group select{padding:8px 10px;border:2px solid #E5E7EB;border-radius:6px;font-size:14px;transition:all .2s ease}.edit-modal .time-input-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.edit-modal .time-input-group span{color:#6b7280;font-weight:500}.edit-modal .btn-outline{padding:10px 16px;border:2px solid #2563EB;border-radius:8px;background:#fff;color:#2563eb;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;justify-content:center;text-decoration:none}.edit-modal .btn-outline:hover{background:#2563eb;color:#fff}.delete-modal{background:#fff;border-radius:16px;max-width:450px;width:90%;padding:32px;text-align:center;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.modal-icon-container{margin-bottom:24px}.modal-icon-bg{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto}.modal-icon-bg.warning{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.modal-title{font-size:20px;font-weight:700;color:#111827;margin:0 0 16px}.modal-message{color:#6b7280;line-height:1.5;margin:0 0 24px;font-size:14px}.vc-modal-actions{display:flex;gap:12px;justify-content:center;padding:0 32px 24px}.vc-modal-actions .btn{min-width:120px;justify-content:center;padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.vc-modal-actions .btn-secondary{background:#f3f4f6;color:#374151;border:2px solid #E5E7EB}.vc-modal-actions .btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 4px #2563eb33}.vc-modal-actions .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.vc-modal-actions .btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 2px 4px #dc262633}.vc-modal-actions .btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.no-enrolled-students{text-align:center;padding:40px 20px;color:#6b7280}.no-enrolled-students svg{margin-bottom:16px;opacity:.5;color:#9ca3af}.no-enrolled-students h4{font-size:18px;font-weight:600;margin:0 0 8px;color:#374151}.no-enrolled-students p{margin:0;font-size:14px}.enrolled-students-list{display:flex;flex-direction:column;gap:20px}.enrolled-count{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#374151}.enrolled-student-card{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;transition:all .2s ease}.enrolled-student-card:hover{border-color:#d1d5db;background:#f3f4f6}.student-avatar{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:600;color:#374151;flex-shrink:0}.student-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.student-info h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-info p{margin:0;font-size:12px;color:#6b7280;line-height:1.4}.students-section{padding:16px 0}.no-data-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}.no-data-message svg{margin-bottom:12px}.no-data-message p{font-size:14px;margin:0}.students-table-container{overflow-x:auto;border:1px solid #E5E7EB;border-radius:10px;max-height:400px;overflow-y:auto}.students-table{width:100%;border-collapse:collapse;font-size:14px}.students-table thead{background:#f3f4f6;position:sticky;top:0;z-index:1}.students-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #E5E7EB;white-space:nowrap}.students-table tbody tr{border-bottom:1px solid #E5E7EB;transition:background-color .2s ease}.students-table tbody tr:hover{background-color:#f9fafb}.students-table td{padding:12px 16px;color:#111827}.students-table td:last-child{text-align:center}.status-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.inactive{background-color:#fee2e2;color:#7f1d1d}.status-badge.pending{background-color:#fef3c7;color:#92400e}.add-student-section{display:flex;flex-direction:column;gap:20px}.add-student-section .search-container{position:relative;max-width:100%}.add-student-section .search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;font-family:inherit}.add-student-section .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.available-students-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.available-student-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;transition:all .2s ease}.available-student-item:hover{background:#f3f4f6;border-color:#d1d5db}.available-student-item .student-info{flex:1;display:flex;flex-direction:column;gap:4px}.available-student-item .student-name{font-weight:600;color:#111827;font-size:14px}.available-student-item .student-meta{display:flex;gap:16px;font-size:13px;color:#6b7280}.btn-sm{padding:8px 12px;font-size:13px;white-space:nowrap}.notification-toast{position:fixed;top:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:12px;box-shadow:0 10px 25px #00000026;min-width:320px;max-width:500px;z-index:9999;animation:slideInRight .3s ease,fadeOut .3s ease 3.7s forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}.notification-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.notification-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.notification-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.notification-message{font-size:14px;font-weight:600;line-height:1.5}.notification-close{background:transparent;border:none;color:inherit;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0}.notification-close:hover{background:#fff3}@media(max-width:768px){.notification-toast{top:16px;right:16px;left:16px;min-width:auto;max-width:none}}.manage-class-students-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.header-top{display:flex;align-items:center;gap:16px;width:100%}.btn-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid #E5E7EB;border-radius:12px;background:#fff;cursor:pointer;color:#6b7280;transition:all .3s ease;flex-shrink:0}.btn-back:hover{background:#f9fafb;color:#111827;border-color:#d1d5db}.header-content{flex:1}.page-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px;letter-spacing:-.02em}.page-subtitle{font-size:15px;color:#6b7280;margin:0 0 8px;font-weight:500}.class-subjects-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;margin-top:4px}.class-subjects-info svg{color:#2563eb;flex-shrink:0}.class-subjects-info span{font-weight:500}.manage-content{display:flex;flex-direction:column;gap:24px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#111827;margin:0}.section-title svg{color:#2563eb}.toggle-btn{padding:10px 16px;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{background:#e5e7eb;border-color:#d1d5db}.toggle-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.enrolled-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:#6b7280}.empty-state svg{width:64px;height:64px;color:#d1d5db;margin-bottom:16px}.empty-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px}.empty-subtitle{font-size:14px;color:#6b7280;margin:0}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.student-card-item{background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:16px;display:flex;gap:12px;align-items:flex-start;transition:all .3s ease}.student-card-item:hover{background:#fff;border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.student-avatar-section{flex-shrink:0}.student-avatar-small{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-weight:600;color:#fff;font-size:16px}.avatar-initials{font-size:18px;font-weight:600;color:#fff}.student-details-section{flex:1;min-width:0}.student-name{font-size:15px;font-weight:600;color:#111827;margin:0 0 6px}.student-meta-info{display:flex;gap:12px;font-size:13px;color:#6b7280;margin-bottom:4px}.meta-item{display:inline}.student-phone{font-size:13px;color:#6b7280;margin:0}.btn-remove{width:36px;height:36px;border:1px solid #FEE2E2;background:#fef2f2;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.btn-remove:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.add-students-section{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px}.add-panel{margin-top:20px;display:flex;flex-direction:column;gap:16px}.search-container-full{position:relative;width:100%}.search-input-full{width:100%;padding:12px 16px 12px 44px;border:2px solid #E5E7EB;border-radius:12px;font-size:14px;background:#f9fafb;transition:all .3s ease}.search-input-full:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;color:#6b7280}.empty-state-small svg{width:48px;height:48px;color:#d1d5db;margin-bottom:12px}.empty-state-small p{font-size:15px;color:#111827;margin:0 0 4px;font-weight:500}.empty-state-small small{font-size:13px;color:#6b7280}.available-students-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.available-students-list::-webkit-scrollbar{width:6px}.available-students-list::-webkit-scrollbar-track{background:transparent}.available-students-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.available-students-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.no-search-results{text-align:center;padding:30px 20px;color:#6b7280;font-size:14px}.available-student-card{display:flex;align-items:center;gap:12px;padding:14px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;transition:all .3s ease}.available-student-card:hover{background:#fff;border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.student-avatar-section-small{flex-shrink:0}.student-avatar-tiny{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.student-avatar-tiny img{width:100%;height:100%;object-fit:cover}.avatar-initials-tiny{font-size:14px;font-weight:600;color:#fff}.student-details-section-small{flex:1;min-width:0}.student-name-small{font-size:14px;font-weight:600;color:#111827;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-meta-info-small{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;flex-wrap:wrap}.student-meta-info-small .meta-label{font-weight:500;color:#374151}.student-meta-info-small .meta-value{color:#6b7280}.student-meta-info-small .meta-separator{color:#d1d5db;margin:0 2px}.btn{padding:10px 16px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;font-family:inherit}.btn-primary{background:#2563eb;color:#fff;border:1px solid #2563EB}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 6px -1px #2563eb4d}.btn-primary:active{background:#1e40af}.btn-add{padding:8px 12px;font-size:13px;white-space:nowrap;flex-shrink:0}.btn-sm{padding:8px 12px;font-size:13px}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #E5E7EB}.btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;padding:24px}.error-container p{font-size:16px;color:#6b7280}@media(max-width:768px){.manage-content{gap:16px}.students-grid{grid-template-columns:1fr}.page-title{font-size:24px}.header-top{flex-direction:column;gap:12px}.available-students-list{max-height:300px}.section-header{flex-direction:column;align-items:flex-start}.toggle-btn{align-self:flex-start}.student-card-item{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.page-title{font-size:20px}.section-title{font-size:16px}.students-grid{grid-template-columns:1fr}.available-student-card{flex-wrap:wrap}.btn-add{width:100%;justify-content:center}}.start-session-page{padding:24px;max-width:1800px;margin:0 auto}.page-header{margin-bottom:24px}.filters-bar{display:flex;gap:16px;margin-bottom:24px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.search-box{flex:1}.search-input{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none;transition:all .2s}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.day-filter{min-width:200px}.day-select{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;outline:none;transition:all .2s}.day-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.schedules-container{display:flex;flex-direction:column;gap:24px}.day-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.day-section-header{display:flex;align-items:center;gap:12px;padding:20px 24px;background:#f9fafb;border-bottom:2px solid #E5E7EB}.day-section-header.today{background:linear-gradient(135deg,#3b82f6,#2563eb)}.day-section-title{font-size:20px;font-weight:700;color:#1f2937;margin:0}.day-section-header.today .day-section-title{color:#fff}.schedule-count{font-size:14px;color:#6b7280;margin-left:auto;font-weight:500}.day-section-header.today .schedule-count{color:#ffffffe6}.today-badge{display:inline-block;padding:4px 12px;background:#3b82f6;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.day-section-header.today .today-badge{background:#fff3}.schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:20px}.schedule-item-session{background:#f9fafb;border:2px solid #E5E7EB;border-radius:12px;padding:20px;transition:all .2s;display:flex;flex-direction:column;gap:16px}.schedule-item-session:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.schedule-item-session.active-now{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.schedule-item-session-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-time-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;font-size:13px;font-weight:500;color:#374151}.schedule-item-session.active-now .schedule-time-badge{background:#fff;border-color:#3b82f6;color:#3b82f6}.live-badge{padding:6px 12px;background:#ef4444;color:#fff;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;animation:pulse 2s infinite}.schedule-item-session-body{flex:1}.schedule-subject{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 8px}.schedule-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.schedule-grade{font-weight:600;color:#3b82f6}.schedule-divider{color:#d1d5db}.schedule-teacher{font-weight:500}.start-session-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.start-session-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.start-session-btn:active{transform:translateY(0)}.no-schedules{text-align:center;padding:80px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.no-schedules svg{color:#d1d5db;margin-bottom:16px}.no-schedules h3{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.no-schedules p{font-size:14px;color:#6b7280;margin:0}@media(max-width:1200px){.schedules-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.start-session-page{padding:16px}.filters-bar{flex-direction:column;gap:12px}.day-filter{min-width:auto}.schedules-grid{grid-template-columns:1fr;gap:12px}.day-section-header{padding:16px}.day-section-title{font-size:18px}.schedule-item-session{padding:16px}}.current-sessions-page{padding:24px;max-width:1600px;margin:0 auto}.notification{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:12px;background:#fff;box-shadow:0 4px 16px #00000026;display:flex;align-items:center;gap:12px;z-index:1000;animation:slideIn .3s ease}.notification button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280}.sessions-container{margin-top:24px}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.session-card{background:#fff;border:2px solid #E5E7EB;border-radius:16px;padding:28px;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:space-between;min-height:320px}.session-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626;transform:translateY(-4px)}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #F3F4F6}.session-badge{padding:6px 16px;border-radius:24px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;animation:pulse 2s infinite}.session-badge.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.session-duration{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f3f4f6;border-radius:8px;font-size:13px;font-weight:600;color:#374151}.session-info{margin-bottom:24px}.session-subject{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 12px;line-height:1.3}.session-grade{display:inline-block;font-size:14px;font-weight:600;color:#3b82f6;background:#eff6ff;padding:4px 12px;border-radius:6px;margin:0 0 8px}.session-teacher{font-size:14px;color:#6b7280;margin:0 0 10px;font-weight:500}.session-time{font-size:13px;color:#9ca3af;display:flex;align-items:center;gap:6px}.session-actions{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap}.session-actions-centered{display:flex;justify-content:center;align-items:center;flex:1;padding:20px 0}.btn{padding:12px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.session-btn-secondary{background:#f3f4f6;color:#374151;border:2px solid #E5E7EB}.session-btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db}.btn-outline{background:#fff;border:2px solid #E5E7EB;color:#374151}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:2px solid #EF4444}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#dc2626;box-shadow:0 4px 12px #ef444466}.btn-small{padding:8px 12px;font-size:13px;font-weight:600}.session-modal{background:#fff;border-radius:16px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d}.modal-close-btn{background:#f3f4f6;border:none;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:24px;color:#6b7280}.modal-body p{margin:0 0 16px;color:#374151;line-height:1.5}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.attendance-container{background:#fff;border:2px solid #E5E7EB;border-radius:16px;padding:32px;box-shadow:0 2px 8px #00000014}.attendance-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;padding-bottom:24px;border-bottom:2px solid #F3F4F6;flex-wrap:wrap;gap:16px}.session-details h3{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 8px}.session-details p{font-size:15px;color:#6b7280;margin:0}.attendance-actions{display:flex;gap:12px;flex-wrap:wrap}.search-section{margin-bottom:28px}.search-bar{position:relative;max-width:500px}.search-input{width:100%;padding:14px 16px 14px 48px;border:2px solid #E5E7EB;border-radius:12px;font-size:15px;outline:none;transition:all .2s;background:#f9fafb}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background:#fff}.students-attendance-list{display:flex;flex-direction:column;gap:16px}.student-attendance-card{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border:2px solid #E5E7EB;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.student-attendance-card.paid-status{border-color:#10b981;background:linear-gradient(to right,#10b9810d,#fff)}.student-attendance-card.paid-status:hover{border-color:#059669;box-shadow:0 4px 16px #10b98133;transform:translateY(-2px)}.student-attendance-card.unpaid-status{border-color:#ef4444;background:linear-gradient(to right,#ef44440d,#fff)}.student-attendance-card.unpaid-status:hover{border-color:#dc2626;box-shadow:0 4px 16px #ef444433;transform:translateY(-2px)}.student-attendance-card:hover{border-color:#3b82f6;box-shadow:0 4px 16px #3b82f61a;transform:translateY(-2px)}.session-student-info{display:flex;align-items:center;gap:16px;flex:1}.student-avatar-small{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px #667eea4d}.student-avatar-small img{width:100%;height:100%;object-fit:cover}.student-avatar-small span{color:#fff;font-size:18px;font-weight:700;text-transform:uppercase}.student-details h4{font-size:17px;font-weight:700;color:#1f2937;margin:0 0 6px}.student-details p{font-size:13px;color:#6b7280;margin:0;font-weight:500}.attendance-buttons{display:flex;gap:12px;flex-shrink:0}.attendance-btn{padding:10px 20px;border:2px solid #E5E7EB;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;background:#fff}.attendance-btn.present{color:#065f46}.attendance-btn.present:hover{background:#d1fae5;border-color:#10b981}.attendance-btn.present.active{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b9814d}.attendance-btn.absent{color:#991b1b}.attendance-btn.absent:hover{background:#fee2e2;border-color:#ef4444}.attendance-btn.absent.active{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.attendance-btn:disabled{opacity:.6;cursor:not-allowed}.check-in-indicator{display:flex;align-items:center;gap:8px;color:#10b981;font-weight:600;animation:pulse 1.5s ease-in-out infinite}.check-in-indicator .check-icon{animation:checkPulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes checkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.search-results-section{margin-bottom:24px}.no-results{text-align:center;padding:40px;background:#fff;border:2px dashed #E5E7EB;border-radius:12px;color:#6b7280}.attended-students-section{margin-top:24px}.section-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #E5E7EB}.section-header h3{font-size:18px;font-weight:700;color:#1f2937}.empty-state-small{text-align:center;padding:60px 24px;background:#fff;border:2px dashed #E5E7EB;border-radius:12px}.empty-state-small svg{color:#d1d5db;margin-bottom:16px}.empty-state-small p{font-size:16px;color:#6b7280;margin-bottom:8px}.empty-state-small .hint{font-size:14px;color:#9ca3af}.empty-state{text-align:center;padding:80px 24px;background:#fff;border:2px dashed #E5E7EB;border-radius:16px}.empty-state svg{color:#d1d5db;margin-bottom:20px}.empty-state-text{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.empty-state-subtitle{font-size:15px;color:#6b7280;margin:0}@media(max-width:1200px){.sessions-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.current-sessions-page{padding:16px}.sessions-grid{grid-template-columns:1fr}.session-actions,.filter-controls{flex-direction:column}.attendance-header{flex-direction:column;align-items:stretch}.attendance-actions{width:100%}.attendance-actions .btn{flex:1}.student-attendance-card{flex-direction:column;gap:16px;align-items:stretch}.attendance-buttons{width:100%;justify-content:stretch}.attendance-header{flex-direction:column;gap:16px}.attendance-actions{width:100%;flex-direction:column}.student-attendance-card{flex-direction:column;align-items:flex-start;gap:16px}.attendance-buttons{width:100%}.attendance-btn{flex:1}}.session-history-page{padding:24px;max-width:1600px;margin:0 auto}.filters-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.search-bar{position:relative;margin-bottom:16px}.filter-controls{display:flex;gap:16px}.filter-select{flex:1;padding:12px 16px;border:2px solid #E5E7EB;border-radius:10px;font-size:14px;color:#374151;background:#fff;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;border-color:#3b82f6}.history-container{margin-top:24px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.history-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:all .2s}.history-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #E5E7EB}.history-date,.history-time{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.history-info h3{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 8px}.history-grade{font-size:14px;color:#6b7280;margin:0 0 4px}.history-teacher{font-size:13px;color:#9ca3af;margin:0 0 16px}.history-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.stat-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border-radius:6px;font-size:13px;color:#374151}.stat-item.present{background:#d1fae5;color:#065f46}.stat-item.absent{background:#fee2e2;color:#991b1b}.stat-item.paid{background:#dbeafe;color:#1e40af}.view-details-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.view-details-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.session-modal{background:#fff;border-radius:16px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #E5E7EB}.modal-header h2{font-size:22px;font-weight:700;color:#1f2937;margin:0}.modal-close-btn{background:#f3f4f6;border:none;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.modal-close-btn:hover{background:#e5e7eb}.modal-body{padding:24px}.session-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #E5E7EB}.summary-item h3{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 4px}.summary-item label{display:block;font-size:12px;color:#6b7280;font-weight:500;margin-bottom:4px}.summary-item p{font-size:14px;color:#374151;margin:0}.attendance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.summary-stat{display:flex;align-items:center;gap:12px;padding:16px;border-radius:10px}.summary-stat.present{background:#10b981;color:#fff}.summary-stat.absent{background:#ef4444;color:#fff}.summary-stat.paid{background:#3b82f6;color:#fff}.summary-stat.unpaid{background:#f97316;color:#fff}.stat-value{display:block;font-size:24px;font-weight:700;line-height:1}.stat-label{display:block;font-size:12px;opacity:.8;margin-top:4px}.attendance-details h4{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px}.attendance-list{display:flex;flex-direction:column;gap:8px}.attendance-record{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:6px}.student-name{font-size:14px;font-weight:500;color:#374151}.record-status{display:flex;gap:8px}.status-badge-session,.payment-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge-session.present{background:#10b981;color:#fff}.status-badge-session.absent{background:#ef4444;color:#fff}.payment-badge.paid{background:#3b82f6;color:#fff}.payment-badge.unpaid{background:#f97316;color:#fff}.payment-badge.free{background:#8b5cf6;color:#fff}.empty-state{text-align:center;padding:80px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state-text{font-size:18px;font-weight:600;color:#4b5563;margin:0 0 8px}.empty-state-subtitle{font-size:14px;color:#9ca3af;margin:0}@media(max-width:768px){.session-history-page{padding:16px}.history-grid{grid-template-columns:1fr}.filter-controls{flex-direction:column}.history-header{flex-direction:column;align-items:flex-start;gap:8px}.session-summary{grid-template-columns:1fr}.attendance-summary{grid-template-columns:repeat(2,1fr)}}.take-payment-page{padding:24px;max-width:1600px;margin:0 auto}.notification{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:8px;background:#fff;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;z-index:1000;animation:slideIn .3s ease}.notification.success{border-left:4px solid #10B981}.notification.error{border-left:4px solid #EF4444}.notification button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:0;width:24px;height:24px}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.page-header{margin-bottom:32px}.page-title{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.page-subtitle{font-size:14px;color:#6b7280;margin:0}.search-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.search-bar{position:relative;margin-bottom:12px}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af}.search-input{width:100%;padding:14px 16px 14px 48px;border:2px solid #E5E7EB;border-radius:10px;font-size:15px;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;margin:0}.results-section{margin-bottom:24px}.results-header{margin-bottom:16px}.results-title{font-size:18px;font-weight:600;color:#1f2937;margin:0}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.student-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;transition:all .2s}.student-card.clickable{cursor:pointer}.student-card.clickable:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.student-avatar{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-text{color:#fff;font-size:22px;font-weight:700;text-transform:uppercase}.student-info{flex:1;min-width:0}.student-name{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 12px}.student-details{display:flex;flex-direction:column;gap:8px}.detail-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.detail-item svg{flex-shrink:0;color:#9ca3af}.no-results,.search-empty-state{text-align:center;padding:60px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.no-results svg,.search-empty-state svg{color:#d1d5db;margin-bottom:16px}.no-results-text,.empty-state-text{font-size:18px;font-weight:600;color:#4b5563;margin:0 0 8px}.no-results-subtitle,.empty-state-subtitle{font-size:14px;color:#9ca3af;margin:0}.payment-section{display:flex;flex-direction:column;gap:24px}.selected-student-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.student-header{display:flex;align-items:center;gap:20px}.student-avatar-large{width:80px;height:80px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.student-avatar-large .avatar-text{font-size:32px}.student-info-header{flex:1;min-width:0}.student-name-large{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 12px}.student-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#6b7280}.meta-item svg{color:#9ca3af}.clear-student-btn{padding:10px 20px;background:#f3f4f6;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#4b5563;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.clear-student-btn:hover{background:#e5e7eb}.payment-grid-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.payment-grid-header{margin-bottom:24px}.section-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.section-subtitle{font-size:14px;color:#6b7280;margin:0}.payment-table-wrapper{overflow-x:auto;margin-bottom:24px;border-radius:8px;border:1px solid #E5E7EB}.payment-table{width:100%;border-collapse:collapse;font-size:14px}.payment-table thead{background:#f9fafb;border-bottom:2px solid #E5E7EB}.payment-table th{padding:12px 8px;text-align:center;font-weight:600;color:#374151;white-space:nowrap}.payment-table th.subject-column{text-align:left;min-width:180px;position:sticky;left:0;background:#f9fafb;z-index:10}.payment-table th.price-column{min-width:100px}.payment-table th.month-column{min-width:70px}.payment-table th.action-column{min-width:100px}.month-header{display:flex;flex-direction:column;align-items:center;gap:4px}.payment-table tbody tr{border-bottom:1px solid #E5E7EB}.payment-table tbody tr:hover{background:#f9fafb}.payment-table td{padding:12px 8px;text-align:center}.subject-name-cell{text-align:left;position:sticky;left:0;background:#fff;z-index:5}.payment-table tbody tr:hover .subject-name-cell{background:#f9fafb}.subject-name{font-weight:500;color:#1f2937}.free-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#10b981;color:#fff;border-radius:4px;font-size:11px;font-weight:600}.price-cell{font-weight:500;color:#374151}.payment-cell{padding:8px}.payment-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#3B82F6}.paid-indicator{display:flex;justify-content:center;align-items:center;color:#10b981}.free-indicator{color:#9ca3af;font-weight:500}.select-all-months-btn{padding:6px 12px;background:#eff6ff;border:1px solid #3B82F6;border-radius:6px;font-size:12px;font-weight:500;color:#3b82f6;cursor:pointer;transition:all .2s;white-space:nowrap}.select-all-months-btn:hover{background:#3b82f6;color:#fff}.payment-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;background:#f9fafb;border-radius:8px;border:1px solid #E5E7EB}.summary-content{display:flex;gap:32px;align-items:center}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:13px;color:#6b7280;font-weight:500}.summary-value{font-size:18px;font-weight:700;color:#1f2937}.summary-item.total .summary-value{font-size:24px;color:#3b82f6}.process-payment-btn{padding:14px 28px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s;box-shadow:0 4px 12px #3b82f64d}.process-payment-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.process-payment-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.loading-spinner{width:40px;height:40px;border:4px solid #E5E7EB;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.take-payment-page{padding:16px}.page-title{font-size:24px}.students-grid{grid-template-columns:1fr}.student-header{flex-direction:column;align-items:flex-start}.student-meta{flex-direction:column;gap:8px}.clear-student-btn{align-self:stretch;justify-content:center}.payment-summary{flex-direction:column;align-items:stretch}.summary-content{flex-direction:column;gap:16px}.process-payment-btn{width:100%;justify-content:center}}.image-preview-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.image-preview-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.image-preview-close{position:absolute;top:16px;right:16px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s}.image-preview-close:hover{background:#000000e6;transform:scale(1.1)}.image-preview-img{max-width:100%;max-height:90vh;object-fit:contain;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.avatar-image.clickable{cursor:pointer;transition:all .2s}.avatar-image.clickable:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.payment-history-page{display:flex;flex-direction:column;gap:24px}.grades-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-header-left{flex:1}.page-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.page-subtitle{font-size:14px;color:#666;margin:0}.page-header-right{display:flex;align-items:center;gap:16px}.grades-count{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.filters-section{display:flex;gap:16px;margin-bottom:24px}.search-container{position:relative;flex:1;max-width:400px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:all .3s}.search-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.gr-grades-grid{display:flex;flex-direction:column;gap:32px}.gr-grades-grid-section{display:flex;flex-direction:column;gap:16px}.section-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.grades-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.grade-card-item{background:#fff;border:2px solid #eee;border-radius:8px;padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s;cursor:pointer}.grade-card-item:hover{border-color:#2196f3;box-shadow:0 4px 12px #2196f326}.grade-card-item.added{background:linear-gradient(135deg,#4caf500d,#4caf5005);border-color:#4caf50}.grade-card-content{flex:1;display:flex;flex-direction:column;align-items:center;margin-bottom:12px;width:100%}.grade-card-icon{width:48px;height:48px;background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px}.grade-card-item.added .grade-card-icon{background:linear-gradient(135deg,#4caf50,#45a049)}.grade-card-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.grade-card-status{font-size:12px;color:#999;margin:0}.grade-card-item.added .grade-card-status{color:#4caf50}.grade-card-action{width:100%}.badge-in-system{display:inline-block;background-color:#4caf50;color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600}.grades-list{display:flex;flex-direction:column;gap:12px}.grade-item{background:#fff;border:1px solid #eee;border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:all .3s}.grade-item:hover{box-shadow:0 2px 8px #00000014;border-color:#ddd}.grade-item-content{flex:1;display:flex;gap:12px}.grade-item-main{flex:1}.grade-item-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.grade-item-date{font-size:12px;color:#999;margin:0}.grade-item-actions{display:flex;gap:8px}.btn{border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:6px;padding:8px 16px}.btn-primary{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.btn-secondary:hover{background-color:#efefef;border-color:#ccc}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#da190b;box-shadow:0 2px 8px #f443364d}.btn-danger:active{transform:scale(.98)}.btn-sm{padding:6px 12px;font-size:12px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.delete-modal{background:#fff;border-radius:12px;padding:40px 32px;max-width:400px;text-align:center;box-shadow:0 10px 40px #0003}.modal-icon-container{display:flex;justify-content:center;margin-bottom:24px}.modal-icon-bg{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.modal-icon-bg.warning{background-color:#ff9800}.modal-icon-bg.success{background-color:#4caf50}.modal-title{font-size:20px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.modal-message{font-size:14px;color:#666;margin:0 0 24px;line-height:1.6}.modal-actions{display:flex;gap:12px;justify-content:center}.modal-actions .btn{flex:1;justify-content:center}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.page-header-right{width:100%;justify-content:flex-start}.search-container{max-width:100%}.grades-cards-container{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1001;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #2196F3;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay p{color:#666;font-size:14px;margin:0}.error-banner{background-color:#ffebee;color:#c62828;padding:12px 16px;border-radius:6px;display:flex;align-items:center;gap:12px;margin-bottom:16px;border:1px solid #ef9a9a}.error-banner svg{flex-shrink:0}.notification-toast{position:fixed;top:24px;right:24px;max-width:420px;padding:16px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 10px 40px #00000029;z-index:2000;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}.notification-success{background-color:#10b981;color:#fff}.notification-error{background-color:#ef4444;color:#fff}.notification-info{background-color:#f59e0b;color:#fff}.notification-content{display:flex;align-items:center;gap:12px;flex:1}.notification-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-message{font-size:14px;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:inherit;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.notification-close:hover{opacity:.8}@media(max-width:640px){.notification-toast{top:12px;right:12px;left:12px;max-width:none}}.rfid-central-page{display:flex;flex-direction:column;gap:24px}.settings-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;flex-direction:column;gap:8px}.page-title{font-size:28px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.page-subtitle{font-size:15px;color:#6b7280;margin:0;font-weight:500}.content-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:32px;box-shadow:0 4px 10px #0000000a}.app{min-height:100vh;background:#f8fafc}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f8fafc}.app-loading__spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(15,23,42,.1);border-top-color:#0f172a;animation:app-loading-spin .9s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.placeholder-page{display:flex;align-items:center;justify-content:center;min-height:400px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;font-size:18px;font-weight:600;color:#64748b}
