/* DauphiShare — Connexion : carte de lecteur éditoriale (encre marine sur parchemin) */
:root{
  --ink:#1E3A6E; --ink-2:#16305C;
  --paper:#FAF6EE; --stamp:#A5382A;
  --rule:rgba(30,58,110,.15); --rule-2:rgba(30,58,110,.32);
  --text:#1C2B45; --muted:#6B7789;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'DM Sans',sans-serif;background:var(--parchment);color:var(--text);
  min-height:100vh;display:flex;flex-direction:column;
}
main{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 20px;width:100%;}
body>footer{margin-top:0;}

.container{width:100%;max-width:452px;background:#fff;border:1px solid var(--rule-2);padding:0;}

.header{padding:34px 40px 26px;border-bottom:1px solid var(--rule);}
.header::before{
  content:"DauphiShare — Carte de lecteur";display:block;
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--stamp);margin-bottom:18px;
}
.header img{width:42px!important;height:42px!important;margin:0 0 16px 0!important;border-radius:6px!important;box-shadow:none!important;}
.header h1{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--ink);line-height:1.04;letter-spacing:-.01em;}
.header p{color:var(--muted);font-size:14px;margin-top:8px;}

.form{padding:30px 40px 34px;}
.form-group{margin-bottom:20px;}
label{display:block;font-weight:600;color:var(--ink);margin-bottom:8px;font-size:13.5px;}
input{
  width:100%;padding:13px 14px;border:1.5px solid var(--rule-2);border-radius:2px;background:var(--paper);
  font-family:'DM Sans',sans-serif;font-size:15px;color:var(--text);
  transition:border-color .18s,box-shadow .18s,background .18s;
}
input:focus{outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(30,58,110,.10);}
input::placeholder{color:#9aa6b5;}

.btn{
  width:100%;padding:15px;background:var(--ink);color:#fff;border:none;border-radius:3px;
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:.01em;
  margin-top:6px;transition:background .18s,transform .18s;
}
.btn:hover{background:var(--stamp);transform:translateY(-1px);}
.btn:active{transform:none;}

.links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;font-size:13.5px;}
.links a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule-2);padding-bottom:1px;transition:color .18s,border-color .18s;}
.links a:hover{color:var(--stamp);border-color:var(--stamp);}

.register-link{text-align:center;padding:26px 40px;background:var(--paper);border-top:1px solid var(--rule);}
.register-link p{color:var(--muted);font-size:13.5px;}
.register-link a{
  display:inline-block;margin-top:14px;padding:12px 26px;background:transparent;color:var(--ink);
  border:1.5px solid var(--ink);border-radius:3px;text-decoration:none;font-weight:600;font-size:14px;
  transition:background .18s,color .18s;
}
.register-link a:hover{background:var(--ink);color:#fff;}

.error{
  padding:12px 14px;border-radius:2px;margin-bottom:18px;font-size:13.5px;line-height:1.5;display:none;
  background:#FBEBE8;color:#8f2f22;border-left:3px solid var(--stamp);
}

@media(max-width:520px){
  main{padding:36px 16px;}
  .header,.form,.register-link{padding-left:24px;padding-right:24px;}
  .links{justify-content:flex-start;}
}
