.loading-screen{background:linear-gradient(45deg,#f06,#60f,#0cf,#0f9) 0 0/400% 400%;justify-content:center;align-items:center;height:100vh;animation:15s infinite gradientBG;display:flex}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.loading-container{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff1f;border-radius:20px;width:90%;max-width:600px;padding:40px;box-shadow:0 15px 35px #0000004d}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.college-name{background:linear-gradient(90deg,#f06,#0f9,#0cf);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem;font-weight:800}.spinner-container{width:140px;height:140px;margin:30px auto;position:relative}.spinner{border:8px solid #f06;border-color:#f06 #0f9 #0cf #fc0;border-radius:50%;width:100%;height:100%;animation:1.5s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.logo{object-fit:contain;width:120px;height:120px;display:block}.loading-text{font-size:1.2rem}.login-bg{background:url(/college-bg.jpg) 50%/cover no-repeat;justify-content:center;align-items:flex-start;width:100vw;min-height:100vh;padding:100px 12px 40px;display:flex}.login-card{-webkit-backdrop-filter:blur(18px);background:#ffffff24;border:1px solid #ffffff47;border-radius:22px;width:100%;max-width:460px;padding:36px;box-shadow:0 25px 50px #00000059}.login-card h2{text-align:center;color:#000;margin-bottom:28px;font-weight:700}.form-group{flex-direction:column;margin-bottom:14px;display:flex}label{color:#000;margin-bottom:6px;font-weight:600}input,select{background:#ffffffe6;border:none;border-radius:12px;outline:none;width:100%;height:46px;padding:10px 14px;font-size:14px}.password-row{justify-content:space-between;align-items:center;display:flex}.password-row a{color:#1d4ed8;font-size:14px;font-weight:700;text-decoration:none}.password-wrapper{position:relative}.password-wrapper input{padding-right:48px}.toggle-password{cursor:pointer;color:#2563eb;background:0 0;border:none;font-size:18px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.form-row{gap:14px;display:flex}.form-row .form-group{flex:1}.remember{margin:12px 0 18px}.remember-label{color:#000;align-items:center;gap:10px;font-weight:600;display:flex}.remember-label input{width:18px;height:18px}.login-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;width:100%;height:48px;font-size:16px;font-weight:600}.login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000040}.divider{text-align:center;color:#000;margin:18px 0;font-weight:700}.google-btn{background:#fff;border:1px solid #ddd;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;height:48px;display:flex}.otp-box{justify-content:space-between;gap:10px;margin-bottom:20px;display:flex}.otp-box input{text-align:center;border-radius:10px;width:46px;height:46px;font-size:20px;font-weight:700}.error-box{color:#fff;text-align:center;background:#dc2626;border-radius:10px;margin-bottom:16px;padding:12px;font-weight:700}.success-box{color:#065f46;text-align:center;background:#ecfeff;border-radius:10px;margin-bottom:16px;padding:12px;font-weight:700}.signup{text-align:center;color:#000;margin-top:18px}.signup a{color:#1d4ed8;font-weight:700;text-decoration:none}.fade-in{animation:.6s ease-in fadeIn}@media (width<=480px){.form-row{flex-direction:column}}.strength-meter{margin-top:6px}.strength-meter .bar{border-radius:4px;height:6px;transition:all .3s}.bar.weak{background:#dc2626;width:33%}.bar.medium{background:#f59e0b;width:66%}.bar.strong{background:#16a34a;width:100%}.strength-meter .label{margin-top:4px;font-size:12px;font-weight:700;display:block}.otp-box{justify-content:space-between;gap:10px;display:flex}.otp-box input{text-align:center;border:none;border-radius:10px;outline:none;width:48px;height:48px;font-size:18px;font-weight:700}input:focus{box-shadow:0 0 0 2px #2563eb66}.attempt-text{text-align:center;color:#dc2626;margin:10px 0;font-weight:700}.timer-text{text-align:center;margin-top:10px;font-weight:600}.link-btn{color:#2563eb;cursor:pointer;text-align:center;background:0 0;border:none;font-weight:600}.success-anim{text-align:center;animation:.6s ease-in fadeIn}.checkmark{color:#16a34a;font-size:64px;animation:.4s pop}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}.login-card.wide{max-width:900px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid .full{grid-column:span 2}textarea{min-height:90px}.login-card h3{margin-top:20px;margin-bottom:10px;font-weight:700}.form-group label{margin-bottom:6px;font-weight:600}input,select{height:50px}input[type=file]{background:#fff;padding:10px}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.form-logo{justify-content:center;margin-bottom:10px;display:flex}.form-logo img{object-fit:contain;width:100px;height:100px}.required{color:red;margin-left:4px}.error{color:red;font-size:12px}.dashboard-wrapper{background:#f4f7fb;min-height:100vh;font-family:Poppins,sans-serif;display:flex}.sidebar{color:#fff;background:#1f4e79;flex-direction:column;justify-content:space-between;width:240px;height:100vh;padding:25px 20px;display:flex;position:sticky;top:0}.sidebar h2{text-align:center;margin-bottom:25px;font-size:32px}.sidebar button{color:#fff;cursor:pointer;background:#4e73df;border:none;border-radius:12px;width:100%;margin-top:14px;padding:14px;font-size:16px;font-weight:600;transition:all .3s}.sidebar button:hover{background:#2e59d9;transform:translateY(-2px)}.dashboard-content{flex:1;padding:35px}.page-title{color:#111827;margin-bottom:24px;font-size:48px;font-weight:700}.filters{flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:28px;display:flex}.filters input,.filters select{background:#eef2f7;border:none;border-radius:14px;outline:none;width:320px;padding:16px;font-size:16px}.search-btn{color:#fff;cursor:pointer;background:#3466f6;border:none;border-radius:14px;padding:16px 28px;font-size:16px;font-weight:600;transition:all .3s}.search-btn:hover{background:#2554de}.student-header{background:#fff;border-radius:20px;margin-bottom:25px;padding:25px;box-shadow:0 4px 14px #0000000d}.profile-header{flex-wrap:wrap;align-items:center;gap:35px;display:flex}.profile-info{flex-direction:column;gap:14px;display:flex}.profile-info h2{color:#111827;font-size:32px}.profile-info p{color:#555;font-size:17px}.section{background:#fff;border-radius:20px;margin-bottom:25px;padding:24px;box-shadow:0 4px 14px #0000000d}.section h3{color:#111827;margin-bottom:22px;font-size:26px}.detail-row{border-bottom:1px solid #eee;gap:20px;padding:14px 0;display:flex}.detail-label{color:#1f2937;width:280px;font-size:17px;font-weight:700}.detail-value{color:#555;flex:1;font-size:17px}.profile-image,.guardian-photo{object-fit:cover;cursor:pointer;border:4px solid #e5e7eb;border-radius:20px;width:230px;height:230px;transition:all .3s;box-shadow:0 4px 14px #00000014}.profile-image:hover,.guardian-photo:hover{transform:scale(1.03)}.profile-image.zoomed,.guardian-photo.zoomed{width:420px;height:420px}.zoom-btn{color:#fff;cursor:pointer;background:#1f4e79;border:none;border-radius:12px;margin-top:14px;padding:12px 22px;font-weight:600;transition:all .3s}.zoom-btn:hover{background:#16395a;transform:translateY(-2px)}.image-modal{z-index:9999;background:#000000e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-image{border-radius:22px;max-width:90%;max-height:90%;box-shadow:0 0 30px #ffffff26}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}@media (width<=992px){.dashboard-wrapper{flex-direction:column}.sidebar{width:100%;height:auto;position:relative}.dashboard-content{padding:20px}.filters{flex-direction:column;align-items:stretch}.filters input,.filters select,.search-btn{width:100%}.profile-header{text-align:center;flex-direction:column;align-items:center}.detail-row{flex-direction:column;gap:6px}.detail-label{width:100%}.profile-image,.guardian-photo{width:180px;height:180px}.profile-image.zoomed,.guardian-photo.zoomed{width:300px;height:300px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .6s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .6s ease-out}
