body,html{height:100%;margin:0;padding:0}body.login-page{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)!important;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;margin:0!important;min-height:100vh;overflow-x:hidden;padding:0!important}.login-page{height:100%;padding:2rem 0;position:relative;width:100%}.login-container{margin:0 auto;max-width:450px;padding:0 1rem;width:100%}.login-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.5);border-radius:var(--radius-xl);border-top:4px solid var(--primary-color);box-shadow:0 20px 40px rgba(0,0,0,.1);padding:3rem 2.5rem;text-align:center}.login-header{margin-bottom:2rem;text-align:center}.university-logo{align-items:center;background:transparent;box-shadow:none;display:flex;height:auto;justify-content:center;margin:0 auto 1.5rem;max-width:220px;width:100%}.university-logo img{display:block;height:auto;width:100%}.system-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.login-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:0}.form-group,.login-form{margin-bottom:1.5rem}.form-label{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.form-label i{color:var(--primary-color);margin-right:.5rem;width:16px}.login-input{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.95rem;padding:.875rem 1rem;transition:all .2s ease}.login-input:focus{background-color:var(--surface-color);border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(0,51,102,.1)}.password-container{position:relative}.password-toggle{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:.5rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease}.password-toggle:hover{background-color:rgba(0,51,102,.1);color:var(--primary-color)}.form-options{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1.5rem}.form-check-label{color:var(--text-secondary);font-weight:500}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.forgot-password{color:var(--primary-color);font-weight:600;text-decoration:none;transition:all .2s ease}.forgot-password:hover{color:var(--primary-dark);text-decoration:underline}.login-btn{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border:none;border-radius:var(--radius-md);color:#fff;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .3s ease;width:100%}.login-btn:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary-color));box-shadow:0 8px 25px rgba(0,51,102,.3);transform:translateY(-2px)}.login-btn:active{transform:translateY(0)}.login-btn:disabled{background:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.login-footer{margin-top:1.5rem}.divider{height:20px;margin:2rem 0 1.5rem;position:relative;text-align:center}.divider:before{background:var(--border-color);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:var(--surface-color);color:var(--text-muted);font-size:.85rem;font-weight:500;padding:0 1rem;position:relative;z-index:1}.university-login{align-items:center;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:2rem;margin-top:0;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.university-login:hover{background-color:rgba(0,51,102,.05);border-color:var(--primary-color);color:var(--primary-color)}.support-info{text-align:center}.help-text{color:var(--text-secondary);font-size:.85rem;margin:0}.help-text a{color:var(--primary-color);font-weight:600;text-decoration:none}.help-text a:hover{text-decoration:underline}@media (max-width:768px){.login-page,body.login-page{min-height:100vh;padding:1.5rem 0}.login-container{max-width:100%;padding:0 .5rem}.login-card{border-radius:var(--radius-lg);margin:.5rem;padding:2rem 1.5rem}.university-logo{margin-bottom:1rem;max-width:180px}.system-title{font-size:1.05rem}.login-subtitle{font-size:.9rem}.login-input{font-size:16px;padding:1rem}.login-btn{font-size:1.05rem;padding:1rem 1.5rem}.university-login{font-size:.95rem;padding:1rem 1.5rem}.form-options{align-items:flex-start;flex-direction:column;gap:1rem}.divider{margin:1.5rem 0 1rem}.password-toggle{padding:.75rem}}@media (max-width:575.98px){.login-page,body.login-page{padding:1rem 0}.login-container{padding:0 .25rem}.login-card{margin:0;padding:1.5rem 1rem}.university-logo{margin-bottom:.75rem;max-width:150px}.system-title{font-size:1rem;margin-bottom:.25rem}.login-subtitle{font-size:.85rem}.login-header{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{font-size:.85rem;margin-bottom:.5rem}.login-input{font-size:16px;padding:.875rem}.login-btn{font-size:1rem;padding:.875rem 1.25rem}.university-login{font-size:.9rem;padding:.875rem 1.25rem}.form-options{font-size:.85rem;gap:.75rem}.divider span,.help-text{font-size:.8rem}.support-info{margin-top:1rem}}@media (max-width:768px) and (pointer:coarse){.login-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,51,102,.15);transform:none}.login-btn,.password-toggle,.university-login{min-height:44px}.form-check-input{height:20px;width:20px}.form-check-label{padding-left:.5rem}}@media (max-width:926px) and (orientation:landscape) and (max-height:428px){.login-page,body.login-page{min-height:100vh;padding:.5rem 0}.login-container{padding:0 .25rem}.login-card{margin:0;max-height:85vh;overflow-y:auto;padding:1rem}.university-logo{margin-bottom:.5rem;max-width:140px}.login-header{margin-bottom:1rem}.system-title{font-size:.95rem;margin-bottom:.25rem}.login-subtitle{font-size:.8rem}.form-group{margin-bottom:1rem}.divider{margin:1rem 0 .75rem}.university-login{margin-bottom:1rem}}.login-btn.loading{pointer-events:none}.login-btn.loading i{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-input.error{border-color:var(--error-color);box-shadow:0 0 0 4px rgba(239,68,68,.1)}.error-message{align-items:center;color:var(--error-color);display:flex;font-size:.8rem;gap:.25rem;margin-top:.5rem}.microsoft-login-btn{align-items:center;background:#2f2f2f;border:1px solid #2f2f2f;border-radius:0;border-radius:var(--radius-md);box-shadow:0 4px 6px rgba(0,0,0,.1);color:#fff;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.microsoft-login-btn:hover{background:#1a1a1a;border-color:#1a1a1a;box-shadow:0 6px 12px rgba(0,0,0,.15);color:#fff;transform:translateY(-2px)}.microsoft-logo{height:20px;width:20px}.login-content{margin-top:2rem}.discovery-preview{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.preview-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.sample-qa{background:var(--background-color);border-radius:var(--radius-lg);margin-bottom:1.25rem;padding:1rem}.sample-answer,.sample-question{align-items:flex-start;display:flex;gap:.75rem;padding:.5rem 0}.sample-question{margin-bottom:.5rem}.sample-question i{background:var(--primary-subtle);color:var(--primary-color)}.sample-answer i,.sample-question i{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.75rem;height:28px;justify-content:center;width:28px}.sample-answer i{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:#fff}.sample-question span{color:var(--text-secondary);font-size:.85rem;font-style:italic;text-align:left}.sample-answer span{color:var(--text-primary);font-size:.85rem;text-align:left}.usage-stats{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.25rem}.stat-badge{align-items:center;background:var(--secondary-color);border-radius:var(--radius-full);color:var(--text-secondary);display:flex;font-size:.75rem;gap:.5rem;padding:.5rem .75rem}.stat-badge i{color:var(--primary-color);font-size:.8rem}.stat-badge strong{color:var(--text-primary);font-weight:700}.testimonial{background:linear-gradient(135deg,var(--primary-subtle),transparent);border-left:3px solid var(--primary-color);border-radius:var(--radius-md);margin:0;padding:1rem;text-align:left}.testimonial p{color:var(--text-secondary);font-size:.85rem;font-style:italic;line-height:1.5;margin:0 0 .5rem}.testimonial cite{color:var(--text-muted);font-size:.75rem;font-style:normal;font-weight:500}@media (max-width:575.98px){.discovery-preview{margin-top:1.5rem;padding-top:1rem}.preview-title{font-size:.9rem}.sample-qa{padding:.75rem}.sample-answer i,.sample-question i{font-size:.65rem;height:24px;width:24px}.sample-answer span,.sample-question span{font-size:.8rem}.usage-stats{gap:.5rem}.stat-badge{font-size:.7rem;padding:.4rem .6rem}.testimonial{padding:.75rem}.testimonial p{font-size:.8rem}}.quote-of-day{align-items:flex-start;background:linear-gradient(135deg,rgba(0,45,116,.05),rgba(0,45,116,.02));border-left:3px solid var(--primary-color);border-radius:var(--radius-lg);display:flex;gap:.75rem;margin-top:1.5rem;padding:1rem}.quote-icon{color:var(--primary-light);flex-shrink:0;font-size:1.25rem;opacity:.7}.daily-quote{flex:1;margin:0}.daily-quote p{color:var(--text-secondary);font-size:.9rem;font-style:italic;line-height:1.5;margin:0 0 .5rem}.daily-quote cite{color:var(--text-muted);font-size:.75rem;font-style:normal;font-weight:500}.mission-banner{background:linear-gradient(135deg,rgba(201,162,39,.1),rgba(201,162,39,.05));border:1px solid rgba(201,162,39,.3);border-radius:var(--radius-lg);gap:.75rem;margin-top:1rem;padding:1rem}.mission-banner,.mission-icon{align-items:center;display:flex}.mission-icon{background:linear-gradient(135deg,var(--accent-gold),var(--accent-gold-light));border-radius:var(--radius-full);color:#8b6914;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;width:40px}.mission-text{color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin:0;text-align:left}.mission-text strong{color:var(--primary-color)}@media (max-width:575.98px){.quote-of-day{margin-top:1rem;padding:.75rem}.quote-icon{font-size:1rem}.daily-quote p{font-size:.8rem}.mission-banner{flex-direction:column;padding:.75rem;text-align:center}.mission-icon{font-size:.9rem;height:36px;width:36px}.mission-text{text-align:center}}.rewards-preview{background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(139,92,246,.02));border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg);margin-top:1.5rem;padding:1rem}.rewards-preview-title{align-items:center;color:#8b5cf6;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;margin:0 0 .75rem}.rewards-preview-title i{font-size:1rem}.rewards-preview-grid{display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.reward-preview-item{align-items:center;background:hsla(0,0%,100%,.7);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:.75rem .5rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.reward-preview-item:hover{box-shadow:0 4px 12px rgba(139,92,246,.15);transform:translateY(-2px)}.reward-preview-icon{align-items:center;border-radius:50%;display:flex;font-size:.9rem;height:36px;justify-content:center;margin-bottom:.5rem;width:36px}.reward-preview-icon.points{background:rgba(139,92,246,.15);color:#8b5cf6}.reward-preview-icon.badges{background:rgba(245,158,11,.15);color:#f59e0b}.reward-preview-icon.streaks{background:rgba(249,115,22,.15);color:#f97316}.reward-preview-icon.unlocks{background:rgba(16,185,129,.15);color:#10b981}.reward-preview-name{color:var(--text-secondary);font-size:.7rem;font-weight:500}@media (max-width:575.98px){.rewards-preview{margin-top:1rem;padding:.75rem}.rewards-preview-title{font-size:.8rem}.rewards-preview-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.reward-preview-item{padding:.5rem}.reward-preview-icon{font-size:.8rem;height:32px;width:32px}.reward-preview-name{font-size:.65rem}}