/* Page de connexion uniquement. L'identité de l'espace de gestion est conservée. */
.auth-page{--auth-green:#345b50;--auth-paper:#f6f7f4;min-height:100vh;min-height:100svh;background:var(--auth-paper);display:flex;flex-direction:column;padding:0 32px 24px;color:#182e43}
.auth-topbar{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;gap:24px;flex:none}
.auth-logo{display:block;width:207px;height:auto}.auth-topbar-note{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.3px;color:#63746c}.auth-topbar-note:before{content:"";width:6px;height:6px;border-radius:50%;background:#708d76}
.auth-shell{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:48px;flex:1;min-height:650px;max-width:1700px;width:100%;margin:0 auto}
.auth-story{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#182e43;color:#f7f8f5;padding:48px 52px 32px}
.auth-story:before{content:"";z-index:-1;position:absolute;width:650px;height:650px;right:-220px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,#52786435,transparent 65%)}
.auth-story .eyebrow{color:#c0d0cc;font-size:10px;letter-spacing:2.3px;display:flex;align-items:center;gap:10px}.auth-story .eyebrow:before{content:"";height:1px;width:25px;background:#d9ad70}
.auth-story h1{font-size:clamp(38px,3.55vw,62px);font-weight:600;line-height:1.13;letter-spacing:-2.2px;margin:27px 0 22px;max-width:600px}.auth-story h1 span{color:#bbd1bd}.auth-story-intro{font-size:14px;line-height:1.9;color:#c2d0d8;max-width:350px}
.auth-story-footer{display:flex;align-items:center;gap:9px;border-top:1px solid #ffffff17;margin-top:auto;padding-top:21px;color:#b9cbd1;font-size:11px;line-height:1.6}.auth-story-footer .icon{width:16px;height:16px;color:#b6ccb9}
.auth-illustration{position:relative;margin:35px auto 30px;max-width:450px;width:100%;height:230px;flex:none}
.auth-orbit{position:absolute;left:50%;top:50%;width:205px;height:205px;border:1px solid #ffffff10;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 40px #ffffff04,0 0 0 80px #ffffff02}
.auth-connection{position:absolute;left:22%;top:46%;height:1px;width:56%;background:#c7d9cd33;transform:rotate(-23deg)}
.auth-note{position:absolute;width:238px;padding:23px 24px;border-radius:15px;background:#f4f6f2;color:#203d42;box-shadow:0 14px 50px #071a2120}
.auth-note-students{left:8px;top:13px;transform:rotate(-5deg)}.auth-note-staff{right:4px;bottom:6px;transform:rotate(5deg);background:#e2eadf}
.auth-note-head{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.5px;font-weight:700;color:#5e7467}.auth-note-head .icon{height:15px;width:15px}.auth-note strong{font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.4px;display:block;margin-top:14px}.auth-note-lines{display:flex;gap:5px;align-items:center;margin-top:17px}.auth-note-lines i{height:4px;background:#bdcebf;width:44px;border-radius:5px}.auth-note-lines i:last-child{width:22px;background:#d6af72}
.auth-form-column{display:flex;align-items:center;justify-content:center;padding:40px 28px 34px 0;min-width:0}.auth-form-wrap{max-width:368px;width:100%}.auth-form-wrap>.eyebrow{font-size:10px;letter-spacing:2.1px;color:#597363;margin-bottom:15px}.auth-form-wrap h2{font-size:32px;font-weight:650;letter-spacing:-1px;line-height:1.25;margin:0 0 13px}.auth-description{font-size:13px;line-height:1.8;color:#657582;max-width:320px;margin-bottom:33px}
.auth-form .auth-field{margin-bottom:21px}.auth-form label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.auth-form input{width:100%;border:1px solid #7b8e94;background:#fff;border-radius:9px;padding:14px 15px;color:#182e43;font-size:14px;min-height:49px;transition:border-color .15s,box-shadow .15s}.auth-form input::placeholder{color:#5e7280;opacity:1}.auth-form input:focus{border-color:#557c70;box-shadow:0 0 0 3px #557c7014;outline:none}.auth-form input:focus-visible{outline:2px solid #557c70;outline-offset:3px}.auth-form input[aria-invalid=true]{border-color:#af665e}
.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:53px}.auth-password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:7px;background:transparent;color:#62746f}.auth-password-toggle:hover{background:#edf2ed;color:#254b40}.auth-password-toggle svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth-password-toggle[hidden]{display:none!important}.auth-caps{font-size:11px;color:#986b26;margin-top:9px;line-height:1.5}.auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:15px;background:#182e43;color:#fff;font-size:13px;font-weight:600;border-radius:9px;min-height:49px;transition:background .15s,box-shadow .15s;margin-top:27px}.auth-submit .icon{width:17px;height:17px}.auth-submit:hover{background:#2b4e62;box-shadow:0 4px 12px #182e4310}.auth-submit:disabled{background:#73808a;cursor:default;box-shadow:none}.auth-submit[aria-busy=true] .icon{opacity:.5}
.auth-feedback{border:1px solid #e7d3ce;background:#fbefeb;color:#8c4038;padding:13px 15px;border-radius:9px;font-size:12px;line-height:1.65;margin-bottom:22px}.auth-feedback strong{display:block;font-weight:650;margin-bottom:2px}.auth-feedback.locked{background:#fbf2e1;border-color:#e8d8b9;color:#805f28}.auth-feedback:focus{outline:2px solid #9d655c;outline-offset:3px}.auth-feedback a{text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-top:5px}
.auth-help{margin-top:25px;border-top:1px solid #dee4df;padding-top:20px;font-size:11px;color:#63746d;line-height:1.8}.auth-help summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.auth-help summary::-webkit-details-marker{display:none}.auth-help summary:after{content:"+";font-size:18px;color:#748b7b;font-weight:400}.auth-help[open] summary:after{content:"−"}.auth-help p{padding:11px 0 0;font-size:12px;color:#5c7065}.auth-form-footer{display:flex;align-items:center;gap:7px;color:#607166;font-size:10px;margin-top:30px;line-height:1.5}.auth-form-footer .icon{width:13px;height:13px}.auth-page-footer{max-width:1700px;width:100%;margin:20px auto 0;display:flex;justify-content:space-between;gap:15px;padding:0 12px;font-size:10px;color:#5b7064;line-height:1.6}
@media(min-width:1500px){.auth-page{padding:0 40px 28px}.auth-topbar{height:110px}.auth-story{padding:60px 65px 35px}.auth-shell{gap:85px}.auth-form-wrap{max-width:390px}.auth-illustration{height:265px;margin-top:45px;margin-bottom:42px}.auth-note-students{top:26px}.auth-note-staff{bottom:20px}.auth-story-intro{font-size:15px}.auth-form-wrap h2{font-size:35px}}
@media(max-width:1100px){.auth-shell{gap:28px;min-height:640px}.auth-story{padding:37px 30px 28px}.auth-story h1{font-size:40px;letter-spacing:-1.5px}.auth-form-column{padding-right:12px;padding-left:10px}.auth-illustration{height:210px;margin-top:30px}.auth-note{width:195px;padding:20px}.auth-note strong{font-size:18px}.auth-note-students{left:0}.auth-note-staff{right:0}.auth-story-footer{font-size:10px}.auth-form-wrap h2{font-size:28px}.auth-page{padding:0 24px 20px}}
@media(max-width:800px){.auth-page{padding:0 24px 22px}.auth-topbar{height:86px;padding:0}.auth-logo{width:183px}.auth-topbar-note{font-size:10px}.auth-shell{grid-template-columns:1fr;gap:0;min-height:0;flex:1}.auth-story{display:none}.auth-form-column{padding:45px 0 65px;align-items:center}.auth-form-wrap{max-width:390px}.auth-form-wrap h2{font-size:32px}.auth-form-wrap>.eyebrow{font-size:10px}.auth-form-wrap .auth-description{font-size:14px}.auth-form label{font-size:13px}.auth-form input{font-size:16px;min-height:51px}.auth-submit{font-size:14px}.auth-page-footer{padding:0;gap:15px}.auth-form-footer{font-size:11px}.auth-help summary{font-size:13px}}
@media(max-width:420px){.auth-page{padding:0 23px 20px}.auth-topbar{height:80px}.auth-logo{width:170px}.auth-topbar-note{display:none}.auth-form-column{padding:40px 0 48px;align-items:start}.auth-form-wrap h2{font-size:29px}.auth-description{margin-bottom:28px}.auth-page-footer{flex-direction:column;gap:3px}.auth-form-footer{margin-top:25px}.auth-help{margin-top:23px}}
/* La hauteur disponible compte autant que la largeur (portable, zoom navigateur). */
.auth-topbar{max-width:1700px;width:100%;margin:0 auto}
.auth-shell{min-height:0}
@media(min-width:801px) and (max-height:900px){
 .auth-page{padding-bottom:16px}
 .auth-topbar{height:76px}
 .auth-shell{gap:clamp(28px,4vw,64px)}
 .auth-story{padding:28px 36px 24px}
 .auth-story h1{font-size:clamp(34px,3.2vw,50px);margin:20px 0 16px}
 .auth-story-intro{font-size:14px;line-height:1.7}
 .auth-illustration{height:190px;margin:24px auto}
 .auth-note{width:210px;padding:18px 20px}
 .auth-note strong{font-size:19px;margin-top:10px}
 .auth-note-students{top:8px}.auth-note-staff{bottom:4px}
 .auth-story-footer{padding-top:16px}
 .auth-form-column{padding:20px 16px}
 .auth-form-wrap h2{font-size:30px}
 .auth-description{margin-bottom:22px}
 .auth-form .auth-field{margin-bottom:16px}
 .auth-submit{margin-top:20px}
 .auth-help{margin-top:20px;padding-top:14px}
 .auth-form-footer{margin-top:20px}
 .auth-page-footer{margin-top:16px}
}
@media(min-width:801px) and (max-height:740px){
 .auth-topbar{height:64px}.auth-logo{width:183px}
 .auth-story{padding:24px 28px 20px}
 .auth-story h1{font-size:clamp(32px,3vw,42px);margin:16px 0 12px}
 .auth-illustration{height:150px;margin:18px auto}
 .auth-note{width:190px;padding:14px 18px}
 .auth-note strong{font-size:17px}.auth-note-lines{margin-top:12px}
 .auth-form-column{padding:12px 16px}
 .auth-form-wrap>.eyebrow{margin-bottom:10px}
 .auth-form-wrap h2{font-size:28px;margin-bottom:10px}
 .auth-description{margin-bottom:18px}
 .auth-form-footer{margin-top:16px}
 .auth-page-footer{margin-top:12px}
}
@media(max-width:800px){.auth-form-column{padding:28px 0 32px}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important}}
