/* ============================================================
   MIO — Écran d'authentification & badge compte Supabase
   ============================================================ */

/* ---- Overlay plein écran ---- */
.auth-overlay{
  position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;
  background:
    radial-gradient(1100px 600px at 12% -8%, rgba(33,69,230,.16), transparent 60%),
    radial-gradient(900px 520px at 108% 112%, rgba(244,80,28,.14), transparent 55%),
    #0D1441;
  overflow:auto;opacity:0;transition:opacity .25s ease;
}
.auth-overlay.show{opacity:1}

.auth-card{
  width:100%;max-width:420px;background:#fff;border-radius:22px;
  box-shadow:0 30px 80px rgba(6,12,40,.45);padding:34px 32px 28px;
  transform:translateY(10px);transition:transform .25s ease;
}
.auth-overlay.show .auth-card{transform:none}
.auth-lang{margin-left:auto;margin-bottom:12px}
.auth-brand{display:flex;justify-content:center;margin-bottom:18px}
.auth-card h2{font-size:21px;font-weight:800;color:var(--ink,#0D1441);text-align:center;letter-spacing:-.01em}
.auth-card .sub{font-size:13px;color:#5B6478;text-align:center;margin:6px 0 20px;line-height:1.5}

/* onglets connexion / inscription */
.auth-tabs{display:flex;gap:4px;background:#F1F3F9;border-radius:12px;padding:4px;margin-bottom:20px}
.auth-tabs button{
  flex:1;border:none;background:none;padding:9px;border-radius:9px;font-weight:700;font-size:13px;
  color:#5B6478;cursor:pointer;transition:all .16s;font-family:inherit;
}
.auth-tabs button.on{background:#fff;color:var(--blue,#2145E6);box-shadow:0 1px 4px rgba(6,12,40,.1)}

/* champs */
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:12px;font-weight:700;color:var(--ink,#0D1441);margin-bottom:6px}
.auth-input{
  display:flex;align-items:center;gap:9px;border:1.5px solid #E1E6F0;border-radius:12px;
  padding:0 13px;transition:border-color .16s,box-shadow .16s;background:#fff;
}
.auth-input:focus-within{border-color:var(--blue,#2145E6);box-shadow:0 0 0 3px rgba(33,69,230,.12)}
.auth-input .ic{color:#8A93A6;flex:none}
.auth-input input{
  flex:1;border:none;outline:none;background:none;padding:12px 0;font-size:14px;
  color:var(--ink,#0D1441);font-family:inherit;
}
.auth-input .peek{background:none;border:none;color:#8A93A6;cursor:pointer;padding:6px;display:grid;place-items:center}
.auth-input .peek:hover{color:var(--blue,#2145E6)}

.auth-row{display:flex;justify-content:space-between;align-items:center;margin:-4px 0 18px}
.auth-row .link{background:none;border:none;color:var(--blue,#2145E6);font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;padding:0}
.auth-row .link:hover{text-decoration:underline}

.auth-btn{
  width:100%;border:none;border-radius:12px;background:var(--blue,#2145E6);color:#fff;
  padding:13px;font-size:14.5px;font-weight:800;cursor:pointer;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:9px;transition:background .16s,transform .1s;
}
.auth-btn:hover{background:#1A38C7}
.auth-btn:active{transform:scale(.99)}
.auth-btn:disabled{opacity:.65;cursor:default}
.auth-btn .spin{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}
@keyframes auth-spin{to{transform:rotate(360deg)}}

.auth-msg{border-radius:11px;padding:11px 13px;font-size:12.5px;line-height:1.45;margin-bottom:16px;display:flex;gap:9px;align-items:flex-start}
.auth-msg .ic{flex:none;margin-top:1px}
.auth-msg.err{background:#FDEBEC;color:#C1272D}
.auth-msg.ok{background:#E8F7EE;color:#128040}
.auth-msg.info{background:#EEF2FE;color:#1A38C7}

.auth-foot{text-align:center;margin-top:20px;padding-top:18px;border-top:1px solid #EDF1F8}
.auth-foot button{background:none;border:none;color:#5B6478;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.auth-foot button:hover{color:var(--blue,#2145E6)}
.auth-status{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#8A93A6;margin-top:14px;font-weight:600}
.auth-status .led{width:7px;height:7px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.16)}
.auth-status .led.off{background:#E5484D;box-shadow:0 0 0 3px rgba(229,72,77,.16)}

/* ---- Badge compte flottant (session active) ---- */
.acct-fab{
  position:fixed;left:16px;bottom:16px;z-index:1400;display:flex;align-items:center;gap:9px;
  background:#fff;border:1px solid #E1E6F0;border-radius:99px;padding:6px 14px 6px 6px;
  box-shadow:0 8px 24px rgba(6,12,40,.14);cursor:pointer;font-family:inherit;transition:box-shadow .16s,transform .16s;
}
.acct-fab:hover{box-shadow:0 12px 30px rgba(6,12,40,.2);transform:translateY(-1px)}
.acct-fab .av{width:30px;height:30px;border-radius:50%;background:var(--blue,#2145E6);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.acct-fab .txt{text-align:left;line-height:1.15;min-width:0}
.acct-fab .txt b{display:block;font-size:12px;color:var(--ink,#0D1441);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.acct-fab .txt i{font-style:normal;display:flex;align-items:center;gap:5px;font-size:10.5px;color:#16A34A;font-weight:700}
.acct-fab .txt i .led{width:6px;height:6px;border-radius:50%;background:#16A34A}

/* panneau compte */
.acct-panel{
  position:fixed;left:16px;bottom:60px;z-index:1401;width:340px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid #E1E6F0;border-radius:18px;box-shadow:0 20px 60px rgba(6,12,40,.28);
  padding:18px;opacity:0;transform:translateY(8px) scale(.98);pointer-events:none;transition:all .18s ease;
}
.acct-panel.open{opacity:1;transform:none;pointer-events:auto}
.acct-panel h4{font-size:14px;font-weight:800;color:var(--ink,#0D1441);display:flex;align-items:center;gap:8px}
.acct-panel .who{background:#F7F9FD;border-radius:12px;padding:12px 14px;margin:12px 0}
.acct-panel .who b{display:block;font-size:13px;color:var(--ink,#0D1441)}
.acct-panel .who span{font-size:11.5px;color:#5B6478}
.acct-line{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding:8px 0;border-top:1px solid #EDF1F8}
.acct-line .k{color:#5B6478;font-weight:600}
.acct-line .v{color:var(--ink,#0D1441);font-weight:800;display:flex;align-items:center;gap:7px}
.acct-line .v .led{width:7px;height:7px;border-radius:50%;background:#16A34A}
.acct-line .v .led.off{background:#E5484D}
.acct-actions{display:flex;gap:8px;margin-top:14px}
.acct-actions button{
  flex:1;border:1px solid #E1E6F0;background:#fff;border-radius:10px;padding:9px;font-size:12px;font-weight:700;
  color:var(--ink,#0D1441);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .15s;
}
.acct-actions button:hover{border-color:var(--blue,#2145E6);color:var(--blue,#2145E6)}
.acct-actions button.danger:hover{border-color:#E5484D;color:#E5484D;background:#FDEBEC}
.acct-countries{max-height:172px;overflow:auto;margin-top:6px}
.acct-countries .cc{display:flex;align-items:center;gap:9px;padding:7px 2px;border-top:1px solid #F2F5FA;font-size:12px}
.acct-countries .cc b{color:var(--ink,#0D1441);font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-countries .cc .m{font-size:10.5px;color:#8A93A6;font-weight:700;flex:none}

@media(max-width:560px){
  .auth-card{padding:26px 20px}
  .acct-fab .txt b{max-width:110px}
}
