/* Page de connexion — design pro, responsive, thème sombre */
:root{
  --bg:#0f0f13;--s:#17171e;--s2:#1e1e28;--b:rgba(255,255,255,.09);
  --t:#f0eff8;--t2:#8a8aa8;--a:#e8a020;--a2:#f0c060;--r:#e05050;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--t);
  overflow:hidden;background-image:radial-gradient(1200px 600px at 15% -10%,rgba(232,160,32,.10),transparent 60%),
  radial-gradient(900px 500px at 110% 110%,rgba(124,58,237,.10),transparent 55%)}
.wrap{display:flex;min-height:100dvh}
.panel{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}
/* Brand side */
.brand{background:linear-gradient(160deg,#141420,#0d0d13);border-right:1px solid var(--b)}
.brand-in{max-width:400px}
.logo{width:64px;height:64px;background:var(--a);border-radius:18px;display:flex;align-items:center;justify-content:center;
  font-size:32px;box-shadow:0 10px 30px rgba(232,160,32,.35);margin-bottom:22px}
.brand-name{font-size:32px;font-weight:800;letter-spacing:-.5px}
.brand-name span{color:var(--a)}
.brand-tag{color:var(--t2);font-size:16px;line-height:1.6;margin:12px 0 26px}
.feats{list-style:none;display:flex;flex-direction:column;gap:12px}
.feats li{font-size:15px;color:#d7d7ea;display:flex;align-items:center;gap:6px}
/* Form side */
.form-in{width:100%;max-width:380px}
.mini-logo{display:none;width:52px;height:52px;background:var(--a);border-radius:15px;align-items:center;justify-content:center;font-size:26px;margin:0 auto 16px}
h1{font-size:27px;font-weight:800;letter-spacing:-.3px}
.hi{color:var(--t2);font-size:14px;margin:5px 0 22px}
label{display:block;font-size:12px;font-weight:600;color:var(--t2);margin:16px 0 6px;text-transform:uppercase;letter-spacing:.5px}
input[type=email],input[type=password],input[type=text]{width:100%;background:#0e0e15;border:1.5px solid var(--b);border-radius:11px;
  padding:13px 15px;color:var(--t);font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus{border-color:var(--a);box-shadow:0 0 0 3px rgba(232,160,32,.15)}
.pwrap{position:relative}
.peye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:17px;cursor:pointer;padding:6px;color:var(--t2)}
.submit{width:100%;margin-top:24px;background:var(--a);color:#000;font-weight:800;font-size:16px;border:none;border-radius:11px;
  padding:14px;cursor:pointer;transition:background .15s,transform .1s}
.submit:hover{background:var(--a2)}.submit:active{transform:scale(.98)}
.err{background:rgba(224,80,80,.12);border:1px solid var(--r);color:#ffb3b3;border-radius:10px;padding:11px 13px;font-size:14px;margin-bottom:6px}
.foot{color:var(--t2);font-size:12px;text-align:center;margin-top:22px}
/* Responsive : téléphone -> une seule colonne, on masque le panneau marque */
@media(max-width:820px){
  .brand{display:none}
  .mini-logo{display:flex}
  .form-in{max-width:420px}
  h1{text-align:center}.hi{text-align:center}
}
