body{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}:root{--primary-blue:#0052cc;--primary-dark:#172b4d;--primary-light:#4c9aff;--secondary-teal:#00b8d9;--secondary-purple:#6554c0;--secondary-green:#36b37e;--neutral-900:#091e42;--neutral-800:#172b4d;--neutral-700:#253858;--neutral-600:#344563;--neutral-500:#42526e;--neutral-400:#505f79;--neutral-300:#5e6c84;--neutral-200:#6b778c;--neutral-100:#7a869a;--neutral-50:#97a0af;--bg-light:#fff;--bg-subtle:#f4f5f7;--bg-dark:#091e42;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-secondary:"SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif;--shadow-sm:0 1px 2px 0 #091e421a;--shadow-md:0 4px 6px -1px #091e421a;--shadow-lg:0 10px 15px -3px #091e421a;--shadow-xl:0 20px 25px -5px #091e421a}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#091e42,#172b4d 50%,#091e42);background:linear-gradient(135deg,var(--neutral-900) 0,var(--neutral-800) 50%,var(--neutral-900) 100%);color:#344563;color:var(--neutral-600);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary)}.App,body{min-height:100vh}.App{align-items:center;display:flex;justify-content:center;padding:20px}.auth-container{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#fffffffa;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 25px -5px #091e421a;box-shadow:var(--shadow-xl);max-width:450px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#091e42;color:var(--neutral-900);font-size:28px;font-weight:700;margin-bottom:8px}.auth-header p{color:#344563;color:var(--neutral-600);font-size:14px;font-weight:500}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-title{color:#091e42;color:var(--neutral-900);font-size:28px;font-weight:700;margin-bottom:8px;text-align:center}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#172b4d;color:var(--neutral-800);font-size:14px;font-weight:600}.form-group input{background:#fff;background:var(--bg-light);border:2px solid #6b778c;border:2px solid var(--neutral-200);border-radius:8px;color:#253858;color:var(--neutral-700);font-size:16px;padding:12px 16px;transition:all .3s ease}.form-group input:focus{border-color:#0052cc;border-color:var(--primary-blue);box-shadow:0 0 0 3px #0052cc1a;outline:none}.form-group input.error{border-color:#e53e3e}.error-message{color:#e53e3e;font-size:12px;margin-top:4px}.success-message{background:#36b37e1a;border:1px solid #36b37e33;border-radius:8px;color:#36b37e;color:var(--secondary-green);font-size:14px;padding:12px}.info-message{align-items:center;background:#00b8d91a;border:1px solid #00b8d933;border-radius:8px;color:#00b8d9;color:var(--secondary-teal);display:flex;font-size:14px;gap:8px;padding:12px}.pqc-status{margin-bottom:16px}.pqc-status .error-message,.pqc-status .info-message,.pqc-status .success-message{margin-bottom:8px}.security-indicator{align-items:center;background:#36b37e1a;border:1px solid #36b37e33;border-radius:12px;color:#36b37e;color:var(--secondary-green);display:inline-flex;font-size:12px;gap:6px;padding:4px 8px}.security-indicator.loading{background:#00b8d91a;border-color:#00b8d933;color:#00b8d9;color:var(--secondary-teal)}.security-indicator.error{background:#e53e3e1a;border-color:#e53e3e33;color:#e53e3e}.submit-btn{background:linear-gradient(135deg,#0052cc,#00b8d9);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-teal) 100%);border:none;border-radius:8px;box-shadow:0 4px 6px -1px #091e421a;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px 20px;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(135deg,#4c9aff,#00b8d9);background:linear-gradient(135deg,var(--primary-light) 0,var(--secondary-teal) 100%);box-shadow:0 10px 20px #0052cc4d;transform:translateY(-2px)}.submit-btn:disabled{box-shadow:0 1px 2px 0 #091e421a;box-shadow:var(--shadow-sm);cursor:not-allowed;opacity:.6;transform:none}.auth-switch{border-top:1px solid #6b778c;border-top:1px solid var(--neutral-200);margin-top:20px;padding-top:20px;text-align:center}.auth-switch p{color:#42526e;color:var(--neutral-500);font-size:14px}.auth-switch button{background:none;border:none;color:#0052cc;color:var(--primary-blue);cursor:pointer;font-size:14px;font-weight:600;text-decoration:underline}.auth-switch button:hover{color:#4c9aff;color:var(--primary-light)}.forgot-password{margin-bottom:10px;margin-top:15px;text-align:center}.forgot-password-link{background:none;border:none;color:#0052cc;color:var(--primary-blue);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:8px 0;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:#4c9aff;color:var(--primary-light);text-decoration:underline}.forgot-password-link:disabled{color:#5e6c84;color:var(--neutral-300);cursor:not-allowed}.loading{animation:spin 1s ease-in-out infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}.auth-form h2,.auth-title{color:#091e42;color:var(--neutral-900);font-weight:600;margin-bottom:15px;text-align:center}.pqc-ready{font-size:.9em;padding:8px}.logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:8px}.logo-image{height:auto;max-width:100%}.logo-small .logo-image{height:40px}.logo-medium .logo-image{height:60px}.logo-large .logo-image{height:150px}.verification-container{text-align:center}.verification-container h2{color:#091e42;color:var(--neutral-900);margin-bottom:20px}.verification-container p{color:#344563;color:var(--neutral-600);line-height:1.6;margin-bottom:20px}@media (max-width:480px){.auth-container{margin:10px;padding:30px 20px}.auth-header h1{font-size:24px}}.captcha-group{margin-bottom:20px}.captcha-loading{align-items:center;background:#f4f5f7;background:var(--bg-subtle);border-radius:8px;color:#344563;color:var(--neutral-600);display:flex;gap:10px;padding:15px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #5e6c84;border-top:2px solid #0052cc;border:2px solid var(--neutral-300);border-radius:50%;border-top-color:var(--primary-blue);height:16px;width:16px}.captcha-container{background:#fff;background:var(--bg-light);border:1px solid #5e6c84;border:1px solid var(--neutral-300);border-radius:8px;padding:15px}.captcha-image-container{display:inline-block;margin-bottom:10px;position:relative}.captcha-image{background:#fff;border:2px solid #5e6c84;border:2px solid var(--neutral-300);border-radius:4px;display:block;height:100px;min-height:100px;min-width:200px;object-fit:contain;width:200px}.captcha-refresh{background:#ffffffe6;border:1px solid #5e6c84;border:1px solid var(--neutral-300);border-radius:4px;cursor:pointer;font-size:14px;padding:4px 8px;position:absolute;right:5px;top:5px;transition:all .2s ease}.captcha-refresh:hover:not(:disabled){background:#fff;box-shadow:0 1px 2px 0 #091e421a;box-shadow:var(--shadow-sm)}.captcha-refresh:disabled{cursor:not-allowed;opacity:.5}.captcha-info{margin-bottom:10px}.captcha-info small{color:#344563;color:var(--neutral-600);font-size:12px}.captcha-timer{align-items:center;background:#0052cc1a;border:1px solid #0052cc33;border-radius:4px;color:#0052cc;color:var(--primary-blue);display:flex;font-size:12px;font-weight:500;gap:10px;justify-content:space-between;margin-top:8px;padding:6px 10px}.captcha-timer .expired{color:#ff5722;font-weight:600}.timer-countdown{display:inline-block}.captcha-timer.urgent .timer-countdown{background:#ff57221a;border-color:#ff57224d;color:#ff5722}.idle-indicator{align-items:center;background:#ff98001a;border:1px solid #ff98004d;border-radius:12px;color:#ff9800;cursor:help;display:flex;font-size:10px;font-weight:600;gap:4px;padding:2px 6px}.idle-dot{animation:pulse-idle 2s ease-in-out infinite;font-size:8px}@keyframes pulse-idle{0%,to{opacity:1}50%{opacity:.4}}.timer-expired{animation:blink .8s infinite;background:#d32f2f1a;border-radius:4px;color:#d32f2f;display:inline-block;padding:4px 8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.5}}.captcha-error{align-items:center;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;display:flex;justify-content:space-between;padding:15px}.retry-button{background:#0052cc;background:var(--primary-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s ease}.retry-button:hover:not(:disabled){background:#172b4d;background:var(--primary-dark)}.retry-button:disabled{cursor:not-allowed;opacity:.5}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}