:root{--ink:#182238;--muted:#667085;--green:#16806c;--green-dark:#0d5b4d;--green-soft:#e8f6f2;--orange:#ec8b25;--red:#c43d4d;--line:#dce3e8;--paper:#fff;--bg:#f5f7f8;--shadow:0 12px 36px rgba(24,34,56,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}.site-header{min-height:94px;padding:12px max(4vw,20px);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:18px;color:var(--ink);text-decoration:none;font-weight:800}.brand-logos{display:flex;align-items:center;gap:8px}.brand-logos img{width:66px;height:66px;object-fit:contain}.brand-label{font-size:1.15rem}.site-header nav{display:flex;flex-wrap:wrap;gap:8px}.site-header nav a{padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:650}.site-header nav a:hover{background:var(--green-soft);color:var(--green-dark)}.container{width:min(1160px,calc(100% - 32px));margin:34px auto 70px}footer{padding:28px;text-align:center;color:var(--muted);background:#fff;border-top:1px solid var(--line)}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2rem,5vw,3.5rem);margin:.25rem 0 1rem}h2{font-size:1.65rem}.eyebrow{color:var(--green);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}.hero{padding:clamp(28px,7vw,72px);border-radius:28px;background:linear-gradient(125deg,#dff5ef,#fff0dc);box-shadow:var(--shadow);margin-bottom:34px}.hero.compact{padding:36px}.hero p,.form-intro p{max-width:720px;color:#445064;font-size:1.08rem}.page-title,.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-title h1{font-size:2.4rem}.btn,.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 17px;border-radius:11px;text-decoration:none;font:inherit;font-weight:750;cursor:pointer}.btn:hover,.button:hover{border-color:var(--green);color:var(--green-dark)}.btn.primary,.button{background:var(--green);border-color:var(--green);color:#fff}.btn.danger{color:var(--red)}.small-btn{padding:7px 10px;font-size:.85rem}.back{display:inline-block;color:var(--green-dark);font-weight:750;text-decoration:none;margin-bottom:8px}.alert{padding:16px 18px;border-radius:12px;margin:18px 0;background:#e8f0ff}.alert-success{background:#daf3e8;color:#075b45}.alert-warning{background:#fff1ce;color:#765300}.alert-error{background:#fee9eb;color:#8b2531}.form-card,.card{background:#fff;padding:clamp(20px,4vw,36px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);margin-bottom:26px}fieldset{border:0;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}legend{font-size:1.25rem;font-weight:850;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;font-weight:700}input,textarea,select{width:100%;border:1px solid #cbd5dd;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid rgba(22,128,108,.16);border-color:var(--green)}small,.muted{color:var(--muted);font-weight:500}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin-bottom:20px}.check{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-weight:600}.check input{width:auto;margin-top:5px}.consent{padding:16px;background:var(--green-soft);border-radius:12px;margin:0 0 22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;color:var(--ink);text-decoration:none}.stat strong{font-size:1.8rem;display:block}.stat span{color:var(--muted)}.filters{display:grid;grid-template-columns:1fr 230px auto;gap:10px;margin-bottom:18px}.admin-list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.person-row{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:16px;padding:14px 18px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.person-row:last-child{border-bottom:0}.person-row:hover{background:#fbfdfc}.person-main{display:flex;flex-direction:column}.person-main small{color:var(--muted)}.metrics{display:flex;gap:15px;color:var(--muted);font-size:.88rem}.arrow{font-size:1.8rem;color:var(--green)}.avatar{overflow:hidden;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;color:var(--green-dark);font-weight:850}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.small{width:52px;height:52px}.avatar.large{width:132px;height:132px;flex:none}.badge{display:inline-flex;width:max-content;align-items:center;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:850}.status-application{background:#e8edf4;color:#43506a}.status-training{background:#fff0d6;color:#a45908}.status-approved{background:#d9f3e9;color:#08644d}.status-inactive{background:#eee;color:#666}.profile-admin-head{display:flex;align-items:center;gap:24px;margin-bottom:28px}.metric-note{padding:14px;border-radius:10px;background:var(--green-soft)}.training-list,.contact-list{display:grid;gap:10px;margin-bottom:22px}.training-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px}.training-row>div{display:flex;flex-direction:column}.inline-form{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr 1.3fr auto;align-items:end;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.contact-list article{border:1px solid var(--line);border-radius:12px;padding:16px}.contact-list article>div{display:flex;justify-content:space-between}.contact-list p{margin:.5rem 0}.empty{padding:45px;text-align:center;background:#fff;border-radius:16px;color:var(--muted)}.profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);color:var(--ink);text-decoration:none}.profile-card .photo{height:270px;background:#e3f1ed}.profile-card .photo img{width:100%;height:100%;object-fit:cover}.profile-card .content{padding:20px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.8rem;font-weight:750}.profile-layout{display:grid;grid-template-columns:340px 1fr;gap:30px}.profile-photo img{width:100%;border-radius:24px;aspect-ratio:4/5;object-fit:cover}.profile-sections{display:grid;gap:18px}.info-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.profile-card>img,.profile-card>.photo-placeholder{display:flex;width:100%;height:280px;object-fit:cover;align-items:center;justify-content:center;background:var(--green-soft);font-size:4rem;color:var(--green-dark);font-weight:850}.profile-content{padding:21px}.profile-content h2{margin:.7rem 0 .2rem}.profile-content .button{margin-top:14px}.badge.approved{background:#d9f3e9;color:#08644d}.meta{color:var(--muted)}.tags span{padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.8rem;font-weight:750}.public-profile{display:grid;grid-template-columns:330px 1fr;gap:28px;align-items:start}.profile-side{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.profile-side>img,.profile-side>.photo-placeholder{display:flex;width:100%;aspect-ratio:4/5;object-fit:cover;align-items:center;justify-content:center;border-radius:16px;background:var(--green-soft);font-size:4rem;color:var(--green-dark);font-weight:850}.profile-side h1{font-size:2.2rem}.wide{width:100%}.profile-details{display:grid;gap:18px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.detail-card h2{margin-top:0}
@media(max-width:850px){.brand-label{display:none}.site-header{align-items:flex-start;flex-direction:column}.brand-logos img{width:52px;height:52px}.site-header nav{width:100%}.container{width:min(100% - 20px,1160px);margin-top:20px}.form-grid,.check-grid,.stats,.profiles,.profile-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filters{grid-template-columns:1fr}.person-row{grid-template-columns:auto 1fr auto}.person-row .metrics,.person-row .badge{grid-column:2}.person-row .arrow{grid-column:3;grid-row:1}.inline-form{grid-template-columns:1fr 1fr}.inline-form .btn{grid-column:span 2}.profile-layout,.public-profile{grid-template-columns:1fr}.profile-side{position:static;max-width:420px}.profile-photo{max-width:380px}.page-title{flex-direction:column}.profile-admin-head{align-items:flex-start;flex-direction:column}}

.convention-action{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:20px;border-radius:15px;background:linear-gradient(125deg,#e8f6f2,#fff0dc);border:1px solid var(--line)}.convention-action p{margin:4px 0 0;color:var(--muted);font-weight:500}.convention-action .btn{flex:none}@media(max-width:700px){.convention-action{align-items:stretch;flex-direction:column}.convention-action .btn{width:100%}}
.document-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:700px){.document-actions{align-items:stretch;flex-direction:column}.document-actions .btn{width:100%}}

/* Identité visuelle commune à toutes les pages */
.brand-logos img{width:76px;height:76px}.brand-logos .logo-label{width:82px;height:82px}.site-footer{display:flex;flex-direction:column;align-items:center;gap:8px}.site-footer p{margin:0}.footer-logos{display:flex;align-items:center;justify-content:center;gap:18px}.footer-logos img{width:110px;height:100px;object-fit:contain}@media(max-width:850px){.brand-logos img,.brand-logos .logo-label{width:62px;height:62px}.footer-logos img{width:88px;height:80px}}
