:root{--jf-navy:#071a2c;--jf-navy-2:#0d2943;--jf-sky:#70c3ee;--jf-blue:#2855df;--jf-yellow:#fff8d8;--jf-ink:#0b172d;--jf-copy:#536176;--jf-line:#dfe5ec;--jf-surface:#fff;--jf-danger:#b42318;--jf-green:#14855f;--jf-radius:18px}
*{box-sizing:border-box}
body.jf-auth-body{min-height:100dvh!important;margin:0!important;background:#f4f7fa!important;color:var(--jf-ink);font-family:'Jost','Segoe UI',Arial,sans-serif!important}
.jf-auth-shell{min-height:calc(100dvh - 64px);display:grid;grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr)}
.jf-auth-brand{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:calc(100dvh - 64px);flex-direction:column;padding:42px clamp(34px,5vw,76px);background:var(--jf-navy);color:#fff}
.jf-auth-brand::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,transparent 35%,rgba(112,195,238,.08) 70%,rgba(255,248,216,.12))}
.jf-auth-brand::after{content:"";position:absolute;right:-150px;bottom:8%;z-index:-1;width:360px;height:360px;border:1px solid rgba(112,195,238,.18);border-radius:50%;box-shadow:0 0 0 46px rgba(112,195,238,.035),0 0 0 92px rgba(255,248,216,.025)}
.jf-auth-brand-copy{margin:auto 0;max-width:580px;padding:70px 0}.jf-auth-kicker{margin:0 0 20px;color:var(--jf-sky);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.jf-auth-brand-copy h1{max-width:610px;margin:0;color:#fff;font-family:'Exo','Segoe UI',sans-serif;font-size:clamp(38px,4.4vw,68px);font-weight:800;line-height:1.02;letter-spacing:-.045em}
.jf-auth-brand-copy>p:last-child{max-width:530px;margin:24px 0 0;color:#b8cad8;font-size:17px;line-height:1.7}
.jf-auth-event{display:flex;flex-wrap:wrap;gap:9px 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:#d7e4ed;font-size:13px}.jf-auth-event span+span{color:#91a8ba}
.jf-auth-main{display:flex;min-width:0;align-items:center;justify-content:center;padding:48px clamp(24px,5vw,82px);background:linear-gradient(145deg,#f5f8ff,#fff 48%,#fffbea)}
.jf-auth-card{width:min(100%,520px);padding:42px;border:1px solid rgba(7,26,44,.1);border-radius:var(--jf-radius);background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(7,26,44,.12)}
.jf-auth-body .jf-logo,.jf-auth-body .jf-logo-txt{display:none!important}
.jf-auth-body .jf-title{margin:0 0 8px!important;color:var(--jf-ink)!important;font-family:'Exo','Segoe UI',sans-serif!important;font-size:28px!important;font-weight:800!important;line-height:1.15!important;text-align:left!important}
.jf-auth-body .jf-sub,.jf-auth-body .jf-desc{margin:0 0 28px!important;color:var(--jf-copy)!important;font-family:'Jost','Segoe UI',sans-serif!important;font-size:14px!important;line-height:1.6!important;text-align:left!important}
.jf-auth-body .jf-badge-hint{margin:0 0 24px!important;padding:14px 16px!important;border:1px solid #f0dda0!important;border-radius:12px!important;background:var(--jf-yellow)!important;color:#635519!important;font-family:inherit!important;font-size:12px!important;line-height:1.5!important;text-align:left!important}.jf-auth-body .jf-badge-hint strong{color:var(--jf-ink)!important}
.jf-auth-body .jf-form-group{margin-bottom:18px!important}.jf-auth-body .jf-label,.jf-auth-body label:not(.jf-check-label){display:block;margin:0 0 7px!important;color:var(--jf-ink)!important;font-family:inherit!important;font-size:13px!important;font-weight:700!important}
.jf-auth-body .jf-control,.jf-auth-body input:not([type=checkbox]):not([type=radio]),.jf-auth-body select,.jf-auth-body textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;color:var(--jf-ink)!important;font-family:inherit!important;font-size:14px!important;outline:none!important;box-shadow:none!important}
.jf-auth-body .jf-control:focus,.jf-auth-body input:focus,.jf-auth-body select:focus,.jf-auth-body textarea:focus{border-color:var(--jf-blue)!important;box-shadow:0 0 0 4px rgba(40,85,223,.1)!important}.jf-auth-body .jf-control.is-invalid{border-color:var(--jf-danger)!important}
.jf-auth-body .jf-invalid-feedback,.jf-auth-body [class*="text-red"]{margin-top:5px;color:var(--jf-danger)!important;font-family:inherit!important;font-size:12px!important}.jf-auth-body .jf-form-row{margin-bottom:22px!important}
.jf-auth-body .jf-check-label{color:var(--jf-copy)!important;font-family:inherit!important;font-size:13px!important}.jf-auth-body input[type=checkbox]{accent-color:var(--jf-blue)}
.jf-auth-body .jf-forgot-link{color:var(--jf-blue)!important;font-family:inherit!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important}.jf-auth-body .jf-forgot-link:hover{text-decoration:underline!important}
.jf-auth-body .jf-btn-login,.jf-auth-body .jf-btn-reset,.jf-auth-body .jf-btn-submit,.jf-auth-body button[type=submit]:not(.jf-btn-logout){display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:11px 18px!important;border:1px solid transparent!important;border-radius:10px!important;background:var(--jf-blue)!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:750!important;line-height:1.2;transition:transform .18s,background .18s!important}
.jf-auth-body .jf-btn-login:hover,.jf-auth-body .jf-btn-reset:hover,.jf-auth-body .jf-btn-submit:hover,.jf-auth-body button[type=submit]:not(.jf-btn-logout):hover{background:#173ca8!important;transform:translateY(-1px)}
.jf-auth-body button:focus-visible,.jf-auth-body a:focus-visible,.jf-auth-body input:focus-visible,.jf-auth-body select:focus-visible{outline:3px solid rgba(112,195,238,.45)!important;outline-offset:3px}
.jf-auth-body .jf-divider{margin:24px 0 18px!important}.jf-auth-body .jf-inscription-link{text-align:center!important}.jf-auth-body .jf-inscription-link a{color:var(--jf-blue)!important;font-family:inherit!important;font-weight:700!important}
.jf-auth-body .jf-footer{margin-top:26px!important;padding-top:20px!important;border-top:1px solid var(--jf-line)!important;text-align:center!important}.jf-auth-body .jf-footer a{color:var(--jf-copy)!important;font-family:inherit!important;font-size:12px!important}
.jf-auth-body .jf-card{max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-family:inherit!important}.jf-auth-body .jf-actions{gap:12px}.jf-auth-body .jf-btn-logout{color:var(--jf-copy)!important}
.jf-auth-body .text-gray-600{color:var(--jf-copy)!important}.jf-auth-body .rounded-lg,.jf-auth-body .rounded-md{border-radius:10px}
@media(max-width:900px){.jf-auth-shell{grid-template-columns:1fr}.jf-auth-brand{display:none}.jf-auth-main{min-height:calc(100dvh - 60px);padding:32px 20px 40px}.jf-auth-card{margin:0 auto;padding:30px}}
@media(max-width:520px){.jf-auth-main{padding-inline:14px}.jf-auth-card{padding:24px 20px;border-radius:14px}.jf-auth-body .jf-title{font-size:24px!important}.jf-auth-body .jf-actions{align-items:stretch!important;flex-direction:column}.jf-auth-body .jf-actions form,.jf-auth-body .jf-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.jf-auth-body *{scroll-behavior:auto!important;transition:none!important}}

/* Direction visuelle issue de connexion-inscription (1).html : portail sombre,
   contraste net et accents bleu/gold, en conservant les vrais formulaires Laravel. */
body.jf-auth-body{background:#060c18!important;color:#f5f7fb}
/* Sur login/inscription, l'entête reste celle du site mais les CTA d'accès
   sont retirés pour éviter une navigation redondante. */
body.jf-auth-body .nav-btn,
body.jf-auth-body .nav-auth-form,
body.jf-auth-body .mob-bottom .mob-btn-inscr,
body.jf-auth-body .mob-bottom .mob-btn-espace{display:none!important}
body.jf-auth-body .nav{background:#0f284e!important}
body.jf-auth-body .nav-logo img{height:130px!important;width:auto!important;max-height:130px!important}
@media(max-width:768px){body.jf-auth-body .nav-logo img{height:72px!important;max-height:72px!important}}
.jf-auth-main{background:linear-gradient(160deg,#0b172d,#081225 72%)!important}
.jf-auth-card{border:1px solid rgba(255,255,255,.08)!important;border-radius:22px!important;background:#0b172d!important;box-shadow:0 28px 90px rgba(0,0,0,.3)!important}
.jf-auth-body .jf-title{color:#f8faff!important;font-size:30px!important;font-weight:600!important;letter-spacing:-.04em!important}
.jf-auth-body .jf-sub,.jf-auth-body .jf-desc{color:#aebbd1!important}
.jf-auth-body .jf-label,.jf-auth-body label:not(.jf-check-label){color:#e8edf6!important}
.jf-auth-body .jf-control,.jf-auth-body input:not([type=checkbox]):not([type=radio]),.jf-auth-body select,.jf-auth-body textarea{border-color:#293b57!important;background:#101f39!important;color:#f5f7fb!important}
.jf-auth-body .jf-control::placeholder,.jf-auth-body input::placeholder{color:#8190a8!important}
.jf-auth-body .jf-btn-login,.jf-auth-body .jf-btn-reset,.jf-auth-body .jf-btn-submit,.jf-auth-body button[type=submit]:not(.jf-btn-logout){background:#2855df!important;border-radius:11px!important;box-shadow:0 8px 20px rgba(40,85,223,.23)}
.jf-auth-body .jf-divider{border-color:#2a3b59!important}.jf-auth-body .jf-divider span{color:#8f9db3!important}
.jf-auth-body .jf-inscription-link a,.jf-auth-body .jf-forgot-link{color:#a9c2ff!important}
.jf-auth-body .jf-footer{border-color:#2a3b59!important}.jf-auth-body .jf-footer a{color:#8f9db3!important}
.jf-auth-body .jf-badge-hint{background:#101f39!important;border-color:#2a3b59!important;color:#aebbd1!important}.jf-auth-body .jf-badge-hint strong{color:#f5f7fb!important}
.jf-auth-body .jf-alert-ok{background:#172b4d!important;color:#c8ddcd!important;border-color:#42608d!important}
.jf-auth-body .jf-alert-err{background:#3a1f31!important;color:#ffb4c1!important;border-color:#87435e!important}
