/* Portail multi-serveur : section « serveurs » de l'accueil (visible seulement à partir de 2 serveurs) + sélecteur des modales */
#serverList{grid-row-start:3;z-index:1;position:relative;padding:48px 20px 56px;background:linear-gradient(180deg,#292929,#1f1d20);border-top:1px solid #7c694b}
#serverList:not([hidden]) ~ footer{grid-row-start:4}
#serverList[hidden]{display:none}
#serverList h2{margin:0 0 28px;text-align:center;font-family:"Noto Serif",serif;font-size:28px;letter-spacing:.08em;text-transform:uppercase;color:#e8c66a}
#serverList .serverCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto}
#serverList .serverCard{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid #7c694b;border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(0,0,0,.35));box-shadow:0 4px 14px rgba(0,0,0,.4);color:#e6dbc9}
#serverList .serverCard.closed{opacity:.6}
#serverList .serverCard .serverHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
#serverList .serverCard h3{margin:0;font-size:20px;color:#f1e4c4}
#serverList .serverCard p{margin:0;font-size:14px;line-height:1.45;color:#cdbf9f}
#serverList .serverStatus{padding:3px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:#444}
#serverList .serverStatus.open{background:#2f7d32;color:#eaffea}
#serverList .serverStatus.soon{background:#b9770e;color:#fff4e0}
#serverList .serverStatus.closed{background:#6b3a3a;color:#ffe9e9}
#serverList .serverMeta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0}
#serverList .serverMeta div{display:flex;flex-direction:column}
#serverList .serverMeta dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9a8a6a}
#serverList .serverMeta dd{margin:0;font-size:16px;font-weight:700;color:#f1e4c4}
/* sélecteur dans les modales (fond parchemin) */
/* le CSS du portail met pointer-events:none sur les label.text (étiquettes flottantes des champs) : sans ceci le menu est cliquable nulle part */
.modal label.serverPick{display:block;margin-bottom:10px;pointer-events:auto}
.modal label.serverPick select{pointer-events:auto;cursor:pointer}
.modal label.serverPick select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #a8741f;border-radius:6px;background:#fff8e6;color:#5e463a;font:inherit}

