 :root {
  /* Paleta institucional SIG Caçamba */
  --color-green: #2E7D32;
  --color-green-light: #43A047;
  --color-blue: #1565C0;
  --color-blue-light: #42A5F5;
  --color-orange: #F57C00;
  --color-dark: #263238;
  --color-light: #ECEFF1;
  --color-white: #FFFFFF;

  /* Tokens de compatibilidade da interface existente */
  --first-color-dark: var(--color-green);
  --first-color: var(--color-green);
  --first-color-light: var(--color-green-light);
  --first-color-lighter: var(--color-light);
  --title-color: var(--color-dark);
  --text-color: var(--color-dark);
  --text-color-light: #455A64;
  --container-color: var(--color-white);
  --link-color: var(--color-blue);
  --c-white: var(--color-white);
  --c-gray: #CFD8DC;
  --c-gray-light: var(--color-light);
  --c-gray-lighter: #F8FAFB;
  --c-success: var(--color-green);
  --c-danger-dark: #870000;
  --c-danger: #C62828;
  --c-warning: var(--color-orange);
  --c-purple: var(--color-orange);
  --c-black-10: rgba(38, 50, 56, 0.1);
  --c-black-15: rgba(38, 50, 56, 0.15);
  --c-blue-10: rgba(21, 101, 192, 0.1);

  /* ========== Font and typography ==========*/
  --body-font: "Poppins", sans-serif;
  --bigger-font-size: 1.5rem;
  --big-font-size: 1.25rem;
  --normal-font-size: 1rem;
  --small-font-size: 0.875rem;
  --smaller-font-size: 0.75rem;
  --title-font-size: 2rem;
  --font-medium: 500;
  --font-semi-bold: 600;
}

* {
  font-family: var(--body-font);
}

html,
body {
  min-height: 100vh;
  background-color: var(--c-gray-light);
  scroll-behavior: smooth;
}

body.header-bg-image {
  display: grid;
  grid-template-rows: 0 1fr;
}

a {
  color: var(--text-color-light);
}

a:hover {
  color: var(--text-color);
}

a,
a:hover,
a:focus {
  text-decoration: none !important;
}

.h-0 {
  height: 0;
}

.h-auto {
  height: auto;
}

.form-alert {
  font-size: var(--smaller-font-size);
}
.alert-warning {
  color: var(--c-warning) !important;
}
.alert i {
  font-size: var(--title-font-size);
}

.dashboard-alerts {
  border-top: 1px solid var(--c-gray);
  padding-top: 1.5rem;
}

.dashboard-alert-card {
  border: 1px solid var(--c-gray);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 0.75rem var(--c-black-10);
}

.dashboard-alert-card .card-body {
  padding: 1.25rem;
}

.dashboard-alert-icon {
  align-items: center;
  background: var(--c-gray-lighter);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 2.75rem;
  font-size: 1.125rem;
  height: 2.75rem;
  justify-content: center;
}

.dashboard-alert-count {
  color: var(--title-color);
  font-size: 1.875rem;
  font-weight: var(--font-semi-bold);
  line-height: 1.1;
}

.logo {
  width: 5.4375rem;
}

.c-text {
  color: var(--text-color);
}

.c-text-light {
  color: var(--text-color-light);
}

.c-text-white {
  color: var(--c-white) !important;
}

.c-text-first-dark {
  color: var(--first-color-dark) !important;
}

.bigger-font-size {
  font-size: var(--bigger-font-size) !important;
}

.normal-font-size {
  font-size: var(--normal-font-size) !important;
}

.small-font-size {
  font-size: var(--small-font-size) !important;
}

.fw-medium {
  font-weight: var(--font-medium) !important;
}

.link-color {
  color: var(--link-color);
}
/*========== Header ==========*/
.header {
  padding: 1rem;
  box-shadow: 0 0 1rem var(--c-black-10);
  background-color: var(--c-white);
  z-index: 101;
}

