/* Rooster One SSO buttons. Served as a cached file since 11.2.3 (brief 12.2); the inline copy in AIEO_SSO_Buttons::buttons_css() is the fallback. Dual copy: identical in both plugins. */
.aieo-sso-buttons{margin:14px 0;font-family:inherit}
.aieo-sso-buttons__intro{margin:0 0 10px;color:#4b5563;font-size:13px;line-height:1.5}
.aieo-sso-buttons__row{display:flex;gap:10px;flex-wrap:wrap}
.aieo-sso-buttons--inline .aieo-sso-buttons__row{flex-direction:row}
.aieo-sso-buttons--stack  .aieo-sso-buttons__row{flex-direction:column}
.aieo-sso-buttons--stack  .aieo-sso-btn{width:100%}
.aieo-sso-buttons--inline .aieo-sso-btn{flex:1 1 auto;min-width:160px}

.aieo-sso-btn{
  display:inline-flex;align-items:center;justify-content:space-between;
  gap:10px;padding:11px 16px;border-radius:999px;border:1px solid transparent;
  text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.3px;
  text-transform:uppercase;line-height:1;color:#fff;
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
  cursor:pointer;
}
.aieo-sso-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.12);opacity:.96}
.aieo-sso-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.aieo-sso-btn__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aieo-sso-btn__icon{display:inline-flex;width:22px;height:22px;flex:0 0 22px;align-items:center;justify-content:center;background:#fff;border-radius:50%}
.aieo-sso-btn__icon svg{width:14px;height:14px}/* also set as width/height ATTRIBUTES on each svg in icon_svg(), so an icon that renders before or without this stylesheet is 14px rather than full-page. CSS here still wins, including the compact variant below. */

.aieo-sso-btn--facebook { background:#1877F2; color:#fff }
.aieo-sso-btn--google   { background:linear-gradient(135deg,#bcdbff 0%,#a7c7ed 100%); color:#1f2937 }
.aieo-sso-btn--apple    { background:#000; color:#fff }
.aieo-sso-btn--linkedin { background:#0a66c2; color:#fff }
.aieo-sso-btn--twitter  { background:#000; color:#fff }
.aieo-sso-btn--github   { background:#24292f; color:#fff }
.aieo-sso-btn--microsoft{ background:#2f2f2f; color:#fff }
.aieo-sso-btn--magic_link { background:#f3f4f6; color:#111827; border:1px solid #d1d5db }
.aieo-sso-btn--magic_link:hover { background:#e5e7eb }
.aieo-sso-btn--magic_link .aieo-sso-btn__icon { background:#1f2937 }
.aieo-sso-btn--magic_link .aieo-sso-btn__icon svg { fill:#fff !important }

/* Magic-link modal */
.aieo-ml-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.55);
  display:none;align-items:center;justify-content:center;
  z-index:99999;padding:16px;
}
.aieo-ml-overlay.is-open{display:flex}
.aieo-ml-dialog{
  background:#fff;border-radius:12px;max-width:420px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.25);padding:24px 24px 20px;
  position:relative;font-family:inherit;color:#1f2937;
}
.aieo-ml-close{
  position:absolute;top:8px;right:10px;background:none;border:0;
  font-size:24px;line-height:1;color:#6b7280;cursor:pointer;
  padding:4px 8px;border-radius:6px;
}
.aieo-ml-close:hover{background:#f3f4f6;color:#111827}
.aieo-ml-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}
.aieo-ml-intro{margin:0 0 16px;font-size:14px;line-height:1.55;color:#4b5563}
.aieo-ml-form{display:flex;flex-direction:column;gap:8px}
.aieo-ml-label{font-size:12px;color:#6b7280;font-weight:600}
.aieo-ml-input{
  width:100%;padding:11px 12px;font-size:14px;line-height:1.4;
  border:1px solid #d1d5db;border-radius:8px;color:#111827;background:#fff;
}
.aieo-ml-input:focus{outline:2px solid #2563eb;outline-offset:1px;border-color:#2563eb}
.aieo-ml-submit{
  margin-top:6px;padding:11px 18px;font-size:14px;font-weight:600;
  background:#1f2937;color:#fff;border:0;border-radius:999px;
  cursor:pointer;letter-spacing:.3px;
}
.aieo-ml-submit:hover{background:#111827}
.aieo-ml-submit:disabled{opacity:.6;cursor:not-allowed}
.aieo-ml-status{margin-top:12px;font-size:13px;line-height:1.5;min-height:18px}
.aieo-ml-status--info{color:#4b5563}
.aieo-ml-status--success{color:#166534;background:#dcfce7;padding:10px 12px;border-radius:8px}
.aieo-ml-status--error{color:#991b1b;background:#fee2e2;padding:10px 12px;border-radius:8px}

.aieo-sso-buttons--compact .aieo-sso-btn{padding:8px 12px;font-size:12px}
.aieo-sso-buttons--compact .aieo-sso-btn__icon{width:18px;height:18px;flex-basis:18px}
.aieo-sso-buttons--compact .aieo-sso-btn__icon svg{width:11px;height:11px}

@media (max-width:480px){
  .aieo-sso-buttons--inline .aieo-sso-buttons__row{flex-direction:column}
  .aieo-sso-buttons--inline .aieo-sso-btn{width:100%}
}
