/* ── Add Account Form ────────────────────────────────────────────────────── */
#addAccountForm {
  display: flex;
  gap: 10px;
  background: var(--bg1);
  border: 1px solid var(--bg2);
  border-top: 3px solid var(--yellow-d);
  border-radius: 12px;
  padding: 20px;
}

#addAccountForm .input-box { flex: 1; display: flex; gap: 10px; }

#addAccountForm input[type="text"] {
  background: var(--bg);
  border: 1px solid var(--bg3);
  border-radius: 8px;
  color: var(--fg);
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  padding: 9px 14px;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  min-width: 0;
}
#addAccountForm input[type="text"]::placeholder { color: var(--bg3); font-style: italic; }
#addAccountForm input[type="text"]:focus {
  border-color: var(--yellow-d);
  box-shadow: 0 0 0 3px #d7992130;
}

#addAccountForm #username { flex: 3; }
#addAccountForm #tag      { flex: 1; text-transform: uppercase; letter-spacing: 0.08em; }

/* ── Region select ───────────────────────────────────────────────────────── */
#addAccountForm select {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a89984' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  border: 1px solid var(--bg3);
  border-radius: 8px;
  color: var(--fg);
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  padding: 9px 34px 9px 14px;
  outline: none;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
  flex: 1.2;
  min-width: 0;
}
#addAccountForm select:focus {
  border-color: var(--yellow-d);
  box-shadow: 0 0 0 3px #d7992130;
}
#addAccountForm select option {
  background-color: var(--bg1);
  color: var(--fg);
}

/* ── Error bar ───────────────────────────────────────────────────────────── */
.error-bar {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 11px 18px;
  margin-top: 8px;
  border-radius: 10px;
  border-left: 3px solid transparent;
  font-size: 13px;
}
.error-bar.active {
  display: flex;
  animation: fadeIn 0.2s ease;
}
.error-bar.error   { border-left-color: var(--red);   background: rgba(251,73,52,0.08);  color: #f08090; }
.error-bar.success { border-left-color: var(--green);  background: rgba(184,187,38,0.08); color: var(--green); }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Loading state ───────────────────────────────────────────────────────── */
.btn-loading { opacity: 0.7; cursor: not-allowed; }

.spinner {
  display: inline-block;
  width: 12px; height: 12px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  margin-right: 6px;
  vertical-align: middle;
}

@keyframes spin { to { transform: rotate(360deg); } }