
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;min-height:100vh;transition:background .3s,color .3s;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.unauth{overflow:hidden;}
.unauth .wrap{display:none;}
#auth-root{position:fixed;inset:0;background:rgba(15,25,35,0.92);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;}
.auth-card{width:100%;max-width:520px;border-radius:22px;background:var(--bg2);border:1px solid var(--border2);box-shadow:var(--shadow-lg);overflow:hidden;}
.auth-top{padding:24px 24px 18px;}
.auth-title{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--text);}
.auth-sub{font-size:14px;color:var(--text2);margin-bottom:18px;line-height:1.5;}
.auth-tabs{display:flex;gap:10px;margin-bottom:16px;}
.auth-tab{flex:1;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text2);font-weight:700;cursor:pointer;text-align:center;}
.auth-tab.on{background:var(--mint);color:var(--bg2);border-color:var(--mint);}
.auth-body{padding:0 24px 24px;}
.auth-error{color:var(--coral);font-size:13px;margin-top:10px;min-height:20px;}
.auth-note{font-size:13px;color:var(--text2);margin-top:14px;text-align:center;}
.auth-note a{color:var(--mint);font-weight:700;text-decoration:none;}
.auth-note a:hover{text-decoration:underline;}
.auth-field{margin-bottom:16px;}
.auth-field label{display:block;font-size:12px;font-weight:700;color:var(--text3);margin-bottom:8px;text-transform:uppercase;letter-spacing:.6px;}
.auth-field input{width:100%;border:1.5px solid var(--border2);background:var(--surface);color:var(--text);padding:13px 16px;border-radius:12px;font-size:15px;font-family:-apple-system,BlinkMacSystemFont,'Inter',system-ui,sans-serif;transition:border-color .18s,box-shadow .18s,background .18s;}
.auth-field input:focus{outline:none;border-color:var(--mint);background:var(--bg2);box-shadow:0 0 0 3px rgba(0,196,140,0.09);}
.auth-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:14px;}
.auth-forgot-row{width:100%;display:flex;justify-content:flex-end;margin-top:-6px;}
.auth-forgot-link{background:none;border:none;padding:4px 2px;font-size:12.5px;font-weight:500;color:var(--text3);cursor:pointer;font-family:inherit;transition:color .15s;letter-spacing:-.1px;}
.auth-forgot-link:hover{color:var(--mint);}
#auth-submit{width:100%;}
.auth-status{color:var(--mint);font-size:13px;margin-top:10px;min-height:20px;text-align:center;}
.auth-reset-banner{display:flex;align-items:flex-start;gap:10px;background:color-mix(in srgb,var(--mint) 10%,transparent);border:1px solid color-mix(in srgb,var(--mint) 28%,transparent);border-radius:12px;padding:13px 15px;margin-top:14px;font-size:13px;color:var(--mint);line-height:1.5;text-align:left;}
.auth-reset-banner svg{flex-shrink:0;margin-top:1px;}
/* ========================================================
   RESPONSIVE — Mobile-first, tablet & phone optimisé
   Breakpoints: 1024 · 768 · 600 · 480 · 375
   ======================================================== */

/* ── Tablet paysage (≤1023px) ─────────────────────────── */
