body.jaz-auth { --auth-user-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23dfcaa7%22%20stroke-width%3D%221.55%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-2a8%208%200%200%201%2016%200v2%22%2F%3E%3C%2Fsvg%3E"); --auth-device-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23dfcaa7%22%20stroke-width%3D%221.55%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%223%22%20width%3D%2217%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%2021h8m-4-5v5M15%2010h7m-3-3%203%203-3%203%22%2F%3E%3C%2Fsvg%3E"); --auth-work-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23dfcaa7%22%20stroke-width%3D%221.55%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203-3h4l2%203h6a3%203%200%200%201%203%203v8a3%203%200%200%201-3%203H6a3%203%200%200%201-3-3Z%22%2F%3E%3Cpath%20d%3D%22M8%2012v5m4-3v3m4-6v6%22%2F%3E%3C%2Fsvg%3E"); }
/* Jazimut — connexion et identification, theme sombre unique. */
body.jaz-auth {
 --auth-font:'Segoe UI',Inter,Arial,sans-serif;
 --auth-text:#e7e9ef; --auth-muted:#a6afbf; --auth-gold:#e3ceaa; --auth-line:#ffffff18;
 color-scheme:dark; min-height:100vh; min-height:100svh; margin:0; padding:36px 28px;
 display:grid; place-items:center; box-sizing:border-box; overflow-x:hidden;
 color:var(--auth-text); font:400 14px/1.6 var(--auth-font); text-align:left;
 background:radial-gradient(ellipse at 16% 22%,#d4b78e18,transparent 48%),radial-gradient(ellipse at 90% 82%,#a18ac31b,transparent 48%),#191c23;
}
body.jaz-auth::before { content:''; position:fixed; width:520px; height:520px; right:-260px; top:-310px; border:1px solid #d3b98f12; border-radius:50%; pointer-events:none; }
body.jaz-auth :is(input,select,button,a) { -webkit-tap-highlight-color:transparent; }
body.jaz-auth :is(input,select,button,a):focus-visible { outline:2px solid #dac49e; outline-offset:3px; }
body.jaz-auth #fond { display:none; }
body.jaz-auth .boite_fixed { position:relative; inset:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,420px); align-items:center; gap:64px; width:min(100%,1000px); height:auto; min-height:calc(100svh - 72px); max-width:1000px; margin:0 auto; padding:0; box-sizing:border-box; }
body.jaz-auth .bienvenue { position:relative; z-index:1; width:100%; max-width:480px; margin:0; padding:0; text-align:left; }
body.jaz-auth .bienvenue::before { content:'JAZIMUT'; display:block; margin-bottom:22px; color:#d8c49f; font:600 12px/1.5 var(--auth-font); letter-spacing:3.5px; }
body.jaz-auth .bienvenue::after { content:''; position:absolute; width:180px; height:180px; right:10px; bottom:-90px; background:var(--auth-work-icon) center/contain no-repeat; opacity:.055; transform:rotate(-10deg); pointer-events:none; }
body.jaz-auth .bienvenue h1 { margin:0 0 24px; padding:0; color:#eee7db; font:550 clamp(32px,4vw,49px)/1.12 var(--auth-font); letter-spacing:-1.3px; text-shadow:none; }
body.jaz-auth .bienvenue h1 span { font:inherit; }
body.jaz-auth .bienvenue p { max-width:39ch; margin:0; padding:0; color:#b0b6c4; font:400 15px/1.8 var(--auth-font); text-shadow:none; }
body.jaz-auth .bienvenue a { color:#d4c1a3; }
body.jaz-auth #grande_boite { position:relative; z-index:1; width:100%; max-width:420px; margin:0; padding:0; box-sizing:border-box; }
body.jaz-auth #grande_boite > form { margin:0; }
body.jaz-auth .boite,body.jaz-auth #bloc_texte { position:relative; width:100%; max-width:none; margin:0; padding:30px; border:7px solid #51565f; border-radius:22px; background:radial-gradient(ellipse at 50% 0,#ccb3e313,transparent 70%),linear-gradient(145deg,#32363f,#282d36); color:var(--auth-text); box-shadow:0 24px 70px #0006,inset 0 1px #ffffff12; box-sizing:border-box; text-align:left; }
body.jaz-auth .boite .img { width:68px; height:68px; max-width:none; margin:0 auto 18px; border:1px solid #e0c79f2c; border-radius:19px; background:var(--auth-user-icon) center/36px no-repeat,linear-gradient(145deg,#e0c79f19,#e0c79f06); box-shadow:0 5px 22px #e0c79f0a,inset 0 1px #ffffff11; }
body.jaz-auth .boite .img::before { display:none; }
body.jaz-auth .jaz-auth-heading { margin:0 0 5px; padding:0; text-align:center; color:#eee9df; font:600 23px/1.3 var(--auth-font); letter-spacing:-.3px; }
body.jaz-auth .zone_connexion .jaz-auth-intro { margin:0 0 24px; color:var(--auth-muted); text-align:center; font:400 12px/1.6 var(--auth-font); }
body.jaz-auth .jaz-auth-label { display:block; margin:15px 0 6px; color:#bdc7d6; font:500 12px/1.4 var(--auth-font); }
body.jaz-auth .input_identification,body.jaz-auth .FORMchamp { display:block; width:100%; min-height:46px; height:auto; margin:0; padding:12px 13px; border:1px solid #78859c50; border-radius:8px; background:#1e232c; box-shadow:inset 0 2px 5px #0002; color:#e0e6ef !important; font:400 14px/1.4 var(--auth-font); box-sizing:border-box; transition:border-color .15s,box-shadow .15s; }
body.jaz-auth .input_identification + .input_identification { margin-top:13px; }
body.jaz-auth :is(.input_identification,.FORMchamp)::placeholder { color:#7e8c9f; opacity:1; }
body.jaz-auth :is(.input_identification,.FORMchamp):focus { border-color:#d4bc92; outline:2px solid #d4bc922b; outline-offset:1px; box-shadow:0 0 0 3px #d4bc9208; }
body.jaz-auth :is(.input_identification,.FORMchamp):-webkit-autofill { -webkit-box-shadow:0 0 0 100px #232b37 inset; -webkit-text-fill-color:#e0e6ef; caret-color:#e0e6ef; }
body.jaz-auth .input_button,body.jaz-auth .FORMvalide { display:block; width:100%; min-height:45px; margin:20px 0 0; padding:12px 16px; border:1px solid #edd9b95c; border-radius:8px; color:#292b32; background:linear-gradient(130deg,#e5d2b2,#cdb28d); box-shadow:0 4px 12px #0003,inset 0 1px #ffffff26; font:600 14px/1.4 var(--auth-font); text-align:center; cursor:pointer; box-sizing:border-box; transition:filter .15s,box-shadow .15s; }
body.jaz-auth :is(.input_button,.FORMvalide):hover { filter:brightness(1.07); box-shadow:0 6px 18px #0004,inset 0 1px #ffffff35; }
body.jaz-auth .zone_liens { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 13px; margin:22px 0 0; padding:16px 0 0; border-top:1px solid var(--auth-line); list-style:none; }
body.jaz-auth .zone_liens > li { width:auto; margin:0; padding:0; }
body.jaz-auth .zone_liens > li:first-child { flex-basis:100%; margin-bottom:5px; text-align:center; }
body.jaz-auth .zone_liens > li > a { color:#9ca9bd; font:400 10px/1.5 var(--auth-font); text-decoration:none; }
body.jaz-auth .zone_liens > li:first-child > a { color:#d7c5a7; font-size:12px; }
body.jaz-auth .zone_liens > li > a:hover { color:#e6d5b9; text-decoration:underline; text-underline-offset:3px; }
body.jaz-auth .boite_fixed._3col { grid-template-columns:minmax(0,1fr) minmax(340px,420px); row-gap:20px; }
body.jaz-auth .boite_fixed._3col .zone_messages { grid-column:1/-1; grid-row:1; width:100%; }
body.jaz-auth .boite_fixed._3col :is(.bienvenue,#grande_boite) { grid-row:2; }
body.jaz-auth .boite_fixed._1col { grid-template-columns:minmax(0,1fr); max-width:700px; min-height:0; }
body.jaz-auth .zone_messages { z-index:1; min-width:0; }
body.jaz-auth :is(.messageNO,.messageYES,.message_erreur,.message_valide) { width:100%; max-width:none; margin:0 0 14px; padding:18px 20px; border:1px solid #c9a2ac33; border-left:3px solid #c18f9b; border-radius:10px; color:#dac5cb; background:#352c36; box-shadow:0 4px 20px #0002; font:400 13px/1.65 var(--auth-font); box-sizing:border-box; text-align:left; }
body.jaz-auth :is(.messageYES,.message_valide) { border-color:#96baa333; border-left-color:#96baa3; background:#283732; color:#bfd4c8; }
body.jaz-auth :is(.messageNO,.messageYES) .zone-img { display:none; }
body.jaz-auth :is(.messageNO,.messageYES,.message_erreur,.message_valide) :is(h1,h2,h3) { margin:0 0 8px; color:inherit; font:600 17px/1.4 var(--auth-font); text-shadow:none; }
body.jaz-auth :is(.messageNO,.messageYES,.message_erreur,.message_valide) p { margin:6px 0; color:inherit; font:400 13px/1.65 var(--auth-font); }

/* Verification de l'ordinateur, code et redirection. */
body.jaz-auth-session #bloc { position:relative; display:grid; grid-template-columns:minmax(0,420px); align-items:center; justify-content:center; gap:30px; width:min(100%,1000px); min-height:calc(100svh - 72px); margin:0; padding:0; box-sizing:border-box; }
body.jaz-auth-session #bloc:has(#bloc_message) { grid-template-columns:minmax(0,1fr) minmax(330px,420px); gap:50px; }
body.jaz-auth-session #bloc_identification { position:relative; display:block; width:100%; max-width:420px; margin:0; padding:0; font-family:var(--auth-font); }
body.jaz-auth-session .illustration_top { display:block; visibility:visible; width:68px; height:68px; margin:0 auto -42px; padding:0; position:relative; z-index:2; border:1px solid #d4be9e33; border-radius:19px; background:var(--auth-device-icon) center/36px no-repeat,linear-gradient(145deg,#454349,#363940); box-shadow:0 7px 19px #0003,inset 0 1px #ffffff13; box-sizing:border-box; }
body.jaz-auth-session .illustration_top img { display:none; }
body.jaz-auth-session #bloc_texte { padding-top:68px; text-align:center; }
body.jaz-auth-session .titre_1 { margin:0 0 18px; color:#e5e8ef; font:600 23px/1.35 var(--auth-font); letter-spacing:-.3px; }
body.jaz-auth-session #bloc_texte p { margin:12px 0; color:#acb8c9; font:400 13px/1.65 var(--auth-font); }
body.jaz-auth-session #bloc_texte .jaz-auth-session-name { display:none; }
body.jaz-auth-session #connexion_chrono { display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:72px; min-height:36px; margin:0 0 6px; padding:7px 13px; border:1px solid #bfa8dd30; border-radius:8px; color:#d2c4e7; background:#bfa8dd12; font:600 15px/1.5 var(--auth-font); cursor:default; box-sizing:border-box; }
body.jaz-auth-session .jaz-auth-progress { height:5px; width:100%; margin:22px 0 6px; border-radius:4px; background:#151b2570; overflow:hidden; }
body.jaz-auth-session .jaz-auth-progress > span { display:block; width:35%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#b6a2d2,#dcc49d); animation:jaz-auth-loading 1.6s ease-in-out infinite; }
body.jaz-auth-session #bloc_pied { border:0; padding:0; margin:0; color:#8a98ad; font:400 11px/1.6 var(--auth-font); }
body.jaz-auth-session #bloc_pied:has(b) { border-top:1px solid var(--auth-line); padding-top:17px; margin-top:23px; }
body.jaz-auth-session #bloc_pied b { color:#aab9cc; font-weight:500; }
body.jaz-auth-session #bloc_message { position:relative; display:block; width:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#b5bfce; font:400 14px/1.7 var(--auth-font); }
body.jaz-auth-session #bloc_message h3 { margin:0 0 18px; color:#e2d4bc; font:550 29px/1.2 var(--auth-font); letter-spacing:-.5px; }
body.jaz-auth-session #bloc_message p { margin:10px 0; color:#aab5c7; font:400 14px/1.8 var(--auth-font); }
body.jaz-auth-session #bloc_message:empty { display:none; }
body.jaz-auth-session #bloc_texte form { margin:0 0 18px; }
body.jaz-auth-session #bloc_texte .FORMchamp { text-align:left; margin:10px 0 0; }
body.jaz-auth-session #bloc_texte #session_code { text-align:center; font-size:19px; letter-spacing:2px; }
body.jaz-auth-session #bloc_texte .FORMvalide { margin-top:10px; }
body.jaz-auth-session #time_limit_reste { display:block; margin:12px 0 0; color:#a8b7cb; font:400 12px/1.5 var(--auth-font); }
body.jaz-auth-session .FORMdejafait { opacity:.65; }
body.jaz-auth-session .FORMdejafait:is(:hover,:focus-within) { opacity:1; }
body.jaz-auth-session .FORMdejafait .FORMvalide { background:#424b5b; border-color:#aabbd52e; color:#d3dfeb; }
@keyframes jaz-auth-loading { from { transform:translateX(-110%); } to { transform:translateX(400%); } }
@media(max-width:760px) {
 body.jaz-auth { padding:28px 18px; }
 body.jaz-auth .boite_fixed,body.jaz-auth .boite_fixed._3col { grid-template-columns:minmax(0,1fr); gap:28px; min-height:0; width:100%; max-width:440px; }
 body.jaz-auth .boite_fixed._3col :is(.bienvenue,#grande_boite),body.jaz-auth .boite_fixed._3col .zone_messages { grid-column:auto; grid-row:auto; }
 body.jaz-auth .bienvenue { max-width:none; margin:0; padding:0 7px; text-align:left; }
 body.jaz-auth .bienvenue::before { margin-bottom:12px; }
 body.jaz-auth .bienvenue::after { display:none; }
 body.jaz-auth .bienvenue h1 { margin-bottom:14px; font-size:32px; letter-spacing:-.8px; }
 body.jaz-auth .bienvenue p { font-size:13px; line-height:1.7; }
 body.jaz-auth #grande_boite { max-width:none; }
 body.jaz-auth .boite,body.jaz-auth #bloc_texte { padding:25px 22px; border-width:6px; border-radius:18px; }
 body.jaz-auth-session #bloc,body.jaz-auth-session #bloc:has(#bloc_message) { grid-template-columns:minmax(0,420px); min-height:calc(100svh - 56px); gap:28px; }
 body.jaz-auth-session #bloc:has(#bloc_message) { min-height:0; padding-top:6px; }
 body.jaz-auth-session #bloc_texte { padding-top:67px; }
 body.jaz-auth-session #bloc_message h3 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { body.jaz-auth * { transition:none !important; } body.jaz-auth-session .jaz-auth-progress > span { animation:none; transform:none; width:100%; } }

/* Messages de connexion dans la carte : aucune rangee supplementaire. */
body.jaz-auth .zone_messages { width:100%; max-width:none; margin:0; padding:0; box-sizing:border-box; }
body.jaz-auth .zone_connexion .zone_messages { margin:18px 0; }
body.jaz-auth .zone_messages > :is(.messageNO,.messageYES) { display:block; align-items:initial; justify-content:initial; margin:0; padding:14px 15px; border-radius:9px; box-shadow:none; }
body.jaz-auth .zone_messages > :is(.messageNO,.messageYES) + :is(.messageNO,.messageYES) { margin-top:10px; }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) > div { display:block; width:100%; margin:0; padding:0; text-align:left; }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) .zone-img { display:none; }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) .message-sec { margin-top:12px; padding-top:12px; border-top:1px solid #c9a2ac26; }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) h2 { margin:0 0 6px; padding:0; color:inherit; font:600 14px/1.45 var(--auth-font); }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) .message-sec h2 { font-size:12px; }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) p { margin:0; padding:0; color:inherit; font:400 12px/1.6 var(--auth-font); }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) b { font-weight:600; }
body.jaz-auth .zone_messages :is(.messageNO,.messageYES) a { color:inherit; text-underline-offset:3px; overflow-wrap:anywhere; }
body.jaz-auth .boite_fixed._1col .zone_messages { max-width:600px; margin:auto; }
