/* Chauffeur.cd — Connexion, inscription et récupération du mot de passe. */
.auth-main{padding:0!important;max-width:none}
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100vh - 82px);background:linear-gradient(180deg,#FFFDFB,#FAF4EC)}
.auth-panel{width:100%;max-width:600px;justify-self:center;align-self:center;padding:56px clamp(20px,4vw,48px) 72px}
.auth-panel h1{font-family:"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;font-size:clamp(34px,3.4vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:850;margin:0 0 14px}
.auth-intro{font-size:18px;line-height:1.6;color:#4C5961;margin:0 0 28px}
.auth-alert{margin:0 0 24px;padding:16px 20px;border-radius:14px;font-size:16px;line-height:1.5}
.auth-alert ul{margin:8px 0 0;padding-left:20px}
.auth-alert li{margin:3px 0}
.auth-alert-error{background:#FFF0EE;border:1px solid #F2C2BC;color:#8E2219}
.auth-alert-error:focus{outline:3px solid #D9534A;outline-offset:2px}
.auth-alert-ok{background:#E8F5EC;border:1px solid #BFE0CA;color:#1F5A35}
.auth-form{display:flex;flex-direction:column;gap:20px}
.af-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.af-field{position:relative;display:flex;flex-direction:column}
.af-field>label{font-size:15.5px;font-weight:700;color:#252A2E;margin-bottom:8px}
.af-aside{position:absolute;right:0;top:0;font-size:15px}
.af-aside a{color:#A4500A;font-weight:600}
.af-control{position:relative}
.auth-form .af-control input{width:100%;min-height:56px;margin:0;padding:14px 16px;border:1.5px solid #CFC8BF;border-radius:14px;background:#fff;font-size:17px;color:#252A2E;transition:border-color .15s ease,box-shadow .15s ease}
.auth-form .af-control input:hover{border-color:#A9A096}
.auth-form .af-control input:focus{outline:none;border-color:#F28C28;box-shadow:0 0 0 4px rgba(242,140,40,.22)}
.auth-form .af-control input[type=password],.auth-form .af-control input[data-revealed]{padding-right:108px}
.af-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:40px;padding:0 14px;border:0;border-radius:10px;background:#F3EEE8;color:#252A2E;font-size:14.5px;font-weight:700}
.af-toggle:hover{background:#E9E2D9;color:#252A2E}
.af-hint{margin:8px 0 0;font-size:14.5px;color:#5B6870}
.af-error{display:flex;gap:6px;margin:8px 0 0;font-size:15px;font-weight:600;color:#A3261C}
.af-error::before{content:"!";display:inline-grid;place-items:center;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#C8372D;color:#fff;font-size:13px;font-weight:800}
.has-error .af-control input{border-color:#C8372D;background:#FFFBFA}
.af-rules{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 0;padding:0;list-style:none}
.af-rules li{padding:5px 12px;border-radius:99px;background:#F1EDE8;color:#5B6870;font-size:14px;font-weight:600}
.af-rules li::before{content:"○ "}
.af-rules li.is-ok{background:#E4F3E8;color:#1F6240}
.af-rules li.is-ok::before{content:"✓ "}
.af-check{font-weight:400;display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.5;color:#3A4147;cursor:pointer}
.af-check input{flex-shrink:0;width:22px;height:22px;margin:1px 0 0;accent-color:#B65D14}
.af-terms{padding:16px;border:1.5px solid #E2DBD2;border-radius:14px;background:#fff}
.has-error .af-terms{border-color:#C8372D}
.af-check a{color:#A4500A;font-weight:600}
.auth-submit{min-height:58px;font-size:17.5px;margin-top:4px}
.auth-alt{margin-top:28px;padding-top:22px;border-top:1px solid #E8E2DA;font-size:16.5px;color:#4C5961}
.auth-alt p{margin:0}
.auth-alt a{color:#A4500A;font-weight:700}

.auth-visual{position:relative;overflow:hidden;background:radial-gradient(700px 500px at 85% 10%,rgba(242,140,40,.38) 0,rgba(242,140,40,0) 60%),linear-gradient(160deg,#2C3237,#1B1F22);color:#D5DBDF}
.auth-visual-inner{position:sticky;top:var(--header-h,82px);display:flex;flex-direction:column;justify-content:center;min-height:100%;max-width:620px;margin:0 auto;padding:56px clamp(24px,4vw,56px)}
.auth-visual-kicker{margin:0 0 12px;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F6A961}
.auth-visual-title{margin:0;font-size:clamp(26px,2.4vw,34px);line-height:1.18;font-weight:800;letter-spacing:-.02em;color:#fff}
.auth-stage{position:relative;width:min(100%,480px);aspect-ratio:1/0.96;margin:32px auto 28px}
.auth-stage>.auth-phone{position:absolute;left:12%;top:0;width:43%}
.auth-stage>.auth-qr{position:absolute;right:6%;bottom:8%;width:34%;transform:rotate(5deg)}
.auth-benefits{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;font-size:17px}
.auth-benefits li{display:flex;align-items:center;gap:12px}
.auth-benefits .hi{width:22px;height:22px;color:#F28C28}
.auth-visual-note{margin:18px 0 0;font-size:13.5px;color:#9AA6AD}

@media (max-width:1000px){
.auth{grid-template-columns:1fr;min-height:0}
.auth-visual{display:none}
.auth-panel{max-width:620px;padding-top:40px}
}
@media (max-width:520px){
.auth-panel{padding:28px 18px 48px}
.auth-panel h1{font-size:32px}
.auth-intro{font-size:17px;margin-bottom:22px}
.af-row{grid-template-columns:1fr;gap:20px}
.af-aside{position:static;order:3;margin-top:8px}
}
.auth-visual .hqr{color:#252A2E}
.af-field>label.af-check{font-size:16px;font-weight:400;margin:0}
