.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;z-index:1}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:50px;box-shadow:0 20px 60px #667eea4d,0 8px 24px #0003;width:100%;max-width:400px;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .6s ease-out}.login-card h1{text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:3rem;margin-bottom:10px;font-weight:700;letter-spacing:-1px}.login-type-selector{display:flex;gap:10px;margin-bottom:20px;border-radius:8px;background:#f0f0f0;padding:4px}.login-type-btn{flex:1;padding:10px 20px;border:none;background:transparent;color:#666;font-size:14px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .3s}.login-type-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.login-type-btn:hover:not(.active){background:#667eea1a;color:#667eea}.login-card h2{text-align:center;color:#333;font-size:1.5rem;margin-bottom:30px;font-weight:500}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.register-link{text-align:center;margin-top:20px;color:#666}.register-link a{color:#667eea;text-decoration:none;font-weight:600}.register-link a:hover{text-decoration:underline}.forgot-password-link{text-align:center;margin-top:15px;margin-bottom:0}.forgot-password-link a{color:#667eea;text-decoration:none;font-weight:500;font-size:14px}.forgot-password-link a:hover{text-decoration:underline}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative;z-index:1}.register-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:50px;box-shadow:0 20px 60px #667eea4d,0 8px 24px #0003;width:100%;max-width:500px;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .6s ease-out}.register-card h1{text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:3rem;margin-bottom:10px;font-weight:700;letter-spacing:-1px}.register-card h2{text-align:center;color:#333;font-size:1.5rem;margin-bottom:10px;font-weight:500}.step-indicator{text-align:center;color:#667eea;font-size:.9rem;margin-bottom:30px;font-weight:500}.email-hint,.phone-hint{display:block;margin-top:5px;font-size:.85rem;color:#666;font-style:italic}.address-hint{display:block;margin-top:5px;font-size:.85rem;color:#666;text-align:right}.form-group input,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.btn-primary:active:not(:disabled){transform:translateY(0)}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:15px;text-align:center;font-size:14px}.login-link{text-align:center;margin-top:20px;color:#666}.login-link a{color:#667eea;text-decoration:none;font-weight:600}.login-link a:hover{text-decoration:underline}.otp-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.otp-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px;text-align:center}.otp-card h1{color:#667eea;margin-bottom:10px;font-size:2.5rem}.otp-card h2{color:#333;margin-bottom:20px;font-size:1.5rem}.otp-instruction{color:#666;margin-bottom:10px;font-size:.95rem}.otp-hint{color:#999;margin-bottom:30px;font-size:.9rem}.resend-section{margin-top:20px}.back-link{margin-top:20px}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;text-decoration:underline;padding:5px}.link-button:hover{color:#764ba2}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;font-size:.9rem}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.forgot-password-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d}.forgot-password-card h1{text-align:center;color:#667eea;font-size:2.5rem;margin-bottom:10px;font-weight:700}.forgot-password-card h2{text-align:center;color:#333;font-size:1.5rem;margin-bottom:30px;font-weight:500}.forgot-password-card .form-group{margin-bottom:20px}.forgot-password-card .form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.forgot-password-card .form-group input,.forgot-password-card .form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.forgot-password-card .form-group input:focus,.forgot-password-card .form-group select:focus{outline:none;border-color:#667eea}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#f8d7da;color:#721c24;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid #dc3545}.success-message{background:#d4edda;color:#155724;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid #28a745;word-break:break-all}.back-link{text-align:center;margin-top:20px}.back-link a,.link-button{color:#667eea;text-decoration:none;font-weight:500;background:none;border:none;cursor:pointer;font-size:14px;padding:0}.back-link a:hover,.link-button:hover{text-decoration:underline}.otp-instruction{color:#666;margin-bottom:10px;font-size:.95rem;text-align:center}.otp-instruction strong{color:#333}.otp-hint{color:#999;margin-bottom:30px;font-size:.9rem;text-align:center}.otp-input-group{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.otp-input{width:50px;height:60px;text-align:center;font-size:1.5rem;font-weight:700;border:2px solid #e0e0e0;border-radius:8px;transition:all .3s}.otp-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.otp-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.resend-section{margin-top:20px;text-align:center}.resend-timer{color:#999;font-size:.9rem}.resend-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95rem;text-decoration:underline;padding:5px}.resend-btn:hover:not(:disabled){color:#764ba2}.resend-btn:disabled{opacity:.6;cursor:not-allowed}.required{color:#e74c3c;font-weight:700}.password-hint{display:block;margin-top:5px;font-size:.85rem;color:#666;font-style:italic}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}.dialog-content{background:#fff;border-radius:16px;padding:0;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0;gap:12px}.dialog-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.dialog-success .dialog-icon{background:#d4edda;color:#28a745}.dialog-error .dialog-icon{background:#f8d7da;color:#dc3545}.dialog-warning .dialog-icon{background:#fff3cd;color:#ffc107}.dialog-info .dialog-icon{background:#d1ecf1;color:#17a2b8}.dialog-title{flex:1;margin:0;font-size:1.25rem;font-weight:600;color:#333}.dialog-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s;flex-shrink:0}.dialog-close:hover{background:#f0f0f0;color:#333}.dialog-body{padding:24px}.dialog-message{margin:0;font-size:1rem;color:#666;line-height:1.6}.dialog-actions{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;justify-content:flex-end}.dialog-btn{padding:10px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;min-width:80px}.dialog-btn-cancel{background:#f0f0f0;color:#333}.dialog-btn-cancel:hover{background:#e0e0e0}.dialog-btn-confirm{background:#667eea;color:#fff}.dialog-btn-confirm:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.dialog-success .dialog-btn-confirm{background:#28a745}.dialog-success .dialog-btn-confirm:hover{background:#218838}.dialog-error .dialog-btn-confirm{background:#dc3545}.dialog-error .dialog-btn-confirm:hover{background:#c82333}.dialog-warning .dialog-btn-confirm{background:#ffc107;color:#333}.dialog-warning .dialog-btn-confirm:hover{background:#e0a800}.dashboard-container{min-height:100vh;background:transparent;position:relative;z-index:1}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:25px 0;box-shadow:0 4px 20px #667eea4d;position:relative;overflow:hidden}.dashboard-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite;pointer-events:none;z-index:0}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.dashboard-header h1{font-size:2rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);position:relative;z-index:1;letter-spacing:-.5px;justify-self:start}.welcome-message{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.welcome-message span{font-size:1.1rem;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.2)}.user-info{display:flex;align-items:center;gap:15px;position:relative;z-index:2;justify-self:end}.btn-admin{padding:8px 20px;background:#fff3;color:#fff;border:2px solid white;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;position:relative;z-index:2}.btn-admin:hover{background:#fff;color:#667eea}.dashboard-main{max-width:1200px;margin:0 auto;padding:30px 20px}.dashboard-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:40px;box-shadow:0 8px 32px #667eea33,0 2px 8px #0000001a;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .6s ease-out}.header-buttons{display:flex;gap:12px;align-items:center}.tab-buttons{display:flex;gap:10px;margin-right:15px}.tab-btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s;background-color:#667eea1a;color:#667eea}.tab-btn.active{background-color:#667eea;color:#fff}.tab-btn:hover{opacity:.8}.btn-add-class{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-add-class:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-add-class:active{transform:translateY(0)}.btn-delete-class{padding:12px 24px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-delete-class:hover{transform:translateY(-2px);box-shadow:0 10px 20px #dc354566;background:#c82333}.btn-delete-class:active{transform:translateY(0)}.institution-info{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;margin-bottom:30px}.btn-view-all-students{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-view-all-students:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-view-all-students:active{transform:translateY(0)}.info-item{padding:15px 20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;flex:1;min-width:200px;display:flex;flex-direction:row;align-items:center;gap:10px}.info-item strong{color:#667eea;display:inline;margin:0;font-size:.9rem;white-space:nowrap}.info-row-group{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;width:100%}.info-field{padding:15px 20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;display:flex;flex-direction:row;align-items:center;gap:10px}.info-field strong{color:#667eea;display:inline;margin:0;font-size:.9rem;white-space:nowrap}.classes-section{margin-top:30px;padding-top:30px;border-top:2px solid #f0f0f0}.classes-section h3{color:#333;margin-bottom:20px;font-size:1.3rem}.classes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.class-item{padding:20px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0;transition:all .3s;margin-bottom:15px;display:flex;flex-direction:column;min-width:0;width:100%;box-sizing:border-box}.class-item:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.class-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.class-name{font-weight:600;color:#333;font-size:1.1rem}.student-count{color:#666;font-size:.9rem}.class-actions{display:flex;flex-direction:row;gap:10px;align-items:center;justify-content:flex-start;flex-wrap:nowrap;width:100%;box-sizing:border-box}.btn-view-class,.btn-add-student,.btn-delete-class-card{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;flex-shrink:1;flex-grow:0;min-width:90px;max-width:120px;text-align:center;display:inline-block;box-sizing:border-box}.btn-view-class{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.btn-view-class:hover{background:linear-gradient(135deg,#5568d3,#6a3d8f);transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-add-student{background:#28a745;color:#fff}.btn-add-student:hover{background:#218838;transform:translateY(-1px)}.btn-delete-class-card{background:#dc3545;color:#fff;box-shadow:0 2px 8px #dc35454d}.btn-delete-class-card:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-delete-class-card:active{transform:translateY(0)}.statistics-section{margin-top:30px;padding-top:30px}.stats-table-container{margin-top:20px;overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.stats-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stats-table th{padding:18px 24px;text-align:left;font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.stats-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.stats-table tbody tr:last-child{border-bottom:none}.stats-table tbody tr:hover{background-color:#f8f9fa}.stats-table td{padding:18px 24px;font-size:1rem;color:#333}.stats-table td:first-child{font-weight:500;color:#495057;width:60%}.stats-table td:last-child{font-weight:600;color:#667eea;font-size:1.1rem;text-align:right}@media (max-width: 768px){.stats-table-container{overflow-x:auto}.stats-table{min-width:500px}.stats-table th,.stats-table td{padding:12px 16px;font-size:.9rem}}.btn-add-student:hover{background:#218838}.students-section{margin-top:30px;padding-top:30px;border-top:2px solid #f0f0f0}.students-section h3{color:#333;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.btn-close-view{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-close-view:hover{background:#c82333}.students-list{display:grid;gap:15px;margin-top:20px}.student-item{padding:20px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0;transition:all .3s;cursor:pointer}.student-item:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.student-info{display:flex;gap:15px;align-items:center;margin-bottom:10px}.student-name{font-weight:600;color:#333;font-size:1.1rem}.student-id{color:#666;font-size:.9rem}.student-fee-info{display:flex;gap:20px;flex-wrap:wrap}.fee-total,.fee-paid,.fee-balance{font-size:.9rem;padding:5px 10px;border-radius:4px}.fee-total{color:#333;font-weight:600}.fee-paid{color:#28a745;font-weight:600}.fee-balance.pending{color:#dc3545;background:#fee}.fee-balance.paid{color:#28a745;background:#efe}.no-students,.no-classes{text-align:center;padding:40px;color:#999;font-style:italic}.modal-content{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.modal-content .form-group{margin-bottom:15px}.modal-content .form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.modal-content-large{max-width:700px;max-height:90vh;overflow-y:auto;padding:20px}.fees-section{margin-top:15px;padding-top:15px;border-top:2px solid #f0f0f0}.fees-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.fees-title-wrapper{display:flex;align-items:center;gap:8px}.fees-header h3{color:#333;font-size:1.2rem;margin:0}.tooltip-icon{cursor:help;font-size:16px;color:#667eea;position:relative;display:inline-block}.tooltip-icon:hover{color:#764ba2}.btn-add-fee-type{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-add-fee-type:hover{background:#218838;transform:translateY(-1px)}.fee-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;border-bottom:2px solid #e0e0e0;padding-bottom:10px}.fee-tab{padding:10px 20px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px 8px 0 0;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .3s;position:relative;display:flex;align-items:center;gap:8px}.fee-tab:hover{background:#e9ecef;border-color:#667eea}.fee-tab.active{background:#fff;border-color:#667eea;border-bottom-color:#fff;color:#667eea;font-weight:600;margin-bottom:-2px}.remove-tab{background:#dc3545;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;transition:all .2s;flex-shrink:0}.remove-tab:hover{background:#c82333;transform:scale(1.1)}.fee-tab-content{position:relative;min-height:200px}.fee-form{display:none;padding:15px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0}.fee-form.active{display:block;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fee-form .form-group{margin-bottom:12px}.fee-form .form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.fee-form .form-group input{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .3s}.fee-form .form-group input:focus{outline:none;border-color:#667eea}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px}@media (max-width: 768px){.header-content{grid-template-columns:1fr;gap:15px;text-align:center}.dashboard-header h1{font-size:1.5rem;justify-self:center}.welcome-message{order:2}.user-info{order:3;justify-self:center;flex-wrap:wrap;justify-content:center;gap:10px}.btn-admin,.btn-logout{padding:8px 16px;font-size:14px}.dashboard-main{padding:20px 15px}.dashboard-card{padding:20px 15px;border-radius:16px}.card-header{flex-direction:column;align-items:flex-start;gap:15px}.card-header h2{font-size:1.3rem;width:100%}.header-buttons{width:100%;flex-direction:column;gap:10px}.tab-buttons{width:100%;display:flex;gap:8px;margin-right:0!important}.tab-btn{flex:1;padding:10px 12px!important;font-size:14px!important}.btn-add-class{width:100%;padding:12px 20px;font-size:15px}.institution-info{flex-direction:column;gap:12px}.info-item{width:100%;min-width:unset;padding:12px 15px;font-size:14px}.info-row-group{grid-template-columns:1fr;gap:12px;width:100%}.info-field{width:100%;padding:12px 15px;font-size:14px}.classes-section h3{font-size:1.2rem}.classes-list{grid-template-columns:1fr;gap:12px}.class-item{padding:15px;margin-bottom:0}.class-info{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.class-name{font-size:1rem}.student-count{font-size:.85rem}.class-actions{flex-direction:column;width:100%;gap:8px}.btn-view-class,.btn-delete-class-card{width:100%;max-width:100%;padding:12px 16px;font-size:14px}.statistics-section{margin-top:20px;padding-top:20px}.statistics-actions{margin-bottom:20px;display:flex;justify-content:flex-end}.btn-download-pdf{padding:12px 24px;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #dc35454d}.btn-download-pdf:hover{transform:translateY(-2px);box-shadow:0 6px 16px #dc354566}.btn-download-pdf:active{transform:translateY(0)}.stats-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.stats-table{min-width:100%;font-size:14px}.stats-table th,.stats-table td{padding:12px 10px;font-size:.9rem}.stats-table td:first-child{width:55%}.stats-table td:last-child{width:45%;font-size:1rem}.modal-overlay{padding:10px;align-items:flex-end}.modal-content{max-width:100%;width:100%;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;padding:20px 15px}.modal-content-large{max-width:100%;width:100%;border-radius:20px 20px 0 0;padding:20px 15px}.modal-header{margin-bottom:15px;padding-bottom:12px}.modal-header h2{font-size:1.3rem}.modal-close{width:28px;height:28px;font-size:1.8rem}.modal-content .form-group{margin-bottom:15px}.modal-content .form-group input,.modal-content .form-group textarea,.modal-content .form-group select{padding:10px;font-size:16px}.modal-actions{flex-direction:column;gap:10px;margin-top:20px}.btn-cancel,.btn-submit{width:100%;padding:14px}.fees-header{flex-direction:column;align-items:flex-start;gap:12px}.fees-title-wrapper{width:100%}.fees-header h3{font-size:1.1rem}.btn-add-fee-type{width:100%;padding:10px 16px}.fee-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;padding-bottom:8px}.fee-tab{padding:8px 16px;font-size:13px;white-space:nowrap;flex-shrink:0}.fee-form{padding:12px}.fee-form .form-group{margin-bottom:15px}.fee-form .form-group input{padding:10px;font-size:16px}.modal-actions button{width:100%;padding:14px!important;font-size:15px!important}}@media (max-width: 480px){.dashboard-header h1{font-size:1.3rem}.welcome-message span{font-size:1rem}.card-header h2{font-size:1.2rem}.classes-section h3{font-size:1.1rem}.stats-table th,.stats-table td{padding:10px 8px;font-size:.85rem}.modal-header h2{font-size:1.2rem}.info-item strong,.info-field strong{font-size:.85rem}}.student-profile-container{min-height:100vh;background:transparent;position:relative;z-index:1}.profile-header{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:25px 0;box-shadow:0 4px 20px #667eea4d;position:relative;overflow:hidden}.profile-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite;pointer-events:none;z-index:0}.profile-header h1{font-size:2rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);position:relative;z-index:1;letter-spacing:-.5px}.profile-main{max-width:1200px;margin:0 auto;padding:30px 20px}.profile-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:40px;box-shadow:0 8px 32px #667eea33,0 2px 8px #0000001a;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .6s ease-out}.profile-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.profile-header-section h2{color:#333;font-size:2rem;margin:0}.student-id-badge{background:#667eea;color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600}.profile-info{margin-bottom:30px}.info-row-group{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.info-field{padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;min-height:50px;display:flex;align-items:center}.info-field strong{color:#667eea;margin-right:10px;white-space:nowrap}.info-row{padding:15px;background:#f8f9fa;border-radius:8px;margin-bottom:10px;border-left:4px solid #667eea}.info-row.info-row-full{width:100%;grid-column:1 / -1}@media (max-width: 1024px){.info-row-group{grid-template-columns:repeat(2,1fr)}}.fee-section{margin-top:30px;padding-top:30px;border-top:2px solid #f0f0f0}.fee-section h3{color:#333;margin-bottom:20px;font-size:1.5rem}.fee-details{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}@media (max-width: 768px){.fee-details{flex-direction:column}}.fee-item{padding:20px;background:#f8f9fa;border-radius:8px;flex:1;min-width:200px;box-sizing:border-box}.fee-label{color:#666;font-size:1rem;font-weight:500;margin-right:8px;display:inline}.fee-value{font-size:1.8rem;font-weight:700;display:inline}.fee-value.discount{color:#ff9800}.btn-update-fee{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-update-fee:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.payment-history{margin-top:30px;padding-top:30px;border-top:2px solid rgba(102,126,234,.2)}.payment-history h4{color:#333;margin-bottom:20px;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-item{padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #28a745;display:flex;justify-content:space-between;align-items:center;gap:15px}.payment-info{display:flex;justify-content:space-between;align-items:center;flex:1;flex-wrap:wrap;gap:10px}.payment-amount{font-size:1.3rem;font-weight:700;color:#28a745;text-shadow:0 1px 3px rgba(0,0,0,.1)}.payment-date{color:#666;font-size:.95rem;font-weight:500}.btn-print-payment{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:5px;white-space:nowrap}.btn-print-payment:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.btn-print-payment:active{transform:translateY(0)}.fee-checkboxes{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.fee-checkbox-label{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px;padding:10px;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;border:2px solid transparent}.fee-checkbox-label:hover{background:#f0f0f0;border-color:#667eea}.fee-checkbox-text{font-size:15px;color:#333;font-weight:500;display:inline-block!important;order:2}.modal-content .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px}.modal-content .form-row .form-group{margin-bottom:0}.modal-content .form-group input,.modal-content .form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.modal-content .form-group input:focus,.modal-content .form-group select:focus{outline:none;border-color:#667eea}@media (max-width: 768px){.modal-content .form-row{grid-template-columns:1fr}}.modal-content .form-group small{display:block;margin-top:5px;color:#666;font-size:.85rem}.receipt-modal .modal-content{background:#fff}.receipt-container{max-width:800px;margin:0 auto;border:2px solid #000;padding:30px;background:#fff}.receipt-header{text-align:center;border-bottom:2px solid #000;padding-bottom:20px;margin-bottom:20px}.receipt-header h1{margin:0;font-size:28px;color:#667eea}.receipt-header h2{margin:10px 0;font-size:20px;color:#666}.receipt-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.receipt-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.receipt-info-simple{font-size:15px;line-height:2}.receipt-info-simple div{margin:8px 0;padding:5px 0;border-bottom:1px dotted #ddd}.receipt-info-simple div:last-child{border-bottom:none}.receipt-info-simple strong{margin-right:10px;color:#667eea;font-weight:600;min-width:80px;display:inline-block}.info-section{border:1px solid #ddd;padding:15px;border-radius:5px}.info-section h3{margin:0 0 10px;font-size:16px;color:#667eea;border-bottom:1px solid #ddd;padding-bottom:5px}.info-row{margin:8px 0;font-size:14px}.info-row strong{display:inline-block;width:120px}.fee-breakdown{margin:30px 0;border:1px solid #ddd;padding:20px;border-radius:5px}.fee-breakdown h3{margin:0 0 15px;font-size:18px;color:#667eea}.fee-table{width:100%;border-collapse:collapse;margin-top:15px}.fee-table th,.fee-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.fee-table th{background-color:#f8f9fa;font-weight:600}.fee-table tr:last-child td{border-bottom:2px solid #000;font-weight:600;font-size:16px}.payment-details{background-color:#e8f5e9;border:2px solid #4caf50;padding:20px;margin:30px 0;border-radius:5px}.payment-details h3{margin:0 0 15px;color:#2e7d32}.payment-row{display:flex;justify-content:space-between;margin:10px 0;font-size:16px}.payment-row.total{font-size:20px;font-weight:600;border-top:2px solid #4caf50;padding-top:10px;margin-top:15px}.receipt-footer{margin-top:40px;text-align:center;border-top:1px solid #ddd;padding-top:20px;font-size:12px;color:#666}.receipt-number{text-align:right;margin-bottom:10px;font-size:14px;color:#666}.receipt-date-time{font-size:15px;line-height:2;text-align:right}.receipt-date-time div{margin:8px 0;padding:5px 0;border-bottom:1px dotted #ddd}.receipt-date-time div:last-child{border-bottom:none}.receipt-date-time strong{margin-right:10px;color:#667eea;font-weight:600;min-width:60px;display:inline-block}@page{size:A4;margin:10mm}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.no-print,.modal-close,.modal-actions{display:none!important}.modal-overlay{position:static;background:#fff;padding:0}.modal-content{box-shadow:none;border:none;max-width:100%;margin:0;padding:15px!important;max-height:none!important;overflow:visible!important}.receipt-container{border:2px solid #000;page-break-inside:avoid;padding:20px!important;margin:0;max-width:100%}.receipt-header{padding-bottom:10px!important;margin-bottom:10px!important}.receipt-header h1{font-size:22px!important;margin:0!important}.receipt-header h2{font-size:16px!important;margin:5px 0!important}.receipt-header p{font-size:11px!important;margin:2px 0!important}.receipt-number{margin-bottom:8px!important;font-size:12px!important}.receipt-details-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;grid-auto-flow:row!important;gap:20px!important;margin-bottom:12px!important;padding:12px!important;background:#f8f9fa!important;border:1px solid #ddd!important;border-radius:4px!important;page-break-inside:avoid!important;width:100%!important;box-sizing:border-box!important}.receipt-info-simple{display:block!important;font-size:12px!important;line-height:1.6!important;width:100%!important;grid-column:1 / 2!important;grid-row:1!important;box-sizing:border-box!important}.receipt-info-simple div{margin:4px 0!important;padding:2px 0!important;border-bottom:1px dotted #ccc!important}.receipt-info-simple div:last-child{border-bottom:none!important}.receipt-info-simple strong{font-size:12px!important;min-width:65px!important;display:inline-block!important;color:#667eea!important;font-weight:600!important}.receipt-date-time{display:block!important;font-size:12px!important;line-height:1.6!important;text-align:right!important;width:100%!important;grid-column:2 / 3!important;grid-row:1!important;box-sizing:border-box!important}.receipt-date-time div{margin:4px 0!important;padding:2px 0!important;border-bottom:1px dotted #ccc!important}.receipt-date-time div:last-child{border-bottom:none!important}.receipt-date-time strong{font-size:12px!important;min-width:50px!important;display:inline-block!important;color:#667eea!important;font-weight:600!important}.info-section{padding:10px!important}.info-section h3{font-size:14px!important;margin-bottom:8px!important;padding-bottom:3px!important}.info-row{margin:5px 0!important;font-size:12px!important}.info-row strong{width:100px!important;font-size:12px!important}.fee-breakdown{margin:15px 0!important;padding:15px!important}.fee-breakdown h3{font-size:14px!important;margin-bottom:10px!important}.fee-table{margin-top:10px!important}.fee-table th,.fee-table td{padding:8px!important;font-size:12px!important}.fee-table tr:last-child td{font-size:14px!important;border-top:2px solid #000!important;padding-top:8px!important}.receipt-footer{margin-top:15px!important;padding-top:10px!important;font-size:10px!important}body{margin:0;padding:10px}@page{size:A4;margin:10mm}}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start;gap:15px}.profile-header h1{font-size:1.5rem;width:100%}.btn-back{width:100%;padding:10px 16px;font-size:14px}.profile-main{padding:20px 15px}.profile-card{padding:20px 15px;border-radius:16px}.profile-header-section{flex-direction:column;align-items:flex-start;gap:15px}.profile-header-section h2{font-size:1.3rem;width:100%}.student-id-badge{width:100%;text-align:center;padding:10px 16px}.info-row-group{grid-template-columns:1fr;gap:12px}.info-field{width:100%;padding:12px 15px;font-size:14px}.info-field strong{font-size:.85rem}.fee-section{margin-top:20px;padding-top:20px}.fee-section h3{font-size:1.2rem;margin-bottom:15px}.fee-details{flex-direction:column;gap:15px}.fee-item{width:100%;min-width:unset;padding:15px}.fee-label{font-size:.9rem}.fee-value{font-size:1.5rem}.payment-history{margin-top:20px;padding-top:20px}.payment-history h4{font-size:1.2rem;margin-bottom:15px}.payment-item{flex-direction:column;align-items:flex-start;gap:12px;padding:15px}.payment-info{width:100%;flex-direction:column;align-items:flex-start;gap:8px}.payment-amount{font-size:1.2rem}.payment-date{font-size:.9rem}.btn-print-payment{width:100%;justify-content:center;padding:10px 16px}.modal-overlay{padding:10px;align-items:flex-end}.modal-content{max-width:100%;width:100%;border-radius:20px 20px 0 0;max-height:90vh;padding:20px 15px}.modal-header{margin-bottom:15px;padding-bottom:12px}.modal-header h2{font-size:1.3rem}.modal-close{width:28px;height:28px;font-size:1.8rem}.modal-content .form-group{margin-bottom:15px}.modal-content .form-group input,.modal-content .form-group textarea,.modal-content .form-group select{padding:10px;font-size:16px}.modal-content .form-row{grid-template-columns:1fr;gap:15px}.modal-actions{flex-direction:column;gap:10px;margin-top:20px}.btn-cancel,.btn-submit{width:100%;padding:14px}.fee-checkboxes{flex-direction:column;gap:10px}.fee-checkbox-label{padding:12px}.fee-checkbox-text{font-size:13px}}@media (max-width: 480px){.profile-header h1{font-size:1.3rem}.profile-header-section h2{font-size:1.2rem}.fee-section h3,.payment-history h4{font-size:1.1rem}.fee-value{font-size:1.3rem}.modal-header h2{font-size:1.2rem}}.all-students-container{min-height:100vh;background:transparent;position:relative;z-index:1}.students-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.student-card{padding:25px;background:#f8f9fa;border-radius:12px;border:2px solid #e0e0e0;transition:all .3s;cursor:pointer}.student-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 20px #667eea33}.student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #e0e0e0;gap:10px}.student-name{color:#333;font-size:1.3rem;font-weight:700;margin:0}.student-id-badge{background:#667eea;color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.student-details{margin-bottom:15px}.detail-item{margin-bottom:10px;color:#666;font-size:.95rem}.detail-item strong{color:#333;margin-right:8px}.student-fee-info{display:flex;flex-direction:column;gap:10px;padding-top:15px;border-top:2px solid #e0e0e0}.fee-item{display:flex;justify-content:space-between;align-items:center}.fee-label{color:#666;font-weight:500}.fee-value{font-weight:700;font-size:1rem}.fee-value.total{color:#333}.fee-value.paid{color:#28a745}.fee-value.balance.pending{color:#dc3545}.fee-value.balance.clear{color:#28a745}.modal-content{background:#fff;border-radius:16px;padding:30px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.form-group{margin-bottom:20px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.class-students-container{min-height:100vh;background:transparent;position:relative;z-index:1}.students-header{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:25px 0;box-shadow:0 4px 20px #667eea4d;position:relative;overflow:hidden}.students-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite;pointer-events:none;z-index:0}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.students-header h1{font-size:2rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);position:relative;z-index:1;letter-spacing:-.5px}.students-main{max-width:1200px;margin:0 auto;padding:30px 20px}.students-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:40px;box-shadow:0 8px 32px #667eea33,0 2px 8px #0000001a;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .6s ease-out}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0;gap:15px;overflow:visible}.card-header h2{color:#333;font-size:1.5rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.btn-add-student{padding:12px 24px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap;flex-shrink:0;min-width:fit-content;box-sizing:border-box}.btn-add-student:hover{transform:translateY(-2px);box-shadow:0 10px 20px #28a74566}.btn-add-student:active{transform:translateY(0)}.loading-message{text-align:center;padding:40px;color:#666;font-size:1.1rem}.students-table-container{overflow-x:auto;margin-top:20px}.students-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a;animation:fadeIn .5s ease-out;table-layout:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.students-table thead{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;color:#fff;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.students-table th{padding:15px;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;white-space:nowrap}.sort-button{background:none!important;border:none!important;cursor:pointer;color:#000!important;padding:0;display:inline-block;font-size:12px;font-weight:700;transition:opacity .2s;margin-left:6px;vertical-align:middle;line-height:1}.sort-button:hover{opacity:.7}.sort-button:active{opacity:.5}.students-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.students-table tbody tr:hover{background-color:#f8f9fa}.students-table tbody tr:last-child{border-bottom:none}.students-table td{padding:15px;color:#333;font-size:.95rem;vertical-align:middle;word-wrap:break-word}.student-name-cell,.fee-total{font-weight:600;color:#333}.fee-paid{font-weight:600;color:#28a745}.fee-balance{font-weight:600}.fee-balance.pending{color:#dc3545}.fee-balance.clear{color:#28a745}.fee-discount{font-weight:600;color:#ff9800}.btn-view-profile{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;min-width:100px;height:36px;display:inline-flex;align-items:center;justify-content:center}.btn-view-profile:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.no-students{text-align:center;padding:60px 20px;color:#999}.no-students p{font-size:1.1rem;margin-bottom:20px}.btn-add-first-student{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-add-first-student:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.modal-content{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.form-group{margin-bottom:15px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:15px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group label.fee-checkbox-label{display:flex!important;margin-bottom:0}.form-group input,.form-group textarea{width:100%;padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit;height:auto;line-height:1.4}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical}.modal-actions{display:flex;gap:15px;margin-top:15px}.fee-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px;max-height:300px;overflow-y:auto;background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important;border-radius:0!important}.form-group:has(.fee-checkboxes){background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important}@media (max-width: 480px){.fee-checkboxes{grid-template-columns:1fr}}.fee-checkbox-label{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px;padding:10px;background:#fff;border-radius:6px;border:2px solid #e0e0e0;cursor:pointer;transition:all .3s}.fee-checkbox-label:hover{border-color:#667eea;background:#f0f4ff}.fee-checkbox-label input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;cursor:pointer;accent-color:#667eea;flex-shrink:0!important;flex-grow:0!important;margin:0!important;padding:0!important;display:inline-block!important;vertical-align:middle!important;position:relative;order:1}.fee-checkbox-label input[type=checkbox]:checked~.fee-checkbox-text,.fee-checkbox-label input[type=checkbox]:checked~.fee-checkbox-amount{font-weight:600;color:#667eea}.fee-checkbox-text{color:#333;font-size:14px;line-height:1.4;flex:1;margin-right:10px;display:inline-block!important;order:2}.fee-checkbox-amount{color:#333;font-size:14px;line-height:1.4;font-weight:500;display:inline-block!important;white-space:nowrap;order:3}.fee-total-preview{margin-top:15px;padding:12px;background:#e8f5e9;border-radius:6px;border:2px solid #4caf50;text-align:center}.fee-total-preview strong{color:#2e7d32;font-size:16px}.fee-total-display{padding:8px 12px;background:#e8f5e9;border-radius:6px;border:2px solid #4caf50;text-align:center;min-height:42px;display:flex;align-items:center;justify-content:center}.fee-total-display strong{color:#2e7d32;font-size:16px}.form-hint{display:block;margin-top:5px;color:#999;font-size:12px;font-style:italic}.tooltip-icon-inline{cursor:help;font-size:14px;color:#667eea;margin-left:5px;display:inline-block}.tooltip-icon-inline:hover{color:#764ba2}.class-fees-section{margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:12px;border:2px solid rgba(102,126,234,.1)}.fees-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(102,126,234,.2)}.class-fees-section h3{color:#333;font-size:1.3rem;margin:0}.btn-edit-fees{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-edit-fees:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.fees-edit-actions{display:flex;gap:10px}.btn-save-fees,.btn-cancel-fees{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-save-fees{background:#28a745;color:#fff}.btn-save-fees:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.btn-cancel-fees{background:#6c757d;color:#fff}.btn-cancel-fees:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-save-fees:disabled,.btn-cancel-fees:disabled{opacity:.6;cursor:not-allowed;transform:none}.fees-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1400px){.fees-list{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.fees-list{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.fees-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.fees-list{grid-template-columns:1fr}}.fee-item{background:#fff;border-radius:8px;padding:15px;border:2px solid #e0e0e0;transition:all .3s}.fee-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.fee-display{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.fee-type{font-weight:600;color:#333;font-size:1rem;word-break:break-word;flex:1}.fee-amount{font-weight:600;color:#28a745;font-size:1.1rem;white-space:nowrap}.fee-actions{display:flex;gap:8px;margin-top:8px}.btn-edit-fee,.btn-delete-fee,.btn-save-fee,.btn-cancel-fee{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-edit-fee{background:#667eea;color:#fff}.btn-edit-fee:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.btn-delete-fee{background:#dc3545;color:#fff}.btn-delete-fee:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.btn-save-fee{background:#28a745;color:#fff}.btn-save-fee:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.btn-cancel-fee{background:#6c757d;color:#fff}.btn-cancel-fee:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-edit-fee:disabled,.btn-delete-fee:disabled,.btn-save-fee:disabled,.btn-cancel-fee:disabled{opacity:.6;cursor:not-allowed;transform:none}.fees-edit-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.fee-edit-item{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff;border-radius:8px;border:2px solid #e0e0e0;position:relative}@media (max-width: 1400px){.fees-edit-list{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.fees-edit-list{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.fees-edit-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.fees-edit-list{grid-template-columns:1fr}}.btn-remove-fee{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#dc3545;color:#fff;border:none;border-radius:50%;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;z-index:1}.btn-remove-fee:hover:not(:disabled){background:#c82333;transform:scale(1.1)}.btn-remove-fee:disabled{opacity:.6;cursor:not-allowed}.btn-add-fee{padding:12px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:8px;border:2px dashed #28a745;grid-column:1 / -1}.btn-add-fee:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.btn-add-fee:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.fees-section-header{flex-direction:column;align-items:flex-start;gap:12px}.fees-edit-actions{width:100%}.fees-edit-actions button{flex:1}}.fee-type-input,.fee-amount-input{width:100%;padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;transition:border-color .3s}.fee-type-input:focus,.fee-amount-input:focus{outline:none;border-color:#667eea}.no-fees-message{text-align:center;padding:30px;color:#999}.no-fees-message p{font-size:1rem;margin-bottom:8px}.no-fees-message small{font-size:.85rem;color:#bbb}.class-fee-summary{display:flex;gap:20px;padding:30px;background:linear-gradient(135deg,#667eea1a,#764ba21a,#f093fb1a);border-radius:20px;margin-bottom:30px;border:2px solid rgba(102,126,234,.2);box-shadow:0 8px 24px #667eea26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.class-fee-summary>div{flex:1;text-align:center;padding:20px;background:#ffffffb3;border-radius:16px;transition:all .3s ease}@media (max-width: 768px){.fee-actions{width:100%}.fee-actions button{flex:1}}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start;gap:15px}.students-header h1{font-size:1.5rem;width:100%}.user-info{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.user-info span{width:100%}.btn-back,.btn-logout{width:100%;padding:10px 16px;font-size:14px}.students-main{padding:20px 15px}.students-card{padding:20px 15px;border-radius:16px}.card-header{flex-direction:column;align-items:flex-start;gap:15px}.card-header h2{font-size:1.3rem;width:100%}.btn-add-student{width:100%;padding:12px 20px;font-size:15px}.class-fees-section{padding:15px;margin-bottom:20px}.fees-section-header{flex-direction:column;align-items:flex-start;gap:12px}.fees-section-header h3{font-size:1.2rem;width:100%}.fees-edit-actions{width:100%;flex-direction:column;gap:8px}.fees-edit-actions button,.btn-edit-fees{width:100%;padding:10px 16px}.class-fee-summary{flex-direction:column!important;gap:12px!important;padding:20px 15px!important}.class-fee-summary>div{width:100%!important;flex:none!important;padding:15px!important}.class-fee-summary>div>div:first-child{font-size:12px!important;margin-bottom:8px!important}.class-fee-summary>div>div:last-child{font-size:24px!important}.students-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:15px}.students-table{min-width:800px;font-size:14px}.students-table th,.students-table td{padding:12px 8px;font-size:.85rem}.students-table th{font-size:.8rem;padding:10px 8px}.btn-view-profile{padding:8px 12px;font-size:.8rem;min-width:80px;height:32px}.modal-overlay{padding:10px;align-items:flex-end}.modal-content{max-width:100%;width:100%;border-radius:20px 20px 0 0;max-height:90vh;padding:20px 15px}.modal-header{margin-bottom:15px;padding-bottom:12px}.modal-header h2{font-size:1.3rem}.modal-close{width:28px;height:28px;font-size:1.8rem}.form-group{margin-bottom:15px}.form-group input,.form-group textarea{padding:10px;font-size:16px}.modal-actions{flex-direction:column;gap:10px;margin-top:20px}.btn-cancel,.btn-submit{width:100%;padding:14px}.fee-checkboxes{grid-template-columns:1fr;gap:10px}.fee-checkbox-label{padding:12px}.fee-checkbox-text,.fee-checkbox-amount{font-size:13px}}@media (max-width: 480px){.students-header h1{font-size:1.3rem}.card-header h2{font-size:1.2rem}.fees-section-header h3{font-size:1.1rem}.students-table{min-width:700px;font-size:12px}.students-table th,.students-table td{padding:10px 6px;font-size:.8rem}.modal-header h2{font-size:1.2rem}}.admin-container{min-height:100vh;background:transparent;position:relative;z-index:1}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:25px 0;box-shadow:0 4px 20px #667eea4d;position:relative;overflow:hidden}.admin-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.admin-header h1{font-size:2rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);letter-spacing:-.5px}.user-info{display:flex;align-items:center;gap:15px;position:relative;z-index:2}.btn-back{padding:8px 20px;background:#fff3;color:#fff;border:2px solid white;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;position:relative;z-index:2}.btn-back:hover{background:#fff;color:#667eea}.btn-logout{padding:8px 20px;background:#fff3;color:#fff;border:2px solid white;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;position:relative;z-index:2}.btn-logout:hover{background:#fff;color:#667eea}.admin-main{max-width:1200px;margin:0 auto;padding:30px 20px}.admin-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:40px;box-shadow:0 8px 32px #667eea33,0 2px 8px #0000001a;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.card-header h2{color:#333;font-size:1.5rem}.btn-edit{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-change-password{padding:12px 24px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-change-password:hover{transform:translateY(-2px);box-shadow:0 10px 20px #28a74566}.institution-info{display:flex;flex-direction:column;gap:15px}.info-row{padding:18px 20px;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:12px;border-left:4px solid #667eea;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.info-row:hover{transform:translate(5px);box-shadow:0 4px 12px #667eea26;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.info-row strong{color:#667eea;margin-right:10px}.info-row-group{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.info-field{padding:18px 20px;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:12px;border-left:4px solid #667eea;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.info-field:hover{transform:translate(5px);box-shadow:0 4px 12px #667eea26;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.info-field strong{color:#667eea;margin-right:10px}@media (max-width: 768px){.info-row-group{grid-template-columns:1fr}}.success-message{background:#d4edda;color:#155724;padding:12px 20px;border-radius:8px;margin-bottom:20px;border-left:4px solid #28a745}.error-message{background:#f8d7da;color:#721c24;padding:12px 20px;border-radius:8px;margin-bottom:20px;border-left:4px solid #dc3545}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;padding:30px;width:100%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.modal-header h2{color:#333;font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.modal-close:hover{background:#f0f0f0;color:#333}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.modal-content .form-group input,.modal-content .form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit}.modal-content .form-group textarea{resize:vertical}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:15px;margin-top:25px}.btn-cancel,.btn-submit{flex:1;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel{background:#f0f0f0;color:#333}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.stats-summary{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.stat-item{flex:1;min-width:200px;padding:20px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;border-left:4px solid #667eea;box-shadow:0 2px 8px #0000000d}.stat-item strong{color:#667eea;font-size:1.1rem;display:block;margin-bottom:8px}.stat-item span{font-size:1.5rem;font-weight:700;color:#333}.institutions-list{margin-top:20px}.institutions-table{overflow-x:auto;border-radius:8px;box-shadow:0 2px 8px #0000000d}.institutions-table table{background:#fff}.institutions-table thead tr th{font-weight:600;color:#333}.institutions-table tbody tr:hover{background:#f8f9fa}.institutions-table tbody tr td{color:#666}.admin-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-button{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:500;color:#666;cursor:pointer;transition:all .3s}.tab-button:hover{color:#667eea;background:#f8f9fa}.tab-button.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.subscription-requests-section{margin-top:20px}.subscription-requests-table{overflow-x:auto;border-radius:8px;box-shadow:0 2px 8px #0000000d}.subscription-requests-table table{background:#fff;width:100%;border-collapse:collapse}.subscription-requests-table thead tr th{font-weight:600;color:#333}.subscription-requests-table tbody tr:hover{background:#f8f9fa}.subscription-requests-table tbody tr td{color:#666}.subscription-container{min-height:100vh;max-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:15px;display:flex;justify-content:center;align-items:center;overflow:hidden}.subscription-content{max-width:1200px;width:100%;display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 30px)}.subscription-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-shrink:0;gap:20px}.subscription-header{text-align:center;color:#fff;flex:1}.subscription-header h1{font-size:1.6rem;margin-bottom:3px;font-weight:700}.subscription-header p{font-size:.9rem;opacity:.9}.btn-back-top{padding:10px 20px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;flex-shrink:0;white-space:nowrap}.btn-back-top:hover{background:#667eea;color:#fff}.subscription-main-content{display:flex;gap:15px;flex:1;min-height:0;overflow:hidden}.subscription-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 20px 60px #0000004d;flex:1.2;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-width:0}.pricing-section{margin-bottom:15px;padding-bottom:12px;border-bottom:2px solid #f0f0f0;flex-shrink:0}.pricing-section h2{color:#333;margin-bottom:10px;font-size:1.1rem}.month-selector{margin-bottom:12px}.month-selector label{display:block;margin-bottom:6px;color:#555;font-weight:500;font-size:.9rem}.months-input{width:100%;padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;background:#fff;transition:border-color .3s;box-sizing:border-box}.months-input:hover{border-color:#667eea}.months-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.price-display{background:#f8f9fa;padding:12px;border-radius:6px}.price-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem;color:#555}.price-row.total{margin-top:8px;padding-top:8px;border-top:2px solid #e0e0e0;font-size:1.1rem;font-weight:700;color:#333}.price-value{font-weight:600;color:#667eea;font-size:1rem}.price-row.total .price-value{font-size:1.2rem;color:#764ba2}.callback-section{margin-top:12px;flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:5px}.callback-section h3{color:#333;margin-bottom:6px;font-size:1rem}.callback-description{color:#666;margin-bottom:10px;line-height:1.4;font-size:.85rem}.mobile-input-section{margin-bottom:10px}.mobile-input-section label{display:block;margin-bottom:6px;color:#555;font-weight:500;font-size:.9rem}.mobile-input{width:100%;padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;transition:border-color .3s;box-sizing:border-box}.mobile-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.mobile-display{background:#f8f9fa;padding:10px;border-radius:6px;margin-bottom:10px;text-align:center;flex-shrink:0}.confirm-text{color:#666;margin-bottom:5px;font-size:.8rem}.mobile-number-display{font-size:1.1rem;font-weight:700;color:#667eea;letter-spacing:1px}.btn-request-callback{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:auto;flex-shrink:0;min-height:44px}.btn-request-callback:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-request-callback:active:not(:disabled){transform:translateY(0)}.btn-request-callback:disabled{opacity:.6;cursor:not-allowed}.subscription-features{background:#fff;border-radius:12px;padding:20px;box-shadow:0 10px 30px #0000001a;flex:.8;display:flex;flex-direction:column;min-width:0}.subscription-features h3{color:#333;margin-bottom:12px;font-size:1rem;flex-shrink:0}.subscription-features ul{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;justify-content:center}.subscription-features li{padding:8px 0;color:#555;font-size:.9rem}@media (max-width: 968px){.subscription-main-content{flex-direction:column}.subscription-card{flex:1}.subscription-features{flex:0}}@media (max-width: 768px){.subscription-container{padding:15px;max-height:100vh}.subscription-card{padding:20px}.subscription-top-bar{flex-direction:column;align-items:stretch;gap:10px}.subscription-header h1{font-size:1.5rem}.subscription-header p{font-size:.9rem}.subscription-main-content{gap:15px}.btn-back-top{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-attachment:fixed;min-height:100vh;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(120,219,255,.1) 0%,transparent 50%);pointer-events:none;z-index:0}#root{min-height:100vh}
