.account-main { padding: 40px 20px 64px; max-width: 880px; }
.hidden { display: none !important; }
.panel { max-width: 420px; margin: 0 auto; padding: 28px; }
.panel h1 { margin: 0 0 8px; font-size: 1.5rem; }
.muted { color: var(--muted); }
.small { font-size: .9rem; }
.field { display: block; margin: 16px 0; font-size: .85rem; color: var(--muted); }
.field input {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 1rem;
}
.otp-row { display: flex; gap: 10px; margin-top: 6px; }
.otp-row input { flex: 1; margin-top: 0; }
.btn-block { width: 100%; margin-top: 8px; border: 0; cursor: pointer; }
.btn-sm { border: 0; cursor: pointer; white-space: nowrap; }
.msg { min-height: 1.2em; margin-top: 12px; font-size: .9rem; }
.msg.error { color: #d92d20; }
.msg.ok { color: var(--green-dark); }
.nav nav a.active { color: var(--green-dark); font-weight: 600; }

.dash-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}
.dash-header h1 { margin: 0 0 6px; font-size: 1.6rem; }
.dash-grid { margin-bottom: 20px; }
.pro-card {
  padding: 16px;
  border-radius: 12px;
  background: #eefbf3;
  font-size: 1.1rem;
  font-weight: 600;
}
.pro-card.free { background: var(--bg); color: var(--muted); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
th, td { padding: 10px 8px; border-bottom: 1px solid var(--line); text-align: left; }
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
}
.badge.paid { background: #eefbf3; color: var(--green-dark); }
.badge.pending { background: #fff6e5; color: #b54708; }
