html {
  font-size: 14px;
  min-height: 100%;
  position: relative;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  background: var(--rmv-gradient-app-bg);
  background-attachment: fixed;
  color: var(--rmv-color-text);
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
  margin-bottom: 64px;
}

button,
input,
select,
textarea,
table,
.navbar {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem var(--rmv-color-surface), 0 0 0 0.22rem rgba(var(--rmv-color-primary-rgb), 0.22);
}

.btn {
  font-weight: 500;
}

.rmv-navbar {
  -webkit-backdrop-filter: var(--rmv-blur-glass);
  backdrop-filter: var(--rmv-blur-glass);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--rmv-shadow-sm);
}

.rmv-brand {
  align-items: baseline;
  display: inline-flex;
  gap: 0.45rem;
}

.rmv-brand-mark {
  color: var(--rmv-color-primary);
  font-size: 1.24rem;
  font-weight: 800;
}

.rmv-brand-subtitle {
  color: var(--rmv-color-text-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.rmv-link,
a {
  color: var(--rmv-color-primary);
}

.rmv-link:hover,
a:hover {
  color: var(--rmv-color-primary-hover);
}

.rmv-page-title {
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: 0;
}

.rmv-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: var(--rmv-color-surface-soft);
  border: 1px solid rgba(var(--rmv-color-primary-rgb), 0.14);
  border-radius: var(--rmv-radius-lg);
  box-shadow: var(--rmv-shadow-sm);
}

.rmv-table {
  background: var(--rmv-color-surface-soft);
  border: 1px solid rgba(var(--rmv-color-primary-rgb), 0.14);
  border-radius: var(--rmv-radius-md);
  box-shadow: var(--rmv-shadow-xs);
  overflow: hidden;
}

.rmv-badge {
  background: rgba(var(--rmv-color-primary-rgb), 0.1);
  border: 1px solid rgba(var(--rmv-color-primary-rgb), 0.18);
  border-radius: 999px;
  color: var(--rmv-color-accent);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.3rem 0.62rem;
}

.rmv-color-swatch {
  border: 1px solid var(--rmv-color-border);
  border-radius: 999px;
  display: inline-block;
  height: 1.35rem;
  width: 1.35rem;
}

