body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{height:100vh;width:100%}*,.App{margin:0;padding:0}*{box-sizing:border-box}.login-container{align-items:center;background:linear-gradient(135deg,#e0f7ff,#f0e7ff 50%,#e0f7ff);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.background-shape{border-radius:50%;filter:blur(80px);opacity:.6;position:absolute;z-index:0}.shape-1{background:linear-gradient(135deg,#667eea,#764ba2);height:500px;left:-200px;top:-200px;width:500px}.shape-2{background:linear-gradient(135deg,#89f7fe,#66a6ff);bottom:-150px;height:400px;right:-150px;width:400px}.login-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff6;border-radius:30px;box-shadow:0 20px 60px #00000026;display:flex;max-width:1100px;min-height:600px;overflow:hidden;position:relative;width:95%;z-index:1}.login-left{background:linear-gradient(135deg,#667eea1a,#764ba21a);display:flex;flex:1 1;flex-direction:column;justify-content:space-between;padding:60px 50px}.marketing-content h1{color:#1a1a1a;font-size:42px;font-weight:700;line-height:1.2;margin-bottom:16px;max-width:350px}.marketing-content p{color:#666;font-size:16px;line-height:1.6;max-width:320px}.footer-links{align-items:center;gap:20px;justify-content:space-between}.language-selector{align-items:center;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:background .3s ease}.language-selector:hover{background:#ffffff80}.flag-icon{font-size:18px}.dropdown-arrow{font-size:10px;margin-left:4px}.links{display:flex;gap:24px}.links a{color:#4169e1;font-size:14px;text-decoration:none;transition:color .3s ease}.links a:hover{color:#2948b0}.login-right{align-items:center;background:#fffc;display:flex;flex:1 1;justify-content:center;padding:40px}.login-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000014;max-width:400px;padding:40px;width:100%}.login-card h2{color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:8px}.login-subtitle{color:#666;font-size:14px;margin-bottom:24px;text-align:left}.success-message{color:#3c3}.form-group input{border:1px solid #e0e0e0;border-radius:10px;font-size:15px;outline:none;padding:14px 16px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:45px}.toggle-password{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;padding:5px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.toggle-password:hover{opacity:1}.password-hint{color:#999;font-size:12px;line-height:1.4;margin-top:6px}.form-options{flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.form-options,.remember-me{align-items:center;display:flex}.remember-me{gap:8px}.remember-me input[type=checkbox]{accent-color:#4169e1;cursor:pointer;height:18px;width:18px}.remember-me label{color:#333;cursor:pointer;font-size:13px;margin:0}.remember-me a{color:#4169e1;text-decoration:none}.remember-me a:hover{text-decoration:underline}.request-password{color:#999;font-size:13px;text-decoration:none;transition:color .3s ease}.request-password:hover{color:#4169e1}.divider{margin:24px 0;position:relative;text-align:center}.divider:after,.divider:before{background:#e0e0e0;content:"";height:1px;position:absolute;top:50%;width:40%}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;color:#999;font-size:13px;padding:0 12px;position:relative}.social-login{display:flex;gap:12px;margin-bottom:24px}.social-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:12px 16px;transition:all .3s ease}.social-btn:hover{background:#f8f8f8;border-color:#d0d0d0;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.google-btn{color:#333}.apple-btn{color:#000}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.submit-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.signup-link{color:#666;font-size:14px;margin-top:20px;text-align:center}.signup-link a{color:#4169e1;font-weight:600;text-decoration:none}.signup-link a:hover{text-decoration:underline}@media (max-width:968px){.login-content{flex-direction:column;max-width:500px}.login-left{padding:40px 30px 30px}.marketing-content h1{font-size:32px;max-width:100%}.footer-links{align-items:flex-start;flex-direction:column}.login-right{padding:30px 20px 40px}}@media (max-width:480px){.login-card{padding:30px 24px}.social-login{flex-direction:column}.social-btn{width:100%}}.admin-layout{background:linear-gradient(135deg,#e8e5f5,#f0ecf8 50%,#e8e5f5);color:#333;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;min-height:100vh}.admin-sidebar-toggle{align-items:center;background:#fff;border:none;border-radius:12px;box-shadow:0 2px 12px #0000001a;cursor:pointer;display:none;font-size:22px;height:44px;justify-content:center;left:16px;position:fixed;top:16px;transition:background .2s;width:44px;z-index:100}.admin-sidebar-toggle:hover{background:#f0f0f0}.admin-sidebar-overlay{background:#0006;display:none;inset:0;opacity:0;position:fixed;transition:opacity .3s,visibility .3s;visibility:hidden;z-index:998}.admin-sidebar-overlay.open{opacity:1;visibility:visible}.admin-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:2px 0 14px #0000000f;display:flex;flex-direction:column;height:100vh;min-width:240px;overflow-y:auto;padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;width:240px;z-index:999}.admin-sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.admin-sidebar-close{background:#f0f0f0;border:none;border-radius:10px;color:#666;cursor:pointer;display:none;font-size:24px;height:36px;line-height:1;width:36px}.admin-sidebar-close:hover{background:#e0e0e0;color:#333}.admin-sidebar-logo{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:700;gap:10px}.admin-logo-icon{font-size:22px}.admin-sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:6px}.admin-nav-item{align-items:center;background:#0000;border:none;border-radius:12px;color:#666;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 14px;text-align:left;transition:all .2s ease;width:100%}.admin-nav-item:hover{background:#5b7fff1a;color:#5b7fff}.admin-nav-item.active{background:linear-gradient(135deg,#5b7fff,#7c5cf6);box-shadow:0 4px 12px #5b7fff4d;color:#fff}.admin-nav-icon{flex-shrink:0;font-size:18px;text-align:center;width:24px}.admin-nav-item.admin-logout{color:#c0392b}.admin-nav-item.admin-logout:hover{background:#c0392b1a;color:#a93226}.admin-sidebar-footer{border-top:1px solid #0000000f;margin-top:auto;padding-top:16px}.admin-user-info{margin-bottom:8px;padding:10px 14px 12px}.admin-user-name{color:#1a1a1a;display:block;font-size:14px;font-weight:600}.admin-user-role{color:#888;display:block;font-size:12px}.admin-main{display:flex;flex:1 1;flex-direction:column;min-width:0;padding:0 16px 24px}@media (max-width:1024px){.admin-sidebar{box-shadow:4px 0 20px #00000026;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease}.admin-sidebar.open{transform:translateX(0)}.admin-sidebar-close{align-items:center;display:flex;justify-content:center}.admin-sidebar-toggle{display:flex}.admin-sidebar-overlay{display:block}.admin-main{padding-left:12px;padding-right:12px;padding-top:64px}}@media (max-width:480px){.admin-sidebar{min-width:280px;width:280px}.admin-sidebar-toggle{font-size:20px;height:40px;left:12px;top:12px;width:40px}}.dashboard-container{color:#333;display:flex;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;min-height:100vh;min-width:0}.main-content{flex:1 1;min-width:0;overflow-y:auto;padding:20px}.dashboard-header{gap:20px;justify-content:space-between;margin-bottom:30px}.dashboard-header,.search-bar{align-items:center;display:flex}.search-bar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex:1 1;gap:12px;max-width:400px;padding:12px 20px}.search-icon{color:#999;font-size:18px}.search-bar input{border:none;color:#333;flex:1 1;font-size:14px;outline:none}.search-bar input::placeholder{color:#999}.header-actions{gap:16px}.header-actions,.icon-button{align-items:center;display:flex}.icon-button{background:#fff;border:none;border-radius:10px;box-shadow:0 2px 8px #0000000d;cursor:pointer;font-size:18px;height:40px;justify-content:center;transition:all .3s ease;width:40px}.icon-button:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.user-profile{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;padding:8px 12px 8px 8px}.user-info{align-items:flex-end;display:flex;flex-direction:column}.user-name{color:#1a1a1a;font-size:14px;font-weight:600}.user-role{color:#999;font-size:12px}.user-avatar{align-items:center;background:linear-gradient(135deg,#ffb74d,#ff9800);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.dashboard-content{display:flex;flex-direction:column;gap:30px}.welcome-card{align-items:center;background:linear-gradient(135deg,#5b7fff,#7b68ee);border-radius:20px;box-shadow:0 8px 24px #5b7fff4d;display:flex;justify-content:space-between;overflow:hidden;padding:40px;position:relative}.welcome-text{color:#fff;flex:1 1}.welcome-text h1{font-size:32px;font-weight:700;margin:0 0 12px}.welcome-text p{font-size:14px;line-height:1.6;margin:0 0 24px;max-width:400px;opacity:.95}.welcome-button{background:#fff;border:none;border-radius:10px;box-shadow:0 4px 12px #00000026;color:#5b7fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.welcome-button:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.welcome-illustration{height:180px;position:relative;width:180px}.illustration-circle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;height:180px;position:absolute;width:180px}.illustration-emoji{font-size:100px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-top:10px}.section-header h2{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.paid-students-header h2{color:#22c55e}.view-all-button{background:#5b7fff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease}.view-all-button:hover{background:#4b6fef;transform:translateY(-1px)}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{align-items:center;background:#fff;border-radius:16px;border-top:4px solid;box-shadow:0 4px 12px #0000000d;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:24px;height:50px;justify-content:center;width:50px}.stat-info{text-align:center}.stat-info h3{color:#1a1a1a;font-size:14px;font-weight:600;margin:0 0 4px}.stat-info h3.stat-number{color:#1a1a1a;font-size:28px;font-weight:700;margin:0 0 4px}.stat-info p{color:#999;font-size:12px;margin:0}.recruitment-table{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:24px}th{color:#666;font-size:13px;letter-spacing:.5px;text-transform:uppercase}td{color:#333;font-size:14px}tbody tr{transition:all .2s ease}tbody tr.highlighted{background:#e8eeff}.status-badge{border-radius:8px;display:inline-block;padding:6px 14px}.status-badge.blue{background:#e3f2fd;color:#1976d2}.status-badge.gray{background:#f5f5f5;color:#757575}.status-badge.orange{background:#fff3e0;color:#f57c00}.status-badge.red{background:#ffebee;color:#d32f2f}.status-badge.purple{background:#f3e5f5;color:#7b1fa2}.status-badge.green{background:#e8f5e9;color:#2e7d32}.action-button{background:none;border:none;border-radius:6px;color:#999;cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s ease}.action-button:hover{background:#f0f0f0;color:#333}.right-sidebar{display:flex;flex-direction:column;gap:20px;max-height:100vh;overflow-y:auto;padding:24px 24px 24px 0;width:320px}.widget{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:20px}.widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.widget-header h3{color:#1a1a1a;font-size:16px;font-weight:700;margin:0}.view-all-link{background:none;border:none;color:#5b7fff;cursor:pointer;font-size:13px;font-weight:600;transition:color .2s ease}.view-all-link:hover{color:#4b6fef}.calendar-toggle{display:flex;gap:8px}.toggle-btn{background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;font-size:16px;height:32px;transition:all .2s ease;width:32px}.toggle-btn.active{background:#5b7fff}.toggle-btn:hover{background:#e0e0e0}.toggle-btn.active:hover{background:#4b6fef}.calendar{margin-top:16px}.calendar-header{color:#666;font-size:14px;font-weight:600;margin-bottom:16px;text-align:center}.calendar-dates{display:flex;gap:8px;justify-content:space-between}.calendar-day{align-items:center;border-radius:12px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:12px 8px;transition:all .2s ease}.calendar-day:hover{background:#f5f5f5}.calendar-day.active{background:linear-gradient(135deg,#5b7fff,#8b5cf6);color:#fff}.day-name{font-size:16px;font-weight:700;margin-bottom:4px}.day-label{color:#999;font-size:11px}.calendar-day.active .day-label{color:#fffc}.applicants-list{display:flex;flex-direction:column;gap:12px}.applicant-item{align-items:center;border-radius:12px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.applicant-item:hover{background:#f8f9fa}.applicant-avatar{align-items:center;background:linear-gradient(135deg,#5b7fff,#8b5cf6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.applicant-info{flex:1 1}.applicant-info h4{color:#1a1a1a;font-size:14px;font-weight:600;margin:0 0 4px}.applicant-info p{color:#999;font-size:12px;margin:0}.applicant-actions{display:flex;gap:8px}.icon-btn{align-items:center;background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.icon-btn:hover{background:#5b7fff;transform:scale(1.05)}.training-list{display:flex;flex-direction:column;gap:12px}.training-item{align-items:center;border-radius:12px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.training-item:hover{background:#f8f9fa}.training-avatar{align-items:center;background:linear-gradient(135deg,#ff6b4a,#e84c88);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.training-info{flex:1 1}.training-info h4{color:#1a1a1a;font-size:14px;font-weight:600;margin:0 0 4px}.training-info p{color:#999;font-size:12px;margin:0}.training-badge{background:#5b7fff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.training-badge:hover{background:#4b6fef;transform:translateY(-1px)}@media (max-width:1400px){.right-sidebar{width:280px}}@media (max-width:1200px){.dashboard-container{flex-direction:column}.main-content{padding:16px}.right-sidebar{padding:20px;width:100%}}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.welcome-card{flex-direction:column;padding:30px 20px;text-align:center}.illustration-circle,.welcome-illustration{height:120px;width:120px}.illustration-emoji{font-size:60px}.dashboard-header{flex-direction:column}.search-bar{max-width:100%;width:100%}.recruitment-table{overflow-x:auto}table{min-width:600px}}.main-content::-webkit-scrollbar,.right-sidebar::-webkit-scrollbar{height:6px;width:6px}.main-content::-webkit-scrollbar-thumb,.right-sidebar::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover,.right-sidebar::-webkit-scrollbar-thumb:hover{background:#0000004d}.user-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:40px 20px}.user-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:30px}.user-form h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.form-group{margin-bottom:20px}.users-table{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.users-table h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.role-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.role-badge.role-admin{background:#ffebee;color:#c62828}.role-badge.role-instructor{background:#e8f5e9;color:#2e7d32}.role-badge.role-reception{background:#e3f2fd;color:#1565c0}@media (max-width:768px){.user-management{padding:24px 16px}.header h1{font-size:24px}.header{align-items:flex-start}.actions,.header{flex-direction:column}.actions button{width:100%}.user-management .users-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.user-management .users-table table,.user-management table{font-size:14px;min-width:500px}td,th{padding:12px 8px}.btn-delete,.btn-edit{display:block;margin:4px 0;width:100%}}@media (max-width:480px){.user-management{padding:16px 12px}.header h1{font-size:20px}}.student-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:40px 20px}.header{flex-wrap:wrap;justify-content:space-between;margin-bottom:30px}.header,.header-left{align-items:center;display:flex;gap:20px}.back-button{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:#e8e8e8;border-color:#d0d0d0;transform:translateX(-2px)}.header h1{color:#1a1a1a;font-size:32px;margin:0}.current-user{align-items:center;color:#666;display:flex;font-size:14px;gap:12px}.current-user button{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px;transition:background .3s ease}.current-user button:hover{background:#d32f2f}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.error-message,.success-message{margin-bottom:20px;padding:12px 16px}.success-message{background:#efe;border:1px solid #cfc;border-radius:8px;color:#2d7a2d}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.search-box{flex:1 1;min-width:250px}.search-box input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 16px;transition:all .3s ease;width:100%}.search-box input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0}.student-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:30px}.student-form h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500}.form-group input,.form-group select{border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:12px;margin-top:24px}.loading{color:#666;font-size:16px;padding:40px;text-align:center}.students-table{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.students-table h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}table{border-collapse:collapse;width:100%}thead{background:#f8f9fa}th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;text-align:left}td,th{padding:16px}td{border-bottom:1px solid #f0f0f0;color:#666}tbody tr:hover{background:#f8f9fa}.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-badge.active{background:#e3f2fd;color:#1565c0}.status-badge.completed{background:#e8f5e9;color:#2e7d32}.status-badge.on-hold{background:#fff3e0;color:#f57c00}.status-badge.dropped{background:#ffebee;color:#c62828}.btn-delete,.btn-edit{font-size:13px;margin-right:8px;padding:6px 14px}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}@media (max-width:768px){.student-management{padding:24px 16px}.header h1{font-size:24px}.header{align-items:flex-start}.actions,.header{flex-direction:column}.actions,.actions button,.search-box{width:100%}.form-row{grid-template-columns:1fr}.students-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.students-table table{min-width:600px}table{font-size:14px}td,th{padding:12px 8px}.btn-delete,.btn-edit{display:block;margin:4px 0;width:100%}}@media (max-width:480px){.student-management{padding:16px 12px}.header h1{font-size:20px}}.course-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:40px 20px}.course-management .header{flex-wrap:wrap;justify-content:space-between;margin-bottom:30px}.course-management .header,.course-management .header-left{align-items:center;display:flex;gap:20px}.course-management .back-button{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.course-management .back-button:hover{background:#e8e8e8;border-color:#d0d0d0;transform:translateX(-2px)}.course-management .header h1{color:#1a1a1a;font-size:32px;margin:0}.course-management .current-user{align-items:center;color:#666;display:flex;font-size:14px;gap:12px}.course-management .current-user button{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px}.course-management .current-user button:hover{background:#d32f2f}.course-management .error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:20px;padding:12px 16px}.course-management .success-message{background:#efe;border:1px solid #cfc;border-radius:8px;color:#2d7a2d;margin-bottom:20px;padding:12px 16px}.course-management .actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.course-management .search-box{flex:1 1;min-width:250px}.course-management .search-box input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 16px;width:100%}.course-management .search-box input:focus{border-color:#667eea;outline:none}.course-management button.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.course-management button.btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.course-management button.btn-secondary{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;padding:10px 20px}.course-management .course-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:30px}.course-management .course-form h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.course-management .form-group{margin-bottom:20px}.course-management .form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.course-management .form-group input,.course-management .form-group select{border:1px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;width:100%}.course-management .form-group input:focus,.course-management .form-group select:focus{border-color:#667eea;outline:none}.course-management .form-actions{display:flex;gap:12px;margin-top:24px}.course-management .loading{color:#666;padding:40px;text-align:center}.course-management .courses-table{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.course-management .courses-table h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.course-management table{border-collapse:collapse;width:100%}.course-management thead{background:#f8f9fa}.course-management th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:16px;text-align:left}.course-management td{border-bottom:1px solid #f0f0f0;color:#666;padding:16px}.course-management tbody tr:hover{background:#f8f9fa}.course-management .btn-delete,.course-management .btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:13px;margin-right:8px;padding:6px 14px}.course-management .btn-edit{background:#2196f3;color:#fff}.course-management .btn-edit:hover{background:#1976d2}.course-management .btn-delete{background:#f44336;color:#fff}.course-management .btn-delete:hover{background:#d32f2f}@media (max-width:768px){.course-management{padding:24px 16px}.course-management .header h1{font-size:24px}.course-management .actions{flex-direction:column;width:100%}.course-management .search-box{width:100%}.course-management .courses-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.course-management .courses-table table{min-width:400px}}@media (max-width:480px){.course-management{padding:16px 12px}.course-management .header h1{font-size:20px}}.enrollment-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:40px 20px}.enrollment-management .header{flex-wrap:wrap;justify-content:space-between;margin-bottom:30px}.enrollment-management .header,.enrollment-management .header-left{align-items:center;display:flex;gap:20px}.enrollment-management .back-button{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.enrollment-management .back-button:hover{background:#e8e8e8;border-color:#d0d0d0;transform:translateX(-2px)}.enrollment-management .header h1{color:#1a1a1a;font-size:32px;margin:0}.enrollment-management .current-user{align-items:center;color:#666;display:flex;font-size:14px;gap:12px}.enrollment-management .current-user button{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px}.enrollment-management .current-user button:hover{background:#d32f2f}.enrollment-management .error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:20px;padding:12px 16px}.enrollment-management .success-message{background:#efe;border-radius:8px;color:#2d7a2d;margin-bottom:20px;padding:12px 16px}.enrollment-management .instructor-no-courses{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;color:#f57c00;margin-bottom:20px;padding:14px 18px}.attendance-management .input-disabled,.enrollment-management .input-disabled{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#555;cursor:not-allowed;font-size:14px;padding:10px 14px;width:100%}.enrollment-management .actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.enrollment-management .search-box{flex:1 1;min-width:250px}.enrollment-management .search-box input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 16px;width:100%}.enrollment-management .search-box input:focus{border-color:#667eea;outline:none}.enrollment-management button.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.enrollment-management button.btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.enrollment-management button.btn-secondary{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;padding:10px 20px}.enrollment-management .enrollment-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:30px}.enrollment-management .enrollment-form h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.enrollment-management .form-group{margin-bottom:20px}.enrollment-management .form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.enrollment-management .form-group input,.enrollment-management .form-group select{border:1px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;width:100%}.enrollment-management .form-group input:focus,.enrollment-management .form-group select:focus{border-color:#667eea;outline:none}.enrollment-management .form-actions{display:flex;gap:12px;margin-top:24px}.enrollment-management .loading{color:#666;padding:40px;text-align:center}.enrollment-management .enrollments-table{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.enrollment-management .enrollments-table h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.enrollment-management table{border-collapse:collapse;width:100%}.enrollment-management thead{background:#f8f9fa}.enrollment-management th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:16px;text-align:left}.enrollment-management td{border-bottom:1px solid #f0f0f0;color:#666;padding:16px}.enrollment-management tbody tr:hover{background:#f8f9fa}.enrollment-management .btn-delete,.enrollment-management .btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:13px;margin-right:8px;padding:6px 14px}.enrollment-management .btn-edit{background:#2196f3;color:#fff}.enrollment-management .btn-edit:hover{background:#1976d2}.enrollment-management .btn-delete{background:#f44336;color:#fff}.enrollment-management .btn-delete:hover{background:#d32f2f}@media (max-width:768px){.enrollment-management{padding:24px 16px}.enrollment-management .header h1{font-size:24px}.enrollment-management .actions{flex-direction:column;width:100%}.enrollment-management .search-box{width:100%}.enrollment-management .enrollments-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.enrollment-management .enrollments-table table{min-width:500px}}@media (max-width:480px){.enrollment-management{padding:16px 12px}.enrollment-management .header h1{font-size:20px}}.attendance-management.attendance-roll{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:900px;padding:24px 20px}.attendance-roll .attendance-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:24px}.attendance-roll .attendance-header,.attendance-roll .header-left{align-items:center;display:flex;gap:16px}.attendance-roll .back-button{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:all .2s ease}.attendance-roll .back-button:hover{background:#eee;border-color:#ccc}.attendance-roll .attendance-header h1{color:#1a1a1a;font-size:28px;font-weight:700;margin:0}.attendance-roll .current-user{align-items:center;color:#555;display:flex;font-size:14px;gap:12px}.attendance-roll .current-user button{background:#e0e0e0;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:6px 14px}.attendance-roll .current-user button:hover{background:#d0d0d0}.attendance-roll .error-message{background:#ffebee;color:#c62828}.attendance-roll .error-message,.attendance-roll .success-message{border-radius:8px;font-size:14px;margin-bottom:16px;padding:12px 16px}.attendance-roll .success-message{background:#e8f5e9;color:#2e7d32}.attendance-roll .attendance-filters{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014;margin-bottom:20px;padding:20px}.attendance-roll .filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.attendance-roll .attendance-filters .form-group{margin:0;min-width:180px}.attendance-roll .attendance-filters label{color:#555;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.attendance-roll .attendance-filters input[type=date],.attendance-roll .attendance-filters select{border:1px solid #ddd;padding:10px 12px;width:100%}.attendance-management .input-disabled{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#555;cursor:not-allowed;font-size:14px;padding:10px 12px;width:100%}.attendance-roll .btn-refresh{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px}.attendance-roll .btn-refresh:hover:not(:disabled){background:#eee}.attendance-roll .btn-refresh:disabled{cursor:not-allowed;opacity:.6}.attendance-view-tabs{display:flex;gap:8px;margin-bottom:20px}.attendance-view-tabs .tab-btn{background:#fff;border:1px solid #e0e0e0;border-radius:10px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.attendance-view-tabs .tab-btn:hover{background:#f5f5f5;border-color:#5b7fff;color:#5b7fff}.attendance-view-tabs .tab-btn.active{background:linear-gradient(135deg,#5b7fff,#7c5cf6);border-color:#0000;color:#fff}.attendance-review{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px}.attendance-review .review-hint{color:#666;font-size:13px;margin:0 0 20px}.review-by-date-list{display:flex;flex-direction:column;gap:24px}.review-date-card{border:1px solid #eee;border-radius:12px;overflow:hidden}.review-date-title{align-items:center;background:#f8f9fa;color:#1a1a1a;display:flex;font-size:16px;font-weight:600;gap:12px;margin:0;padding:14px 20px}.review-date-badge{background:#e9ecef;border-radius:20px;color:#666;font-size:12px;font-weight:500;padding:4px 10px}.review-date-table-wrap{overflow-x:auto}.review-table{border-collapse:collapse;font-size:14px;width:100%}.review-table td,.review-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.review-table th{background:#f8f9fa;color:#333;font-weight:600}.review-table .status-badge{border-radius:8px;font-size:12px;font-weight:600;padding:4px 10px}.review-table .status-badge.status-present{background:#e8f5e9;color:#2e7d32}.review-table .status-badge.status-absent{background:#ffebee;color:#c62828}.attendance-roll .roll-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.attendance-roll .quick-actions{color:#666;font-size:14px;font-weight:500}.attendance-roll .btn-quick{background:#fff;border:1px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.attendance-roll .btn-quick:hover{background:#667eea;color:#fff}.attendance-roll .roll-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.attendance-roll .roll-title{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:20px 24px}.attendance-roll .roll-title h2{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.attendance-roll .roll-date{color:#666;font-size:14px;font-weight:500}.attendance-roll .roll-table{border-collapse:collapse;width:100%}.attendance-roll .roll-table thead{background:#f8f9fa}.attendance-roll .roll-table th{color:#555;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 24px;text-align:left;text-transform:uppercase}.attendance-roll .roll-table td{border-bottom:1px solid #f0f0f0;color:#333;font-size:15px;padding:14px 24px}.attendance-roll .roll-table tbody tr:hover{background:#fafafa}.attendance-roll .col-num{color:#888;font-weight:600;width:56px}.attendance-roll .col-name{font-weight:500}.attendance-roll .col-status{width:160px}.attendance-roll .status-select{background:#f5f5f5;border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;width:100%}.attendance-roll .status-select.status-present{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.attendance-roll .status-select.status-absent{background:#ffebee;border-color:#ffcdd2;color:#c62828}.attendance-roll .roll-footer{align-items:center;background:#fafafa;border-top:2px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:12px;padding:20px 24px}.attendance-roll .btn-save{background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:10px;box-shadow:0 2px 8px #2e7d324d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px 28px;transition:all .2s ease}.attendance-roll .btn-save:hover:not(:disabled){box-shadow:0 4px 12px #2e7d3266;transform:translateY(-1px)}.attendance-roll .btn-save:disabled{cursor:not-allowed;opacity:.7;transform:none}.attendance-roll .btn-export-pdf{background:#c62828;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 22px;transition:all .2s ease}.attendance-roll .btn-export-pdf:hover{background:#b71c1c;transform:translateY(-1px)}.attendance-roll .btn-export-excel{background:#2e7d32;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 22px;transition:all .2s ease}.attendance-roll .btn-export-excel:hover{background:#1b5e20;transform:translateY(-1px)}.attendance-roll .empty-state,.attendance-roll .loading-state{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:48px 24px;text-align:center}.attendance-roll .empty-state p{color:#555;font-size:16px;margin:0 0 8px}.attendance-roll .empty-state .hint{color:#888;font-size:14px}.attendance-roll .loading-state{color:#666;font-size:15px}@media (max-width:768px){.attendance-management{padding:24px 16px}.attendance-header h1{font-size:24px}.attendance-roll .roll-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.attendance-roll .roll-table{min-width:320px}}@media (max-width:640px){.attendance-management{padding:16px 12px}.attendance-header h1{font-size:20px}.attendance-roll .filter-row{align-items:stretch;flex-direction:column}.attendance-roll .attendance-filters .form-group{min-width:100%}.attendance-roll .roll-table td,.attendance-roll .roll-table th{font-size:14px;padding:12px 16px}.attendance-roll .col-status{width:120px}}.reports-page{background:linear-gradient(135deg,#e8e5f5,#f0ecf8 50%,#e8e5f5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.reports-header{margin-bottom:24px}.reports-header h1{color:#1a1a1a;font-size:26px;margin:0}.reports-filters{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000f;margin-bottom:24px;padding:24px}.reports-filters h2{color:#1a1a1a;font-size:18px;margin:0 0 20px}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#555;font-size:12px;font-weight:600}.filter-group input,.filter-group select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 12px}.filter-group input:focus,.filter-group select:focus{border-color:#5b7fff;box-shadow:0 0 0 2px #5b7fff33;outline:none}.export-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-export{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-export:disabled{cursor:not-allowed;opacity:.6}.btn-pdf{background:#e74c3c;color:#fff}.btn-pdf:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.btn-excel{background:#27ae60;color:#fff}.btn-excel:hover:not(:disabled){background:#219a52;transform:translateY(-1px)}.reports-preview{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000f;padding:24px}.reports-preview h2{color:#1a1a1a;font-size:18px;margin:0 0 8px}.report-footer-note{color:#888;font-size:12px;margin:0 0 16px}.reports-loading{color:#666;padding:40px;text-align:center}.reports-table-wrap{overflow-x:auto}.reports-table{border-collapse:collapse;font-size:14px;width:100%}.reports-table td,.reports-table th{border-bottom:1px solid #eee;padding:12px 14px;text-align:left}.reports-table th{background:linear-gradient(135deg,#5b7fff,#7c5cf6);color:#fff;font-weight:600}.reports-table tbody tr:hover{background:#f8f9ff}.reports-table .no-data{color:#999;padding:40px!important;text-align:center}@media (max-width:768px){.reports-page{padding:12px}.reports-header h1{font-size:22px}.filters-grid{grid-template-columns:1fr}.export-actions{flex-direction:column}.btn-export{width:100%}.reports-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.reports-table{font-size:13px;min-width:500px}.reports-table td,.reports-table th{padding:10px 8px}}@media (max-width:480px){.reports-filters,.reports-preview{padding:16px}}.payment-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:40px 20px}.payment-management .header{margin-bottom:30px}.payment-management .header h1{color:#1a1a1a;font-size:32px;margin:0 0 8px}.payment-management .subtitle{color:#666;font-size:15px;margin:0}.payment-management .error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:20px;padding:12px 16px}.payment-management .success-message{background:#efe;border-radius:8px;color:#2d7a2d;margin-bottom:20px;padding:12px 16px}.payment-management .actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.payment-management .search-box{flex:1 1;min-width:250px}.payment-management .search-box input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 16px;width:100%}.payment-management .search-box input:focus{border-color:#22c55e;outline:none}.payment-management button.btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.payment-management button.btn-primary:hover{box-shadow:0 4px 12px #22c55e59;transform:translateY(-2px)}.payment-management button.btn-secondary{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;font-weight:500;padding:10px 20px}.payment-management button.btn-secondary:hover{background:#d0d0d0}.payment-management .payment-form-card{background:#fff;border-left:4px solid #22c55e;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:30px}.payment-management .payment-form-card h2{color:#1a1a1a;font-size:20px;margin-bottom:24px;margin-top:0}.payment-management .form-group{margin-bottom:20px}.payment-management .form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.payment-management .form-group input,.payment-management .form-group select,.payment-management .form-group textarea{border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 16px;width:100%}.payment-management .form-group textarea{min-height:80px;resize:vertical}.payment-management .form-group input:focus,.payment-management .form-group select:focus,.payment-management .form-group textarea:focus{border-color:#22c55e;outline:none}.payment-management .form-actions{display:flex;gap:12px;margin-top:24px}.payment-management .loading{color:#666;padding:40px;text-align:center}.payment-management .payments-table-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.payment-management .payments-table-card h2{color:#1a1a1a;font-size:22px;margin-bottom:24px;margin-top:0}.payment-management .empty-state{color:#999;padding:24px 0}.payment-management table{border-collapse:collapse;width:100%}.payment-management thead{background:#f8f9fa}.payment-management th{border-bottom:2px solid #e0e0e0;color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.payment-management td{border-bottom:1px solid #f0f0f0;color:#444;font-size:14px;padding:14px 16px}.payment-management td.details-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-management td.details-cell span{cursor:default}.payment-management tbody tr:hover{background:#f8f9fa}.payment-management .badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.payment-management .badge-bank{background:#e3f2fd;color:#1976d2}.payment-management .badge-momo{background:#e8f5e9;color:#2e7d32}.payment-management .action-buttons{align-items:center;display:flex;gap:8px}.payment-management .btn-view{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px}.payment-management .btn-view:hover{background:#1976d2}.payment-management .btn-delete{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px}.payment-management .btn-delete:hover{background:#d32f2f}.payment-management .view-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.payment-management .view-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.payment-management .view-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.payment-management .view-modal-header h3{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.payment-management .view-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.payment-management .view-modal-close:hover{color:#333}.payment-management .view-modal-body{flex:1 1;overflow-y:auto;padding:24px}.payment-management .view-modal-row{align-items:center;display:flex;gap:16px;margin-bottom:16px}.payment-management .view-label{color:#666;font-size:13px;font-weight:600;min-width:100px}.payment-management .view-value{color:#1a1a1a;font-size:15px}.payment-management .view-modal-section{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.payment-management .view-modal-section .view-label{display:block;margin-bottom:10px}.payment-management .view-proof-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;line-height:1.6;max-height:200px;overflow-y:auto;padding:16px;white-space:pre-wrap;word-break:break-word}.payment-management .view-proof-box pre{font-family:inherit;margin:0}.payment-management .view-hint{color:#666;font-size:12px;margin:10px 0 0}.payment-management .view-receipt-file{margin-top:8px}.payment-management .view-receipt-image{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;display:block;max-height:320px;max-width:100%}.payment-management .view-receipt-fallback{background:#f8f9fa;border-radius:10px;margin-top:8px;padding:16px}.payment-management .view-receipt-fallback-hidden{display:none}.payment-management .view-receipt-fallback a,.payment-management .view-receipt-open{color:#2196f3;display:inline-block;font-size:14px;margin-top:8px;text-decoration:none}.payment-management .view-receipt-open:hover{text-decoration:underline}.payment-management .view-receipt-pdf{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;height:360px;width:100%}.payment-management .view-modal-footer{border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:16px 24px}@media (max-width:768px){.payment-management{padding:24px 16px}.payment-management .header h1{font-size:24px}.payment-management .actions{flex-direction:column;width:100%}.payment-management .search-box{width:100%}.payment-management .payments-table-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.payment-management table{min-width:600px}}.invoices-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:32px 24px}.invoices-header{margin-bottom:28px}.invoices-header h1{color:#1a1a1a;font-size:28px;margin:0 0 8px}.invoices-subtitle{color:#666;font-size:14px;margin:0}.invoices-error{background:#ffebee;border-radius:8px;color:#c62828;cursor:pointer;margin-bottom:20px;padding:12px 16px}.invoices-loading{color:#666;padding:40px;text-align:center}.invoices-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000000f;padding:24px}.invoices-card h2{color:#1a1a1a;font-size:18px;margin:0 0 20px}.invoices-empty{color:#666;padding:24px 0}.invoices-table{border-collapse:collapse;width:100%}.invoices-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.invoices-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:14px 16px}.invoices-table tbody tr:hover{background:#f8f9fa}.btn-generate{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.btn-generate:hover{opacity:.9}.invoice-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.invoice-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.invoice-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.invoice-modal-header h3{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.invoice-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.invoice-modal-close:hover{color:#333}.invoice-modal-body{flex:1 1;overflow-y:auto;padding:24px}.invoice-billto{margin-bottom:24px}.invoice-billto strong{color:#666;display:block;font-size:13px;margin-bottom:8px}.invoice-billto p{font-size:15px;margin:0 0 4px}.invoice-line-items strong{color:#666;display:block;font-size:13px;margin-bottom:12px}.line-items-table{border-collapse:collapse;margin-bottom:12px;width:100%}.line-items-table th{color:#666;font-size:11px;font-weight:600;padding:8px 8px 8px 0;text-align:left}.line-items-table td{padding:4px 8px 4px 0}.line-items-table input{border:1px solid #e0e0e0;border-radius:6px;font-size:14px;padding:8px 10px;width:100%}.line-items-table input:focus{border-color:#2196f3;outline:none}.btn-remove-line{background:#f5f5f5;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:18px;height:28px;line-height:1;width:28px}.btn-remove-line:hover{background:#ffebee;color:#c62828}.btn-add-line{background:#f5f5f5;border:1px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;font-size:13px;padding:8px 14px}.btn-add-line:hover{background:#eee;color:#333}.invoice-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-cancel{background:#f5f5f5;color:#333;font-weight:500}.btn-cancel,.btn-generate-pdf{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 20px}.btn-generate-pdf{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;font-weight:600}.btn-generate-pdf:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.invoices-page{padding:20px 16px}.invoices-table{display:block;overflow-x:auto}}:root{--fabritech-primary:#2196f3;--fabritech-primary-light:#3498db;--fabritech-primary-dark:#1976d2;--fabritech-secondary:#1c6ec7;--fabritech-black:#0a0a0a;--fabritech-bg:#f0f4f8;--fabritech-card:#fff}.registration-container{background:linear-gradient(160deg,#f0f4f8,#e8eef5 50%,#e0e8f0);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;min-height:100vh}.registration-header{background:#0a0a0a;background:var(--fabritech-black);box-shadow:0 4px 20px #0000004d;justify-content:center;padding:20px 40px}.logo,.registration-header{align-items:center;display:flex}.logo{gap:16px}.logo-img{height:48px;object-fit:contain;width:auto}.logo-text{color:#fff;font-size:20px;font-weight:600;letter-spacing:.5px}.registration-content{display:flex;flex:1 1;gap:48px;margin:40px auto;max-width:1200px;padding:0 24px;width:100%}.registration-card{background:#fff;background:var(--fabritech-card);border:1px solid #2196f31a;border-radius:20px;box-shadow:0 10px 40px #2196f314,0 2px 10px #0000000a;flex:1 1;padding:48px}.card-header{background:linear-gradient(135deg,#2196f308,#0000);border-bottom:3px solid #2196f3;border-bottom:3px solid var(--fabritech-primary);border-radius:20px 20px 0 0;margin:-48px -48px 36px;padding:40px 48px 32px;text-align:center}.card-header h1{color:#0a0a0a;color:var(--fabritech-black);font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 10px}.card-header p{color:#1c6ec7;color:var(--fabritech-secondary);font-size:15px;font-weight:500;margin:0}.error-message{background:#ffebee;border-left:4px solid #c62828;color:#c62828}.error-message,.success-message{border-radius:12px;font-size:14px;margin-bottom:24px;padding:14px 18px}.success-message{background:#e8f5e9;border-left:4px solid #2e7d32;color:#2e7d32}.registration-form{display:flex;flex-direction:column;gap:20px}.form-section-title{border-bottom:2px solid #2196f333;color:#1976d2;color:var(--fabritech-primary-dark);font-size:17px;font-weight:700;letter-spacing:.3px;margin:28px 0 16px;padding-bottom:10px}.form-section-title:first-of-type{margin-top:0}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#0a0a0a;color:var(--fabritech-black);font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{background:#fafbfc;border:2px solid #e8ecef;border-radius:12px;font-size:15px;outline:none;padding:14px 16px;transition:all .25s ease}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#2196f3;border-color:var(--fabritech-primary);box-shadow:0 0 0 4px #2196f31f}.form-group input:disabled,.form-group select:disabled{background:#f0f2f5;cursor:not-allowed;opacity:.8}.submit-button{background:linear-gradient(135deg,#2196f3,#1976d2);background:linear-gradient(135deg,var(--fabritech-primary) 0,var(--fabritech-primary-dark) 100%);border:none;border-radius:12px;box-shadow:0 4px 16px #2196f359;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;margin-top:16px;padding:16px 24px;transition:all .25s ease}.submit-button:hover:not(:disabled){box-shadow:0 8px 24px #2196f366;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.65;transform:none}.additional-info{border-top:1px solid #e8ecef;margin-top:28px;padding-top:24px;text-align:center}.additional-info p{color:#555;font-size:14px}.additional-info a{color:#2196f3;color:var(--fabritech-primary);font-weight:600;text-decoration:none}.additional-info a:hover{color:#1976d2;color:var(--fabritech-primary-dark);text-decoration:underline}.info-section{flex:0 0 360px}.info-section h2{color:#0a0a0a;color:var(--fabritech-black);font-size:24px;font-weight:700;margin-bottom:24px;padding-left:4px}.info-cards{display:flex;flex-direction:column;gap:16px}.info-card{background:#fff;background:var(--fabritech-card);border:1px solid #2196f314;border-radius:16px;box-shadow:0 4px 16px #0000000f;padding:24px;transition:all .25s ease}.info-card:hover{border-color:#2196f333;box-shadow:0 12px 28px #2196f326;transform:translateY(-4px)}.info-icon{filter:grayscale(.2);font-size:32px;margin-bottom:12px}.info-card h3{color:#1976d2;color:var(--fabritech-primary-dark);font-size:17px;font-weight:700;margin:0 0 8px}.info-card p{color:#555;font-size:14px;line-height:1.6;margin:0}.registration-footer{background:#0a0a0a;background:var(--fabritech-black);margin-top:auto;padding:24px 40px;text-align:center}.registration-footer p{color:#fff9;font-size:13px;margin:0 0 12px}.footer-links{display:flex;flex-wrap:wrap;gap:28px;justify-content:center}.footer-links a{color:#3498db;color:var(--fabritech-primary-light);font-size:14px;font-weight:500;text-decoration:none;transition:color .25s ease}.footer-links a:hover{color:#fff;text-decoration:underline}.registration-modal-overlay{align-items:center;animation:modalFadeIn .3s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.registration-modal{animation:modalSlideIn .35s ease;background:#fff;border-radius:24px;box-shadow:0 24px 60px #00000040,0 0 0 1px #ffffff1a;max-width:440px;padding:48px 40px;text-align:center;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-success-icon{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);background:linear-gradient(135deg,var(--fabritech-primary) 0,var(--fabritech-primary-dark) 100%);border-radius:50%;box-shadow:0 8px 24px #2196f366;color:#fff;display:flex;font-size:40px;font-weight:700;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.modal-title{color:#0a0a0a;color:var(--fabritech-black);font-size:24px;font-weight:700;margin:0 0 12px}.modal-message{color:#444;font-size:16px;line-height:1.5;margin:0 0 8px}.modal-subtext{color:#666;font-size:14px;line-height:1.5;margin:0 0 28px}.modal-btn-continue{background:linear-gradient(135deg,#2196f3,#1976d2);background:linear-gradient(135deg,var(--fabritech-primary) 0,var(--fabritech-primary-dark) 100%);border:none;border-radius:12px;box-shadow:0 4px 16px #2196f359;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:700;margin-bottom:12px;padding:16px 24px;transition:all .25s ease;width:100%}.modal-btn-continue:hover{box-shadow:0 8px 24px #2196f366;transform:translateY(-2px)}.modal-btn-close{background:#0000;border:1px solid #ddd;border-radius:10px;color:#666;cursor:pointer;display:block;font-size:14px;font-weight:600;padding:12px;transition:all .2s ease;width:100%}.modal-btn-close:hover{background:#f5f5f5;color:#333}.modal-payment-options{display:flex;flex-direction:column;gap:12px;margin:24px 0 20px}.payment-option{align-items:center;background:#f8fafc;border:2px solid #e8ecef;border-radius:12px;color:#1976d2;color:var(--fabritech-primary-dark);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:center;padding:16px 20px;transition:all .2s ease}.payment-option:hover{background:#2196f30f;border-color:#2196f3;border-color:var(--fabritech-primary)}.payment-icon{font-size:22px}.modal-payment-note{color:#666;font-size:13px;line-height:1.5;margin:0 0 20px}.modal-btn-back{background:none;border:none;color:#666;cursor:pointer;font-size:14px;font-weight:600;left:24px;padding:6px 0;position:absolute;top:20px;transition:color .2s}.modal-btn-back:hover{color:#2196f3;color:var(--fabritech-primary)}.modal-payment-method-header{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:8px}.modal-payment-method-header .payment-icon{font-size:28px}.payment-details-card{background:linear-gradient(135deg,#f8fafc,#f0f4f8);border:2px solid #e8ecef;border-radius:16px;margin:20px 0;padding:20px 24px;text-align:left}.payment-detail-row{align-items:center;border-bottom:1px solid #0000000f;display:flex;gap:12px;padding:10px 0}.payment-detail-row:last-child{border-bottom:none}.payment-detail-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;min-width:110px;text-transform:uppercase}.payment-detail-value{color:#0a0a0a;color:var(--fabritech-black);font-size:15px;font-weight:700}.payment-detail-copy{background:none;border:none;border-radius:8px;cursor:pointer;font-size:14px;margin-left:auto;padding:4px 8px;transition:background .2s}.payment-detail-copy:hover{background:#2196f31a}.payment-momo-card{display:flex;flex-direction:column;gap:12px}.momo-code{background:#fff;border:2px dashed #2196f3;border:2px dashed var(--fabritech-primary);border-radius:10px;color:#1976d2;color:var(--fabritech-primary-dark);display:block;font-size:18px;font-weight:700;letter-spacing:1px;padding:12px 16px}.momo-instruction{color:#666;font-size:13px;margin:0}.momo-copy-btn{align-self:flex-start;background:#2196f3;background:var(--fabritech-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .2s}.momo-copy-btn:hover{background:#1976d2;background:var(--fabritech-primary-dark)}.payment-form{margin-top:20px;text-align:left}.payment-form .form-group{margin-bottom:20px}.file-upload-area{background:#f8fafc;border:2px dashed #cbd5e0;border-radius:12px;padding:24px;position:relative;transition:all .2s}.file-upload-area:hover{background:#2196f30a;border-color:#2196f3;border-color:var(--fabritech-primary)}.file-upload-input{cursor:pointer;inset:0;opacity:0;position:absolute;width:100%}.file-upload-label{color:#555;display:block;font-size:14px;pointer-events:none;text-align:center}.file-upload-area.has-file .file-upload-label{color:#1976d2;color:var(--fabritech-primary-dark);font-weight:600}.payment-proof-textarea{border:2px solid #e8ecef;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:14px;min-height:100px;padding:14px 16px;resize:vertical;transition:all .25s;width:100%}.payment-proof-textarea:focus{border-color:#2196f3;border-color:var(--fabritech-primary);box-shadow:0 0 0 4px #2196f31f;outline:none}.payment-proof-textarea::placeholder{color:#999}.payment-success-badge{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #81c784;border-radius:16px;margin-top:24px;padding:24px}.payment-success-icon{align-items:center;background:#2e7d32;border-radius:50%;color:#fff;display:inline-flex;font-size:24px;font-weight:700;height:48px;justify-content:center;margin-bottom:12px;width:48px}.payment-success-badge p{color:#1b5e20;font-size:15px;font-weight:600;margin:0 0 16px}.registration-modal.payment-modal{max-width:480px;padding:48px 40px 40px;position:relative}@media (max-width:1200px){.registration-content{flex-direction:column}.info-section{flex:1 1}.info-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.registration-header{padding:16px 20px}.logo-img{height:40px}.logo-text{font-size:16px}.registration-content{margin:24px auto;padding:0 16px}.registration-card{padding:28px 20px}.card-header{margin:-28px -20px 28px;padding:32px 20px 24px}.card-header h1{font-size:24px}.form-row,.info-cards{grid-template-columns:1fr}.registration-footer{padding:20px 16px}.footer-links{flex-direction:column;gap:12px}.registration-modal{padding:36px 24px}.registration-modal.payment-modal{padding:44px 24px 32px}.modal-btn-back{left:20px;top:16px}.modal-title{font-size:22px}.payment-details-card{padding:16px}.momo-code{font-size:15px}}.instructor-dashboard{margin:0 auto;max-width:900px;padding:24px 0}.instructor-welcome{margin-bottom:32px}.instructor-welcome h1{color:#1a1a1a;font-size:28px;margin:0 0 8px}.instructor-welcome p{color:#666;font-size:16px;margin:0}.instructor-actions{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.instructor-action-card{align-items:flex-start;background:#fff;border:none;border-radius:16px;box-shadow:0 4px 12px #0000000f;cursor:pointer;display:flex;flex-direction:column;padding:28px;text-align:left;transition:all .2s ease}.instructor-action-card:hover{border:2px solid #5b7fff4d;box-shadow:0 8px 24px #5b7fff33;transform:translateY(-4px)}.instructor-action-card .action-icon{font-size:40px;margin-bottom:16px}.instructor-action-card h2{color:#1a1a1a;font-size:20px;margin:0 0 8px}.instructor-action-card p{color:#666;font-size:14px;margin:0}@media (max-width:768px){.instructor-dashboard{padding:16px 0}.instructor-welcome h1{font-size:24px}.instructor-actions{grid-template-columns:1fr}}
/*# sourceMappingURL=main.141e2bb0.css.map*/