/* PubliRezo — thème pétrole/mangue partagé (site web). La Mini App Telegram
   (index.html) garde son CSS inline et n'est pas affectée. */
:root{
  --bg-deep:#0B2027; --bg-page:#081A20; --surface:#12313A; --surface-2:#17414B;
  --hairline:rgba(255,255,255,0.08); --hairline-strong:rgba(255,255,255,0.14);
  --mango:#FF8A4B; --mango-dim:rgba(255,138,75,0.16); --coral:#FF5C7A;
  --teal:#2ED9A5; --teal-dim:rgba(46,217,165,0.14);
  --text-1:#F3ECE2; --text-2:#B9C8CA; --text-3:#748688;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{ margin:0; background:var(--bg-page); font-family:'Manrope',sans-serif;
  color:var(--text-1); min-height:100dvh; -webkit-font-smoothing:antialiased; }

.brand{ display:flex; align-items:center; gap:9px; }
.brand .mark{ width:26px;height:26px;border-radius:50%;background:var(--mango);
  display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.brand .mark svg{width:13px;height:13px;fill:#3a1a06;}
.brand .word{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; letter-spacing:.01em; }

/* --- Champs & boutons --- */
.field{ display:block; margin-bottom:14px; }
.field label{ display:block; font-size:12px; color:var(--text-3); font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; margin-bottom:6px; }
.input{ width:100%; background:var(--surface); border:1px solid var(--hairline);
  border-radius:14px; padding:13px 15px; color:var(--text-1);
  font-family:'Manrope',sans-serif; font-size:15px; }
.input:focus{ outline:none; border-color:var(--mango); }
.input::placeholder{ color:var(--text-3); }

.btn{ width:100%; border:none; border-radius:16px; padding:15px; cursor:pointer;
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:opacity .15s, filter .15s; }
.btn-primary{ background:var(--mango); color:#3a1a06; }
.btn-ghost{ background:transparent; border:1px solid var(--hairline-strong); color:var(--text-2); }
.btn:disabled{ opacity:.5; cursor:not-allowed; }
.btn.busy{ filter:saturate(.6); pointer-events:none; }

/* --- Cartes / auth --- */
.auth-wrap{ min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:22px; }
.auth-card{ width:100%; max-width:400px; background:var(--surface); border:1px solid var(--hairline);
  border-radius:22px; padding:26px 24px; }
.auth-card h1{ font-family:'Space Grotesk',sans-serif; font-size:22px; margin:16px 0 4px; }
.auth-card .sub{ color:var(--text-2); font-size:14px; margin-bottom:22px; line-height:1.45; }
.auth-alt{ text-align:center; margin-top:18px; font-size:13px; color:var(--text-2); }
.auth-alt a{ color:var(--mango); text-decoration:none; font-weight:600; }
.msg{ border-radius:12px; padding:11px 13px; font-size:13px; line-height:1.4; margin-bottom:16px; display:none; }
.msg.show{ display:block; }
.msg.err{ color:var(--coral); background:rgba(255,92,122,.09); border:1px solid rgba(255,92,122,.3); }
.msg.ok{ color:var(--teal); background:var(--teal-dim); border:1px solid rgba(46,217,165,.35); }
