.acfportal-front{--navy:#082f43;--blue:#3157e8;--line:#dbe4e8;max-width:1180px;margin:34px auto;padding:0 18px}.acfportal-front-head{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#082f43,#164d63);color:#fff;padding:28px;border-radius:18px;margin-bottom:22px}.acfportal-kicker{text-transform:uppercase;font-size:12px;letter-spacing:.08em;opacity:.8}.acfportal-front-head h1,.acfportal-front-head .acfportal-page-heading{color:#fff;margin:4px 0 5px;font-size:34px}.acfportal-front-head p{margin:0;opacity:.86}.acfportal-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:0;border-radius:9px;padding:11px 16px;background:#3157e8;color:#fff!important;font-weight:800;cursor:pointer}.acfportal-btn.secondary{background:#fff;color:#082f43!important}.acfportal-ex-grid{display:grid;gap:18px}.acfportal-ex-card{background:#fff;border:1px solid var(--line);border-left:5px solid #3157e8;border-radius:14px;padding:22px;box-shadow:0 2px 12px rgba(8,47,67,.05)}.acfportal-ex-card.status-revision{border-left-color:#d98200}.acfportal-ex-card.status-validated{border-left-color:#2d9b37}.acfportal-ex-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.acfportal-ex-card h2{margin:6px 0 0;color:#082f43}.acfportal-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef3ff;color:#3157e8;font-size:12px;font-weight:800}.status-revision .acfportal-status{background:#fff1dc;color:#9b6200}.status-validated .acfportal-status{background:#eaffdf;color:#247326}.acfportal-due{font-size:13px;color:#627680;text-align:right}.acfportal-desc{font-size:16px;color:#415861}.acfportal-instructions{background:#f7fafb;border:1px solid #e3eaed;border-radius:10px;padding:14px 16px;margin:14px 0}.acfportal-submit-form{display:grid;gap:12px;border-top:1px solid #edf1f3;margin-top:18px;padding-top:18px}.acfportal-submit-form label{display:grid;gap:6px;font-weight:700}.acfportal-submit-form textarea,.acfportal-submit-form input[type=file]{width:100%}.acfportal-help{font-size:12px;color:#70838c}.acfportal-submission-summary{background:#f7fafb;border-radius:10px;padding:13px 15px;margin:16px 0}.acfportal-trainer-comment{margin-top:10px;padding:10px 12px;background:#eef4ff;border-left:3px solid #3157e8}.acfportal-validated{margin-top:18px;padding:13px;border-radius:9px;background:#eaffdf;color:#1c6a20;font-weight:800}.acfportal-empty,.acfportal-alert{max-width:900px;margin:30px auto;padding:24px;border-radius:14px;background:#fff;border:1px solid #dbe4e8}.acfportal-supports-card{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;padding:20px;border-radius:14px;background:#eef4ff;border:1px solid #cbd9ff}.acfportal-supports-card strong{font-size:20px;color:#082f43}.acfportal-supports-card p{margin:5px 0 0}.acfportal-supports-card .acfportal-btn{white-space:nowrap}@media(max-width:700px){.acfportal-front-head,.acfportal-ex-top,.acfportal-supports-card{flex-direction:column;align-items:stretch}.acfportal-due{text-align:left}}

.acfportal-series{margin:-1px -1px 16px;padding:12px 16px;background:#eef6fb;border:1px solid #c9dce8;border-radius:12px 12px 8px 8px;display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap}.acfportal-series strong{color:#082f42}.acfportal-series span{font-weight:700;color:#31566a}.acfportal-series small{flex-basis:100%;color:#5b7180}

/* Forum privé par session */
.acfportal-forum-highlight,.acfportal-home-forum{margin-bottom:22px}.acfportal-forum-notice{margin:0 0 18px;padding:14px 16px;border:1px solid #c3e6cb;border-radius:10px;background:#f3fbf5;font-weight:600}.acfportal-forum-compose label{display:block;margin:0 0 14px;font-weight:600}.acfportal-forum-compose input[type="text"],.acfportal-forum-compose textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd7df;border-radius:8px;background:#fff}.acfportal-forum-posts{display:grid;gap:14px;margin:18px 0}.acfportal-forum-post{margin:0}.acfportal-forum-post.deleted{opacity:.72}.acfportal-forum-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.acfportal-forum-meta>span:not(.acfportal-status){font-size:.92em;opacity:.72}.acfportal-forum-post p{white-space:normal}.acfportal-forum .button-link-delete{font-size:.9em}

/* Accès stratégiques aux forums actifs */
.acfportal-forum-access{margin:24px 0;padding:20px;border:1px solid #cbd9ff;border-radius:14px;background:#f4f7ff}.acfportal-forum-access-head{margin-bottom:14px}.acfportal-forum-access-head strong{font-size:20px;color:#082f43}.acfportal-forum-access-head p{margin:5px 0 0}.acfportal-forum-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.acfportal-forum-access-card{background:#fff;border:1px solid #dbe4e8;border-left:5px solid #3157e8;border-radius:12px;padding:17px}.acfportal-forum-access-card h3{margin:9px 0 4px;color:#082f43;font-size:18px}.acfportal-forum-reference{margin:0 0 8px;color:#627680;font-size:13px}.acfportal-forum-access-card .acfportal-btn{margin-top:6px}


/* Espace apprenant */
.acfportal-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px}.acfportal-hub-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #dbe4e8;border-top:5px solid #3157e8;border-radius:14px;padding:22px;box-shadow:0 2px 12px rgba(8,47,67,.05)}.acfportal-hub-card h2{margin:10px 0 6px;color:#082f43}.acfportal-hub-card p{flex:1;margin:0 0 18px;color:#415861}.acfportal-home-space{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0;padding:22px;border:1px solid #cbd9ff;border-radius:14px;background:#f4f7ff}.acfportal-home-space strong{display:block;margin:4px 0 6px;font-size:22px;color:#082f43}.acfportal-home-space p{margin:0}.acfportal-home-space .acfportal-btn{white-space:nowrap}@media(max-width:850px){.acfportal-hub-grid{grid-template-columns:1fr}.acfportal-home-space{flex-direction:column;align-items:stretch}}

.acfportal-login-card{max-width:560px;margin:24px auto;padding:24px;border:1px solid #dcdcde;border-radius:14px;background:#fff}.acfportal-login-card label{display:block;font-weight:700;margin:0 0 6px}.acfportal-login-card input[type=text],.acfportal-login-card input[type=password]{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #c3c4c7;border-radius:7px}.acfportal-login-card .login-remember label{display:inline;font-weight:400}.acfportal-login-card .button-primary{padding:10px 18px;border:0;border-radius:7px;background:#3156e8;color:#fff;font-weight:700;cursor:pointer}

.acfportal-pdf-btn{gap:9px}.acfportal-pdf-icon{display:inline-flex;width:25px;height:25px;flex:0 0 25px}.acfportal-pdf-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.acfportal-pdf-icon text{fill:currentColor;stroke:none;font-size:6px;font-weight:800;font-family:Arial,sans-serif}

.acfportal-status-new{background:#fff1dc;color:#9b6200}.acfportal-forum-unread{border-left-color:#d98200;box-shadow:0 3px 16px rgba(217,130,0,.10)}

/* Forum : communication et pièces jointes */
.acfportal-home-forum-service{align-items:flex-start}.acfportal-home-forum-service strong{display:block;font-size:22px;margin:4px 0 6px}.acfportal-forum-file{margin-top:12px;padding:10px 12px;border:1px solid #d6dfe5;border-radius:9px;background:#f8fafb}.acfportal-forum-file a{font-weight:700}.acfportal-forum-compose input[type=file]{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #cfd7df;border-radius:8px;background:#fff}.acfportal-forum-attachment-help{font-size:13px;color:#657780}
