:root {
  --mg-ink: #1c2b26;
  --mg-green: #1f6f54;
  --mg-green-dark: #15503c;
  --mg-paper: #f4f6f5;
  --mg-line: #dde4e1;
}
body { background: var(--mg-paper); color: var(--mg-ink); font-family: 'Inter', system-ui, sans-serif; }
.navbar-mg { background: var(--mg-ink); }
.navbar-mg .navbar-brand { color: #fff; font-weight: 700; letter-spacing: -.02em; }
.navbar-mg .navbar-brand span { color: #7fd4b4; }
.navbar-mg .nav-meta { color: #aebdb7; font-size: .85rem; }
.card { border: 1px solid var(--mg-line); border-radius: 12px; box-shadow: none; }
.card-header { background: #fff; border-bottom: 1px solid var(--mg-line); font-weight: 600; }
.btn-mg { background: var(--mg-green); border-color: var(--mg-green); color: #fff; }
.btn-mg:hover { background: var(--mg-green-dark); border-color: var(--mg-green-dark); color: #fff; }
.badge-plan-free { background: #e8ecea; color: #4c5a55; }
.badge-plan-pro { background: var(--mg-green); }
.stat-num { font-size: 2rem; font-weight: 700; line-height: 1; }
.stat-label { color: #6b7a74; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.table > :not(caption) > * > * { background: transparent; }
.toast-msg {
  position: fixed; bottom: 24px; left: 50%; transform: translate(-50%, 16px);
  background: var(--mg-ink); color: #fff; padding: 10px 18px; border-radius: 8px;
  opacity: 0; transition: all .25s ease; z-index: 2000; max-width: 90vw;
}
.toast-msg.err { background: #8c2f2f; }
.toast-msg.show { opacity: 1; transform: translate(-50%, 0); }
.swatch { width: 38px; height: 38px; padding: 0; border: 1px solid var(--mg-line); border-radius: 8px; }
.item-row { border: 1px solid var(--mg-line); border-radius: 10px; background: #fff; }
.item-row.unavailable { opacity: .55; }
.cursor-pointer { cursor: pointer; }
