/* doc-project | public/assets/css/login.css | met en forme la connexion et le changement de mot de passe avec illustration dédiée */
.login-page { display: grid; grid-template-columns: minmax(420px, 1.1fr) minmax(380px, .9fr); min-height: calc(100vh - 86px); }
.login-visual { position: relative; display: flex; align-items: end; overflow: hidden; padding: clamp(32px, 6vw, 80px); background: var(--ink); color: var(--white); }
.login-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(23, 53, 47, .9), rgba(23, 53, 47, .05) 60%); }
.login-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.login-visual > div { position: relative; z-index: 2; max-width: 650px; }
.login-visual .eyebrow { color: #f0cfa4; }
.login-visual h1 { margin-bottom: 18px; font-size: clamp(2.6rem, 5vw, 5rem); }
.login-visual p { color: rgba(255, 255, 255, .76); font-size: 1.12rem; }
.login-panel { display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: clamp(34px, 7vw, 85px); background: var(--paper); }
.login-logo { width: 238px; }
.login-panel h2 { margin-bottom: 10px; font-size: clamp(2.1rem, 4vw, 3.3rem); }
.login-panel p { color: var(--muted); }
.login-form { display: grid; gap: 18px; }
.login-form .button { width: 100%; margin-top: 5px; }
.demo-box { display: grid; gap: 4px; padding: 16px; border-radius: var(--radius-sm); background: var(--paper-warm); }
.demo-box code { font-size: .88rem; }
.demo-box small { margin-top: 6px; color: var(--muted); }
.password-page { display: grid; place-items: center; min-height: calc(100vh - 86px); padding: 40px 16px; background: linear-gradient(135deg, var(--paper-warm), var(--sage)); }
.password-card { width: min(570px, 100%); padding: clamp(28px, 6vw, 58px); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-lg); }
.password-card > img { width: 220px; margin-bottom: 36px; }
.password-card h1 { margin-bottom: 15px; font-size: clamp(2.25rem, 5vw, 3.6rem); }
.password-card > p { color: var(--muted); }
@media (max-width: 900px) { .login-page { grid-template-columns: 1fr; } .login-visual { min-height: 430px; } .login-panel { min-height: 620px; } }
@media (max-width: 540px) { .login-visual { min-height: 340px; padding: 28px 20px; } .login-panel { padding: 42px 20px; } }