/* ── Dark theme (default) ── */
:root,
[data-theme="dark"] {
  --nfc-bg:          #0f1117;
  --nfc-surface:     #1a1f2e;
  --nfc-border:      #2d3748;
  --nfc-text:        #e2e8f0;
  --nfc-text-muted:  #8b949e;
  --nfc-accent:      #3b82f6;
  --nfc-accent-hover:#2563eb;
  --nfc-navbar-bg:   #161b22;
  --nfc-navbar-border: #21262d;
}

/* ── Light theme ── */
[data-theme="light"] {
  --nfc-bg:          #f6f3ec;
  --nfc-surface:     #ffffff;
  --nfc-border:      #e0dbd0;
  --nfc-text:        #171612;
  --nfc-text-muted:  #6b675e;
  --nfc-accent:      #1f3b2e;
  --nfc-accent-hover:#17301f;
  --nfc-navbar-bg:   #ffffff;
  --nfc-navbar-border: #e0dbd0;
}

body {
  background-color: var(--nfc-bg);
  color: var(--nfc-text);
  min-height: 100vh;
}

/* ── Navbar ── */
.nfc-navbar {
  background: var(--nfc-navbar-bg) !important;
  border-bottom: 1px solid var(--nfc-navbar-border);
}
.nfc-navbar .navbar-brand {
  color: var(--nfc-text) !important;
  font-weight: 700;
}
.nfc-navbar .text-secondary {
  color: var(--nfc-text-muted) !important;
}

/* ── Theme toggle button ── */
.nfc-theme-btn {
  background: transparent;
  border: 1px solid var(--nfc-border);
  color: var(--nfc-text-muted);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
}
.nfc-theme-btn:hover {
  border-color: var(--nfc-accent);
  color: var(--nfc-text);
}

/* ── Cards / panels ── */
.card-nfc {
  background: var(--nfc-surface);
  border: 1px solid var(--nfc-border);
  border-radius: 12px;
}

/* ── Buttons ── */
.btn-primary-nfc {
  background: var(--nfc-accent);
  border: none;
  color: #fff;
  padding: 10px 24px;
  border-radius: 8px;
  font-weight: 600;
}
.btn-primary-nfc:hover {
  background: var(--nfc-accent-hover);
  color: #fff;
}

/* ── Form controls ── */
.form-control-nfc {
  background: var(--nfc-surface);
  border: 1px solid var(--nfc-border);
  color: var(--nfc-text);
  border-radius: 8px;
}
.form-control-nfc:focus {
  background: var(--nfc-surface);
  border-color: var(--nfc-accent);
  color: var(--nfc-text);
  box-shadow: 0 0 0 0.2rem rgba(59,130,246,.25);
}
