/* CEN V152.31 — parité ciblée avec les améliorations FOBAK V129.6.92 */

/* Connexion institutionnelle premium, adaptée à l'identité jaune/vert CEN. */
body.public-layout:has(.cen-login-v138){
  background:
    radial-gradient(circle at 12% 18%,rgba(34,197,94,.20),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(250,204,21,.20),transparent 25%),
    linear-gradient(145deg,#062f22 0%,#0b5f42 48%,#138a5d 100%)!important;
}
body.public-layout .public-content:has(.cen-login-v138){position:relative!important;width:100%!important;max-width:none!important;padding:clamp(28px,5vw,64px) 16px 110px!important;min-height:calc(100vh - 180px)!important;display:grid!important;place-items:center!important;overflow:hidden!important}
body.public-layout .public-content:has(.cen-login-v138)::before{content:"";position:absolute;inset:0;pointer-events:none;background:url('/static/img/club_elie_nkumbi_logo.png') center 46%/min(64vw,720px) auto no-repeat;opacity:.065;filter:saturate(.9) contrast(1.05)}
.cen-login-v138{position:relative;z-index:2;width:min(100%,510px)!important;margin:0 auto!important}
.cen-login-v138 .cen-login-card{position:relative!important;padding:clamp(24px,4vw,38px)!important;background:rgba(255,255,255,.965)!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:28px!important;box-shadow:0 26px 70px rgba(0,38,25,.30),0 1px 0 rgba(255,255,255,.9) inset!important;backdrop-filter:blur(18px) saturate(1.08)!important;-webkit-backdrop-filter:blur(18px) saturate(1.08)!important;overflow:hidden!important}
.cen-login-v138 .cen-login-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#0b7a4b,#20a768 70%,#f5cf21)}
.cen-login-v138 .cen-login-logo{width:96px!important;height:96px!important;margin:4px auto 16px!important;padding:10px!important;border-radius:24px!important;background:#fff!important;border:1px solid #d5e9df!important;box-shadow:0 12px 28px rgba(11,122,75,.14)!important;display:grid!important;place-items:center!important}
.cen-login-v138 .cen-login-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
.cen-login-v138 .cen-login-heading{text-align:center!important;margin-bottom:24px!important}
.cen-login-v138 .cen-login-kicker{display:inline-flex!important;color:#0d8554!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-size:.76rem!important}
.cen-login-v138 .cen-login-heading h1{margin:8px 0 5px!important;color:#073d2a!important;font-size:clamp(2rem,6vw,2.65rem)!important;line-height:1.05!important;letter-spacing:-.03em!important}
.cen-login-v138 .cen-login-heading p{margin:0!important;color:#60786c!important;font-size:1rem!important;line-height:1.5!important}
.cen-login-v138 .cen-login-form{display:grid!important;gap:10px!important;padding:20px!important;border:1px solid #d8e9e0!important;border-radius:22px!important;background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(246,251,248,.98))!important;box-shadow:0 10px 30px rgba(9,79,49,.07)!important}
.cen-login-v138 .cen-login-form>label:not(.cen-login-remember){margin-top:2px!important;color:#173d2c!important;font-weight:850!important;font-size:.95rem!important}
.cen-login-v138 .cen-login-input{min-height:58px!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;align-items:center!important;border:1.5px solid #cbded4!important;border-radius:15px!important;background:#fff!important;box-shadow:0 3px 12px rgba(7,73,43,.04)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;overflow:hidden!important}
.cen-login-v138 .cen-login-input:focus-within{border-color:#20a768!important;box-shadow:0 0 0 4px rgba(32,167,104,.12),0 8px 20px rgba(7,73,43,.08)!important;transform:translateY(-1px)!important}
.cen-login-v138 .cen-login-input input{width:100%!important;min-width:0!important;height:56px!important;border:0!important;outline:0!important;background:transparent!important;color:#173d2c!important;font:inherit!important;font-size:1rem!important;padding:0 10px!important;box-shadow:none!important}
.cen-login-v138 .cen-login-password-toggle{width:46px!important;height:46px!important;margin-right:6px!important;border:0!important;border-radius:12px!important;background:#edf8f2!important;color:#0b7548!important;cursor:pointer!important}
.cen-login-v138 .cen-login-remember{display:flex!important;align-items:center!important;gap:8px!important;color:#536e61!important;font-weight:750!important;margin:7px 0 2px!important}.cen-login-v138 .cen-login-remember input{width:19px!important;height:19px!important;accent-color:#0b8552!important}
.cen-login-v138 .cen-login-submit{min-height:58px!important;margin-top:6px!important;border:0!important;border-radius:15px!important;background:linear-gradient(90deg,#f2c819,#ffe052)!important;color:#18392b!important;font-size:1.04rem!important;font-weight:950!important;box-shadow:0 10px 24px rgba(190,151,0,.20)!important;cursor:pointer!important;transition:.18s ease!important}.cen-login-v138 .cen-login-submit:hover{filter:brightness(1.02)!important;transform:translateY(-1px)!important}
.cen-login-v138 .cen-login-links{display:flex!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;margin:18px 4px 0!important;padding-top:18px!important;border-top:1px solid #dfeae4!important}.cen-login-v138 .cen-login-links a,.cen-login-v138 .cen-login-back{color:#0b7548!important;font-weight:850!important;text-decoration:none!important}

/* Carrousel : photo entière + fond agrandi/flouté, sans bandes vides ni rognage. */
.cen-home-first-carousel .slide{position:relative!important;overflow:hidden!important;background:#10251c!important;isolation:isolate!important}
.cen-home-first-carousel .slide::before{content:"";position:absolute;inset:-22px;z-index:-2;background-image:var(--cen-slide-bg,none);background-size:cover;background-position:center;filter:blur(22px) saturate(.85);transform:scale(1.08);opacity:.72}
.cen-home-first-carousel .slide::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,30,20,.08),rgba(3,30,20,.22))}
.cen-home-first-carousel .carousel-slide-media{position:relative!important;z-index:1!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}

/* Responsive final : responsables, activités, graphiques, formulaires. */
@media(max-width:820px){
  body{overflow-x:hidden!important}
  .leaders-grid,.leadership-grid,.activities-grid,.activity-grid,.dashboard-grid,.quick-actions,.stats-grid{grid-template-columns:minmax(0,1fr)!important}
  .leader-card,.governance-card,.activity-card,.card{min-width:0!important;max-width:100%!important}
  .leader-card img,.governance-card img,.leadership-card img{max-width:100%!important;object-position:center top!important}
  form.grid,form.form-grid,.form-grid,.settings-grid{grid-template-columns:minmax(0,1fr)!important}
  input,select,textarea,button{max-width:100%!important}
  .chart-card canvas,.dashboard-chart canvas{max-width:100%!important;height:auto!important}
  .cen-login-v138 .cen-login-card{padding:22px 18px 26px!important;border-radius:23px!important}
  .cen-login-v138 .cen-login-logo{width:84px!important;height:84px!important}
  .cen-login-v138 .cen-login-form{padding:16px!important;border-radius:19px!important}
}

/* Formulaires administratifs cohérents et lisibles. */
main form:not(.inline-form):not(.search-form) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main form:not(.inline-form):not(.search-form) select,main form:not(.inline-form):not(.search-form) textarea{border-radius:12px!important;border:1px solid #cddbd3!important;background:#fff!important;transition:border-color .18s ease,box-shadow .18s ease!important}
main form:not(.inline-form):not(.search-form) input:focus,main form:not(.inline-form):not(.search-form) select:focus,main form:not(.inline-form):not(.search-form) textarea:focus{border-color:#1c9a61!important;box-shadow:0 0 0 4px rgba(28,154,97,.10)!important;outline:0!important}
