:root{--paper:#f4f2ea;--white:#fff;--ink:#242321;--muted:#74736d;--red:#bd303b;--line:#dfdcd2;--soft:#efede4;--radius:28px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}.shell{width:min(100% - 36px,900px);margin:34px auto 60px}.narrow{width:min(100% - 36px,680px)}.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:34px}.eyebrow{font-size:.82rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--red);margin:0 0 12px}.logo{font-weight:950;font-size:1.3rem;color:var(--red);border:2px solid var(--red);border-radius:50%;padding:10px 8px;line-height:1}.topline h1{margin:.3rem 0 0}h1{font-size:clamp(2.4rem,8vw,4.3rem);line-height:1.02;letter-spacing:-.055em;margin:.2rem 0 1.2rem;font-weight:850}h2{font-size:clamp(1.45rem,4vw,2.1rem);line-height:1.15;letter-spacing:-.035em;margin:.2rem 0 .6rem}.red{color:var(--red)}.lead{font-size:clamp(1.05rem,3vw,1.35rem);color:var(--muted);margin:0 0 28px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,5vw,42px);margin:22px 0}.stack{display:flex;flex-direction:column;gap:18px}.stack h2:not(:first-child){margin-top:16px}.muted{color:var(--muted)}.small{font-size:.88rem}.section{margin-top:52px}.section>h2{margin-bottom:20px}.primary,.secondary,.pill{font:inherit;border-radius:999px;padding:13px 18px;border:1px solid var(--line);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--red);border-color:var(--red);color:white;font-weight:750;padding:16px 22px;width:100%;min-height:58px}.primary:hover{filter:brightness(.95)}.secondary,.pill{background:white;color:var(--ink)}.pill{white-space:nowrap}.pill.active{background:var(--ink);color:white;border-color:var(--ink)}label{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:.95rem}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:14px 15px;min-height:52px;outline-offset:2px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #bd303b55;border-color:var(--red)}input[type=file]{padding:10px;font-size:.9rem}input[type=checkbox]{width:20px;min-height:20px;flex:0 0 20px;accent-color:var(--red)}.consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:450;gap:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.list{display:flex;flex-direction:column;gap:12px}.listitem{background:white;border:1px solid var(--line);border-radius:22px;padding:20px}.listhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.listhead p{margin:5px 0 0}.status{background:var(--soft);border-radius:999px;padding:5px 10px;font-size:.78rem;white-space:nowrap}.linkbox{display:flex;gap:8px;margin-top:14px}.linkbox input{min-width:0;font-size:.8rem}.linkbox button{flex-shrink:0}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.detailgrid p{overflow-wrap:anywhere}.inlineform,.buttonrow{display:flex;gap:8px;flex-wrap:wrap}.signature-wrap{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;touch-action:none}.signature-wrap canvas{display:block;width:100%;height:170px;touch-action:none}.notice,.error{border-radius:14px;padding:12px 15px;background:#fff1f0;color:#92232b}.notice{background:#edf6ed;color:#245a2b}.success{text-align:left;margin-top:10vh}.checkmark{display:grid;place-items:center;border-radius:50%;width:52px;height:52px;background:#edf6ed;color:#245a2b;font-size:1.7rem;font-weight:800;margin-bottom:24px}details{margin-top:16px}summary{cursor:pointer;font-weight:700}footer{margin-top:36px}@media(max-width:600px){.shell{width:min(100% - 28px,900px);margin:22px auto 40px}.narrow{width:min(100% - 28px,680px)}.two{grid-template-columns:1fr}.topline{margin-bottom:25px}.listhead{flex-direction:column}.linkbox{flex-direction:column}.detailgrid{grid-template-columns:1fr}.card{border-radius:24px}.filters .pill{padding:10px 13px;font-size:.9rem}}
/* Identité visuelle CGT FAPT */
:root{--paper:#f7f4eb;--ink:#171717;--muted:#5e5c57;--red:#e30613;--line:#e0d9c8;--soft:#fff8d8;--yellow:#ffd500}
body{background:var(--paper)}.eyebrow{color:var(--red)}.red{color:var(--red)}.primary{background:var(--red);border-color:var(--red)}.primary:hover{filter:brightness(.93)}.metric{border-top:4px solid var(--yellow)}
.brand-logo{display:block;width:min(180px,38vw);height:auto;object-fit:contain;margin-bottom:20px}
.shell:before{content:"CGT FAPT · ACTIVITÉS POSTALES & TÉLÉCOMS";display:block;background:var(--yellow);color:#111;font-size:.72rem;font-weight:900;letter-spacing:.11em;padding:7px 12px;margin:-8px 0 22px;border-radius:0 0 12px 12px;width:max-content;max-width:100%}

/* En-tête CGT FAPT harmonisé sur toutes les pages */
.brand-logo{display:block;width:min(220px,52vw);height:auto;max-height:150px;object-fit:contain;object-position:left center;margin:0 0 24px}
.shell:before{display:none}
.topline{align-items:flex-start}
@media(max-width:600px){.brand-logo{width:min(175px,58vw);max-height:120px;margin-bottom:20px}}

/* Espacement supplémentaire sous les champs du formulaire de connexion */
form input[name="password"]{margin-bottom:12px}
form:has(input[name="password"]) button[type="submit"]{margin-top:10px}

/* Estimation dynamique de la cotisation syndicale */
.contribution-summary{background:#fff8d8;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:14px;padding:12px 16px}
.contribution-summary p{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:5px 0}
.contribution-summary strong{white-space:nowrap;font-size:1.05rem}
@media(max-width:420px){.contribution-summary p{flex-direction:column;gap:2px}}
