.anec-login-page{margin:0;background:#f2f6fa;color:#233b52;font:14px/1.6 'Segoe UI',system-ui,sans-serif}.anec-login-page *{box-sizing:border-box}.anec-login-page a{color:inherit}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100dvh;max-width:1800px;margin:auto}.login-story{position:relative;overflow:hidden;background:linear-gradient(145deg,#112d4d,#194c6d);color:#fff;padding:44px 9%;display:flex;flex-direction:column;justify-content:space-between;gap:44px}.login-story::after{content:'';width:500px;height:500px;border-radius:50%;border:1px solid #ffffff0b;position:absolute;right:-230px;top:180px;pointer-events:none}.login-brand{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:16px;font-weight:650;position:relative;z-index:1}.login-brand img{width:112px;height:40px;object-fit:contain;background:#fff;border-radius:5px;padding:3px}.login-brand small{display:block;font-size:10px;font-weight:400;color:#c0d4e5;margin-top:3px}.login-story-content{position:relative;z-index:1;max-width:540px}.login-eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;margin:0 0 16px}.login-story .login-eyebrow{color:#a7cfde}.login-story h2{font-size:clamp(29px,3vw,46px);font-weight:650;line-height:1.2;letter-spacing:-1px;margin:0 0 22px}.login-story h2 em{font-style:normal;color:#a8d5df}.login-story-content>p:not(.login-eyebrow){font-size:14px;color:#d0dfeb;max-width:400px;margin:0 0 28px}.login-photo{height:210px;border-radius:16px;overflow:hidden;position:relative;border:1px solid #ffffff25}.login-photo img{width:100%;height:100%;object-fit:cover}.login-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#102942bb)}.login-photo span{position:absolute;bottom:18px;left:20px;right:20px;z-index:1;font-size:12px}.login-features{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;color:#dcebf4;font-size:11px}.login-features span{display:inline-flex;gap:8px;align-items:center}.anec-login-page .record-icon{width:19px;height:19px;flex-shrink:0}.login-story-footer{font-size:11px;color:#a5c0d4;margin:0}.login-panel{background:#fff;padding:40px 11%;display:flex;flex-direction:column;justify-content:space-between;gap:44px}.login-back{font-size:12px;color:#62778a!important;text-decoration:none;align-self:start}.login-back span{margin-right:8px}.login-form-area{width:100%;max-width:420px;margin:auto}.login-welcome-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eaf2fa;color:#296897;margin-bottom:24px}.login-welcome-icon .record-icon{width:25px;height:25px}.login-form-area .login-eyebrow{color:#6a849b;font-size:10px;margin-bottom:10px}.login-form-area h1{font-size:clamp(25px,2.5vw,35px);line-height:1.25;letter-spacing:-.8px;margin:0 0 15px;font-weight:650;color:#1b354f}.login-intro{color:#698093;font-size:13px;margin:0 0 30px}.login-field{margin-bottom:22px}.login-field label{display:block;font-weight:600;font-size:12px;margin-bottom:8px}.login-field input{width:100%;min-width:0;height:52px;border:1px solid #cedbe7;background:#fbfcfe;border-radius:10px;padding:13px 15px;font:inherit;color:#203c55;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:#90a1b1}.login-field input:focus{outline:0;border-color:#287eb5;box-shadow:0 0 0 3px #368ac01c;background:#fff}.login-field input[aria-invalid=true]{border-color:#bb5663}.login-label-row{display:flex;gap:10px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.login-label-row a{font-size:11px;color:#236998;text-decoration:none}.login-password{position:relative}.login-password input{padding-right:83px}.login-password button{position:absolute;right:5px;top:5px;min-height:42px;padding:0 10px;border:0;border-radius:7px;background:transparent;font-size:11px;color:#366b95;cursor:pointer}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;border:0;border-radius:10px;background:#0b4e9c;color:#fff;padding:14px 18px;font:600 14px 'Segoe UI',sans-serif;cursor:pointer;box-shadow:0 5px 15px #0b4e9c1c}.login-submit:hover{background:#093f7e}.login-submit span{font-size:21px;line-height:1}.login-help{margin-top:22px;padding-top:20px;border-top:1px solid #e8eef4;font-size:11px;color:#758a9d}.login-panel-footer{font-size:10px;color:#8494a4;text-align:center}.login-alert{padding:12px 15px;border-radius:9px;margin-bottom:20px;font-size:12px;overflow-wrap:anywhere}.login-alert-success{background:#eaf7ef;color:#296347}.login-alert-error{background:#fff0f2;color:#a74352}.login-error{margin:7px 0 0;color:#b34555;font-size:12px}.anec-login-page :is(button,a):focus-visible{outline:3px solid #5d9dcc;outline-offset:4px}.anec-login-page a:hover{text-decoration:underline}
@media(min-width:1500px){.login-panel{padding-inline:15%}}
@media(max-width:900px){.login-story{padding:32px 7%;gap:30px}.login-panel{padding:32px 8%}.login-brand{flex-wrap:wrap;font-size:14px}.login-photo{height:170px}.login-features{gap:13px}.login-story h2{font-size:30px}}
@media(max-width:650px){.login-shell{grid-template-columns:1fr}.login-story{padding:22px 24px;gap:0}.login-brand{flex-wrap:nowrap}.login-story-content,.login-story-footer{display:none}.login-panel{padding:25px 24px 30px;gap:32px}.login-form-area{margin:0 auto}.login-form-area h1{font-size:29px}.login-welcome-icon{margin-bottom:20px}.login-panel-footer{margin-top:10px}.login-field input{font-size:16px}.login-back{min-height:30px}.login-label-row a{padding-bottom:8px}.login-brand img{width:98px;height:38px}}
@media(max-width:350px){.login-panel{padding-inline:18px}.login-story{padding-inline:18px}.login-brand{gap:11px;font-size:13px}.login-brand small{font-size:9px}.login-form-area h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.login-field input{transition:none}}

/* Logo de connexion : proportions naturelles et legende distincte. */
.login-logo-panel{border-radius:16px;background:#fff;padding:24px;text-align:center;color:#233b52}.login-logo-panel img{display:block;width:100%;height:auto;object-fit:contain;margin:0 auto}.login-logo-panel span{display:block;margin-top:18px;font-size:12px;line-height:1.6}

/* Cadre photo pour le logo, avec espace reserve a la legende. */
.login-photo.login-photo-logo{background:#fff}.login-photo.login-photo-logo img{display:block;object-fit:contain;padding:20px 24px 58px}.login-photo.login-photo-logo::after{inset:auto 0 0;height:48px;background:#122f50}.login-photo.login-photo-logo span{bottom:13px;color:#fff}
