body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}:focus{outline:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.container{margin:0 auto;max-width:1200px;padding:20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px;transition:background-color .3s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#1e7e34}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:700;margin-bottom:5px}.form-control{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.table{border-collapse:collapse;margin-top:20px;width:100%}.table td,.table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.table th{background-color:#f8f9fa;font-weight:700}.table tbody tr:hover{background-color:#f5f5f5}.modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-height:80vh;max-width:500px;overflow-y:auto;padding:20px;width:90%}.modal-header{margin-bottom:20px;padding-bottom:10px}.modal-title{font-size:18px;margin:0}.close{background:none;border:none;color:#999;cursor:pointer;font-size:24px}.close:hover{color:#333}.alert{border-radius:4px;margin-bottom:20px;padding:12px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.loading{padding:20px}.loading,.text-center{text-align:center}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.institution-selector{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.selector-container{background:#fff;border-radius:15px;box-shadow:0 20px 40px #0000001a;max-width:800px;padding:40px;text-align:center;width:100%}.selector-header{margin-bottom:40px}.selector-header h1{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:10px}.selector-header p{color:#666;font-size:1.1rem;margin:0}.institution-options{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:40px}.institution-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.institution-card:hover{border-color:#007bff;box-shadow:0 15px 35px #00000026;transform:translateY(-5px)}.institution-card:before{background:#007bff;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.college-card:hover,.college-card:hover:before{background:linear-gradient(45deg,#007bff,#0056b3)}.school-card:hover,.school-card:hover:before{background:linear-gradient(45deg,#28a745,#1e7e34)}.card-icon{font-size:3rem;margin-bottom:20px}.card-content h3{color:#333;font-size:1.4rem;font-weight:600;margin-bottom:10px}.card-content p{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:20px}.card-features{color:#555;font-size:.9rem;text-align:left}.card-features span{display:block;margin-bottom:5px;padding-left:10px;position:relative}.card-features span:before{background:#007bff;border-radius:50%;content:"";height:4px;left:0;position:absolute;top:8px;width:4px}.card-arrow{color:#ccc;font-size:1.5rem;position:absolute;right:20px;top:30px;transition:all .3s ease}.institution-card:hover .card-arrow{color:#007bff;right:15px}.selector-footer{border-top:1px solid #e9ecef;color:#888;font-size:.9rem;padding-top:20px}@media (max-width:768px){.institution-options{gap:20px;grid-template-columns:1fr}.selector-container{padding:30px 20px}.selector-header h1{font-size:2rem}.institution-card{padding:25px}}.App{min-height:100vh}.vertical-line{border:none!important}.login-footer{color:#ffffffd9;font-size:12px;margin-bottom:8px;margin-top:8px;position:relative;text-align:center;z-index:2}.loading-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.loading{color:#666;font-size:18px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.filter-tag{background:#007bff;border-radius:12px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.filter-tag:nth-child(2n){background:#28a745}.filter-tag:nth-child(3n){background:#ffc107;color:#212529}.filter-tag:nth-child(4n){background:#17a2b8}.filter-tag:nth-child(5n){background:#6f42c1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.login-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298 50%,#1e3c72);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-container:before{animation:float 25s linear infinite;background:radial-gradient(circle at 25% 25%,#ffffff0d 1px,#0000 0),radial-gradient(circle at 75% 75%,#ffffff08 1px,#0000 0);background-size:60px 60px,40px 40px;content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:1}.floating-shapes{height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}.floating-shape{animation:float 20s ease-in-out infinite;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;position:absolute}.floating-shape:first-child{animation-delay:0s;height:80px;left:10%;top:20%;width:80px}.floating-shape:nth-child(2){animation-delay:2s;height:120px;right:10%;top:60%;width:120px}.floating-shape:nth-child(3){animation-delay:4s;bottom:20%;height:60px;left:20%;width:60px}.floating-shape:nth-child(4){animation-delay:6s;height:100px;right:30%;top:10%;width:100px}.login-card:before{animation:shimmer 4s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff14 50%,#0000 70%);background-size:200% 200%;border-radius:16px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-form .form-group{animation:slideInUp .6s ease-out both;margin-bottom:18px;position:relative}.login-form .form-group:first-child{animation-delay:.4s}.login-form .form-group:nth-child(2){animation-delay:.5s}.login-form label{display:block;font-size:13px;font-weight:600;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.login-form .form-control,.login-form label{color:#2d3748;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}.login-form .form-control{background:#fffffff2;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;padding:16px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-form .form-control:focus{border-color:#2a5298;box-shadow:0 0 0 4px #2a52981a,0 0 20px #2a529826;outline:none}.login-form .form-control:hover{border-color:#2a5298;transform:translateY(-1px)}.login-btn{animation:slideInUp .6s ease-out .6s both;background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:10px;box-shadow:0 4px 15px #1e3c724d;color:#fff;cursor:pointer;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:600;letter-spacing:1.2px;padding:14px 20px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.login-btn:hover{background:linear-gradient(135deg,#2a5298,#1e3c72);box-shadow:0 12px 30px #1e3c7266;transform:translateY(-3px)}.login-btn:hover:before{height:300px;width:300px}.login-btn:active{transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-btn:disabled:hover{box-shadow:none;transform:none}.login-btn.loading{animation:pulse 1.5s infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-btn.loading span{animation:spin 1s linear infinite;display:inline-block}.login-form .form-control:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 0 20px #667eea33;transform:translateY(-2px)}@keyframes particle{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(-100px) rotate(1turn)}}.login-card:hover:after{animation:particle 2s ease-out infinite;background:#667eea;border-radius:50%;content:"";height:4px;left:50%;pointer-events:none;position:absolute;top:50%;width:4px}.connection-status{animation:slideInUp .6s ease-out .2s both}.alert{animation:slideInUp .4s ease-out}.alert-danger{animation:slideInUp .4s ease-out;background-color:#f8d7da;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #f5c6cb;border:1px solid #fca5a5;border-radius:8px;border-radius:10px;box-shadow:0 4px 12px #dc26261a;color:#721c24;color:#991b1b;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px;padding:14px 18px}.login-container{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.login-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff4d}@media (max-width:1024px){.login-card{margin:15px;max-width:1000px;width:90%}.login-branding{padding:50px 40px}.login-form-section{padding:50px}}@media (max-width:768px){.login-card{flex-direction:column;margin:10px;max-width:600px;min-height:auto;width:95%}.login-branding{min-height:350px;padding:50px 40px}.branding-logo{font-size:40px;height:100px;margin-bottom:25px;width:100px}.branding-title{font-size:38px;margin-bottom:15px}.branding-subtitle{font-size:18px;margin-bottom:25px}.login-form-section{padding:50px 40px}.login-title{font-size:28px;margin-bottom:25px;text-align:center}}@media (max-width:480px){.login-card{margin:15px;max-width:380px}.login-branding{min-height:250px;padding:30px 20px}.branding-logo{font-size:28px;height:70px;width:70px}.branding-title{font-size:28px}.branding-subtitle{font-size:14px}.login-form-section{padding:30px 25px}.login-title{font-size:22px;margin-bottom:15px}.login-form .form-control{padding:12px 16px}.login-btn{padding:12px 18px}.login-form .form-group{margin-bottom:15px}}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.login-success{animation:successPulse .6s ease-out}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{border-color:#0000}51%,to{border-color:#667eea}}.login-title{-webkit-text-fill-color:#0000;animation:fadeInScale 1s ease-out .3s both;animation:typing 2s steps(12) .5s both,blink 1s 2.5s infinite;background:linear-gradient(135deg,#1e3c72,#2a5298);-webkit-background-clip:text;background-clip:text;color:#1a365d;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:25px;overflow:hidden;position:relative;text-align:center;white-space:nowrap}.login-title:after{animation:slideInUp 1s ease-out .6s both;background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:2px;bottom:-12px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.login-card{animation:slideInUp .8s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffffa;border:1px solid #ffffff40;border-radius:20px;box-shadow:0 25px 50px #00000026,0 0 0 1px #ffffff4d,inset 0 1px 0 #ffffff80;display:flex;margin:20px;max-width:1200px;min-height:520px;overflow:hidden;padding:0;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:95%;z-index:10}.login-card:hover{box-shadow:0 35px 70px #0003,0 0 0 1px #fff6,inset 0 1px 0 #fff9;transform:translateY(-8px)}.login-branding{align-items:center;animation:slideInLeft .8s ease-out;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;flex:1.2 1;flex-direction:column;justify-content:center;overflow:hidden;padding:45px 40px;position:relative;text-align:center}.login-branding:before{animation:float 20s linear infinite;background:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:30px 30px;content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:1}.login-branding>*{position:relative;z-index:2}.branding-logo{align-items:center;animation:fadeInScale .8s ease-out .2s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:35px;box-shadow:0 15px 40px #0000004d;color:#fff;display:flex;font-size:56px;height:140px;justify-content:center;margin-bottom:35px;width:140px}.branding-title{animation:slideInUp .8s ease-out .4s both;color:#fff;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:48px;font-weight:700;margin-bottom:20px;text-shadow:0 2px 10px #0000004d}.branding-subtitle{animation:slideInUp .8s ease-out .6s both;color:#ffffffe6;font-size:20px;font-weight:400;line-height:1.4;margin-bottom:40px;max-width:350px;text-shadow:0 1px 5px #0003}.branding-features{list-style:none;margin:0;padding:0}.branding-features li{align-items:center;animation:slideInUp .6s ease-out both;color:#fffc;display:flex;font-size:14px;justify-content:center;margin-bottom:12px}.branding-features li:first-child{animation-delay:.8s}.branding-features li:nth-child(2){animation-delay:.9s}.branding-features li:nth-child(3){animation-delay:1s}.branding-features li:before{color:#4ade80;content:"✓";font-weight:700;margin-right:10px}.login-form-section{animation:slideInRight .8s ease-out .2s both;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:45px 50px}.login-btn{overflow:hidden;position:relative}.login-btn:after{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0}.login-btn:active:after{height:300px;transition:width .1s ease,height .1s ease;width:300px}.admin-container{background-color:#f8f9fa;min-height:100vh}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:6px 0}.admin-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 5vw;width:100%}.admin-title{font-size:16px;font-weight:700;margin:0}.admin-nav{align-items:center;display:flex;gap:10px}.nav-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .3s}.nav-btn:hover{background:#ffffff4d}.nav-btn.active{background:#fff6}.logout-btn{background:#dc3545cc;border:1px solid #dc3545cc;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .3s}.logout-btn:hover{background:#dc3545}.admin-content{box-sizing:border-box;margin:0 auto;max-width:100%;padding:20px 5vw;width:100%}@media (min-width:1440px){.admin-content,.admin-header-content{max-width:100%}}@media (min-width:1680px){.admin-content,.admin-header-content{max-width:100%}}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.section-title{color:#333;font-size:18px;font-weight:700;margin:0}.search-container{align-items:center;display:flex;gap:10px;margin-bottom:15px}.search-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:13px;max-width:300px;padding:8px}.data-table{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.data-table table{border-collapse:collapse;width:100%}.data-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;text-align:left}.data-table td,.data-table th{font-size:13px;padding:10px 12px}.data-table td{border-bottom:1px solid #dee2e6;vertical-align:middle}.data-table tbody tr:hover{background-color:#f8f9fa}.action-buttons{display:flex;gap:6px}.btn-sm{border-radius:3px;font-size:11px;padding:4px 8px}.status-badge{border-radius:10px;font-size:10px;font-weight:700;padding:3px 6px;text-transform:uppercase}.status-active{background-color:#d4edda;color:#155724}.status-registered{background-color:#fff3cd;color:#856404}.status-inactive{background-color:#f8d7da;color:#721c24}.modal-large{max-width:1200px;width:95%}.modal-body{padding:20px 0}.approval-grid{grid-gap:15px;display:grid;gap:15px}.approval-item{grid-gap:15px;align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;display:grid;gap:15px;grid-template-columns:60px 60px 1fr 200px 120px 100px 200px 120px 120px;padding:15px;transition:background-color .3s}.approval-item.selected{background-color:#fff3cd}.approval-item img{border-radius:50%;height:50px;object-fit:cover;width:50px}.modal-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:8px}.selected-count{color:#333;font-weight:700}.system-overview{padding:20px}.status-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.status-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.status-card h3{color:#333;font-size:18px;margin:0 0 15px}.status-indicator{align-items:center;display:flex;gap:10px;margin-bottom:10px}.status-dot{border-radius:50%;height:12px;width:12px}.status-active .status-dot{background-color:#28a745}.status-inactive .status-dot{background-color:#dc3545}.refresh-btn{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-bottom:20px;padding:10px 20px}.refresh-btn:hover{background:#138496}.dashboard-welcome{margin-bottom:20px}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:25px}.stat-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;gap:15px;padding:18px;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:32px;height:55px;justify-content:center;width:55px}.stat-content h3{color:#333;font-size:26px;font-weight:700;margin:0}.stat-content p{color:#666;font-size:13px;margin:3px 0 0}.quick-actions{margin-bottom:25px}.action-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:15px}.action-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;cursor:pointer;padding:18px;text-align:center;transition:transform .3s,box-shadow .3s}.action-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.action-icon{font-size:36px;margin-bottom:10px}.action-card h4{color:#333;font-size:16px;font-weight:700;margin:0 0 8px}.action-card p{color:#666;font-size:13px;margin:0}.department-overview{margin-bottom:25px}.department-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:15px}.department-card{background:#fff;border-left:3px solid #667eea;border-radius:6px;box-shadow:0 2px 8px #00000014;padding:15px;text-align:center}.department-card h4{color:#333;font-size:14px;font-weight:700;margin:0 0 6px}.department-card p{color:#666;font-size:12px;margin:0}.recent-activity{margin-bottom:20px}.activity-list{background:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;margin-top:15px}.activity-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:15px}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.activity-content{flex:1 1}.activity-content p{font-size:13px;margin:0 0 4px}.activity-content small{color:#666;font-size:11px}.activity-time{color:#999;flex-shrink:0;font-size:11px}.bulk-student-table input,.bulk-student-table select{background:#0000;border:none!important;font-size:11px!important;padding:2px 4px!important}.bulk-student-table input:focus,.bulk-student-table select:focus{background:#f8f9fa;outline:2px solid #007bff}.bulk-student-table th{font-size:11px!important;font-weight:600;text-align:center;white-space:nowrap}.bulk-student-table td{vertical-align:middle}.bulk-student-table tr:nth-child(2n){background-color:#f9f9f9}.bulk-student-table tr:hover{background-color:#e3f2fd}@media (max-width:768px){.admin-header-content{flex-direction:column;gap:15px}.admin-nav{flex-wrap:wrap;justify-content:center}.section-header{align-items:flex-start;flex-direction:column;gap:15px}.search-container{align-items:stretch;flex-direction:column}.search-input{max-width:none}.data-table{overflow-x:auto}.approval-item{grid-template-columns:1fr;text-align:center}.modal-content{margin:10px;width:95%}}
/*# sourceMappingURL=main.aa91a84d.css.map*/