.auth-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:9999;animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:linear-gradient(145deg,#1a1d29,#13151f);border:1px solid rgba(99,102,241,.2);border-radius:24px;box-shadow:0 25px 80px rgba(0,0,0,.6),0 0 0 1px rgba(99,102,241,.1),inset 0 1px 0 rgba(255,255,255,.05);max-width:520px;width:100%;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .5s cubic-bezier(.34,1.56,.64,1)}.auth-modal.modal-wide{max-width:720px}@keyframes slideUp{0%{transform:translateY(40px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{position:relative;padding:2rem 2.5rem;overflow:hidden;color:white}.header-pattern{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.06) 0,transparent 50%);opacity:.6}.header-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(99,102,241,.3) 0,transparent 70%);filter:blur(40px);opacity:.5}.header-content{position:relative;z-index:1;text-align:center}.header-icon-wrapper{margin-bottom:1.25rem}.header-icon,.header-icon-wrapper{display:flex;justify-content:center}.header-icon{width:70px;height:50px;border-radius:50%;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.2);align-items:center;animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite;box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.2)}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 32px rgba(0,0,0,.3),0 0 0 0 rgba(255,255,255,.3),inset 0 1px 0 rgba(255,255,255,.2)}50%{transform:scale(1.05);box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 0 12px rgba(255,255,255,0),inset 0 1px 0 rgba(255,255,255,.2)}}.header-title{font-size:1.5rem;font-weight:800;margin:0 0 .4rem;letter-spacing:-.03em;background:linear-gradient(135deg,#ffffff,rgba(255,255,255,.9));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{font-size:.95rem;color:rgba(255,255,255,.7);margin:0 0 1rem;font-weight:500}.header-badges{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.badge{background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:.5rem 1rem;border-radius:24px;font-size:.875rem;font-weight:700;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.badge-icon{font-size:1rem}.header-success{background:linear-gradient(145deg,#10b981,#059669)}.header-warning{background:linear-gradient(145deg,#f59e0b,#d97706)}.header-error{background:linear-gradient(145deg,#ef4444,#dc2626)}.modal-body{padding:2rem;overflow-y:auto;flex:1 1;background:linear-gradient(180deg,rgba(26,29,41,.5),rgba(19,21,31,.8))}.modal-body-scrollable{max-height:calc(92vh - 320px)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:rgba(99,102,241,.4);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:rgba(99,102,241,.6)}.access-card{background:linear-gradient(145deg,rgba(99,102,241,.12),rgba(79,70,229,.08));border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 16px rgba(99,102,241,.1),inset 0 1px 0 rgba(99,102,241,.1)}.access-content{display:flex;gap:1.5rem;align-items:start}.access-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#6366f1,#4f46e5);color:white;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px rgba(99,102,241,.3)}.access-text{flex:1 1}.access-title{font-size:1.25rem;font-weight:800;color:#c7d2fe;margin:0 0 .75rem;letter-spacing:-.02em}.access-description{font-size:.9rem;color:#a5b4fc;line-height:1.7;margin:0}.form-section{margin-bottom:2rem}.form-label{display:block;font-size:.95rem;font-weight:700;color:#e5e7eb;margin-bottom:1rem;letter-spacing:-.01em}.form-helper{font-size:.875rem;color:#9ca3af;margin:0 0 1.5rem;line-height:1.6}.semester-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.25rem;gap:1.25rem}.semester-option{background:rgba(255,255,255,.03);border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.semester-option:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(99,102,241,.15) 0,transparent 70%);opacity:0;transition:opacity .3s ease}.semester-option:hover{border-color:rgba(99,102,241,.5);transform:translateY(-4px);box-shadow:0 8px 24px rgba(99,102,241,.2);background:rgba(255,255,255,.05)}.semester-option:hover:before{opacity:1}.semester-option.active{background:linear-gradient(145deg,rgba(99,102,241,.2),rgba(79,70,229,.15));border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.2),0 8px 24px rgba(99,102,241,.3)}.semester-icon-wrapper{margin-bottom:1rem;display:flex;justify-content:center}.semester-icon{color:#9ca3af;transition:all .3s ease}.semester-option:hover .semester-icon{color:#a5b4fc;transform:scale(1.1)}.semester-option.active .semester-icon{color:#c7d2fe}.semester-title{font-size:1.1rem;font-weight:700;color:#f9fafb;margin:0 0 .5rem;letter-spacing:-.01em}.semester-subtitle{font-size:.8rem;color:#9ca3af;margin:0;font-weight:500}.validation-error{background:linear-gradient(145deg,rgba(239,68,68,.15),rgba(220,38,38,.1));border:1px solid rgba(239,68,68,.4);border-radius:12px;padding:1.25rem;margin-top:1.5rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px rgba(239,68,68,.15)}.validation-error p{color:#fca5a5;font-size:.9rem;font-weight:600;margin:0}.error-message{background:linear-gradient(145deg,rgba(239,68,68,.15),rgba(220,38,38,.1));border:1px solid rgba(239,68,68,.4);border-radius:16px;padding:2rem;margin-bottom:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 4px 16px rgba(239,68,68,.15)}.error-message p{color:#fca5a5;font-size:1.05rem;font-weight:600;margin:0}.contact-section{margin-bottom:2rem}.contact-heading{font-size:1.05rem;font-weight:700;color:#e5e7eb;text-align:center;margin:0 0 1.5rem;letter-spacing:-.01em}.contact-link{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:14px;margin-bottom:1rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact-link:hover{transform:translateX(6px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.contact-whatsapp:hover{border-color:rgba(16,185,129,.5);background:rgba(16,185,129,.08)}.contact-email:hover{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.08)}.contact-feedback:hover{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.08)}.contact-icon{width:52px;height:52px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.contact-info{flex:1 1;text-align:left}.contact-name{font-size:.95rem;font-weight:700;color:#f3f4f6;margin:0 0 .25rem}.contact-detail{font-size:.875rem;color:#9ca3af;margin:0}.btn{padding:.875rem 1.75rem;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:-.01em}.btn-primary{background:linear-gradient(145deg,#6366f1,#4f46e5);color:white;box-shadow:0 6px 20px rgba(99,102,241,.4);border:1px solid rgba(99,102,241,.5)}.btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px rgba(99,102,241,.5);background:linear-gradient(145deg,#7c3aed,#6366f1)}.btn-primary:active:not(:disabled){transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{background:rgba(255,255,255,.05);color:#e5e7eb;border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.btn-large{padding:1.125rem 2.25rem;font-size:1.05rem}.btn-full{width:100%}.modal-footer{padding:1.5rem 2.5rem;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(26,29,41,.8),rgba(19,21,31,.95))}@media (max-width:768px){.auth-modal{max-width:96%;border-radius:20px}.modal-header{padding:2rem}.header-title{font-size:1.35rem}.header-icon{width:60px;height:60px}.semester-grid{grid-template-columns:1fr}.modal-body-scrollable{max-height:calc(92vh - 280px)}}@media (max-width:480px){.auth-overlay{padding:.75rem}.modal-header{padding:1.5rem}.header-title{font-size:1.25rem}.header-icon{width:55px;height:55px}.modal-body,.modal-footer{padding:1.5rem}.semester-option{padding:1.5rem 1.25rem}.btn-large{padding:1rem 1.75rem;font-size:.95rem}}