.bg-header {
  width: 100%;
  height: 27.5rem;
  background: var(--first-color-light);
  background-size: cover;
  -webkit-clip-path: url(#mask-mobile);
  clip-path: url(#mask-mobile);
}

.mask-image {
  width: 100%;
  height: 26.25rem;
  background: linear-gradient(0deg, rgba(46, 125, 50, 0.82), rgba(46, 125, 50, 0.82)), url(../imagens/cacambadocumento.png);
  background-size: cover;
  background-position: center;
  -webkit-clip-path: url(#mask-mobile);
  clip-path: url(#mask-mobile);
}

.dropdown-toggle.profile::after {
  display: none;
}

/*========== Title ==========*/
.title {
  color: var(--first-color-dark);
  font-size: var(--title-font-size);
  font-weight: var(--font-semi-bold);
  word-wrap: break-word;
}

.subtitle {
  font-size: var(--normal-font-size);
  font-weight: var(--font-regular);
  color: var(--text-color-light);
}

/*========== Cards ==========*/
.card {
  background-color: var(--container-color);
  border: 0.0625rem solid var(--c-gray);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 0.75rem var(--c-black-15);
}

.card-title {
  font-weight: var(--font-semi-bold);
  color: var(--title-color);
  font-size: var(--bigger-font-size);
}

.card-subtitle {
  font-weight: var(--font-regular);
  color: var(--text-color-light);
  font-size: var(--small-font-size);
}

.card-link {
  font-size: var(--small-font-size);
}

.card-option,
.card-form,
.card-option-profile {
  box-shadow: 0 2px 1rem rgba(38, 50, 56, 0.1);
  transition: all 0.4s;
}

.card-option:hover,
.card-option-profile:hover {
  transform: scale(1.05);
}

.card-filter-title {
  font-weight: var(--font-semi-bold);
  color: var(--text-color);
  font-size: var(--big-font-size);
}

.card-filter-text {
  color: var(--text-color-light);
  font-size: var(--small-font-size);
  font-weight: var(--font-medium);
}

.card-form-title {
  /* font-weight: var(--font-semi-bold); */
  color: var(--title-color);
}

.card-home {
  padding: 1rem !important;
}

.card-home-subtitle {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  line-height: normal;
}

/* ========== Card menu ========== */

.menu-mobile-card {
  top: 5px;
  right: 3px;
}
.menu-mobile-card .menu-btn i {
  font-size: var(--bigger-font-size);
  color: var(--first-color-dark);
}

.menu-options-card {
  height: 0;
  overflow: hidden;
  background-color: var(--c-gray);
  width: fit-content;
  right: -35px;
  border: none;
}
.menu-options-card a {
  width: 100%;
}
.open .menu-options-card {
  margin-top: 0.2rem;
  height: fit-content;
  transition: all 0.2s;
  top: 22px;
  right: -22px;
}
.menu-options-card a {
  margin-top: 0.5rem;
}
.menu-options-card a:first-child {
  margin-top: 1rem;
}
.menu-options-card a:last-child {
  margin-bottom: 1rem;
}

/* ========== Inputs ========== */
label,
.label {
  font-size: var(--normal-font-size);
  color: var(--text-color-light);
  font-weight: var(--font-regular);
}

.opcional-input-text {
  font-size: var(--smaller-font-size);
  color: #607D8B;
}

.custom-file-input {
  position: absolute;
  z-index: -1;
  width: 0;
  height: 0;
  padding: 0;
  border: 0;
}

.filter label {
  font-size: var(--small-font-size) !important;
}

input[type="radio"] + label {
  font-size: var(--small-font-size);
  font-weight: var(--font-regular);
  padding: 0.5rem 1rem;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  background: var(--c-white);
  border: 0.0625rem solid var(--c-gray);
  border-radius: 0.25rem;
  transition: all 0.5s;
  cursor: pointer;
}

input[type="radio"] + label svg path {
  stroke: var(--text-color-light);
}

input[type="radio"]:checked + label {
  background: var(--first-color);
  border: 0.0625rem solid var(--first-color);
  color: var(--c-white);
}

input[type="radio"]:checked + label svg path {
  stroke: var(--c-white);
}

input,
.custom-file-label,
textarea {
  background-color: var(--c-gray-lighter);
  background-repeat: no-repeat;
  background-position: center left 1rem;
  padding: 0.75rem 1rem 0.75rem 3.25rem;
  color: var(--text-color-light);
  width: 100%;
  border: 0.0625rem solid var(--c-gray);
  border-radius: 0.25rem;
  font-size: var(--small-font-size);
}

input:active,
input:focus,
input:focus-visible,
input:focus-within,
input:active + .custom-file-label,
input:focus + .custom-file-label,
input:focus-visible + .custom-file-label,
input:focus-within + .custom-file-label,
select:active,
select:focus,
select:focus-visible,
select:focus-within {
  outline: 0.0625rem solid var(--first-color-light);
  border-color: var(--first-color-light) !important;
}

input.input-validation-error,
input.input-validation-error + .custom-file-label,
select.input-validation-error {
  background-color: #fff7f7;
  border-color: #e3182e;
}

input.valid,
input.valid + .custom-file-label,
select.valid {
  background-color: #f5fcf5;
  border-color: forestgreen !important;
  outline: 0.0625rem solid forestgreen;
}

input[data-icon="email"] {
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='24' viewBox='0 0 25 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.87964 5.25H21.8796V18C21.8796 18.1989 21.8006 18.3897 21.66 18.5303C21.5193 18.671 21.3286 18.75 21.1296 18.75H4.62964C4.43073 18.75 4.23996 18.671 4.09931 18.5303C3.95866 18.3897 3.87964 18.1989 3.87964 18V5.25Z' stroke='%237C7C8A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21.8796 5.25L12.8796 13.5L3.87964 5.25' stroke='%237C7C8A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="identificationCard"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 10.5H18' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.25 13.5H18' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.63428 13.5C9.87692 13.5 10.8843 12.4926 10.8843 11.25C10.8843 10.0074 9.87692 9 8.63428 9C7.39164 9 6.38428 10.0074 6.38428 11.25C6.38428 12.4926 7.39164 13.5 8.63428 13.5Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.72803 15.75C5.89325 15.1047 6.26855 14.5327 6.79476 14.1243C7.32097 13.7158 7.96815 13.4941 8.63428 13.4941C9.30041 13.4941 9.94759 13.7158 10.4738 14.1243C11 14.5327 11.3753 15.1047 11.5405 15.75' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20.25 4.5H3.75C3.33579 4.5 3 4.83579 3 5.25V18.75C3 19.1642 3.33579 19.5 3.75 19.5H20.25C20.6642 19.5 21 19.1642 21 18.75V5.25C21 4.83579 20.6642 4.5 20.25 4.5Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="user"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 15C14.0711 15 15.75 13.3211 15.75 11.25C15.75 9.17893 14.0711 7.5 12 7.5C9.92893 7.5 8.25 9.17893 8.25 11.25C8.25 13.3211 9.92893 15 12 15Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.98145 18.6938C6.54574 17.5824 7.40678 16.6488 8.46914 15.9968C9.5315 15.3447 10.7537 14.9995 12.0002 14.9995C13.2467 14.9995 14.4689 15.3447 15.5312 15.9968C16.5936 16.6488 17.4547 17.5824 18.0189 18.6938' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="phone"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.67187 11.7C9.44364 13.2938 10.7324 14.5792 12.3281 15.3469C12.4458 15.4026 12.576 15.4268 12.7059 15.4169C12.8358 15.407 12.9608 15.3635 13.0687 15.2907L15.4125 13.725C15.516 13.6548 15.6357 13.6119 15.7603 13.6005C15.8849 13.589 16.0104 13.6093 16.125 13.6594L20.5125 15.5438C20.6625 15.6062 20.7877 15.7162 20.869 15.8568C20.9504 15.9974 20.9832 16.1608 20.9625 16.3219C20.8234 17.4073 20.2937 18.4048 19.4723 19.1278C18.6509 19.8508 17.5943 20.2498 16.5 20.25C13.1185 20.25 9.87548 18.9067 7.48439 16.5156C5.0933 14.1246 3.75 10.8815 3.75 7.50003C3.75025 6.40578 4.1492 5.34911 4.87221 4.52774C5.59522 3.70637 6.59274 3.17659 7.67812 3.03753C7.83922 3.01684 8.00266 3.04967 8.14326 3.13099C8.28386 3.2123 8.39384 3.33758 8.45625 3.48753L10.3406 7.88441C10.3896 7.99723 10.4101 8.12038 10.4003 8.24299C10.3905 8.36561 10.3507 8.48393 10.2844 8.58753L8.71875 10.9688C8.64905 11.0765 8.60814 11.2003 8.59993 11.3283C8.59172 11.4563 8.61649 11.5843 8.67187 11.7Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="identificationId"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 16.25C13.6569 16.25 15 14.9069 15 13.25C15 11.5931 13.6569 10.25 12 10.25C10.3431 10.25 9 11.5931 9 13.25C9 14.9069 10.3431 16.25 12 16.25Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.5 18.5C8.02395 17.8014 8.70336 17.2344 9.48442 16.8438C10.2655 16.4533 11.1267 16.25 12 16.25C12.8733 16.25 13.7345 16.4533 14.5156 16.8438C15.2966 17.2344 15.976 17.8014 16.5 18.5' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.5 20.75V4.25C19.5 3.83579 19.1642 3.5 18.75 3.5L5.25 3.5C4.83579 3.5 4.5 3.83579 4.5 4.25L4.5 20.75C4.5 21.1642 4.83579 21.5 5.25 21.5H18.75C19.1642 21.5 19.5 21.1642 19.5 20.75Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 6.5H15' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="userList"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 14C9.57107 14 11.25 12.3211 11.25 10.25C11.25 8.17893 9.57107 6.5 7.5 6.5C5.42893 6.5 3.75 8.17893 3.75 10.25C3.75 12.3211 5.42893 14 7.5 14Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.25 8H23.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.25 12.5H23.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.5 17H23.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1.6875 18.5C2.01795 17.2094 2.76855 16.0655 3.82097 15.2486C4.87338 14.4317 6.16774 13.9883 7.5 13.9883C8.83226 13.9883 10.1266 14.4317 11.179 15.2486C12.2314 16.0655 12.982 17.2094 13.3125 18.5' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="password"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.5 8.25H4.5C4.08579 8.25 3.75 8.58579 3.75 9V19.5C3.75 19.9142 4.08579 20.25 4.5 20.25H19.5C19.9142 20.25 20.25 19.9142 20.25 19.5V9C20.25 8.58579 19.9142 8.25 19.5 8.25Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.625 8.25V4.875C8.625 3.97989 8.98058 3.12145 9.61351 2.48851C10.2465 1.85558 11.1049 1.5 12 1.5C12.8951 1.5 13.7535 1.85558 14.3865 2.48851C15.0194 3.12145 15.375 3.97989 15.375 4.875V8.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 15.375C12.6213 15.375 13.125 14.8713 13.125 14.25C13.125 13.6287 12.6213 13.125 12 13.125C11.3787 13.125 10.875 13.6287 10.875 14.25C10.875 14.8713 11.3787 15.375 12 15.375Z' fill='%23636363'/%3E%3C/svg%3E%0A");
}

input[data-icon="local"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12.75C13.6569 12.75 15 11.4069 15 9.75C15 8.09315 13.6569 6.75 12 6.75C10.3431 6.75 9 8.09315 9 9.75C9 11.4069 10.3431 12.75 12 12.75Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.5 9.75C19.5 16.5 12 21.75 12 21.75C12 21.75 4.5 16.5 4.5 9.75C4.5 7.76088 5.29018 5.85322 6.6967 4.4467C8.10322 3.04018 10.0109 2.25 12 2.25C13.9891 2.25 15.8968 3.04018 17.3033 4.4467C18.7098 5.85322 19.5 7.76088 19.5 9.75Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="plate"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.125 14.25H3.75C3.55109 14.25 3.36032 14.171 3.21967 14.0303C3.07902 13.8897 3 13.6989 3 13.5V7.5C3 7.30109 3.07902 7.11032 3.21967 6.96967C3.36032 6.82902 3.55109 6.75 3.75 6.75H19.125L22.5 10.5L19.125 14.25Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 3V6.75' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 14.25V21' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="numbers"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.75 12H20.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.75 6H20.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.75 18H20.25' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.75 5.625L5.25 4.875V10.125' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.85312 14.3062C3.92224 14.1351 4.02666 13.9805 4.15958 13.8524C4.2925 13.7244 4.45093 13.6258 4.62452 13.5632C4.79812 13.5005 4.98297 13.4752 5.16703 13.4888C5.35108 13.5024 5.53019 13.5547 5.69266 13.6423C5.85514 13.7298 5.99733 13.8506 6.10994 13.9968C6.22256 14.143 6.30308 14.3114 6.34624 14.4908C6.38939 14.6702 6.39422 14.8568 6.36041 15.0382C6.3266 15.2196 6.2549 15.3919 6.15 15.5437L3.75 18.75H6.375' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input[data-icon="global"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20.0813 15.975L14.9906 12.8437C14.903 12.7874 14.8035 12.7521 14.7 12.7406L12.5531 12.45C12.393 12.427 12.2297 12.4578 12.0889 12.5375C11.9481 12.6172 11.8377 12.7414 11.775 12.8906L10.4906 15.7687C10.4303 15.9026 10.4105 16.0513 10.4338 16.1963C10.4572 16.3412 10.5226 16.4762 10.6219 16.5844L12.3844 18.4875C12.4641 18.5751 12.5224 18.6798 12.555 18.7937C12.5875 18.9075 12.5933 19.0273 12.5719 19.1437L12.2063 21' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.09373 5.21252L5.24998 7.20002C5.17649 7.37647 5.17313 7.57432 5.2406 7.75315L6.31873 10.6219C6.36086 10.7415 6.43299 10.8482 6.52819 10.9319C6.6234 11.0157 6.7385 11.0735 6.86248 11.1L8.86873 11.5313C8.98008 11.5538 9.08466 11.602 9.17416 11.6719C9.26366 11.7419 9.33563 11.8318 9.38435 11.9344L9.7406 12.675C9.8039 12.8002 9.90026 12.9058 10.0192 12.9801C10.1382 13.0545 10.2753 13.0949 10.4156 13.0969H11.6812' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.2969 3.29065L15.1688 4.86565C15.2493 5.01372 15.2782 5.18437 15.2511 5.35071C15.2239 5.51704 15.1422 5.66962 15.0188 5.7844L12.4969 8.06252C12.4547 8.10284 12.4074 8.1375 12.3563 8.16565L11.2031 8.80315C11.0932 8.86147 10.9713 8.89356 10.8469 8.8969H8.84065C8.69285 8.89765 8.54849 8.94151 8.42526 9.02311C8.30203 9.10471 8.20529 9.2205 8.1469 9.35627L7.36877 11.2031' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

input.checkbox {
  width: 24px;
  height: 24px;
  border-color: var(--c-gray);
}

input:read-only {
  background-color: var(--color-light);
}

/* ========== Select ========== */
select {
  background-color: var(--c-gray-lighter);
  color: var(--text-color-light);
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  width: 100%;
  border: 0.0625rem solid var(--c-gray);
  border-radius: 0.25rem;
  font-size: var(--small-font-size);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.494 9.82599L12.994 17.326L5.49396 9.82599' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
}

/*select2 {
    background-color: var(--c-gray-lighter);
    color: var(--text-color-light);
    padding: 0.75rem 2.5rem 0.75rem 1rem;
    width: 100%;
    border: 0.0625rem solid var(--c-gray);
    border-radius: 0.25rem;
    font-size: var(--small-font-size);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.494 9.82599L12.994 17.326L5.49396 9.82599' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
}

select2:focus {
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.49396 15.826L12.994 8.32599L20.494 15.826' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}*/

select:focus {
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.49396 15.826L12.994 8.32599L20.494 15.826' stroke='%23636363' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.select2.select2-container {
    width: 100% !important;
}

    .select2.select2-container .select2-selection {
        border: 1px solid #ccc;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
        height: 45px;
        margin-bottom: 15px;
        outline: none !important;
        transition: all .15s ease-in-out;
    }

        .select2.select2-container .select2-selection .select2-selection__rendered {
            color: #333;
            line-height: 32px;
            padding-right: 33px;
        }

        .select2.select2-container .select2-selection .select2-selection__arrow {
            background: #f8f8f8;
            border-left: 1px solid #ccc;
            -webkit-border-radius: 0 3px 3px 0;
            -moz-border-radius: 0 3px 3px 0;
            border-radius: 0 3px 3px 0;
            height: 44px;
            width: 33px;
        }

    .select2.select2-container.select2-container--open .select2-selection.select2-selection--single {
        background: #f8f8f8;
    }

        .select2.select2-container.select2-container--open .select2-selection.select2-selection--single .select2-selection__arrow {
            -webkit-border-radius: 0 3px 0 0;
            -moz-border-radius: 0 3px 0 0;
            border-radius: 0 3px 0 0;
        }

    .select2.select2-container.select2-container--open .select2-selection.select2-selection--multiple {
        border: 1px solid var(--color-dark);
    }

    .select2.select2-container .select2-selection--multiple {
        height: auto;
        min-height: 34px;
    }

        .select2.select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
            margin-top: 0;
            height: 32px;
        }

        .select2.select2-container .select2-selection--multiple .select2-selection__rendered {
            display: block;
            padding: 0 4px;
            line-height: 29px;
        }

        .select2.select2-container .select2-selection--multiple .select2-selection__choice {
            background-color: #f8f8f8;
            border: 1px solid #ccc;
            -webkit-border-radius: 3px;
            -moz-border-radius: 3px;
            border-radius: 3px;
            margin: 4px 4px 0 0;
            padding: 0 6px 0 22px;
            height: 24px;
            line-height: 24px;
            font-size: 12px;
            position: relative;
        }

            .select2.select2-container .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
                position: absolute;
                top: 0;
                left: 0;
                height: 22px;
                width: 22px;
                margin: 0;
                text-align: center;
                color: #e74c3c;
                font-weight: bold;
                font-size: 16px;
            }

.select2-container .select2-dropdown {
    background: transparent;
    border: none;
    margin-top: -5px;
}

    .select2-container .select2-dropdown .select2-search {
        padding: 0;
    }

        .select2-container .select2-dropdown .select2-search input {
            outline: none !important;
            border: 1px solid var(--color-dark) !important;
            border-bottom: none !important;
            padding: 4px 6px !important;
        }

    .select2-container .select2-dropdown .select2-results {
        padding: 0;
    }

        .select2-container .select2-dropdown .select2-results ul {
            background: #fff;
            border: 1px solid var(--color-dark);
        }

            .select2-container .select2-dropdown .select2-results ul .select2-results__option--highlighted[aria-selected] {
                background-color: var(--color-blue);
            }


/* ========== Icons ========== */
.ico-btn {
  width: 1rem;
  height: 1rem;
  background-size: cover;
  margin-right: 0.75rem;
}

.ico-user.dropdown-toggle::after {
  display: none;
}

.ico-user {
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 28C22.6274 28 28 22.6274 28 16C28 9.37258 22.6274 4 16 4C9.37258 4 4 9.37258 4 16C4 22.6274 9.37258 28 16 28Z' stroke='%2358555E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 20C18.7614 20 21 17.7614 21 15C21 12.2386 18.7614 10 16 10C13.2386 10 11 12.2386 11 15C11 17.7614 13.2386 20 16 20Z' stroke='%2358555E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.9751 24.925C8.72749 23.4431 9.87555 22.1984 11.292 21.3289C12.7085 20.4595 14.3381 19.9993 16.0001 19.9993C17.6621 19.9993 19.2917 20.4595 20.7082 21.3289C22.1246 22.1984 23.2727 23.4431 24.0251 24.925' stroke='%2358555E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ico-plus-blue {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 8H13.5' stroke='%2308325e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 2.5V13.5' stroke='%2308325e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ico-plus-white {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 8H13.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 2.5V13.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

td i {
  font-size: var(--normal-font-size);
}

.c-view {
  color: var(--first-color);
}
.c-edit {
  color: var(--c-warning);
}
.c-delete {
  color: var(--c-danger);
}
.c-response {
  color: var(--first-color-light);
}
.c-success {
  color: var(--c-success);
}
/* ========== Buttons ========== */
.shadow {
  box-shadow: rgb(100 100 111 / 24%) 0px 0px 3px 1px;
}
.nav-btn {
  z-index: 4;
}
.nav-btn.shadow,
.filter.shadow {
  box-shadow: rgb(100 100 111 / 35%) 0px -9px 6px -4px !important;
}

.btn {
  font-size: var(--normal-font-size);
  font-weight: var(--font-semi-bold);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  /* height: 2.75rem; */
}
.btn i {
  font-size: var(--big-font-size);
}
.btn,
.btn:focus,
.btn:visited,
.btn:active,
.btn:focus-visible {
  outline: none !important;
}

.solid-btn {
  color: var(--c-white);
  background-color: var(--first-color);
  border-color: var(--first-color);
}
.solid-btn:hover,
.solid-btn:focus,
.solid-btn:active,
.solid-btn:active:focus {
  color: var(--c-white);
  background-color: var(--first-color-dark);
  box-shadow: 0 0 0 0.25rem rgba(67, 160, 71, 0.16);
}

.solid-btn-light {
  font-size: var(--normal-font-size);
  font-weight: var(--font-medium);
  color: var(--c-white);
  background-color: var(--first-color-light);
  border-color: var(--first-color-light);
  transition: all 0.3s;
}

.solid-btn-light:hover,
.solid-btn-light:focus,
.solid-btn-light:active,
.solid-btn-light:active:focus {
  color: var(--c-white);
  border-color: var(--first-color);
  background-color: var(--first-color);
  box-shadow: 0 0 0 0.25rem rgba(67, 160, 71, 0.16);
}
.outline-btn {
  color: var(--first-color-dark);
  border: 0.0625rem solid var(--c-white);
  background-color: var(--c-white);
  box-shadow: rgb(100 100 111 / 24%) 0px 0px 3px 1px;
}
.outline-btn:focus,
.outline-btn:active,
.outline-btn:focus-visible {
  color: var(--first-color-dark);
  border: 0.0625rem solid var(--c-white);
  background-color: var(--c-white);
  box-shadow: 0 0 0 0.25rem rgba(67, 160, 71, 0.16);
}

.outline-btn:hover {
  color: var(--first-color-dark);
  border: 0.0625rem solid var(--c-white);
  background-color: var(--c-white);
  box-shadow: rgb(100 100 111 / 50%) 0px 4px 7px 1px;
}

.no-border-btn,
.no-border-btn:hover,
.no-border-btn:focus,
.no-border-btn:visited,
.no-border-btn:active,
.no-border-btn:focus-visible {
  color: var(--first-color);
  border: 0.0625rem solid transparent;
  background-color: transparent;
  box-shadow: none;
}

.btn-close-filter {
  position: absolute;
  top: 0.375rem;
  right: 0.625rem;
  border: none;
  background: none;
}

.btn-back,
.btn-back-profile {
  width: fit-content;
}

.form-add-btn {
  color: var(--text-color-light);
  font-size: var(--small-font-size);
  font-weight: var(--font-regular);
  padding-right: 0 !important;
}

.form-add-btn,
.form-add-btn:hover,
.form-add-btn:focus,
.form-add-btn:visited,
.form-add-btn:active,
.form-add-btn:focus-visible {
  border: none;
}

.warning-btn {
  color: var(--c-white) !important;
  background-color: var(--color-orange);
  border: none;
  /* font-weight: var(--font-regular);
  font-size: var(--small-font-size); */
}
.warning-btn:hover,
.warning-btn:focus,
.warning-btn:active,
.warning-btn:active:focus {
  background-color: #C46200;
  box-shadow: 0 0 0 0.25rem rgba(67, 160, 71, 0.16);
}

.danger-btn {
  color: var(--c-white) !important;
  background-color: #e21a24;
  border: none;
  /* font-weight: var(--font-regular);
  font-size: var(--small-font-size); */
}

.danger-btn:hover,
.danger-btn:focus,
.danger-btn:active,
.danger-btn:active:focus {
  background-color: #a2171e;
  box-shadow: 0 0 0 0.25rem rgba(67, 160, 71, 0.16);
}

.gray-btn {
  color: var(--c-white) !important;
  background-color: var(--text-color-light);
  border: none;
  font-weight: var(--font-regular);
  font-size: var(--small-font-size);
}

.gray-btn:hover,
.gray-btn:focus,
.gray-btn:active,
.gray-btn:active:focus {
  background-color: var(--color-dark);
  box-shadow: 0 0 0 0.25rem rgba(67, 160, 71, 0.16);
}

.close-modal-btn {
  color: var(--c-gray);
  border: 0.0625rem solid transparent;
  background-color: transparent;
  box-shadow: none;
}

/* ==========  Filter ========== */
.filter {
  background: var(--c-white);
  border: 0.0625rem solid var(--c-white);
  color: var(--text-color);
  box-shadow: 0 0 0.3125rem var(--c-gray);
  border-radius: 0.625rem;
  margin-left: -1.75rem;
  z-index: 5;
}

.filter-title {
  font-weight: var(--font-semi-bold);
  font-size: var(--big-font-size);
}

.count-filter {
  border-radius: 50%;
  background-color: var(--c-danger);
  font-size: 0.625rem;
  padding: 0 0.3125rem;
  margin-bottom: 0.625rem;
}

/* ========== Footer ========== */
.app-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3rem;
  padding: 1.25rem 1rem;
  border-top: 1px solid var(--c-gray);
  background: var(--color-light);
  text-align: center;
}

.copyright {
  color: var(--text-color-light);
  font-size: var(--small-font-size);
  font-weight: var(--font-medium);
}

.home-top {
  min-height: 26.25rem;
}

.title-home {
  font-size: 2rem;
  color: var(--c-white);
  font-weight: var(--font-semi-bold);
}

.subtitle-home {
  max-width: 56.25rem;
  color: var(--c-gray-lighter);
  font-size: var(--normal-font-size);
  font-weight: 300;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  line-height: normal;
}

.highlight-section-title {
  color: var(--title-color);
}

.highlight-title {
  color: var(--title-color);
}

.highlight-subtitle {
  color: var(--text-color-light);
  font-size: var(--small-font-size);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.observation {
  font-size: var(--small-font-size);
  color: var(--text-color-light);
  font-weight: var(--font-regular);
}
.observation span {
  font-weight: var(--font-semi-bold);
}

.data-text,
.data-view-text {
  font-size: var(--small-font-size);
  color: var(--text-color);
}

.data-text div:nth-child(n) {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 0.625rem;
}

.data-text-title {
  font-weight: var(--font-medium);
}

.text-option {
  font-size: var(--small-font-size);
  font-weight: var(--font-medium);
  color: var(--text-color);
}

/* ========== Breadcrumb ========== */
.breadcrumb {
  max-width: 100%;
  width: max-content;
  overflow: hidden;
}

.breadcrumb a {
  color: var(--first-color-dark);
  font-weight: var(--font-medium);
}

.breadcrumb a::after {
  content: " > ";
  color: var(--text-color);
}

.breadcrumb a:last-child {
  color: var(--text-color-light);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.breadcrumb a:last-child::after {
  content: "";
}

/* ========== Table ========== */
.cardInfo > table {
  width: 100% !important;
}
.admin {
  min-height: 82vh;
}
.admin main {
  overflow: overlay;
  margin-top: 6rem;
}
.admin table {
  width: 100%;
}

.admin tbody,
.admin td,
.admin tfoot,
.admin th,
.admin thead,
.admin tr {
  border-style: none;
}

.admin .table-striped .table-header {
  background: var(--first-color);
  color: var(--c-white);
  height: 2.5rem;
  border-width: 0.125rem;
  border-color: transparent;
}

.admin .table-striped .table-header a {
  color: var(--c-white);
}

.admin .table-striped .border-left {
  border-radius: 0.75rem 0 0 0;
}

.admin .table-striped .border-right {
  border-radius: 0 0.75rem 0 0;
}

.admin .table-content {
  font-size: var(--small-font-size);
  background: var(--c-white);
}

.admin .table-content img {
  cursor: pointer;
}

.responsive-card-table {
  border-collapse: collapse;
}

.responsive-card-table tr,
.responsive-card-table th,
.responsive-card-table td {
  padding: 0.25rem;
}
.admin th {
  font-size: var(--small-font-size);
  font-weight: var(--font-medium);
  color: var(--c-gray-light);
}

.responsive-card-table td.actions{
  width: auto;
} 
.title-card {
  font-weight: 600;
  font-size: var(--normal-font-size);
  color: var(--first-color-dark) !important;
}

.responsive-card-table {
  border-collapse: collapse;
}
.mobile-tr {
  cursor: pointer;
}

/* ========== Tags Status ========== */
.tag-status {
  padding: 0 0.313rem;
  border-radius: 5px;
  color: var(--c-white);
  display: flex;
  justify-content: center;
  width: fit-content;
  margin: auto;
}

.status-irregular {
  background-color: #870000;
}

.status-regular {
  background-color: var(--color-green);
}

.status-not-registered {
  background-color: var(--color-dark);
}

.status-without-ctr {
  background-color: var(--color-orange);
}

/*========== Map ==========*/
.container-map {
  background-color: var(--c-white);
  border: 1px solid var(--c-gray);
  border-radius: 12px;
  padding: 0.5rem;
  box-shadow: 2px 0px 12px var(--c-black-10);
}

#map,
#map_canvas {
  border-radius: 12px;
  width: 100%;
  height: 80vh;
  min-height: 25rem;
  max-height: 62.5rem;
}

#location-map {
  display: none;
}

.subtitle-map {
  position: relative;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 1;
  width: fit-content;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.subtitle-map-title {
  background: var(--c-white);
  padding: 0.5rem 1rem !important;
  border-radius: 4px;
  border: 1px solid var(--c-gray);
  font-size: 0.75rem;
  font-weight: var(--font-semi-bold);
  color: var(--text-color);
  cursor: pointer;
}

.subtitle-map-categories {
  background: var(--c-gray-lighter);
  border-color: var(--c-gray) !important;
  overflow: hidden;
  transition: all 0.4s;
  height: 0;
  border-radius: 4px;
}

.subtitle-map-categories > div:nth-child(n) {
  border-bottom: 1px solid var(--c-gray);
}

.subtitle-map-categories > div:last-child {
  border-bottom: unset;
}

.subtitle-map-category {
  font-size: 0.625rem;
  font-weight: var(--font-medium);
  color: var(--text-color-light);
}

.open .subtitle-map-title #CaretDown {
  transform: rotate(180deg);
}

.open .subtitle-map-categories {
  margin-top: 0.2rem;
  height: 8.438rem;
  border: 1px solid;
}

/* ========== Image ========== */
.image {
  border: 1px solid var(--c-gray);
  border-radius: 0.5rem;
  object-fit: cover;
  max-height: 18.75rem;
  transition: all .4s;
  cursor: pointer;
}

.image:hover {
  opacity: .8;
}

/* ========== Modal ========== */
.image-modal {
  background-color: var(--c-gray-light);
  border-radius: 4px;
  box-shadow: 0 0 2rem var(--c-black-10);
}

/* ========== Pagination ========== */
.page-link {
  background-color: transparent;
  border: transparent;
}
.page-item.active .page-link {
  border-radius: 0.25rem;
  background-color: var(--c-blue-10);
  color: var(--first-color-light);
  font-weight: var(--font-semi-bold);
}
.page-item.disabled .page-link {
  background-color: transparent;
}

/* ========== Medias Queries ========== */
@media screen and (min-width: 48rem) {
  .logo {
    width: 10.125rem;
  }

  .breadcrumb a:last-child {
    width: unset;
  }

  .card-response-min-heigth {
    min-height: 9.125rem;
  }  
}
@media screen and (max-width: 61.9375rem) {
  .admin .table-content {
    border-radius: 0.75rem;
    box-shadow: 0 0 0.625rem var(--c-black-15);
  }
  .filter {
    position: fixed;
    bottom: 0;
  }
  .filter-title {
    font-size: var(--normal-font-size);
  }
  .responsive-card-table tr {
    display: block;
  }
  .responsive-card-table thead tr {
    display: none;
  }

  .responsive-card-table tr + tr {
    margin-top: 0.875rem;
  }
  /* Get table cells to act like rows */

  .responsive-card-table td {
    border: none;
    display: flex;
    justify-content: flex-start;
    word-break: break-word;
    word-wrap: break-word;
    color: var(--text-color);
  }
  .responsive-card-table td:before {
    content: attr(data-label) ":";
    font-weight: bold;
    line-height: 1.5;
    min-width: 40%;
    max-width: 30ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: 0.3125rem;
    text-align: start;
  }
  .responsive-card-table td.title-card:before,
  .responsive-card-table td.status-card:before {
    content: attr(data-label) !important;
    display: none;
  }
  .responsive-card-table td.w-0:before {
    width: 0 !important;
    min-width: 0 !important;
  }
  .responsive-card-table td:after {
    content: "";
    position: absolute;
    width: 35%;
  }
  .w-xs-100 {
    width: 100%;
  }
}
@media screen and (min-width: 62rem) {
  :root {
    --normal-font-size: 1rem;
    --small-font-size: 0.875rem;
    --smaller-font-size: 0.813rem;
  }

  .bg-header {
    height: 30rem;
    -webkit-clip-path: url(#mask-desktop);
    clip-path: url(#mask-desktop);
  }
  .header, .app-footer {
    padding: 0.75rem 6.25rem;
  }

  .mask-image {
    height: 28.75rem;
    -webkit-clip-path: url(#mask-desktop);
    clip-path: url(#mask-desktop);
  }

  .card {
    padding: 2.5rem !important;
  }

  .card-option {
    padding: 1rem !important;
    max-width: 14.75rem;
  }

  .card-filter {
    padding: 1rem 2rem !important;
  }

  .card-form {
    padding: 1.25rem !important;
  }

  .card-home {
    padding: 1.5rem 1rem !important;
    max-width: 250px;
    position: relative;
    bottom: 2.5rem;
  }

  .card-option-profile {
    padding: 1rem !important;
    height: 100%;
    justify-content: center;
  }

  .home-top {
    min-height: 27.5rem;
  }

  .title-home {
    font-size: 3rem;
  }

  input[type="radio"] + label {
    max-width: fit-content;
  }

  /* Table */
  .responsive-card-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.5rem;
  }
  .responsive-card-table td.actions {
    width: 0;
    max-width: fit-content !important;
    text-overflow:unset;
    padding: 0.5rem 1rem;
    margin: auto;
    /* white-space: normal;
    min-width: 10rem; */
  }
  .responsive-card-table td.actions a {
    width: 1.25rem;
    display: inline-block;
    margin-right: 0.75rem;
  }
  .responsive-card-table td.actions a:last-child {
    margin-right: 0;
  }
  .admin table {
    overflow: hidden;
    border-radius: 0.75rem;
    box-shadow: rgb(100 100 111 / 24%) 0px 0px 3px 1px;
  }

  .admin .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--c-blue-10);
  }

  .admin .table-striped tbody tr:nth-of-type(1) {
    border-radius: 12px 12px 0rem 0rem;
  }

  #map {
    height: 60vh;
  }

  #map_canvas {
    height: 60vh;
    min-height: 25rem;
  }

  #location-map,
  #location-form {
    display: unset !important;
  }
}
@media screen and (min-width: 62rem) and (max-width: 75rem) {
  .card-home {
    height: fit-content !important;
    bottom: 0 !important;
  }
}
@media screen and (min-width: 62rem) and (max-width: 87.5rem) {
  .responsive-card-table.large-table td {
    max-width: 8ch;
  }
  .responsive-card-table td:not(.actions) {
    max-width: 0;
  }
}
@media screen and (min-width: 87.5625rem) {
  .responsive-card-table td:not(.actions) {
    max-width: 20ch;
  }
}

/* Componentes Bootstrap alinhados à paleta institucional */
a:not(.btn) { color: var(--color-blue); }
a:not(.btn):hover { color: var(--color-blue-light); }
.btn-primary, .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--color-white);
  background-color: var(--color-green);
  border-color: var(--color-green);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.nav-pills .nav-link.active:hover {
  color: var(--color-white);
  background-color: var(--color-green-light);
  border-color: var(--color-green-light);
}
.btn-outline-primary { color: var(--color-blue); border-color: var(--color-blue); }
.btn-outline-primary:hover { color: var(--color-white); background-color: var(--color-blue); border-color: var(--color-blue); }
.table { --bs-table-color: var(--color-dark); }
.table-striped { --bs-table-striped-bg: rgba(21, 101, 192, 0.06); }

/* ========== SIGCAÇAMBA design system (referência oficial) ========== */
:root {
  --surface: #FFFFFF;
  --surface-muted: #F6F8F9;
  --line: #DBE3E6;
  --muted: #5B6B72;
  --radius: 12px;
  --shadow-sm: 0 1px 2px rgba(38, 50, 56, .05), 0 1px 3px rgba(38, 50, 56, .07);
  --shadow-md: 0 6px 18px rgba(38, 50, 56, .10);
  --shadow-lg: 0 14px 32px rgba(38, 50, 56, .18);
}

body { font-family: "Public Sans", var(--body-font), sans-serif; background: var(--color-light); color: var(--color-dark); }
:focus-visible { outline: 2px solid var(--color-green); outline-offset: 2px; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .75rem 1rem; border-radius: 9px; color: var(--color-white) !important; background: var(--color-dark); box-shadow: var(--shadow-md); transform: translateY(-160%); transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); }
.card { border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.card-form { box-shadow: var(--shadow-sm); }
.title { font-size: clamp(1.6rem, 2.5vw, 2rem); letter-spacing: -.025em; }
.subtitle { color: var(--muted); }
.btn { min-height: 44px; border-radius: 9px; }
.solid-btn { box-shadow: 0 4px 12px rgba(46, 125, 50, .25); }
.outline-btn { border-color: var(--line); box-shadow: none; }
.outline-btn:hover { border-color: var(--color-green); background: #F1F8F2; }
input, .custom-file-label, textarea, select { border-color: var(--line); border-radius: 9px; background-color: #FBFCFC; min-height: 44px; }
.app-footer { margin-top: 2rem; padding: 1.25rem 1rem; background: var(--surface-muted); border-color: var(--line); }

/* Shell administrativo */
.header { height: 62px; padding: .65rem 1rem; border-bottom: 1px solid var(--line); box-shadow: none; }
.header .logo { width: auto; height: 38px; max-width: 175px; object-fit: contain; }
.admin main { margin-top: 5rem; }
.admin .table-striped .table-header { background: var(--color-dark); }
.admin .table-content { border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.admin .table-striped tbody tr:nth-of-type(odd) { background-color: #F6F8F9; }
.data-view-text .data-text-title { color: var(--muted); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

/* Portal público */
.public-shell { background: var(--color-light); }
.public-header { position: sticky; top: 0; z-index: 20; height: 64px; display: flex; align-items: center; background: var(--surface); border-bottom: 1px solid var(--line); }
.public-brand { display: inline-flex; align-items: center; gap: .75rem; color: var(--color-dark) !important; font-weight: 800; }
.public-brand img { width: 124px; max-height: 42px; object-fit: contain; }
.public-brand span { padding-left: .75rem; border-left: 1px solid var(--line); font-size: .8125rem; font-weight: 600; color: var(--muted); }
.public-login-btn { min-height: 40px; color: var(--color-dark); border: 1px solid var(--line); font-size: .875rem; }
.public-login-btn:hover { border-color: var(--color-green); color: var(--color-green); }
.public-content .home-top { min-height: auto; padding: 2.25rem; border-radius: var(--radius); background: linear-gradient(120deg, var(--color-green), var(--color-blue)); box-shadow: var(--shadow-md); }
.public-content .title-home { font-size: clamp(2rem, 4vw, 3rem); }
.public-content .card-home { bottom: auto; border: 1px solid var(--line); }

/* Autenticação */
.auth-page { min-height: calc(100vh - 150px); display: grid; grid-template-columns: 1.05fr .95fr; margin: -1.5rem -0.75rem; }
.auth-intro { flex-direction: column; justify-content: space-between; padding: 4rem clamp(2.5rem, 6vw, 5rem); color: #fff; background: linear-gradient(150deg, #1B5E20 0%, var(--color-green) 42%, var(--color-blue) 100%); }
.auth-brand img { width: 190px; max-height: 64px; object-fit: contain; }
.auth-eyebrow { display: block; margin-bottom: .875rem; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .82; }
.auth-intro h1 { max-width: 510px; margin: 0 0 1rem; font-size: clamp(2rem, 3.5vw, 2.75rem); font-weight: 800; line-height: 1.12; }
.auth-intro p { max-width: 520px; margin: 0; font-size: 1rem; line-height: 1.65; opacity: .92; }
.auth-features { display: flex; gap: 1.5rem; font-size: .8125rem; font-weight: 600; opacity: .9; }
.auth-form-wrap { display: flex; align-items: center; justify-content: center; padding: 3rem 1.5rem; background: var(--surface); }
.auth-card { width: 100%; border: 0; box-shadow: none; }
.auth-card .card-title { font-size: 1.625rem; font-weight: 800; }
.auth-card .card-subtitle { font-size: .9375rem; }
.auth-card--wide { max-width: 760px; }
.auth-mobile-logo { width: 150px; max-height: 52px; object-fit: contain; }
.auth-check { display: flex; align-items: center; gap: .75rem; }
.auth-check .checkbox { flex: 0 0 auto; width: 20px; height: 20px; min-height: 20px; padding: 0; }
.auth-status-icon { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 1rem; border-radius: 50%; color: var(--color-green); background: #E8F5E9; font-size: 1.5rem; }
.auth-status-icon--warning { color: #B45309; background: #FFF7ED; }
.auth-status-icon--danger { color: #B91C1C; background: #FEF2F2; }

/* Cabeçalhos, filtros e formulários administrativos */
.admin .title { margin-bottom: .25rem; font-weight: 800; color: var(--color-dark); }
.admin .title + .subtitle { margin-bottom: 1.25rem; }
.admin .filter { border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.admin .filter-title { color: var(--color-dark); font-weight: 800; }
.admin .card-form { border: 1px solid var(--line); border-radius: var(--radius); }
.admin .card-form-title { font-weight: 800; color: var(--color-dark); }
.admin .form-alert.validation-summary-errors { margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid #F5C2C7; border-radius: 9px; color: #842029; background: #FFF5F5; }
.admin .form-alert.validation-summary-errors ul { margin: 0; padding-left: 1rem; }
.admin .no-results { padding: 2.5rem 1rem; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--surface); }
.admin .table-content:hover { background-color: #EEF7EF !important; }
.admin .actions a { display: inline-flex; align-items: center; justify-content: center; width: 36px !important; height: 36px; margin: 0 .125rem !important; border-radius: 8px; }
.admin .actions a:hover { background: var(--surface-muted); }

@media screen and (min-width: 62rem) {
  .header, .app-footer { padding-left: 5rem; padding-right: 2rem; }
  .admin { max-width: 1440px; }
}
@media screen and (max-width: 61.9375rem) {
  .public-brand span { display: none; }
  .auth-page { display: block; min-height: auto; margin: 0; }
  .auth-form-wrap { padding: 1.5rem 0; background: transparent; }
  .auth-card { border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
  .auth-mobile-logo { width: 135px; }
  .public-content .home-top { padding: 1.5rem; }
}

/* Acabamento compartilhado: filtros, cabeçalhos, painéis e listagens */
.page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.page-header .title {
  margin: 0;
}

.page-header .subtitle {
  max-width: 70ch;
  margin: .375rem 0 0;
  line-height: 1.55;
}

.admin .filter {
  padding: 1rem !important;
  background: var(--surface);
}

.admin .filter .row {
  row-gap: .875rem;
}

.admin .filter label {
  margin-bottom: .375rem;
  color: var(--muted);
  font-size: .8125rem !important;
  font-weight: 700;
}

.admin .filter .btn-close-filter {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 8px;
  color: var(--muted);
}

.admin .filter .btn-close-filter:hover {
  color: var(--color-green);
  background: #f1f8f2;
}

.admin .card-form {
  background: var(--surface);
}

.admin .card-form > .row,
.admin .card-form form > .row {
  row-gap: .875rem;
}

.page-panel,
.form-panel {
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.form-panel {
  max-width: 960px;
}

.page-actions,
.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}

.page-actions {
  justify-content: flex-end;
}

.form-actions {
  padding-top: 1rem;
  margin-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.empty-state {
  max-width: 680px;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  margin: 2rem auto;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--surface);
  text-align: center;
}

.empty-state .btn {
  width: fit-content;
  margin: 1rem auto 0;
}

.delete-alert {
  border: 1px solid #f5c2c7;
  border-radius: 9px;
  color: #842029;
  background: #fff5f5;
}

.admin .card-form label {
  margin-bottom: .375rem;
  color: var(--muted);
  font-size: .8125rem;
  font-weight: 700;
}

.admin .no-results {
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
  color: var(--muted);
  box-shadow: var(--shadow-sm);
}

.admin .no-results::before {
  display: grid;
  width: 44px;
  height: 44px;
  margin: 0 auto .875rem;
  place-items: center;
  border-radius: 12px;
  color: var(--color-blue);
  background: rgba(21, 101, 192, .10);
  content: "⌕";
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.admin .responsive-card-table {
  margin-bottom: 0;
}

.admin .responsive-card-table .table-header th {
  padding: .875rem .75rem;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.admin .responsive-card-table .table-content td {
  vertical-align: middle;
}

.public-content .home-top {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.public-content .home-top::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 85% 12%, rgba(66, 165, 245, .40), transparent 32%),
    radial-gradient(circle at 7% 92%, rgba(255, 255, 255, .12), transparent 30%);
  content: "";
  pointer-events: none;
}

.public-content .card-home {
  width: min(100%, 250px);
  min-height: 238px;
  padding: 1.5rem !important;
  box-shadow: var(--shadow-sm);
}

.public-content .card-home .btn {
  width: 100%;
  margin-top: auto;
}

.public-content .container-map {
  overflow: hidden;
  background: var(--surface);
}

@media screen and (max-width: 61.9375rem) {
  .page-header { margin-bottom: 1rem; }

  .admin .filter {
    right: .75rem;
    left: .75rem;
    width: auto !important;
    max-height: calc(100vh - 1.5rem);
    overflow-y: auto;
  }

  .responsive-card-table tr {
    padding: .625rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
  }

  .responsive-card-table td {
    min-height: 2rem;
    align-items: flex-start;
  }

  .responsive-card-table td:before {
    flex: 0 0 40%;
    color: var(--muted);
    font-size: .75rem;
    letter-spacing: .025em;
    text-transform: uppercase;
  }

  .responsive-card-table td.actions {
    justify-content: flex-end;
    padding-top: .5rem;
  }

  .responsive-card-table td.actions:before {
    display: none;
  }

  .public-content .card-home {
    width: 100%;
    min-height: 0;
  }

  .page-actions,
  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-actions .btn,
  .form-actions .btn,
  .empty-state .btn {
    width: 100%;
  }
}

/* Consolidação: estados transversais, filtros e área da conta */
.empty-state,
.admin .no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  line-height: 1.55;
}

.empty-state > :last-child,
.admin .no-results > :last-child {
  margin-bottom: 0;
}

.admin .filter {
  position: relative;
}

.admin .filter .filter-title {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
}

.admin .filter input,
.admin .filter select {
  background: var(--surface-muted);
}

.admin .filter .count-filter {
  display: inline-grid;
  min-width: 18px;
  min-height: 18px;
  place-items: center;
  margin: 0 0 0 .375rem;
  padding: 0 .3125rem;
  border-radius: 999px;
  color: var(--color-white);
  font-weight: 800;
  line-height: 1;
}

.delete-alert,
.alert.alert-danger {
  box-shadow: 0 1px 2px rgba(198, 40, 40, .08);
}

.delete-alert i,
.alert.alert-danger i {
  flex: 0 0 auto;
  color: var(--c-danger);
}

.delete-alert + form .card-form,
form#delete-user .card-form {
  border-top: 3px solid var(--c-danger);
}

.delete-alert + form .danger-btn,
form#delete-user .danger-btn {
  box-shadow: 0 4px 12px rgba(198, 40, 40, .22);
}

/* ASP.NET Identity — gerenciamento da conta no mesmo padrão administrativo */
.admin #profile-options .card-form,
.admin #change-phone .card-form,
.admin form#delete-user .card-form {
  max-width: 760px;
}

.admin #profile-options .data-text {
  row-gap: .25rem;
}

.admin #profile-options .data-text label {
  margin-top: .625rem;
}

.admin #profile-options input:disabled {
  cursor: not-allowed;
  color: var(--muted);
  border-color: var(--line);
  background: var(--surface-muted);
  opacity: 1;
}

.admin .card-option-profile {
  height: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.admin .card-option-profile:hover,
.admin .card-option-profile:focus-within {
  border-color: var(--color-green-light);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.admin .card-option-profile a {
  min-height: 104px;
  color: var(--color-dark) !important;
}

.admin .card-option-profile svg {
  stroke: currentColor;
}

.admin .card-option-profile svg path[fill="#252525"] {
  fill: currentColor;
}

@media screen and (max-width: 61.9375rem) {
  .admin .filter {
    z-index: 110;
    padding: 1.25rem 1rem calc(1rem + env(safe-area-inset-bottom)) !important;
    border-radius: var(--radius) var(--radius) 0 0;
  }

  .admin .filter .btn-close-filter {
    top: .625rem;
    right: .625rem;
  }

  .empty-state,
  .admin .no-results {
    min-height: 150px;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .admin .card-option-profile a {
    min-height: 64px;
  }

  .admin .nav-btn {
    z-index: 109;
    border-top: 1px solid var(--line);
    box-shadow: 0 -8px 18px rgba(38, 50, 56, .12) !important;
  }
}

/* Frente 4 — responsividade e acessibilidade */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--color-blue) !important;
  outline-offset: 3px;
}

.btn:focus-visible,
.solid-btn:focus-visible,
.solid-btn-light:focus-visible,
.outline-btn:focus-visible,
.warning-btn:focus-visible,
.danger-btn:focus-visible,
.gray-btn:focus-visible {
  box-shadow: 0 0 0 4px rgba(21, 101, 192, .35) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.nav-pills .nav-link.active:hover,
.solid-btn-light:hover,
.solid-btn-light:focus,
.solid-btn-light:active {
  background-color: #1B5E20;
  border-color: #1B5E20;
}

.warning-btn,
.warning-btn:hover,
.warning-btn:focus,
.warning-btn:active {
  color: var(--color-white) !important;
  background-color: #A64B00;
  border-color: #A64B00;
}

.danger-btn {
  background-color: var(--c-danger);
  border-color: var(--c-danger);
}

.alert.alert-success {
  color: #1B5E20;
  border-color: #A5D6A7;
  background-color: #E8F5E9;
}

.alert.alert-warning {
  color: #7A3600 !important;
  border-color: #FFCC80;
  background-color: #FFF3E0;
}

.alert.alert-danger {
  color: #842029;
  border-color: #F5C2C7;
  background-color: #FFF5F5;
}

.alert.alert-info {
  color: #0D47A1;
  border-color: #90CAF9;
  background-color: #E3F2FD;
}

@media screen and (max-width: 25rem) {
  .admin main {
    overflow-x: hidden;
  }

  .admin .table-content {
    overflow: visible;
  }

  .responsive-card-table tr {
    max-width: 100%;
  }

  .responsive-card-table td {
    gap: .5rem;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .responsive-card-table td:before {
    flex: 0 0 38%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .responsive-card-table td.actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .responsive-card-table td.actions a {
    flex: 0 0 44px;
  }
}
