/*
 * Écran de connexion « terrain » (identité visuelle LFPL, cf. willy/login).
 * Feuille externe : la CSP du .htaccess (style-src 'self') bloque toute
 * balise <style> et tout attribut style="…" dans les gabarits.
 */
/* --- Affiche de connexion « terrain » (identité visuelle LFPL, cf. willy/login) --- */
body.tl-body{margin:0;background:#16234a;}
.tl-page{--b:#2D427B;--b7:#202F58;--gold:#C19A2A;--text:#14172B;--muted:#55607A;--border:#D4D8E2;
  position:relative;min-height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;
  background:linear-gradient(165deg,#16234a 0%,#1D2B52 42%,#14306b 100%);
  font-family:'Segoe UI',Arial,sans-serif;color:var(--text);}
.tl-page *,.tl-page *::before,.tl-page *::after{box-sizing:border-box;}
.tl-pelouse{position:absolute;inset:0;z-index:0;opacity:.5;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 64px,rgba(255,255,255,0) 64px 128px);}
.tl-traces{position:absolute;inset:6vh 8vw;z-index:0;border:2px solid rgba(255,255,255,.10);border-radius:4px;}
.tl-traces::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.10);transform:translateX(-50%);}
.tl-traces::after{content:'';position:absolute;left:50%;top:50%;width:26vh;height:26vh;max-width:260px;max-height:260px;border:2px solid rgba(255,255,255,.10);border-radius:50%;transform:translate(-50%,-50%);}
.tl-halo{position:absolute;z-index:0;top:-28vh;left:50%;transform:translateX(-50%);width:90vw;height:70vh;pointer-events:none;background:radial-gradient(ellipse at center,rgba(193,154,42,.20),transparent 62%);}
.tl-tete,.tl-corps,.tl-pied{position:relative;z-index:1;}
.tl-tete{padding:22px 28px;display:flex;align-items:center;gap:14px;}
.tl-tete img{height:48px;width:auto;}
.tl-tete-txt{color:#fff;line-height:1.25;}
.tl-eyebrow{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);}
.tl-tete-txt strong{display:block;font-size:15px;font-weight:800;letter-spacing:.01em;}
.tl-corps{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;padding:20px 28px 40px;max-width:1180px;margin:0 auto;width:100%;}
.tl-accroche{color:#fff;}
.tl-accroche h1{font-size:clamp(30px,4.4vw,48px);line-height:1.08;font-weight:800;letter-spacing:-.02em;margin:0 0 18px;text-shadow:0 3px 18px rgba(0,0,0,.3);}
.tl-accroche h1 em{font-style:normal;color:var(--gold);}
.tl-accroche p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.82);max-width:48ch;margin:0;}
.tl-retour{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.75);font-size:13px;font-weight:600;text-decoration:none;margin-bottom:18px;}
.tl-retour:hover{color:#fff;}
.tl-carte{background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.34);padding:32px 30px;}
.tl-carte h1{font-size:20px;font-weight:800;color:var(--text);margin:0 0 4px;}
.tl-carte .sous{font-size:13.5px;color:var(--muted);margin:0 0 20px;}
.tl-carte .champ{margin-bottom:16px;}
.tl-carte .bouton--large{width:100%;margin-top:4px;}
.tl-liens{text-align:center;margin:16px 0 0;font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.tl-liens a{color:var(--b);font-weight:600;text-decoration:none;}
.tl-liens a:hover{text-decoration:underline;}
.tl-pied{padding:16px 28px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.10);}
.tl-pied a{color:rgba(255,255,255,.72);}
@media (max-width:900px){.tl-corps{grid-template-columns:1fr;gap:28px;}}
@media (max-width:640px){.tl-traces{inset:3vh 4vw;}.tl-tete{padding:18px 20px;}.tl-corps{padding:16px 20px 32px;}.tl-carte{padding:26px 22px;}.tl-pied{padding:14px 20px;font-size:11.5px;}}
@media (prefers-reduced-motion:reduce){.tl-page *{animation:none!important;transition:none!important;}}
