:root {
  /* --color-primary: #0a486b; */
  --color-primary: #03484c;
  --color-primary-hover: #53ac59;
  --color-primary-dark: #1c232e;
  --color-primary-dark-hover: #0f684b;
  --color-primary-light: #ececec;
  --color-primary-light-hover: #d1ddd5;
  --color-primary-light-hover-2: #edf5f0;
  /* --color-primary-light-hover: #e3f5ff; */

  --color-secondary: #555231;
  --color-secondary-light: #8f804a;
  --color-secondary-hover: #f3f3ec;

  --color-data-value: #008cff;
  --color-button-blue: #0f2950;
  --color-button-blue-light: #0073d1;

  --color-purple: #6f42c1;
  --color-purple-dark: #5a32a3;
  --color-purple-text: #230a53;

  --color-danger: #9e2424;
  --color-danger-2: #c73131;
  --color-danger-light-hover: #ffbbbb;
  --color-danger-light-hover-2: #ffe4e4;
  --color-danger-light: rgb(248, 225, 151);
  --color-danger-light-2: rgb(253, 214, 83);

  --color-info: #ffa137;
  --color-info-dark: #c4751c;

  --color-white: #fff;
  --color-black: #000;

  --color-dark-text: #1c232e;
  --color-info-light: #cce5ff;
  --color-debug-light: #cce5ff;
  --color-success-light: #d4edda;
  --color-alert-light: #fff3cd;
  --color-warning-light: #fff3cd;
  --color-error-light: #f8d7da;

  --color-debug-dark: #4d86c4;
  --color-success-dark: #4a9c5d;
  --color-alert-dark: #927f40;
  --color-warning-dark: #927f40;
  --color-error-dark: #da525d;

  --color-gray-0: #f9f9f9;
  --color-gray-1: #e0e0e0;
  --color-gray-2: #c7c7c7;
  --color-gray-3: #aeaeae;
  --color-gray-4: #959595;
  --color-gray-5: #7d7d7d;
  --color-gray-6: #646464;
  --color-gray-7: #4b4b4b;
  --color-gray-8: #323232;
  --color-gray-9: #191919;

  --font-primary: sans-serif;
  --font-headings: 'Manrope', sans-serif;
  --font-size: 1rem;

  --spacing-gutter-small: 1.5rem;
  --spacing-gutter-medium: 3rem;
  --spacing-gutter-large: 4rem;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-size: calc(var(--font-size) * 1.3);
  font-family: var(--font-primary);
  background: var(--color-gray-0);
  padding: 80px 0 80px; /* ajuste conforme a altura real do footer */
}

@media (max-width: 900px) {
  body {
    padding: 70px 0 70px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-headings);
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
}

/* ----- Pagination -------*/

.pagination-content {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem 0.5rem;
}
.pagination .page-item {
  background: var(--color-gray-3);
  padding: 0.5rem 1rem;
}

.pagination .page-link {
  text-decoration: none;
  background: var(--color-primary);
  color: var(--color-white);
}

.pagination .page-current {
  background: var(--color-primary-dark);
}

/*----- Messages ------*/

.messages-container div {
  display: flex;
  flex-flow: column nowrap;
  gap: calc(var(--spacing-gutter-medium) / 2);
}

.message {
  font-size: calc(var(--font-size) * 1.3);
  padding: 1rem;
  border-radius: 4px;
  border: 1px solid var(--color-dark-text);
  background: var(--color-gray-2);
  color: var(--color-dark-text);
}

.message-error {
  border: 1px solid var(--color-error-dark);
  background: var(--color-error-light);
  color: var(--color-error-dark);
}

.message-success {
  border: 1px solid var(--color-success-dark);
  background: var(--color-success-light);
  color: var(--color-success-dark);
}

.message-warning {
  border: 1px solid var(--color-warning-dark);
  background: var(--color-warning-light);
  color: var(--color-warning-dark);
}

.message-alert {
  border: 1px solid var(--color-alert-dark);
  background: var(--color-alert-light);
  color: var(--color-alert-dark);
}

.message-info {
  border: 1px solid var(--color-info-dark);
  background: var(--color-info-light);
  color: var(--color-info-dark);
}

.message-debug {
  border: 1px solid var(--color-debug-dark);
  background: var(--color-debug-light);
  color: var(--color-debug-dark);
}

/* Generics */

.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.m-x {
  margin: 0 var(--spacing-gutter-small);
}

.m-x-smaller {
  margin: 0 calc(var(--spacing-gutter-small) * 0.3);
}

.m-y {
  margin: var(--spacing-gutter-small) 0;
}

.m-y-top {
  margin-top: var(--spacing-gutter-small);
}

.m-y-bottom {
  margin-bottom: var(--spacing-gutter-small);
}

.m-y-smaller {
  margin: 0 calc(var(--spacing-gutter-small) * 0.3);
}

.hidden-text {
  display: none;
}

.menu-container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 260px;
  min-height: 100vh;
  overflow-y: auto;
  background: var(--color-primary);
  z-index: 2;
  transition: all 300ms ease-in-out;
}

.menu-container a {
  color: var(--color-white);
}

@media (max-width: 600px) {
  .main-content-list,
  .form-content-grid {
    grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
  }
}