html body{background:radial-gradient(circle at 12% 18%,#E3F2E7 0,transparent 42%),radial-gradient(circle at 88% 85%,#DCEFE1 0,transparent 45%),#F4F7F5!important;background-attachment:fixed!important;min-height:100vh}
html body .view,html body .mask,html body [class*="gradient"]{background:transparent!important}
html body .white-text{color:var(--qs-ink)!important}
html body .hr-light{border-top:1px solid var(--qs-line)!important}
html body .col-md-6.white-text h1,html body .col-md-6.white-text h6,html body .col-md-6.white-text p{color:var(--qs-mute)!important;font-size:1.05rem;line-height:1.6}
html body .card{background:#fff!important;border:1px solid var(--qs-line)!important;border-radius:16px!important;box-shadow:0 2px 4px rgba(15,94,44,.05),0 16px 40px rgba(15,94,44,.10)!important}
html body .card-body{padding:2.25rem!important}
html body .card .white-text,html body .card h3,html body .card h4{color:var(--qs-gd)!important;font-family:Montserrat,sans-serif!important;font-weight:800!important}
html body .card .md-form label,html body .card .input-prefix,html body .text-qs-light-grey,html body .toggle-password-vis{color:var(--qs-mute)!important}
html body .card .form-control{color:var(--qs-ink)!important;border-bottom:1px solid var(--qs-line)!important}
html body .card .form-control:focus{border-bottom-color:var(--qs-g)!important;box-shadow:0 1px 0 0 var(--qs-g)!important}
html body .card .md-form .input-prefix.active{color:var(--qs-g)!important}
html body .forgot,html body .forgot a{color:var(--qs-g)!important;font-weight:600}
html body .btn-qs-primary{background:var(--qs-g)!important;color:#fff!important;text-transform:none!important;font-weight:700;border-radius:10px!important;padding:.75rem 2.5rem;box-shadow:0 6px 16px rgba(17,144,62,.25)!important}
html body .btn-qs-primary:hover{background:var(--qs-gd)!important}
/* === Accueil v2 · esprit couverture formation === */
html body .bg-home{background:#0F5E2C!important;position:relative;overflow:hidden;height:auto!important;min-height:100vh;padding:3rem 0}
html body .bg-home>.container{position:relative;z-index:2}
.qs-shapes span{position:absolute;border-radius:50%;z-index:1}
.qs-shapes .s1{width:620px;height:620px;right:-180px;top:-200px;background:#11903E;animation:qsFloat 18s ease-in-out infinite}
.qs-shapes .s2{width:260px;height:260px;right:22%;bottom:12%;border:12px solid #fff;opacity:.10;animation:qsFloat 14s ease-in-out infinite reverse}
.qs-shapes .s3{width:520px;height:520px;left:-200px;bottom:-260px;background:#0B4A22;animation:qsFloat 22s ease-in-out infinite}
.qs-shapes .s4{width:18px;height:18px;left:46%;top:16%;background:#FFD200;animation:qsPulse 4s ease-in-out infinite}
html body .bg-home::before{content:"";position:absolute;left:0;top:0;width:8px;height:45%;background:#FFD200;z-index:2}
@keyframes qsFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,25px)}}
@keyframes qsPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.6}}
@media (prefers-reduced-motion:reduce){.qs-shapes span{animation:none!important}}
html body .qs-hero{color:#fff!important;text-align:left}
.qs-logo{display:inline-block;background:#fff;border-radius:14px;padding:14px 22px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.qs-logo img{height:56px;width:auto;display:block}
html body .qs-kicker{margin-top:2.2rem;font:700 .78rem Inter,sans-serif;letter-spacing:.28em;color:#FFD200!important}
html body .qs-title{font:900 2.7rem/1.08 Montserrat,sans-serif!important;color:#fff!important;letter-spacing:-.02em;margin:.9rem 0 0}
html body .qs-title em{font-style:normal;color:#FFD200}
.qs-rule{width:90px;height:6px;background:#FFD200;border-radius:3px;margin:1.6rem 0 1.3rem}
html body .qs-hero p.qs-sub{font:400 1.08rem/1.6 Inter,sans-serif!important;color:#E3EFE6!important;max-width:470px;margin:0}
.qs-pts{display:flex;gap:1.4rem;margin-top:2rem;max-width:520px}
.qs-pts div{flex:1;border-top:2px solid rgba(255,255,255,.35);padding-top:.7rem;font:600 .85rem/1.35 Inter,sans-serif;color:#fff}
.qs-pts b{display:block;font:800 .7rem Inter,sans-serif;letter-spacing:.18em;color:#FFD200;margin-bottom:.25rem}
html body .bg-home .card{border:0!important;box-shadow:0 24px 60px rgba(0,0,0,.28)!important;border-top:6px solid #FFD200!important}
@media (max-width:767px){html body .qs-title{font-size:2rem}.qs-pts{flex-direction:column;gap:.8rem}.qs-shapes .s1{width:360px;height:360px}}
/* === Accueil v3 · lisibilité === */
html body .bg-home .qs-hero h1.qs-title{color:#fff!important;font-size:2.9rem!important;text-shadow:0 2px 12px rgba(0,0,0,.18)}
html body .bg-home .qs-hero h1.qs-title em{color:#FFD200!important}
html body .bg-home .qs-hero .qs-kicker{letter-spacing:.14em;font-size:.82rem;font-weight:800}
html body .bg-home .qs-hero p.qs-sub{color:#fff!important;font-size:1.15rem!important;opacity:.95}
html body .bg-home .qs-pts div{font-size:.95rem;color:#fff!important;border-top-color:#FFD200}
html body .bg-home .qs-pts b{font-size:.78rem;letter-spacing:.12em}
/* décor discret */
.qs-shapes .s1{background:#13733A!important;width:560px!important;height:560px!important;right:-260px!important;top:-260px!important}
.qs-shapes .s2{opacity:.06!important;right:4%!important;bottom:6%!important}
.qs-shapes .s3{background:#0A4520!important}
.qs-shapes .s4{left:44%!important;top:10%!important}
html body .bg-home::before{height:100%!important;width:6px!important}
/* carte */
html body .bg-home .card{box-shadow:0 20px 50px rgba(0,0,0,.30)!important}
html body .bg-home .card .md-form label,html body .bg-home .card .input-prefix{color:#3E4A57!important}
