@import url("https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap");.opti-header{background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);padding:1rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 20px rgba(0,0,0,.05)}.opti-header-nav{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.opti-header-logo{font-family:Sora,sans-serif;font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#ff6b35,#f7b801);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;text-decoration:none}.opti-header-links{display:flex;gap:1.5rem;align-items:center}.opti-header-links a{text-decoration:none;color:#1a1a2e;font-family:IBM Plex Sans,-apple-system,sans-serif;font-weight:500;font-size:.95rem;transition:color .3s}.opti-header-links a:hover{color:#ff6b35}.opti-header-btn-outline{padding:.6rem 1.25rem!important;border-radius:12px;border:2px solid #004e89!important;color:#004e89!important;font-weight:600!important;transition:all .3s ease!important}.opti-header-btn-outline:hover{background:#004e89!important;color:#fff!important}.opti-header-btn-primary{padding:.6rem 1.25rem!important;border-radius:12px;background:linear-gradient(135deg,#ff6b35,#f7b801)!important;color:#fff!important;font-weight:600!important;box-shadow:0 4px 15px rgba(255,107,53,.3);transition:all .3s ease!important}.opti-header-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,107,53,.4)}@media (max-width:768px){.opti-header-nav{padding:0 1rem}.opti-header-links{gap:.75rem}.opti-header-links a{font-size:.85rem}.opti-header-btn-outline,.opti-header-btn-primary{padding:.5rem .75rem!important;font-size:.85rem!important}.opti-header-logo{font-size:1.35rem}}@media (max-width:480px){.opti-header-link-text{display:none}}:root{--primary:#ff6b35;--secondary:#004e89;--dark:#1a1a2e;--light:#f8f9fa}@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Sora:wght@600;700;800&display=swap");.connexion-page{min-height:calc(100vh - 70px);background-color:var(--light);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;font-family:IBM Plex Sans,sans-serif}.bg-decoration{position:absolute;inset:0;pointer-events:none;z-index:0}.bg-blob-1{top:-120px;right:-80px;width:500px;height:500px;background:radial-gradient(circle,rgba(255,107,53,.12) 0,transparent 70%)}.bg-blob-1,.bg-blob-2{position:absolute;border-radius:50%}.bg-blob-2{bottom:-150px;left:-100px;width:600px;height:600px;background:radial-gradient(circle,rgba(0,78,137,.1) 0,transparent 70%)}.bg-blob-3{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(247,184,1,.08) 0,transparent 70%)}.connexion-card{position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border-radius:24px;padding:48px 40px;box-shadow:0 4px 24px rgba(26,26,46,.08),0 1px 4px rgba(26,26,46,.04)}.logo-link{display:block;text-decoration:none;text-align:center;margin-bottom:8px}.logo-text{font-weight:800;font-size:28px;background:linear-gradient(135deg,var(--primary),#f7b801);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-heading,.logo-text{font-family:Sora,sans-serif}.card-heading{font-weight:700;font-size:22px;color:var(--dark);text-align:center;margin:0 0 4px}.card-subheading{font-size:14px;color:#6b7280;text-align:center;margin:0 0 32px;line-height:1.5}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--dark);margin-bottom:6px}.form-input{width:100%;padding:12px 16px;font-family:IBM Plex Sans,sans-serif;font-size:15px;color:var(--dark);background:var(--light);border:1.5px solid #e5e7eb;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,107,53,.12)}.form-input::-moz-placeholder{color:#9ca3af}.form-input::placeholder{color:#9ca3af}.password-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.forgot-link{font-size:13px;color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s}.forgot-link:hover{color:#e55a25;text-decoration:underline}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.error-icon{flex-shrink:0;width:20px;height:20px;color:#dc2626}.error-text{font-size:14px;color:#991b1b;line-height:1.4}.submit-btn{width:100%;padding:14px 24px;font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b35,#f7b801);border:none;border-radius:12px;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 14px rgba(255,107,53,.3);display:flex;align-items:center;justify-content:center;gap:8px}.submit-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,107,53,.35)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{width:20px;height:20px;border:2.5px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.divider{display:flex;align-items:center;gap:16px;margin:28px 0}.divider-line{flex:1;height:1px;background:#e5e7eb}.divider-text{font-size:13px;color:#9ca3af;white-space:nowrap}.signup-link-wrapper{text-align:center;font-size:14px;color:#6b7280}.signup-link{color:var(--primary);text-decoration:none;font-weight:600;transition:color .2s}.signup-link:hover{color:#e55a25;text-decoration:underline}.back-home{display:block;text-align:center;margin-top:24px;font-size:13px;color:#9ca3af;text-decoration:none;transition:color .2s}.back-home:hover{color:var(--secondary)}@media (max-width:480px){.connexion-card{padding:36px 24px;border-radius:20px}.logo-text{font-size:24px}.card-heading{font-size:20px}}