/* message de retour d'auth.php dans les modales (erreur de connexion, déconnexion, mot de passe envoyé…) */
.modal .authBanner{margin:0 0 14px;padding:10px 12px;border-radius:6px;font-size:14px;line-height:1.4;border:1px solid}
.modal .authBanner.error{background:#fde8e8;border-color:#c0392b;color:#7a1f14}
.modal .authBanner.ok{background:#e6f4e6;border-color:#4f9a4f;color:#1f5a1f}

/* même messages dans une page du portail (page « mot de passe oublié ») */
.forgotPage .authBanner{display:inline-block;max-width:560px;margin:8px auto 0;padding:14px 18px;border-radius:6px;font-size:16px;line-height:1.5;border:1px solid}
.forgotPage .authBanner.error{background:#fde8e8;border-color:#c0392b;color:#7a1f14}
.forgotPage .authBanner.ok{background:#e6f4e6;border-color:#4f9a4f;color:#1f5a1f}

/* page d'activation (index.php?module=activation) */
.activationPage .actSteps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0 0 24px;padding:0;justify-content:center;counter-reset:step}
.activationPage .actSteps li{counter-increment:step;color:#9a8a6a;font-weight:600}
.activationPage .actSteps li:before{content:counter(step);display:inline-block;width:24px;height:24px;line-height:24px;margin-inline-end:8px;border:1px solid #7c694b;border-radius:50%;text-align:center;font-size:13px}
.activationPage .actSteps li.on{color:#e8c66a}.activationPage .actSteps li.on:before{background:#cba467;color:#2e1a0b;border-color:#e6c27d}
.activationPage .actSteps li.done:before{background:#2f7d32;border-color:#7fc46f;color:#fff}
.activationPage .actTribes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.activationPage .actCard{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid rgba(124,105,75,.7);border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(0,0,0,.3));cursor:pointer;text-align:center}
.activationPage .actCard input,.activationPage .actSector input{position:absolute;opacity:0;pointer-events:none}
.activationPage .actCard.sel,.activationPage .actSector.sel{border-color:#e6c27d;box-shadow:0 0 0 2px rgba(230,194,125,.45),0 0 18px rgba(230,194,125,.25)}
.activationPage .actCard img{width:96px;height:96px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.activationPage .actCard h3{margin:0;color:#f1e4c4}.activationPage .actCard p{margin:0;font-size:13px;line-height:1.45;color:#cdbf9f;white-space:normal}
.activationPage .actRec{display:inline-block;margin-inline-start:6px;padding:1px 8px;border-radius:999px;background:#2f7d32;color:#eaffea;font-size:11px;font-style:normal;font-weight:700;letter-spacing:.04em}
.activationPage .actSectors{display:grid;grid-template-columns:repeat(2,minmax(140px,220px));gap:14px;justify-content:center}
.activationPage .actSector{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:110px;padding:14px;border:1px solid rgba(124,105,75,.7);border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(0,0,0,.3));cursor:pointer;font-weight:700;color:#f1e4c4}
.activationPage .actActions{display:flex;gap:12px;justify-content:center;margin:24px 0 0}
.activationPage .actActions button.secondary{opacity:.8}
.activationPage .actSummary{margin:0 auto;border-collapse:collapse;min-width:320px}
.activationPage .actSummary th,.activationPage .actSummary td{padding:10px 18px;border:1px solid rgba(124,105,75,.6);text-align:start}
.activationPage .actSummary th{background:rgba(203,164,103,.14);color:#e8c66a}
.activationPage .actCodeForm{text-align:center}.activationPage .actCodeForm input[type=text]{width:320px;max-width:100%;padding:10px 12px;border:1px solid #7c694b;border-radius:6px;background:#0f121a;color:#f1e4c4;font:inherit;text-align:center;letter-spacing:.08em}
.activationPage .contentWrapper{text-align:center}
.activationPage .authBanner{display:inline-block;max-width:560px;margin:8px auto 0;padding:14px 18px;border-radius:6px;font-size:16px;border:1px solid}
.activationPage .authBanner.error{background:#fde8e8;border-color:#c0392b;color:#7a1f14}
/* liste d'erreurs d'inscription dans la fenêtre */
.modal .authBanner ul{margin:0;padding-inline-start:18px;text-align:start}

/* le CSS du portail met pointer-events:none sur les <label> : sans ceci les cartes de peuple / région ne reçoivent aucun clic */
.activationPage label.actCard,.activationPage label.actSector{pointer-events:auto!important;cursor:pointer}
.activationPage .actCard:hover,.activationPage .actSector:hover{border-color:#e6c27d}
#serverList .serverLink{margin:6px 0 0;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
#serverList .serverDot{width:10px;height:10px;border-radius:50%;background:#888;flex:none}
#serverList .serverLink.up{color:#7fd67f}
#serverList .serverLink.up .serverDot{background:#3fcf3f;box-shadow:0 0 6px #3fcf3f}
#serverList .serverLink.down{color:#ff8f8f}
#serverList .serverLink.down .serverDot{background:#d33}
header .headerContainerEnd.hasLogout{display:flex;justify-content:flex-end;align-items:center;gap:10px}
header .headerContainerEnd.hasLogout>button.login{margin-inline:0;min-width:0}
header .headerContainerEnd.hasLogout>button.login:last-child{margin-inline-end:var(--pagePadding)}
header #portalLogout[hidden]{display:none}

#serverList .serverCard p.serverReg b{color:#9fd8a2}
#serverList .serverCard p.serverReg.closed b{color:#e8a3a3}
.activationPage .actCard.disabled{opacity:.45;filter:grayscale(1);cursor:not-allowed}.activationPage .actCard.disabled:hover{transform:none;border-color:rgba(124,105,75,.7)}.activationPage .actSoon{display:inline-block;margin-inline-start:6px;padding:1px 8px;border-radius:999px;background:#6b3a3a;color:#ffe9e9;font-size:11px;font-style:normal;font-weight:700}
