/* diaspora.ro source-first module extracted from auth-modal; behavior preserved during migration. */
/* ════ AUTH MODAL — design profesional, curat ════
   Mobile:  bottom-sheet elegant, inspirat din banking apps
   Desktop: nu apare — redirect la /intra/ (full-page login)
   ═══════════════════════════════════════════════ */
#authModal .modal-sheet{
  padding:0;
  border-radius:28px 28px 0 0;
  overflow:hidden;
  max-height:92vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
@media(min-width:900px){
  #authModal .modal-sheet{
    border-radius:20px;
    max-height:80vh;
    overflow-y:auto;
  }
}
.am-header{
  background:var(--grad);
  padding:28px 24px 24px;
  position:relative;
  overflow:hidden;
}
.am-header::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='38' fill='none' stroke='rgba(255,255,255,.08)' stroke-width='1'/%3E%3C/svg%3E") repeat;
  pointer-events:none;
}
.am-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.18);
  border:none;color:#fff;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:1;
  transition:background .15s;
}
.am-close:hover{background:rgba(255,255,255,.28)}
.am-logo{
  font:900 26px/1 var(--font);
  letter-spacing:-.04em;color:#fff;
  position:relative;z-index:1;margin-bottom:12px;
}
.am-logo span{opacity:.75}
.am-header-title{
  font:800 20px/1.2 var(--font);color:#fff;
  position:relative;z-index:1;margin-bottom:4px;
}
.am-header-sub{
  font:400 13px/1.5 var(--font);
  color:rgba(255,255,255,.82);
  position:relative;z-index:1;
}
.am-body{padding:24px 24px 28px}
.am-tabs{
  display:flex;background:#f3f4f6;border-radius:12px;
  padding:4px;gap:4px;margin-bottom:22px;
}
.am-tab{
  flex:1;padding:8px;border-radius:8px;
  font:700 13px var(--font);color:var(--ink2);
  border:none;background:transparent;cursor:pointer;
  transition:all .18s;
}
.am-tab.active{
  background:#fff;color:var(--brand);
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.am-field{
  display:flex;flex-direction:column;gap:5px;margin-bottom:14px;
}
.am-label{
  font:600 12px var(--font);color:var(--ink2);
  padding-left:2px;
}
.am-input{
  width:100%;height:50px;border-radius:12px;
  border:1.5px solid var(--border);
  background:var(--card2);
  padding:0 16px;
  font:400 15px var(--font);color:var(--ink);
  outline:none;
  transition:border-color .18s,box-shadow .18s;
  -webkit-appearance:none;
}
.am-input:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(124,58,237,.1);
}
.am-input::placeholder{color:var(--muted);font-weight:400}
.am-input.am-select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;cursor:pointer;
}
.am-error{
  background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;
  border-radius:10px;padding:10px 14px;
  font:500 13px var(--font);line-height:1.45;
  margin-bottom:14px;display:none;
}
.am-error.show{display:block}
.am-btn-primary{
  width:100%;height:52px;border-radius:14px;
  background:var(--grad);color:#fff;
  font:800 16px var(--font);border:none;
  cursor:pointer;margin-top:4px;
  box-shadow:0 4px 16px rgba(124,58,237,.35);
  transition:opacity .15s,transform .12s,box-shadow .15s;
  letter-spacing:.01em;
}
.am-btn-primary:active{opacity:.9;transform:scale(.99)}
.am-btn-primary:hover{box-shadow:0 6px 22px rgba(124,58,237,.45)}
.am-btn-primary:disabled{opacity:.6;cursor:wait}
.am-divider{
  display:flex;align-items:center;gap:12px;
  margin:16px 0;color:var(--muted);font:400 12px var(--font);
}
.am-divider::before,.am-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.am-passkey-btn{
  width:100%;padding:12px;border-radius:12px;
  border:1.5px solid var(--border);
  background:var(--card2);
  color:var(--ink);font:600 14px var(--font);
  display:flex;align-items:center;justify-content:center;gap:9px;
  cursor:pointer;transition:border-color .15s,background .15s;
}
.am-passkey-btn:hover{border-color:var(--brand);background:#f5f3ff}
.am-passkey-btn svg{flex-shrink:0}
.am-links{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:16px;font:400 13px var(--font);color:var(--ink2);
  flex-wrap:wrap;gap:6px;
}
.am-links a{color:var(--brand);font-weight:600;text-decoration:none}
.am-success{
  text-align:center;padding:16px;
  background:#f0fdf4;border-radius:12px;
  color:#16a34a;font:500 13px/1.5 var(--font);
  margin-bottom:14px;display:none;
}
.am-success.show{display:block}
/* OTP input special */
.am-otp-inp{
  text-align:center;letter-spacing:12px;
  font:700 26px var(--font);
}
