/* Sign in / sign up modal (js/account-modal.js). Scoped with .am-* because old theme styles are on some pages. */
html.am-open, html.am-open body { overflow: hidden; }
.am-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; background: rgba(9, 23, 34, .62); font-family: "Inter", "Rubik", system-ui, sans-serif; }
.am-overlay *, .am-overlay *::before, .am-overlay *::after { box-sizing: border-box; }
.am-dialog { width: 100%; max-width: 440px; padding: 24px; border-radius: 18px; background: #fff; color: #0f172a; box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.am-head { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.am-head img { flex: none; width: 34px; height: 34px; object-fit: contain; }
.am-overlay .am-title { flex: 1; margin: 0; font-family: inherit; font-size: 22px; font-weight: 700; color: #0f172a; letter-spacing: 0; }
.am-close { flex: none; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: #f1f5f9; color: #334155; font-size: 22px; line-height: 1; cursor: pointer; }
.am-close:hover { background: #e2e8f0; }
.am-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 16px; padding: 4px; border-radius: 11px; background: #f1f5f9; }
.am-tabs button { height: 38px; border: 0; border-radius: 8px; background: transparent; color: #5b6b7d; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.am-tabs button[aria-selected="true"] { background: #fff; color: #0f172a; box-shadow: 0 1px 3px rgba(15, 23, 42, .14); }
.am-social { display: flex; flex-direction: column; gap: 8px; }
#am-google { display: flex; justify-content: center; min-height: 40px; }
.am-or { position: relative; margin: 14px 0; text-align: center; color: #5b6b7d; font-size: 13px; }
.am-or::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; border-top: 1px solid #e3e8f0; }
.am-or span { position: relative; padding: 0 10px; background: #fff; }
.am-overlay .am-muted { margin: 0 0 12px; color: #5b6b7d; font-size: 14px; line-height: 1.5; }
.am-note, .am-error, .am-success { margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; font-size: 13.5px; line-height: 1.5; }
.am-note { background: #e6f4f5; color: #0b6b78; }
.am-error { background: #fee2e2; color: #b91c1c; }
.am-success { background: #dcfce7; color: #166534; }
.am-overlay .am-field { display: block; margin: 0 0 12px; }
.am-field > span:first-child { display: block; margin-bottom: 5px; color: #0f172a; font-size: 13.5px; font-weight: 600; }
.am-row { display: flex; gap: 8px; }
.am-input { flex: 1; width: 100%; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #cfd8e3; border-radius: 10px; background: #fff; color: #0f172a; font: inherit; font-size: 16px; outline: none; }
.am-input:focus { border-color: #0b6b78; box-shadow: 0 0 0 3px rgba(11, 107, 120, .15); }
.am-input:disabled { background: #f1f5f9; color: #5b6b7d; }
.am-code { letter-spacing: 4px; font-weight: 700; }
.am-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid #cfd8e3; border-radius: 10px; background: #fff; color: #0f172a; font: inherit; font-size: 14.5px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.am-btn:hover { border-color: #0b6b78; }
.am-btn:disabled { opacity: .55; cursor: not-allowed; }
.am-main { border-color: #0b6b78; background: #0b6b78; color: #fff; }
.am-main:hover { background: #095a65; }
.am-fb { border-color: #1877f2; background: #1877f2; color: #fff; }
.am-fb:hover { border-color: #1466d3; background: #1466d3; }
.am-block { width: 100%; }
.am-link { display: block; margin: 12px auto 0; padding: 4px; border: 0; background: none; color: #0b6b78; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.am-ok { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; border-radius: 10px; background: #dcfce7; color: #166534; }
@media (max-width: 600px) {
  .am-overlay { padding: 16px; }
  .am-dialog { padding: 18px; }
}
.am-wa { border-color: #25d366; color: #128c4b; }
.am-wa:hover { border-color: #128c4b; }
.am-gap { margin-top: 12px; }
