/* page de connexion : la marque a gauche sur fond clair, telle qu'elle a ete dessinee ; le formulaire a droite, dans la nuit */
body.login{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);min-height:100%;background:var(--nuit)}
.stage{position:relative;background:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border-radius:0 34px 34px 0}
.rings{position:absolute;width:150%;max-width:none;left:50%;top:50%;transform:translate(-50%,-56%);pointer-events:none}
.logo{position:relative;width:min(430px,70%);height:auto;mix-blend-mode:multiply}
.baseline{position:relative;margin:26px 0 0;max-width:34ch;text-align:center;color:var(--doux);font-size:15px}
.pane{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(28px,6vw,84px);color:#fff}
.pane form{width:100%;max-width:380px}
.step{font-size:13px;color:var(--vert);min-height:20px;margin-bottom:6px}
.pane h1{font:500 28px/1.2 var(--display);margin:0 0 10px;letter-spacing:-.01em}
.lead{color:#a9bec7;margin:0 0 22px;font-size:14px}
.pane label{display:block;font-weight:600;font-size:13px;margin:16px 0 6px;color:#dbe6ea}
.pane input{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 14px;color:#fff;font-size:15px;transition:border-color .12s,background .12s}
.pane input:focus{outline:0;border-color:var(--vert);background:rgba(255,255,255,.1)}
.pane input.code{font:500 24px var(--display);letter-spacing:.34em;text-align:center}
.pane input.wide{letter-spacing:.08em;font-size:17px}
.go{width:100%;margin-top:24px;border:0;border-radius:12px;background:var(--vert);color:var(--nuit);font-weight:700;font-size:15px;padding:13px;cursor:pointer;transition:background .12s}
.go:hover{background:#b4da4c}.go[disabled]{opacity:.6;cursor:default}
.msg{min-height:20px;margin:14px 0 0;color:#ffb489;font-size:13px}
.alt{margin-top:16px;font-size:13px}
.alt button{background:none;border:0;padding:0;color:#c6d6dd;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.alt button:hover{color:var(--vert)}
.foot{margin:44px 0 0;max-width:380px;font-size:12px;color:#7f97a2}
.rules{list-style:none;margin:14px 0 0;padding:0;font-size:13px;color:#a9bec7}
.rules li{padding-left:20px;position:relative;margin-bottom:3px}
.rules li::before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22)}
.rules li.ok{color:#fff}.rules li.ok::before{background:var(--vert);box-shadow:0 0 0 3px rgba(165,205,57,.22)}
.qr{display:flex;gap:16px;align-items:center;background:#fff;border-radius:16px;padding:12px;color:var(--encre)}
.qr img{width:150px;height:150px;flex:none}
.qr div{font-size:13px}.qr code{display:block;margin-top:6px;font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 0}
.codes span{font:600 15px ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.28);border-radius:10px;padding:9px;text-align:center;user-select:all}
@media(max-width:860px){
  body.login{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .stage{border-radius:0 0 28px 28px;padding:26px 20px 22px}.logo{width:210px}.baseline{display:none}.rings{width:230%}
  .pane{padding:30px 22px 36px;justify-content:flex-start}.foot{margin-top:30px}
}
.pane .eye{color:#a9bec7}.pane .eye:hover{color:#fff;background:rgba(255,255,255,.1)}
.pane form{position:relative}
.hint{font-size:12.5px;color:#a9bec7;margin:6px 0 0}
