/* ============================================================
   Member Center / Blog Contribution — Lanya blue theme
   Reuses NEXUS design tokens (--nx-amber* = brand blue)
   ============================================================ */

.nx-uc {
  background: var(--nx-sand, #F6F9FD);
  min-height: 60vh;
  padding: clamp(32px, 5vw, 64px) 0;
}
.nx-uc__hero {
  background: linear-gradient(135deg, #001C53 0%, #0B5FCC 55%, #2E8BE6 120%);
  color: #fff;
  border-radius: 18px;
  padding: clamp(28px, 4vw, 44px);
  margin-bottom: 28px;
  box-shadow: var(--nx-shadow-amber, 0 16px 34px -16px rgba(0,28,83,.45));
}
.nx-uc__hero h1 { color: #fff; font-size: clamp(22px, 3vw, 30px); margin: 0 0 8px; }
.nx-uc__hero p { margin: 0; opacity: .9; }

.nx-uc__layout { display: grid; grid-template-columns: 240px 1fr; gap: 28px; align-items: start; }
@media (max-width: 860px) { .nx-uc__layout { grid-template-columns: 1fr; } }

.nx-uc__nav { background: #fff; border: 1px solid var(--nx-line, #E2E8F1); border-radius: 14px; padding: 12px; position: sticky; top: 90px; }
.nx-uc__nav a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 10px; color: var(--nx-graphite, #001C53); font-weight: 600; text-decoration: none; }
.nx-uc__nav a:hover { background: var(--nx-sand-deep, #EAF1F9); color: var(--nx-amber-deep, #001C53); }
.nx-uc__nav a.is-active { background: var(--nx-amber, #001C53); color: #fff; }

.nx-uc__main { background: #fff; border: 1px solid var(--nx-line, #E2E8F1); border-radius: 14px; padding: clamp(20px, 3vw, 34px); }
.nx-uc__title { font-size: 20px; margin: 0 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

/* stat cards */
.nx-uc__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 24px; }
@media (max-width: 600px) { .nx-uc__stats { grid-template-columns: 1fr; } }
.nx-stat { background: var(--nx-sand, #F6F9FD); border: 1px solid var(--nx-line, #E2E8F1); border-radius: 12px; padding: 16px; text-align: center; }
.nx-stat__num { font-size: 26px; font-weight: 800; color: var(--nx-amber, #001C53); }
.nx-stat__label { font-size: 13px; color: #5a6b80; margin-top: 4px; }

/* tabs / filters */
.nx-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.nx-tab { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--nx-line, #E2E8F1); color: #45556b; text-decoration: none; font-weight: 600; font-size: 14px; }
.nx-tab.is-active { background: var(--nx-amber, #001C53); border-color: var(--nx-amber, #001C53); color: #fff; }

/* blog list table */
.nx-bloglist { width: 100%; border-collapse: collapse; }
.nx-bloglist th, .nx-bloglist td { text-align: left; padding: 14px 12px; border-bottom: 1px solid var(--nx-line, #E2E8F1); vertical-align: middle; }
.nx-bloglist th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #6b7b90; }
.nx-bloglist tr:hover td { background: var(--nx-sand, #F6F9FD); }
.nx-bloglist__title { font-weight: 700; color: var(--nx-graphite, #001C53); }
.nx-bloglist__title a { color: inherit; text-decoration: none; }
.nx-bloglist__thumb { width: 64px; height: 44px; object-fit: cover; border-radius: 8px; }

.nx-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.nx-badge--pending { background: #FFF4E0; color: #B26A00; }
.nx-badge--live { background: #E3F6EC; color: #1C8A4F; }

.nx-row-actions { display: flex; gap: 8px; }

/* forms */
.nx-form { max-width: 820px; }
.nx-form__row { margin-bottom: 18px; }
.nx-form__label { display: block; font-weight: 700; margin-bottom: 7px; color: var(--nx-graphite, #001C53); }
.nx-form__hint { font-size: 12px; color: #8595a8; margin-top: 6px; }
.nx-input, .nx-textarea, .nx-select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--nx-line, #E2E8F1); border-radius: 10px;
  font-size: 15px; color: var(--nx-graphite, #001C53); background: #fff; transition: border-color .15s, box-shadow .15s;
}
.nx-input:focus, .nx-textarea:focus, .nx-select:focus { outline: none; border-color: var(--nx-amber, #001C53); box-shadow: 0 0 0 3px rgba(0,28,83,.15); }
.nx-textarea { min-height: 280px; resize: vertical; line-height: 1.7; font-family: inherit; }
.nx-form__error { color: #d8453b; font-size: 13px; margin-top: 6px; display: none; }

/* auth */
.nx-auth { max-width: 440px; margin: 0 auto; background: #fff; border: 1px solid var(--nx-line, #E2E8F1); border-radius: 16px; padding: clamp(24px, 4vw, 40px); box-shadow: var(--nx-shadow-amber, 0 16px 34px -16px rgba(0,28,83,.45)); }
.nx-auth__title { text-align: center; font-size: 24px; margin: 0 0 6px; }
.nx-auth__sub { text-align: center; color: #6b7b90; margin: 0 0 24px; }
.nx-auth__switch { text-align: center; margin-top: 18px; color: #6b7b90; }
.nx-auth__switch a { color: var(--nx-amber, #001C53); font-weight: 700; text-decoration: none; }

.nx-empty { text-align: center; padding: 40px 0; color: #8595a8; }

/* column select (server-generated) */
.nx-uc select#typeid, .nx-form select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--nx-line, #E2E8F1);
  border-radius: 10px; font-size: 15px; color: var(--nx-graphite, #001C53); background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.nx-uc select#typeid:focus, .nx-form select:focus {
  outline: none; border-color: var(--nx-amber, #001C53); box-shadow: 0 0 0 3px rgba(0,28,83,.15);
}

/* captcha */
.nx-captcha__row { display: flex; gap: 12px; align-items: stretch; }
.nx-captcha__row .nx-input { flex: 1; }
.nx-captcha__img {
  height: 46px; border-radius: 10px; border: 1px solid var(--nx-line, #E2E8F1);
  cursor: pointer; flex: 0 0 auto;
}
.nx-captcha__hint { font-size: 12px; color: #8595a8; margin-top: 6px; }

/* inline alert */
.nx-alert {
  display: none; margin-bottom: 16px; padding: 11px 14px; border-radius: 10px;
  font-size: 14px; font-weight: 600;
}
.nx-alert--error { background: #FDECEC; color: #C0392B; border: 1px solid #F6C9C5; }
.nx-alert--ok { background: #E6F7EE; color: #1C8A4F; border: 1px solid #B9E8CD; }

/* auth layout */
.nx-auth-wrap { display: flex; justify-content: center; padding: clamp(32px, 6vw, 72px) 0; }
.nx-auth .nx-form__row { text-align: left; }
.nx-auth__brand { text-align: center; margin-bottom: 18px; }
.nx-auth__brand img { height: 38px; }
.nx-btn--block { width: 100%; justify-content: center; }

/* quick action row */
.nx-quick { display: flex; gap: 12px; flex-wrap: wrap; }
