@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap);:root {
  --color-1: #FE88B1;
  --color-2: #4D8FC3;
  --color-3: #D5AA72;
  --color-4: #ce9ee5;
  --color-5: #fe7049;
  --color-6: #8be0a4;
}

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

body {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #343a40;
  background: #eee;
  min-height: 100vh;
}

a {
  text-decoration: none;
  color: #14b8a6;
}
a:hover {
  color: #129b8b;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  margin-bottom: 1rem;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.75rem;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 0.875rem;
}

p {
  margin-bottom: 1rem;
}

*:focus {
  outline: none !important;
}

.main-wrapper {
  width: 100%;
  margin: auto;
  box-shadow: none;
  background: #f5f5f5;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.page-content {
  flex: 1;
  width: 100%;
  overflow-x: auto;
}

.bg-nav {
  background: #1f2937;
  min-height: 100vh;
}

.c-green {
  color: #FE88B1;
}

.flex-layout {
  display: flex;
}
.flex-layout .sidebar {
  flex-shrink: 0;
}

.d-none {
  display: none !important;
}

.d-flex {
  display: flex !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.center-y {
  display: flex;
  align-items: center;
}

.center-xy {
  display: flex;
  align-items: center;
  justify-content: center;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-semibold {
  font-weight: 600 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-12 {
  font-size: 12px !important;
}

.font-13 {
  font-size: 13px !important;
}

.text-primary {
  color: #14b8a6 !important;
}

.text-secondary {
  color: #6c757d !important;
}

.text-success {
  color: #28a745 !important;
}

.text-danger {
  color: #dc3545 !important;
}

.text-muted {
  color: #6c757d !important;
}

.bg-white {
  background-color: #fff !important;
}

.m-0 {
  margin: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mr-3 {
  margin-right: 1rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.ml-3 {
  margin-left: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4 {
  margin-left: 1.5rem !important;
}

.mr-5 {
  margin-right: 3rem !important;
}

.ml-5 {
  margin-left: 3rem !important;
}

.ml-auto {
  margin-left: auto !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.h-100 {
  height: 100% !important;
}

.button {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding: 0.5rem 1rem;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
  /* Prevent underline */
  /* Ensure anchors with .button class don't get underlined */
}
.button:hover, .button:focus, .button:active {
  text-decoration: none;
}
.button:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(20, 184, 166, 0.25);
}
.button:disabled {
  opacity: 0.65;
  pointer-events: none;
}
.button__icon {
  margin-right: 0.5rem;
}
.button--icon-only {
  padding: 0.25rem;
  line-height: 1;
  border: none;
  background: transparent;
  color: #6c757d;
  font-size: 1.25rem;
}
.button--icon-only:hover, .button--icon-only:focus {
  color: #343a40;
  background-color: rgba(108, 117, 125, 0.1);
}
.button--icon-only .button__icon {
  margin-right: 0;
}
.button--primary {
  background-color: #14b8a6;
  color: #ffffff;
  border-color: #14b8a6;
}
.button--primary:hover, .button--primary:focus, .button--primary:active {
  background-color: #109687;
  border-color: #0f8a7d;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  color: #ffffff;
  /* Keep text color the same on hover */
}
.button--secondary {
  background-color: #6c757d;
  color: #ffffff;
  border-color: #6c757d;
}
.button--secondary:hover, .button--secondary:focus, .button--secondary:active {
  background-color: #5a6268;
  border-color: #545b62;
  color: #ffffff;
  /* Keep text color the same on hover */
}
.button--success {
  background-color: #28a745;
  color: #ffffff;
  border-color: #28a745;
}
.button--success:hover, .button--success:focus, .button--success:active {
  background-color: #218838;
  border-color: #1e7e34;
  color: #ffffff;
  /* Keep text color the same on hover */
}
.button--danger {
  background-color: #dc3545;
  color: #ffffff;
  border-color: #dc3545;
}
.button--danger:hover, .button--danger:focus, .button--danger:active {
  background-color: #c82333;
  border-color: #bd2130;
  color: #ffffff;
  /* Keep text color the same on hover */
}
.button--info {
  background-color: #17a2b8;
  color: #ffffff;
  border-color: #17a2b8;
}
.button--info:hover, .button--info:focus, .button--info:active {
  background-color: #138496;
  border-color: #117a8b;
  color: #ffffff;
  /* Keep text color the same on hover */
}
.button--light {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  color: #212529;
}
.button--light:hover, .button--light:focus, .button--light:active {
  background-color: #e2e6ea;
  border-color: #c1c9d0;
  color: #212529;
}
.button--language-translated {
  background-color: #d6fcd9;
  color: #24772a;
  border-color: #c2f3c6;
}
.button--language-translated:hover, .button--language-translated:focus, .button--language-translated:active {
  background-color: #c2f3c6;
  border-color: #a7e1aa;
  color: #24772a;
}
.button--language-untranslated {
  background-color: #e9ecef;
  color: #495057;
  border-color: #ddd;
}
.button--language-untranslated:hover, .button--language-untranslated:focus, .button--language-untranslated:active {
  background-color: #dae0e5;
  border-color: #c8cbcf;
  color: #495057;
}
.button--anecdote-approve {
  background: #8be0a4;
  color: #ffffff;
  border-color: #8be0a4;
}
.button--anecdote-approve:hover, .button--anecdote-approve:focus, .button--anecdote-approve:active {
  background-color: #6dd88c;
  border-color: #63d584;
  color: #ffffff;
}
.button--anecdote-refuse {
  background: #fe7049;
  color: #ffffff;
  border-color: #fe7049;
}
.button--anecdote-refuse:hover, .button--anecdote-refuse:focus, .button--anecdote-refuse:active {
  background-color: #fe5223;
  border-color: #fe4816;
  color: #ffffff;
}
.button--anecdote-edit {
  background: #d9dcf7;
  color: #252d63;
}
.button--anecdote-edit:hover, .button--anecdote-edit:focus, .button--anecdote-edit:active {
  background-color: #c5c9f0;
  border-color: #a8adf0;
  color: #252d63;
}
.button--anecdote-publish {
  background: #4D8FC3;
  color: #ffffff;
  border-color: #4D8FC3;
}
.button--anecdote-publish:hover, .button--anecdote-publish:focus, .button--anecdote-publish:active {
  background-color: #3b7caf;
  border-color: #3875a5;
  color: #ffffff;
}
.button--anecdote-send-to-pool {
  background: #ce9ee5;
  color: #ffffff;
  border-color: #ce9ee5;
}
.button--anecdote-send-to-pool:hover, .button--anecdote-send-to-pool:focus, .button--anecdote-send-to-pool:active {
  background-color: #bf80dd;
  border-color: #ba76da;
  color: #ffffff;
}
.button--anecdote-return-to-pool {
  background: #ce9ee5;
  color: #ffffff;
  border-color: #ce9ee5;
}
.button--anecdote-return-to-pool:hover, .button--anecdote-return-to-pool:focus, .button--anecdote-return-to-pool:active {
  background-color: #bf80dd;
  border-color: #ba76da;
  color: #ffffff;
}
.button--sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}
.button--full-width {
  width: 100%;
  display: block;
}
.button--fixed {
  position: fixed;
  z-index: 100;
}

.action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 5px;
  border: 1px solid #e2e8f0;
  background-color: #f8fafc;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  /* Combined hover styles in a single declaration */
  /* Keep the other states separate */
}
.action-button__icon {
  font-size: 16px;
}
.action-button:hover {
  text-decoration: none;
  background-color: #e2e8f0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}
.action-button:focus, .action-button:active {
  text-decoration: none;
}
.action-button--edit {
  color: #6c757d;
  /* Changed to gray color */
}
.action-button--edit:hover {
  background-color: rgba(108, 117, 125, 0.1);
  color: #495057;
  /* Darker gray on hover */
}
.action-button--delete {
  color: #dc3545;
}
.action-button--delete:hover {
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
  /* Keep text color the same on hover */
}
.action-button--view {
  color: #17a2b8;
}
.action-button--view:hover {
  background-color: rgba(23, 162, 184, 0.1);
  color: #17a2b8;
  /* Keep text color the same on hover */
}
.action-button--restore {
  color: #28a745;
}
.action-button--restore:hover {
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
  /* Keep text color the same on hover */
}
.action-button--more {
  color: #6c757d;
}
.action-button--more:hover {
  background-color: rgba(108, 117, 125, 0.1);
  color: #6c757d;
  /* Keep text color the same on hover */
}
.action-button--locked {
  color: #6c757d;
  background-color: #f8fafc;
  opacity: 0.7;
  cursor: default;
  pointer-events: none;
}
.action-button--with-text {
  width: auto;
  padding: 0 0.75rem;
}
.action-button--with-text .action-button__icon {
  margin-right: 0.5rem;
}

.button--search {
  background-color: #f8f9fa;
  border: 1px solid #e2e8f0;
  color: #6c757d;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-weight: 500;
  transition: all 0.2s ease;
}
.button--search:hover, .button--search:focus {
  background-color: #f8f9fa;
  border-color: #cbd5e0;
  color: #343a40;
}
.button--search:active {
  transform: translateY(1px);
}
.button--search.active {
  background-color: #14b8a6;
  border-color: #14b8a6;
  color: #fff;
}
.button--search.active:hover {
  background-color: #12a191;
  border-color: #12a191;
  color: #fff;
}
.button--search.button--with-icon .button__icon {
  margin-right: 0.5rem;
  font-size: 0.875rem;
}
.button--search.button--sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
}

.button--search-active {
  background-color: #14b8a6;
  border-color: #14b8a6;
  color: #fff;
}
.button--search-active:hover {
  background-color: #12a191;
  border-color: #12a191;
}
.button--search-active .button__icon {
  color: #fff;
}

/* Styled search input that looks like a button */
.button.button--search.admin-page__search-input {
  width: 230px;
  text-align: left;
  padding-left: 2.4rem;
  height: auto;
  line-height: 1.5;
  transition: all 0.2s ease;
  background-color: #f8f9fa;
  border: 1px solid #e2e8f0;
  color: #6c757d;
  border-radius: 4px;
}

.button.button--search.admin-page__search-input::-moz-placeholder {
  color: #6c757d;
}

.button.button--search.admin-page__search-input:-ms-input-placeholder {
  color: #6c757d;
}

.button.button--search.admin-page__search-input::placeholder {
  color: #6c757d;
}

.button.button--search.admin-page__search-input:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
  outline: none;
  background-color: #fff;
}

/* Make sure the search icon is properly positioned */
.admin-page__search {
  position: relative;
  width: 300px;
}

.admin-page__search-icon {
  position: absolute;
  left: 1.056rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  z-index: 10;
  pointer-events: none;
}

/* _tables-scss.css - Complete consolidated table styles for all admin data tables */
/* Temporary debugging styles - remove when done 
.data-table th,
.data-table td {
  border: 1px solid red !important;
  position: relative;
}
*/
.users-data-table .data-table__cell--checkbox {
  width: 5%;
}
.users-data-table .data-table__cell--id {
  width: 5%;
}
.users-data-table .data-table__cell--user {
  width: 17%;
}
.users-data-table .data-table__cell--lastconnection {
  width: 11%;
}
.users-data-table .data-table__cell--anecdotes {
  width: 13%;
}
.users-data-table .data-table__cell--comments {
  width: 13%;
}
.users-data-table .data-table__cell--anecdote-likes {
  width: 13%;
}
.users-data-table .data-table__cell--comment-likes {
  width: 13%;
}
.users-data-table .data-table__cell--actions {
  width: 150px;
  min-width: 150px;
}

.admins-data-table .data-table__cell--id {
  width: 7%;
}
.admins-data-table .data-table__cell--designation {
  width: 20%;
}
.admins-data-table .data-table__cell--username {
  width: 30%;
}
.admins-data-table .data-table__cell--name {
  width: 25%;
}
.admins-data-table .data-table__cell--actions {
  width: 18%;
}

.contacts-data-table .data-table__cell--user {
  width: 25%;
}
.contacts-data-table .data-table__cell--date {
  width: 18%;
}
.contacts-data-table .data-table__cell--topic {
  width: 27%;
}
.contacts-data-table .data-table__cell--status {
  width: 15%;
}
.contacts-data-table .data-table__cell--actions {
  width: 15%;
}

.email-data-table .data-table__cell--from {
  width: 25%;
}
.email-data-table .data-table__cell--to {
  width: 25%;
}
.email-data-table .data-table__cell--subject {
  width: 35%;
}
.email-data-table .data-table__cell--date {
  width: 15%;
}

.pages-data-table .data-table__cell--slug {
  width: 20%;
}
.pages-data-table .data-table__cell--title {
  width: 45%;
}
.pages-data-table .data-table__cell--date {
  width: 15%;
}
.pages-data-table .data-table__cell--actions {
  width: 20%;
}

.push-notifications-data-table .data-table__cell--title {
  width: 25%;
}
.push-notifications-data-table .data-table__cell--body {
  width: 30%;
}
.push-notifications-data-table .data-table__cell--type {
  width: 10%;
}
.push-notifications-data-table .data-table__cell--schedule {
  width: 20%;
}
.push-notifications-data-table .data-table__cell--actions {
  width: 15%;
}

.activity-data-table .data-table__cell--name {
  width: 20%;
}
.activity-data-table .data-table__cell--action {
  width: 25%;
}
.activity-data-table .data-table__cell--date {
  width: 15%;
}
.activity-data-table .data-table__cell--goto {
  width: 40%;
}

.tracking-data-table .data-table__cell--country, .tracking-data-table .data-table__cell--job {
  width: 70%;
}
.tracking-data-table .data-table__cell--count {
  width: 30%;
}

.languages-data-table .data-table__cell--id {
  width: 10%;
}
.languages-data-table .data-table__cell--language {
  width: 40%;
}
.languages-data-table .data-table__cell--code {
  width: 15%;
}
.languages-data-table .data-table__cell--status {
  width: 15%;
}
.languages-data-table .data-table__cell--actions {
  width: 20%;
}

.data-table {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.data-table__head {
  background-color: #f8f9fa;
}
.data-table__cell {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  vertical-align: middle;
}
.data-table__cell--sortable {
  cursor: pointer;
  position: relative;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.data-table__cell--sortable .data-table__sort-icon {
  display: inline-block;
  margin-left: 0.25rem;
}
.data-table__cell--sortable .data-table__sort-icon i {
  font-size: 0.875rem;
}
.data-table__cell--sortable .data-table__sort-icon i.active {
  color: #14b8a6;
}
.data-table__cell--checkbox {
  width: 48px;
}
.data-table__cell--actions {
  text-align: center;
}
.data-table__row:hover {
  background-color: rgba(20, 184, 166, 0.05);
}
.data-table__row--unread {
  font-weight: 600;
}
.data-table__row--clickable {
  cursor: pointer;
  transition: background-color 0.2s;
}
.data-table__row--clickable:hover {
  background-color: rgba(20, 184, 166, 0.05);
}
.data-table__spacer {
  height: 10px;
  background-color: transparent;
}
.data-table__content-row {
  background-color: #f8f9fa;
}
.data-table__content-row td {
  padding: 0;
}
.data-table__content {
  padding: 1.5rem;
  display: none;
}
.data-table__checkbox-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.data-table__checkbox {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.data-table__checkbox:checked ~ .data-table__checkbox-label::after {
  transform: scale(1);
}
.data-table__checkbox-label {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.data-table__checkbox-label::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 10px;
  height: 10px;
  background-color: #14b8a6;
  border-radius: 1px;
  transform: scale(0);
  transition: transform 0.2s ease;
}
.data-table__value {
  display: block;
  font-weight: 500;
}
.data-table__rank {
  display: block;
  font-size: 0.75rem;
  padding: 0.125rem 0.375rem;
  border-radius: 99px;
  background-color: rgba(122, 232, 75, 0.307);
  color: #6c757d;
  margin-top: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
}
.data-table__badge {
  display: inline-block;
  padding: 0.25em 0.6em;
  font-size: 75%;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 99px;
  background-color: #6c757d;
  color: #fff;
}
.data-table__badge--danger {
  background-color: #dc3545;
}
.data-table__badge--action {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 999px;
  background-color: rgba(20, 184, 166, 0.1);
  color: #14b8a6;
}
.data-table__status {
  display: flex;
  align-items: center;
}
.data-table__status-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-size: 0.75rem;
  margin-right: 0.5rem;
}
.data-table__status-badge--new {
  background-color: rgba(20, 184, 166, 0.1);
  color: #14b8a6;
}
.data-table__status-badge--replied {
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
}
.data-table__user {
  display: flex;
  align-items: center;
}
.data-table__user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-right: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.data-table__user-name {
  font-weight: 500;
}
.data-table__country-flag {
  width: 30px;
  margin-right: 0.5rem;
}
.data-table__country-name {
  vertical-align: middle;
}
.data-table__job-title {
  vertical-align: middle;
}
.data-table__slug {
  display: flex;
  align-items: center;
}
.data-table__slug-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #f8f9fa;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-right: 0.5rem;
}
.data-table__slug-badge i {
  color: #6c757d;
}
.data-table__title {
  font-weight: 500;
  color: #14b8a6;
}
.data-table__title:hover {
  text-decoration: none;
}
.data-table__schedule-info {
  display: flex;
  flex-direction: column;
}
.data-table__schedule-info-type {
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.data-table__schedule-info-time {
  font-size: 0.875rem;
  color: #6c757d;
}
.data-table__schedule-info-note {
  font-size: 0.75rem;
  color: #6c757d;
  font-style: italic;
}
.data-table__actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}
.data-table__actions--wrap {
  flex-wrap: wrap;
}
.data-table__empty {
  padding: 3rem 1rem;
  text-align: center;
}
.data-table__empty-icon {
  font-size: 2.5rem;
  color: #d1d5db;
  margin-bottom: 0.75rem;
}
.data-table__empty-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.data-table__empty-message {
  color: #6c757d;
}
.data-table--sm {
  width: 300px;
  margin-bottom: 1.5rem;
}
.data-table--sm .data-table__cell {
  padding: 0.5rem 0.75rem;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 14px;
  line-height: 1.5;
  color: #343a40;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:focus {
  color: #343a40;
  background-color: #fff;
  border-color: #14b8a6;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(20, 184, 166, 0.25);
}
.form-control:disabled, .form-control[readonly] {
  background-color: #f8f9fa;
  opacity: 1;
}
.form-control.is-invalid {
  border-color: #dc3545;
}
.form-control.is-invalid:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-group {
  margin-bottom: 1rem;
}
.form-group label {
  display: inline-block;
  margin-bottom: 0.25rem;
  font-weight: 600;
}

.admin-form__label {
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #495057;
}
.admin-form__input {
  padding: 0.6rem 1rem;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background-color: #f8fafc;
  transition: all 0.2s ease;
}
.admin-form__input:focus {
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
  border-color: #14b8a6;
  background-color: #fff;
}
.admin-form__actions {
  padding-top: 1rem;
  border-top: 1px solid #eaedf1;
}

.users-form__section {
  margin-bottom: 2rem;
}
.users-form__section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eaedf1;
  color: #343a40;
}
.users-form__group {
  flex: 1;
  margin-bottom: 1rem;
}
.users-form__label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #495057;
}
.users-form__input, .users-form__select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  font-size: 0.875rem;
  background-color: #f9fafb;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.users-form__input:focus, .users-form__select:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
  outline: none;
}
.users-form__input:disabled, .users-form__select:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}
.users-form__help-text {
  font-size: 0.75rem;
  margin-top: 0.25rem;
  color: #6b7280;
}
.users-form__actions {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
}

.create-admin-form {
  border: 1px solid black;
  max-width: 800px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.create-admin-form label:not(.form-check-label) {
  font-weight: 500;
  font-size: 18px;
}

.search-form {
  padding: 10px;
  border: 1px solid #ddd;
  box-shadow: 2px 2px 5px #ddd;
  margin-bottom: 10px;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 4px;
  box-shadow: none;
}
.card-header {
  padding: 1rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(4px - 1px) calc(4px - 1px) 0 0;
}
.card-body {
  flex: 1 1 auto;
  padding: 1rem;
}

.page-contents {
  border: 1px solid #ddd;
  background-color: #fff;
  padding: 1.5rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.5);
  outline: 0;
}
.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .close {
  padding: 1rem;
  margin: -1rem -1rem -1rem auto;
  background-color: transparent;
  border: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.modal-header .close:hover, .modal-header .close:focus {
  opacity: 0.75;
}
.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
  font-size: 1.25rem;
  font-weight: 600;
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}
.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.25rem;
}

.single-comment {
  position: relative;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #eaedf1;
  border-radius: 5px;
  margin-bottom: 1rem;
}
.single-comment div.buttons {
  position: absolute;
  top: 5px;
  right: 5px;
}
.single-comment .meta {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
}
.single-comment .meta strong {
  margin-right: 1rem;
  font-size: 12px;
}
.single-comment .text {
  font-size: 12px;
  margin-bottom: 1rem;
}

.categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* ==========================================================================
   PASSWORD COMPONENTS
   ========================================================================== */
.password-tips {
  list-style: none;
  padding: 0;
  margin: 0;
}
.password-tips__item {
  padding: 10px 15px;
  border-bottom: 1px solid #eaedf1;
  transition: color 0.3s ease;
  border-radius: 4px;
}
.password-tips__item .requirement-icon {
  transition: all 0.3s ease;
}
.password-tips__item:last-child {
  border-bottom: none;
}

.requirement-met {
  background-color: rgba(40, 167, 69, 0.1);
}
.requirement-met .requirement-icon {
  color: #28a745 !important;
}

.requirement-not-met {
  color: #6c757d;
}
.requirement-not-met .requirement-icon {
  color: #6c757d !important;
}

#password-error-alert {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 20px;
  right: 20px;
  max-width: 400px;
  z-index: 9999;
  display: none;
}

.password-input.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.user-header {
  background-color: #fff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  padding: 0.5rem;
}
.user-header .user-info {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.user-header .image img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.user-header .name-and-designation {
  margin-left: 0.25rem;
}
.user-header .name-and-designation .name {
  font-weight: 600;
  font-size: 12px;
  color: #343a40;
}
.user-header .name-and-designation .designation {
  font-size: 12px;
  color: #6c757d;
}
.user-header .arrow {
  margin-left: 0.5rem;
}
.user-header .arrow i {
  font-size: 14px;
}
.user-header .dropdown-menu {
  margin-top: 0.25rem;
  min-width: 10rem;
  padding: 0.25rem 0;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);
}
.user-header .dropdown-menu .dropdown-item {
  padding: 0.25rem 1rem;
  font-size: 12px;
  color: #343a40;
}
.user-header .dropdown-menu .dropdown-item:hover, .user-header .dropdown-menu .dropdown-item:focus {
  color: #292d32;
  text-decoration: none;
  background-color: #f8f9fa;
}

.sidebar {
  background: #1f2937;
  min-height: 100vh;
}
.sidebar .logo-area {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  background-color: #1f2937;
  text-align: center;
}
.sidebar .logo-area img {
  max-width: 100px;
}

.admin-sidebar {
  max-width: 300px;
  min-width: 250px;
  width: 100%;
  background: #1f2937;
  color: #f9fafb;
  padding: 0 0.5rem;
}
.admin-sidebar > a.nav-link {
  color: #f9fafb;
  text-align: left;
  transition: all 0.3s ease-in-out;
  border-radius: 8px;
  font-size: 14px;
  padding: 1rem 1.5rem;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
}
.admin-sidebar > a.nav-link i {
  font-size: 14px;
  width: 20px;
  text-align: center;
  margin-right: 0.5rem;
}
.admin-sidebar > a.nav-link:hover {
  background: #0c7d73;
  color: #fff;
}
.admin-sidebar > a.nav-link.active {
  background: #14b8a6;
  color: #fff;
}
.admin-sidebar > a.nav-link .badge {
  margin-left: auto;
}
.admin-sidebar .submenu {
  display: none;
  font-size: 80%;
  background: transparent;
}
.admin-sidebar .submenu.show {
  display: flex;
  flex-direction: column;
}
.admin-sidebar .submenu a.nav-link {
  transition: all 0.3s ease-in-out;
  letter-spacing: 0;
  color: #f9fafb;
  font-weight: 400;
  margin-left: 40px;
  padding: 0.5rem 1rem;
}
.admin-sidebar .submenu a.nav-link:hover {
  background: #0c7d73;
  color: #fff;
  border-radius: 6px;
}
.admin-sidebar .submenu a.nav-link.active {
  background: #14b8a6;
  color: #fff;
  border-radius: 6px;
}

footer {
  margin-top: auto;
  padding: 1rem 0;
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
  text-align: center;
}
footer p {
  margin-bottom: 0;
  font-size: 12px;
  color: #6c757d;
}

.d-flex {
  display: flex;
}
.d-flex .sidebar {
  flex-shrink: 0;
}

/* ==========================================================================
   DASHBOARD COMPONENT
   ========================================================================== */
.dashboard-page {
  padding: 0 1.5rem;
}
.dashboard-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dashboard-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.dashboard-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.dashboard-page__stats {
  display: flex;
  justify-content: space-between;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.dashboard-page__charts {
  margin-top: 1rem;
}

.dashboard-time-filter {
  display: flex;
  align-items: center;
}

.dashboard-stat-card {
  flex: 1;
  min-width: 160px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  position: relative;
  padding: 0.5rem 0 0.2rem 0.75rem;
}
.dashboard-stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
.dashboard-stat-card--users::before {
  background-color: var(--color-1);
}
.dashboard-stat-card--published::before {
  background-color: var(--color-2);
}
.dashboard-stat-card--waiting::before {
  background-color: var(--color-3);
}
.dashboard-stat-card--translation::before {
  background-color: var(--color-6);
}
.dashboard-stat-card--pool::before {
  background-color: var(--color-4);
}
.dashboard-stat-card--refused::before {
  background-color: var(--color-5);
}
.dashboard-stat-card__header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.dashboard-stat-card__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.75rem;
}
.dashboard-stat-card--users .dashboard-stat-card__icon {
  background-color: rgba(254, 136, 177, 0.1);
  color: var(--color-1);
}
.dashboard-stat-card--published .dashboard-stat-card__icon {
  background-color: rgba(77, 143, 195, 0.1);
  color: var(--color-2);
}
.dashboard-stat-card--waiting .dashboard-stat-card__icon {
  background-color: rgba(213, 170, 114, 0.1);
  color: var(--color-3);
}
.dashboard-stat-card--translation .dashboard-stat-card__icon {
  background-color: rgba(139, 224, 164, 0.1);
  color: var(--color-6);
}
.dashboard-stat-card--pool .dashboard-stat-card__icon {
  background-color: rgba(206, 158, 229, 0.1);
  color: var(--color-4);
}
.dashboard-stat-card--refused .dashboard-stat-card__icon {
  background-color: rgba(254, 112, 73, 0.1);
  color: var(--color-5);
}
.dashboard-stat-card__title {
  font-size: 13px;
  font-weight: 600;
  color: #6c757d;
}
.dashboard-stat-card__value {
  font-size: 24px;
  font-weight: 700;
  margin: 0.25rem 0;
}
.dashboard-stat-card__total {
  font-size: 12px;
  color: #6c757d;
}

.dashboard-chart {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.dashboard-chart__container {
  box-shadow: none;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background-color: #fff;
  padding: 0.75rem;
  height: 100%;
}

.dashboard-time-filter {
  margin-bottom: 1.5rem;
  position: relative;
}
.dashboard-time-filter__container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}
.dashboard-time-filter__tabs {
  display: flex;
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  height: 64px;
}
.dashboard-time-filter__tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  min-width: 80px;
  border: none;
  background: transparent;
  color: #6c757d;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.dashboard-time-filter__tab i {
  font-size: 16px;
  margin-bottom: 4px;
}
.dashboard-time-filter__tab span {
  font-size: 12px;
  font-weight: 500;
}
.dashboard-time-filter__tab::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: #14b8a6;
  transform: scaleX(0);
  transition: transform 0.2s ease;
}
.dashboard-time-filter__tab:hover {
  color: #494f54;
  background-color: rgba(20, 184, 166, 0.03);
}
.dashboard-time-filter__tab.active {
  color: #14b8a6;
  font-weight: 600;
}
.dashboard-time-filter__tab.active::after {
  transform: scaleX(1);
}
.dashboard-time-filter__custom-range {
  display: none;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  width: auto;
  height: 64px;
}
.dashboard-time-filter__custom-range.active {
  display: block;
}
.dashboard-time-filter__custom-range-form {
  padding: 0 1rem;
  display: flex;
  align-items: center;
  height: 100%;
}
.dashboard-time-filter__date-inputs {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
}
.dashboard-time-filter__date-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0;
}
.dashboard-time-filter__date-group label {
  white-space: nowrap;
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
  margin-bottom: 0;
  min-width: 40px;
}
.dashboard-time-filter__input-wrapper {
  position: relative;
  width: 160px;
}
.dashboard-time-filter__input-wrapper i {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  pointer-events: none;
}
.dashboard-time-filter__date-input {
  width: 100%;
  padding: 0.5rem 0.75rem 0.5rem 2rem;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  background-color: #f9fafb;
  transition: border-color 0.2s, box-shadow 0.2s;
  font-size: 0.875rem;
  height: 38px;
}
.dashboard-time-filter__date-input:focus {
  outline: none;
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}
.dashboard-time-filter__apply-btn {
  height: 38px;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
}
.dashboard-time-filter__apply-btn i {
  margin-right: 0.5rem;
}

/* ==========================================================================
   USERS COMPONENT
   ========================================================================== */
.users-page {
  padding: 0 1.5rem;
}
.users-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.users-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.users-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.users-page__search-container {
  margin-bottom: 1.5rem;
}
.users-page__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.users-page__buttons {
  display: flex;
  gap: 0.75rem;
}
.users-page__table-container {
  background-color: #fff;
  border-radius: 0.375rem;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: visible;
  margin-bottom: 1.5rem;
}
.users-page__pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.users-page__pagination-info {
  font-size: 0.875rem;
  color: #6c757d;
}
.users-page__pagination-links .pagination {
  margin-bottom: 0;
}
.users-page__pagination-select {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6c757d;
}
.users-page__select {
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  background-color: #fff;
  font-size: 0.875rem;
}
.users-page__alert-container {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: 80%;
  max-width: 500px;
}
.users-page__alert {
  padding: 15px 20px;
  border-radius: 5px;
  color: white;
  margin-bottom: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  animation: slideDown 0.3s ease-out forwards;
}
.users-page__alert--error {
  background-color: #dc3545;
}
.users-page__alert-content {
  display: flex;
  align-items: flex-start;
}
.users-page__alert-icon {
  margin-right: 0.75rem;
  font-size: 1.25rem;
}
.users-page__alert-message, .users-page__alert-text {
  margin-right: 15px;
  font-weight: 500;
}
.users-page__alert-close {
  cursor: pointer;
  font-size: 18px;
  opacity: 0.7;
  transition: opacity 0.2s;
  background: none;
  border: none;
  color: inherit;
  line-height: 1;
}
.users-page__alert-close:hover {
  opacity: 1;
}

.user-profile {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.user-profile__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  flex-shrink: 0;
}
.user-profile__details {
  overflow: hidden;
}
.user-profile__name {
  font-weight: 500;
  margin-bottom: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-profile__name a {
  color: #343a40;
  text-decoration: none;
}
.user-profile__name a:hover {
  color: #14b8a6;
  text-decoration: none;
}
.user-profile__info {
  display: flex;
  align-items: center;
  font-size: 0.75rem;
  color: #6c757d;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-profile__flag {
  height: 16px;
  width: auto;
  margin-right: 0.5rem;
}
.user-profile__email {
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-profile__header {
  display: flex;
  margin-bottom: 2rem;
}
.user-profile__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.user-profile__details-group {
  margin-bottom: 1rem;
}
.user-profile__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #6c757d;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
.user-profile__value {
  font-size: 1.25rem;
  margin: 0;
  color: #343a40;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.user-profile__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.user-profile__section {
  margin-bottom: 2rem;
}
.user-profile__section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eaedf1;
  color: #343a40;
}
.user-profile__danger-zone {
  background-color: #fff8f8;
  border: 1px solid rgba(220, 53, 69, 0.2);
  border-radius: 4px;
  padding: 1.5rem;
}
.user-profile__danger-zone-message {
  margin-bottom: 1rem;
  color: #6c757d;
}

.users-form__section {
  margin-bottom: 2rem;
}
.users-form__section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eaedf1;
  color: #343a40;
}
.users-form__group {
  flex: 1;
  margin-bottom: 1rem;
}
.users-form__label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #495057;
}
.users-form__input, .users-form__select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  font-size: 0.875rem;
  background-color: #f9fafb;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.users-form__input:focus, .users-form__select:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
  outline: none;
}
.users-form__input:disabled, .users-form__select:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}
.users-form__help-text {
  font-size: 0.75rem;
  margin-top: 0.25rem;
  color: #6b7280;
}
.users-form__actions {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
}
.users-form__current-image {
  margin-bottom: 1rem;
}
.users-form__profile-image {
  max-width: 100px;
  max-height: 100px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.users-form__file-upload {
  display: flex;
  flex-direction: column;
}
.users-form__file-input {
  position: absolute;
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  z-index: -1;
}
.users-form__file-label {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background-color: #f9fafb;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.users-form__file-label:hover {
  background-color: #f8f9fa;
}
.users-form__file-icon {
  margin-right: 0.5rem;
}
.users-form__file-name {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #6c757d;
}

@keyframes slideDown {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* User Anecdote List Component */
.users-anecdote-list {
  margin-bottom: 1.5rem;
}

.users-anecdote-item {
  position: relative;
  margin-bottom: 1rem;
  display: flex;
  border-left: 3px solid #ccc;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  overflow: hidden;
}
.users-anecdote-item__checkbox-column {
  width: 60px;
  text-align: center;
  padding: 1rem 0.5rem;
  background: rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.users-anecdote-item__id {
  margin-top: 0.5rem;
  font-size: 0.8rem;
}
.users-anecdote-item__content {
  flex-grow: 1;
  padding: 1rem;
}
.users-anecdote-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.users-anecdote-item__title {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}
.users-anecdote-item__text {
  font-size: 0.95rem;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.users-anecdote-item__status {
  margin-bottom: 0.5rem;
}
.users-anecdote-item__status-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #e9ecef;
}
.users-anecdote-item__actions {
  display: flex;
  flex-wrap: wrap;
}
.users-anecdote-item__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10;
}

/* User Comments Component */
.users-comment-list {
  margin-bottom: 1.5rem;
}

.users-comment-item {
  margin-bottom: 2rem;
}
.users-comment-item__anecdote {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 5px 5px 0 0;
  padding: 1rem;
}
.users-comment-item__anecdote--deleted {
  background-color: #f8d7da;
  border-color: #f5c6cb;
  color: #721c24;
  font-style: italic;
}
.users-comment-item__anecdote-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.users-comment-item__anecdote-author {
  font-weight: 600;
}
.users-comment-item__anecdote-date {
  color: #6c757d;
}
.users-comment-item__anecdote-category {
  color: #14b8a6;
}
.users-comment-item__anecdote-text {
  font-size: 0.95rem;
  line-height: 1.5;
}
.users-comment-item__comment {
  background-color: #ffffff;
  border: 1px solid #dee2e6;
  border-top: none;
  border-radius: 0 0 5px 5px;
  padding: 1rem;
  margin-bottom: 1rem;
}
.users-comment-item__comment--deleted {
  background-color: rgba(220, 53, 69, 0.05);
  border: 1px dashed #dc3545;
}
.users-comment-item__comment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.users-comment-item__comment-author {
  font-weight: 600;
}
.users-comment-item__comment-date {
  color: #6c757d;
}
.users-comment-item__comment-likes {
  color: #dc3545;
}
.users-comment-item__comment-likes i {
  margin-right: 0.25rem;
}
.users-comment-item__comment-text {
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0.75rem 0;
}
.users-comment-item__parent-comment {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 0.75rem;
  margin: 0.75rem 0;
  font-size: 0.875rem;
}
.users-comment-item__parent-comment--deleted {
  background-color: rgba(220, 53, 69, 0.05);
  border: 1px dashed #dc3545;
}
.users-comment-item__parent-comment--removed {
  background-color: #f8f9fa;
  border: 1px dashed #6c757d;
  font-style: italic;
  color: #6c757d;
}
.users-comment-item__parent-comment-author {
  margin-bottom: 0.25rem;
}
.users-comment-item__parent-comment-text {
  line-height: 1.4;
}
.users-comment-item__parent-comment-deleted-by {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #dc3545;
  font-weight: 600;
}
.users-comment-item__deleted-by {
  display: inline-block;
  background-color: #dc3545;
  color: white;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  margin-top: 0.5rem;
}

/* ==========================================================================
   USERS TRACKING COMPONENT
   ========================================================================== */
.users-tracking__section-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #343a40;
}
.users-tracking__user-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.users-tracking__user-card {
  width: 300px;
  margin-right: 100px;
  margin-bottom: 0.5rem;
}
.users-tracking__user-link {
  text-decoration: none;
  color: #343a40;
}
.users-tracking__user-link:hover {
  text-decoration: none;
  color: #14b8a6;
}
.users-tracking__user-container {
  transition: background-color 0.2s;
}
.users-tracking__user-container:hover {
  background-color: rgba(20, 184, 166, 0.05);
}
.users-tracking__user-content {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0.5rem 0;
  border-top: 1px solid #dee2e6;
}
.users-tracking__user-avatar {
  height: 30px;
  width: 30px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.users-tracking__user-name {
  font-weight: 400;
}
.users-tracking__user-flag {
  width: 30px;
}

.anecdote-page {
  padding: 0 1.5rem;
}
.anecdote-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.anecdote-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.anecdote-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.anecdote-page__search-container {
  margin-bottom: 1.5rem;
}
.anecdote-page__content {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
.anecdote-page__pagination-select {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}
.anecdote-page__select {
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  background-color: #fff;
  font-size: 0.875rem;
}
.anecdote-page__pagination-info {
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}
.anecdote-page__pagination-links .pagination {
  margin-bottom: 0;
}

.anecdote-list {
  width: 100%;
  overflow-x: hidden;
}
.anecdote-list .bulk-actions {
  margin: 0 auto 1.5rem;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: white;
  padding: 1rem;
  border-radius: 0.5rem;
  box-shadow: none;
  border: 1px solid #e2e8f0;
}
.anecdote-list .bulk-actions__toggle-label {
  margin-left: 0.5rem;
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
}

.anecdote-item {
  position: relative;
  margin: 0 auto 1rem;
  max-width: 100%;
  background-color: white;
  border-radius: 0.5rem;
  box-shadow: none;
  border: 1px solid #e2e8f0;
  overflow: hidden;
}
.anecdote-item--waiting {
  border-left: 4px solid #D5AA72;
}
.anecdote-item--published {
  border-left: 4px solid #4D8FC3;
}
.anecdote-item--refused {
  border-left: 4px solid #fe7049;
}
.anecdote-item--in-translation {
  border-left: 4px solid #8be0a4;
}
.anecdote-item--in-pool {
  border-left: 4px solid #ce9ee5;
}
.anecdote-item__header {
  padding: 1rem;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #e2e8f0;
}
.anecdote-item__id-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 1rem;
  width: 2.5rem;
  flex-shrink: 0;
}
.anecdote-item__id-badge {
  background-color: #f1f5f9;
  height: 2rem;
  min-width: 3rem;
  /* Minimum width, can grow */
  padding: 0 0.5rem;
  /* Add horizontal padding */
  border-radius: 1rem;
  /* Use fixed border-radius to make pill shape */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}
.anecdote-item__id-badge span {
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
}
.anecdote-item__checkbox {
  height: 1rem;
  width: 1rem;
}
.anecdote-item__metadata {
  flex-grow: 1;
}
.anecdote-item__title {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  color: #1e293b;
}
.anecdote-item__title b {
  font-size: 16px;
  line-height: 1.4;
}
.anecdote-item__meta-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.anecdote-item__meta-item {
  font-size: 0.75rem;
  color: #64748b;
  display: flex;
  align-items: center;
}
.anecdote-item__meta-item--more-info {
  color: #6366f1;
  font-weight: 500;
}
.anecdote-item__meta-item--more-info i {
  margin-right: 0.25rem;
}
.anecdote-item__meta-item--images {
  color: #f59e0b;
  font-weight: 500;
}
.anecdote-item__meta-item--images i {
  margin-right: 0.25rem;
}
.anecdote-item__meta-item--comments {
  color: #f17b63;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.anecdote-item__meta-item--comments i {
  margin-right: 0.25rem;
  font-size: 0.875rem;
}
.anecdote-item__meta-item--comments:hover, .anecdote-item__meta-item--comments:focus {
  color: #f17b6383;
  text-decoration: none;
}
.anecdote-item__meta-item--comments:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.anecdote-item__meta-item--disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
  color: #777;
}
.anecdote-item__meta-label {
  font-weight: 600;
  color: #14b8a6;
  margin-right: 0.25rem;
}
.anecdote-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.anecdote-item__meta strong {
  margin-right: 1rem;
  font-size: 12px;
}
.anecdote-item__meta strong.name {
  color: #14b8a6;
}
.anecdote-item__meta strong.c-green {
  color: #FE88B1;
}
.anecdote-item__header-actions {
  flex-shrink: 0;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.anecdote-item__header-actions .dropdown-menu {
  padding: 0.5rem 0;
  min-width: 10rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.anecdote-item__header-actions .dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
.anecdote-item__header-actions .dropdown-menu .dropdown-item:hover {
  background-color: rgba(20, 184, 166, 0.05);
}
.anecdote-item__header-actions .dropdown-menu .dropdown-item:disabled {
  color: #6c757d;
  opacity: 0.6;
  cursor: not-allowed;
}
.anecdote-item__header-actions .dropdown-menu .dropdown-item i {
  width: 1rem;
  text-align: center;
}
.anecdote-item__header-actions .button {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.anecdote-item__header-actions .button i, .anecdote-item__header-actions .button .button__icon {
  margin-right: 0.25rem;
  font-size: 0.675rem;
}
.anecdote-item__content {
  padding: 1rem 1rem 0.25rem 3.5rem;
}
.anecdote-item__text {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 1rem;
  color: #4b5563;
}
.anecdote-item__text p {
  margin-bottom: 0.75rem;
}
.anecdote-item__text p:last-child {
  margin-bottom: 0;
}
.anecdote-item__images {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.anecdote-item__images a {
  margin-right: 10px;
  margin-bottom: 10px;
}
.anecdote-item__images a img {
  height: 100px;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s;
}
.anecdote-item__images a img:hover {
  transform: scale(1.05);
}
.anecdote-item__languages {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0;
  /* Remove bottom margin */
}
.anecdote-item__language-btn {
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: background-color 0.2s;
}
.anecdote-item__language-btn i {
  margin-left: 0.375rem;
  font-size: 0.625rem;
}
.anecdote-item__language-btn--translated {
  background-color: #d1fae5;
  color: #047857;
}
.anecdote-item__language-btn--translated:hover, .anecdote-item__language-btn--translated:focus {
  background-color: #a7f3d0;
  color: #047857;
  text-decoration: none;
}
.anecdote-item__language-btn--untranslated {
  background-color: #f3f4f6;
  color: #4b5563;
}
.anecdote-item__language-btn--untranslated:hover, .anecdote-item__language-btn--untranslated:focus {
  background-color: #e5e7eb;
  color: #4b5563;
  text-decoration: none;
}
.anecdote-item__actions {
  background-color: #f8fafc;
  padding: 0.5rem 1rem 0.5rem 3.5rem;
  display: flex;
  flex-direction: column;
}
.anecdote-item__actions-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.anecdote-item__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10;
}

.anecdote-form {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
}
.anecdote-form__card {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.anecdote-form__card-header {
  padding: 1.25rem;
  border-bottom: 1px solid #eaedf1;
  background-color: #f8f9fa;
  border-radius: 8px 8px 0 0;
}
.anecdote-form__card-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: #495057;
}
.anecdote-form__card-body {
  padding: 1.5rem;
}
.anecdote-form__group {
  margin-bottom: 1.5rem;
}
.anecdote-form__group label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #343a40;
}
.anecdote-form__group input[type=text],
.anecdote-form__group textarea,
.anecdote-form__group select {
  width: 100%;
  padding: 0.75rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 12px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.anecdote-form__group input[type=text]:focus,
.anecdote-form__group textarea:focus,
.anecdote-form__group select:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 2px rgba(20, 184, 166, 0.1);
  outline: none;
}
.anecdote-form__group select {
  height: auto;
  appearance: auto;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  background-image: none !important;
  padding-right: 2rem;
  box-sizing: border-box;
  overflow: visible;
  color: #343a40;
}
.anecdote-form__group #category {
  width: 100%;
  max-width: 100%;
  display: block;
  position: relative;
  line-height: normal;
  border-width: 1px;
  min-height: 42px;
}
.anecdote-form__group textarea {
  min-height: 120px;
  resize: vertical;
}
.anecdote-form__character-counter, .anecdote-form__character-counter--more-info, .anecdote-form__character-counter--text, .anecdote-form__character-counter--title {
  display: block;
  font-size: 10px;
  color: #6c757d;
  text-align: right;
  margin-top: 4px;
}
.anecdote-form__sources {
  margin-bottom: 1rem;
}
.anecdote-form__sources .form-group {
  position: relative;
  margin-bottom: 0.75rem;
}
.anecdote-form__sources .form-group input {
  padding-right: 40px;
}
.anecdote-form__sources .form-group .anecdote-form__source-delete {
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 0 6px 6px 0;
  height: 100%;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.anecdote-form__sources .form-group:first-child .anecdote-form__source-delete {
  display: none;
}
.anecdote-form__section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eaedf1;
  color: #343a40;
}
.anecdote-form__actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.form-control {
  display: block;
  width: 100%;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 38px;
}

select.form-control {
  -webkit-appearance: menulist !important;
  -moz-appearance: menulist !important;
  appearance: menulist !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 16px 12px !important;
  padding-right: 2rem !important;
}

.action-button--bordered {
  border: 1px solid #e2e8f0;
  background-color: #f8fafc;
}
.action-button--bordered:hover {
  background-color: #e2e8f0;
  border-color: #cbd5e0;
}

.anecdote-translate {
  max-width: 900px;
  padding: 1.5rem;
  background: #ffffff;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
}
.anecdote-translate h3 {
  margin-bottom: 1.5rem;
  font-weight: 600;
}
.anecdote-translate .form-group {
  margin-bottom: 1.5rem;
}
.anecdote-translate .form-group label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.anecdote-translate .form-group input[type=text],
.anecdote-translate .form-group textarea {
  width: 100%;
  padding: 0.75rem;
  background: #f9f9f9;
  border: 1px solid #707070;
  border-radius: 5px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.anecdote-translate .form-group input[type=text]:focus,
.anecdote-translate .form-group textarea:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 2px rgba(20, 184, 166, 0.1);
  outline: none;
}
.anecdote-translate .form-group textarea {
  min-height: 200px;
  resize: vertical;
}
.anecdote-translate .autoTranslate {
  margin-bottom: 1.5rem;
}

.anecdote-comments {
  margin-bottom: 2rem;
}
.anecdote-comments__form {
  margin-top: 1.5rem;
}
.anecdote-comments__form .form-group {
  margin-bottom: 1rem;
}
.anecdote-comments__form textarea {
  min-height: 100px;
  resize: vertical;
}
.anecdote-comments__form-submit {
  margin-top: 0.5rem;
}

.comment-item {
  position: relative;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #eaedf1;
  border-radius: 5px;
  margin-bottom: 1rem;
}
.comment-item--deleted {
  border: 1px dashed #dc3545 !important;
  background-color: rgba(220, 53, 69, 0.05);
}
.comment-item__meta {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
}
.comment-item__meta strong {
  margin-right: 1rem;
  font-size: 12px;
}
.comment-item__text {
  font-size: 12px;
  margin-bottom: 1rem;
}
.comment-item__reply-for {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-size: 12px;
}
.comment-item__reply-for strong {
  font-weight: 600;
}
.comment-item__reply-for--deleted {
  border: 1px dashed #dc3545;
  background-color: rgba(220, 53, 69, 0.05);
}
.comment-item__actions {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
}
.comment-item__actions form {
  display: flex;
}
.comment-item__actions .btn {
  margin-left: 0.5rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.comment-item__deleted-by {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: #dc3545;
  color: white;
  font-size: 12px;
  border-radius: 3px;
  margin-top: 0.5rem;
}
.comment-item__replies {
  margin-left: 2rem;
  padding-left: 1rem;
  border-left: 2px solid #eaedf1;
}

.anecdote-form .row {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
}

/* Optional hover effect for clickable items to enhance UX */
.anecdote-item__meta-item--comments:not(.anecdote-item__meta-item--disabled) {
  transition: color 0.2s ease;
}

.anecdote-item__meta-item--comments:not(.anecdote-item__meta-item--disabled):hover {
  color: #4D8FC3;
}

/* Style to visually indicate that an element is disabled */
a[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* ==========================================================================
   PREFERENCES COMPONENT
   ========================================================================== */
.preferences-page {
  padding: 0 1.5rem;
}
.preferences-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.preferences-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.preferences-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.preferences-page__container {
  max-width: 1050px;
  margin-bottom: 1.5rem;
}
.preferences-page__limit-container {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  margin-bottom: 1.5rem;
}
.preferences-page__limit-item {
  border-bottom: 1px solid #dee2e6;
}
.preferences-page__limit-item:last-child {
  border-bottom: none;
}
.preferences-page__limit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}
.preferences-page__limit-label h6 {
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.preferences-page__limit-label p {
  color: #6c757d;
  font-size: 0.75rem;
  margin-bottom: 0;
}
.preferences-page__limit-field {
  display: flex;
  align-items: center;
}
.preferences-page__limit-field .form-control {
  width: 80px;
  text-align: right;
  margin-right: 0.5rem;
}
.preferences-page__limit-field .time-unit {
  color: #6c757d;
  margin-right: 0.5rem;
  font-size: 0.875rem;
}
.preferences-page__management {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  min-height: 50px;
}
.preferences-page__management-title {
  width: 33%;
}
.preferences-page__management-title h4 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.preferences-page__management-title p {
  font-size: 0.75rem;
  color: #6c757d;
  margin-bottom: 0;
}
.preferences-page__management-select {
  width: 34%;
  text-align: center;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preferences-page__management-select select {
  width: 100%;
  max-width: 200px;
  height: auto;
  min-height: 34px;
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
}
.preferences-page__management-actions {
  width: 33%;
  text-align: right;
}
.preferences-page__list-container {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
}
.preferences-page__list-header {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  background-color: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.75rem;
  color: #6c757d;
}
.preferences-page__list-header .sort-header {
  width: 33%;
}
.preferences-page__list-header .translation-column {
  width: 34%;
  text-align: center;
}
.preferences-page__list-header .actions-column {
  width: 33%;
  text-align: right;
}
.preferences-page__list-group {
  list-style: none;
  margin: 0;
  padding: 0;
}
.preferences-page__list-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #dee2e6;
  transition: background-color 0.2s;
}
.preferences-page__list-item:last-child {
  border-bottom: none;
}
.preferences-page__list-item:hover {
  background-color: rgba(20, 184, 166, 0.05);
}
.preferences-page__list-item.editing-item {
  background-color: #f0f7ff;
}
.preferences-page__list-item.editing-item .item-name,
.preferences-page__list-item.editing-item .translation-wrapper,
.preferences-page__list-item.editing-item .item-actions {
  display: none;
}
.preferences-page__list-item .item-name {
  width: 33%;
  font-weight: 500;
}
.preferences-page__list-item .translation-wrapper {
  width: 34%;
  text-align: center;
}
.preferences-page__list-item .translation-wrapper .translation-content {
  color: #6c757d;
}
.preferences-page__list-item .translation-wrapper .translation-content .text-danger {
  font-style: italic;
  color: #dc3545;
}
.preferences-page__list-item .item-actions {
  width: 33%;
  text-align: right;
}
.preferences-page__list-item .item-actions .btn {
  margin-left: 0.25rem;
}
.preferences-page__add-form {
  background-color: #f0f7ff;
  padding: 0.75rem 1rem;
}
.preferences-page__add-form .d-flex {
  align-items: flex-start;
}
.preferences-page__add-form .name-field {
  width: 33%;
}
.preferences-page__add-form .translations-container {
  width: 34%;
  padding: 0 10px;
}
.preferences-page__add-form .form-actions {
  width: 33%;
  text-align: right;
}
.preferences-page__add-form .form-group {
  margin-bottom: 0.5rem;
}
.preferences-page__edit-form {
  width: 100%;
}
.preferences-page__edit-form .d-flex {
  align-items: flex-start;
}
.preferences-page__edit-form .name-field {
  width: 33%;
}
.preferences-page__edit-form .translations-container {
  width: 34%;
  padding: 0 10px;
}
.preferences-page__edit-form .form-actions {
  width: 33%;
  text-align: right;
}
.preferences-page__edit-form .form-group {
  margin-bottom: 0.5rem;
}

.preferences-settings {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 0rem;
}
.preferences-settings__tabs {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.preferences-settings__tabs .nav-tabs {
  border-bottom: 0;
}
.preferences-settings__tabs .nav-link {
  border: 0;
  padding: 1rem 1.5rem;
  font-weight: 500;
  color: #6c757d;
  position: relative;
}
.preferences-settings__tabs .nav-link:hover {
  color: #343a40;
  background-color: transparent;
}
.preferences-settings__tabs .nav-link.active {
  color: #14b8a6;
  background-color: transparent;
}
.preferences-settings__tabs .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #14b8a6;
}
.preferences-settings__content {
  padding: 0;
}
.preferences-settings__panel {
  padding: 0;
  margin-bottom: 1.5rem;
}
.preferences-settings__panel-header {
  padding: 1.5rem 1.5rem 0.5rem;
}
.preferences-settings__panel-title {
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #343a40;
}
.preferences-settings__panel-description {
  color: #6c757d;
  margin-bottom: 1.5rem;
}
.preferences-settings__panel-body {
  padding: 0rem 1.5rem 0rem;
}

/* ==========================================================================
   LANGUAGES COMPONENT
   ========================================================================== */
.languages-page {
  padding: 0 1.5rem;
}
.languages-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.languages-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.languages-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.languages-page__card {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.languages-page__card-header {
  padding: 1.25rem;
  border-bottom: 1px solid #eaedf1;
  background-color: #f8f9fa;
  border-radius: 8px 8px 0 0;
}
.languages-page__card-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: #495057;
}
.languages-page__card-body {
  padding: 1.5rem;
}
.languages-page__card-body--no-padding {
  padding: 0;
}
.languages-page__form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
.languages-page__form-col {
  flex: 1;
  padding: 0 0.5rem;
}
.languages-page__form-group {
  margin-bottom: 1rem;
}
.languages-page__form-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.languages-page__form-help {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: 0.25rem;
}
.languages-page__table {
  width: 100%;
  margin-bottom: 0;
  table-layout: fixed;
}
.languages-page__table-head {
  background-color: #f8f9fa;
}
.languages-page__table-cell {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
}
.languages-page__table-cell--id {
  font-weight: 600;
  width: 60px;
}
.languages-page__table-cell:nth-child(2) {
  width: 30%;
}
.languages-page__table-cell:nth-child(3) {
  width: 15%;
}
.languages-page__table-cell:nth-child(4) {
  width: 25%;
}
.languages-page__table-cell--actions {
  width: 30%;
  text-align: right;
}
.languages-page__table-row {
  transition: background-color 0.2s;
}
.languages-page__table-row:hover {
  background-color: rgba(0, 0, 0, 0.01);
}
.languages-page__table-row--editing {
  background-color: rgba(20, 184, 166, 0.05);
}
.languages-page__table-row--editing .languages-page__table-text {
  visibility: hidden;
}
.languages-page__table-row--editing .languages-page__table-form {
  display: block;
}
.languages-page__table-row--editing .action-button--edit,
.languages-page__table-row--editing .action-button--delete {
  display: none;
}
.languages-page__table-row--editing .action-button--save,
.languages-page__table-row--editing .action-button--cancel {
  display: inline-flex;
}
.languages-page__table-text {
  display: block;
  position: relative;
  z-index: 1;
}
.languages-page__table-form {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 1rem;
  z-index: 2;
}
.languages-page__table-form .form-control {
  display: block;
  width: 100%;
  height: calc(100% - 0.5rem);
}
.languages-page__status {
  display: inline-flex;
  align-items: center;
}
.languages-page__status-toggle {
  position: relative;
}
.languages-page__status-toggle .custom-control-input {
  height: 1.5rem;
  width: 3rem;
}
.languages-page__status-toggle .custom-control-label {
  padding-top: 0.25rem;
  padding-left: 0.75rem;
}
.languages-page__status-toggle .custom-control-label::before {
  height: 1.5rem;
  width: 2.75rem;
  border-radius: 1rem;
  left: -2.75rem;
}
.languages-page__status-toggle .custom-control-label::after {
  height: calc(1.5rem - 4px);
  width: calc(1.5rem - 4px);
  border-radius: 50%;
  left: calc(-2.75rem + 2px);
}
.languages-page__status-toggle .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(1.25rem);
}
.languages-page__status-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  min-width: 70px;
  text-align: center;
}
.languages-page__status-badge--active {
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
}
.languages-page__status-badge--inactive {
  background-color: rgba(108, 117, 125, 0.1);
  color: #6c757d;
}
.languages-page__code-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background-color: #f8f9fa;
  border-radius: 4px;
  font-size: 0.75rem;
  font-family: monospace;
}
.languages-page__external-link {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #14b8a6;
  text-decoration: none;
}
.languages-page__external-link:hover {
  text-decoration: underline;
}
.languages-page__external-link i {
  margin-right: 0.25rem;
}

/* Action button visibility states for language table */
.action-button--save,
.action-button--cancel {
  display: none;
}

/* ==========================================================================
   ADMIN PAGE LAYOUT
   ========================================================================== */
.admin-page {
  padding: 0 1.5rem;
}
.admin-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.admin-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
}
.admin-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.admin-page__search-container {
  margin-bottom: 1.5rem;
}
.admin-page__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.admin-page__table-container {
  background-color: #fff;
  border-radius: 0.375rem;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
  max-width: 100%;
}
.admin-page__form-container {
  margin-bottom: 1.5rem;
}

/* ==========================================================================
   ADMIN PROFILE COMPONENT
   ========================================================================== */
.admin-profile {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.admin-profile__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  flex-shrink: 0;
}
.admin-profile__details {
  overflow: hidden;
}
.admin-profile__name {
  font-weight: 500;
  margin-bottom: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-profile__info {
  font-size: 0.75rem;
  color: #6c757d;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==========================================================================
   ADMIN EMPTY STATE COMPONENT
   ========================================================================== */
.admin-empty-state {
  padding: 3rem;
  text-align: center;
}
.admin-empty-state__icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  color: #cbd5e1;
}

/* ==========================================================================
   ADMIN PERMISSIONS COMPONENT
   ========================================================================== */
.admin-permissions__group {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eaedf1;
}
.admin-permissions__group:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.admin-permissions__subtitle {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  color: #6c757d;
}
.admin-permissions__indented {
  padding-left: 1rem;
}

/* ==========================================================================
   ADMIN SWITCH COMPONENT
   ========================================================================== */
.admin-switch {
  margin-bottom: 0.5rem;
}
.admin-switch__label {
  font-weight: 400;
  cursor: pointer;
}

/* ==========================================================================
   PASSWORD STRENGTH COMPONENT
   ========================================================================== */
/* ==========================================================================
   PASSWORD TIPS COMPONENT
   ========================================================================== */
.password-tips {
  list-style: none;
  padding: 0;
  margin: 0;
}
.password-tips__item {
  padding: 0.75rem 0;
  border-bottom: 1px solid #eaedf1;
  display: flex;
  align-items: center;
  font-size: 0.95rem;
}
.password-tips__item:last-child {
  border-bottom: none;
}

.admin-card {
  border-radius: 8px;
  box-shadow: none;
  /* Remove shadow */
  border: 1px solid #e5e7eb;
  /* Add a subtle border */
  margin-bottom: 1.5rem;
  background-color: #fff;
}
.admin-card__header {
  padding: 1.25rem;
  border-bottom: 1px solid #eaedf1;
  background-color: #f8f9fa;
  border-radius: 8px 8px 0 0;
}
.admin-card__title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: #495057;
}
.admin-card__body {
  padding: 1.5rem;
}

/* ==========================================================================
   EMAIL COMPONENT
   ========================================================================== */
.email-page {
  padding: 0 1.5rem;
}
.email-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.email-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.email-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.email-page__actions {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.email-page__table-container {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.email-page__content {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.email-page__pagination {
  margin: 1.5rem 0;
}

.email-detail__header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dee2e6;
}
.email-detail__actions {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.email-detail__meta {
  margin-bottom: 1.5rem;
}
.email-detail__meta-item {
  display: flex;
  margin-bottom: 0.5rem;
}
.email-detail__meta-item-label {
  width: 80px;
  font-weight: 600;
}
.email-detail__meta-item-value {
  flex: 1;
}
.email-detail__body {
  padding: 1rem;
  background-color: #f9f9f9;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}
.email-detail__reply-form {
  margin-top: 2rem;
  border-top: 1px solid #dee2e6;
  padding-top: 1.5rem;
}
.email-detail__reply-form-title {
  font-weight: 600;
  margin-bottom: 1rem;
}
.email-detail__reply-form-editor {
  min-height: 150px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 1rem;
  margin-bottom: 1rem;
  background-color: #f9f9f9;
}
.email-detail__reply-form-actions {
  display: flex;
  gap: 0.75rem;
}

.email-compose__form-group {
  margin-bottom: 1.5rem;
}
.email-compose__label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.email-compose__input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f9f9f9;
}
.email-compose__editor {
  min-height: 300px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  background-color: #f9f9f9;
}
.email-compose__actions {
  display: flex;
  gap: 0.75rem;
}

.email-settings__section {
  margin-bottom: 2rem;
}
.email-settings__section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #dee2e6;
}
.email-settings__form-group {
  margin-bottom: 1rem;
}
.email-settings__label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.email-settings__input {
  display: block;
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f9f9f9;
}
.email-settings__help-text {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: 0.25rem;
}

/* ==========================================================================
   PAGES COMPONENT
   ========================================================================== */
.pages-page {
  padding: 0 1.5rem;
}
.pages-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pages-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.pages-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.pages-page__actions {
  display: flex;
  gap: 0.75rem;
}
.pages-page__table-container {
  background-color: #fff;
  border-radius: 0.375rem;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.pages-page__form-container {
  margin-bottom: 1.5rem;
}

.page-editor {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-editor__form-group {
  margin-bottom: 1.5rem;
}
.page-editor__label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #343a40;
}
.page-editor__input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #fff;
}
.page-editor__help-text {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: 0.5rem;
}
.page-editor__editor {
  min-height: 300px;
}
.page-editor__tabs-item {
  margin-bottom: -1px;
}
.page-editor__tabs-link {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  color: #6c757d;
  font-weight: 500;
  text-decoration: none;
}
.page-editor__tabs-link i {
  margin-right: 0.5rem;
}
.page-editor__tabs-link.active {
  color: #14b8a6;
  border-color: #dee2e6 #dee2e6 #fff;
  background-color: #fff;
}
.page-editor__tabs-link:hover:not(.active) {
  color: #0f8a7d;
}
.page-editor__tab-content {
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 0 0 4px 4px;
}
.page-editor__preview {
  border: 1px solid #dee2e6;
  padding: 1.5rem;
  border-radius: 4px;
  background-color: #fff;
}
.page-editor__preview-controls {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
  gap: 0.5rem;
}
.page-editor__preview-container {
  width: 100%;
  transition: all 0.3s ease;
}
.page-editor__preview-frame {
  width: 100%;
  height: 500px;
  border: 1px solid #ddd;
}
.page-editor__code-editor {
  font-family: "Courier New", monospace;
  background-color: #1e1e1e;
  color: #f8f8f8;
  padding: 1rem;
  border-radius: 4px;
  font-size: 14px;
}
.page-editor__code-editor-container {
  margin-bottom: 1.5rem;
}
.page-editor__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.page-preview-modal__title {
  font-weight: 600;
}
.page-preview-modal__body {
  padding: 0;
}
.page-preview-modal__frame {
  width: 100%;
  height: 600px;
  border: none;
}
.page-preview-modal__footer {
  display: flex;
  justify-content: space-between;
}

/* ==========================================================================
   CONTACT COMPONENT
   ========================================================================== */
.contact-page {
  padding: 0 1.5rem;
}
.contact-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.contact-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.contact-page__content {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.contact-page__actions {
  margin-bottom: 1.5rem;
  display: flex;
  gap: 0.75rem;
}
.contact-page__pagination {
  margin: 1.5rem 0;
}

.contact-detail {
  padding: 1.5rem;
}
.contact-detail__header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
.contact-detail__title {
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #343a40;
}
.contact-detail__date {
  color: #6c757d;
  font-size: 0.875rem;
}
.contact-detail__user {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.contact-detail__user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.contact-detail__user-info {
  display: flex;
  flex-direction: column;
}
.contact-detail__user-name {
  font-weight: 600;
  line-height: 1.2;
}
.contact-detail__content {
  background-color: #FBFBFB;
  padding: 1rem 1.5rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
  line-height: 1.5;
  font-size: 0.95rem;
}
.contact-detail__anecdote {
  background-color: #FBFBFB;
  padding: 1rem 1.5rem;
  line-height: 1.5;
  border-radius: 4px;
  margin-bottom: 1rem;
}
.contact-detail__comment {
  background-color: #FBFBFB;
  padding: 1rem 1.5rem;
  line-height: 1.5;
  border-radius: 4px;
  margin-bottom: 1rem;
}
.contact-detail__view-link {
  margin-bottom: 1.5rem;
  display: inline-block;
}
.contact-detail__reply-form {
  margin-top: 2rem;
}
.contact-detail__reply-form-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.contact-detail__reply-form-textarea {
  min-height: 150px;
  background-color: #F9F9F9;
  border: none;
}
.contact-detail__reply-form-actions {
  margin-top: 1rem;
  display: flex;
  gap: 0.75rem;
}
.contact-detail__replies {
  margin-top: 2rem;
}
.contact-detail__replies-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.contact-detail__reply {
  margin-bottom: 1.5rem;
  padding: 0.5rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
}
.contact-detail__reply-user {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
}
.contact-detail__reply-user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-right: 0.75rem;
}
.contact-detail__reply-user-name {
  font-weight: 600;
}
.contact-detail__reply-user-badge {
  margin-left: 0.5rem;
}
.contact-detail__reply-content {
  background-color: #FBFBFB;
  padding: 1rem;
  border-radius: 4px;
  line-height: 1.5;
}

/* ==========================================================================
   PUSH NOTIFICATIONS COMPONENT
   ========================================================================== */
.push-notifications-page {
  padding: 0 1.5rem;
}
.push-notifications-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.push-notifications-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.push-notifications-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.push-notifications-page__actions {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 1.5rem;
  gap: 0.75rem;
}
.push-notifications-page__table-container {
  background-color: #fff;
  border-radius: 0.375rem;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.push-notifications-page__form-container {
  background-color: #fff;
  border-radius: 0.375rem;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.push-notification-form {
  width: 100%;
}
.push-notification-form__group {
  margin-bottom: 1.5rem;
}
.push-notification-form__label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #343a40;
}
.push-notification-form__input, .push-notification-form__select {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f9fafb;
  font-size: 14px;
  transition: border-color 0.2s;
}
.push-notification-form__input:focus, .push-notification-form__select:focus {
  border-color: #14b8a6;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  outline: none;
}
.push-notification-form__help-text {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: #6c757d;
}
.push-notification-form__section {
  margin-bottom: 2rem;
}
.push-notification-form__section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eaedf1;
}
.push-notification-form__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.push-notification-form__conditional {
  transition: all 0.3s ease-in-out;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
}
.push-notification-form__conditional--visible {
  max-height: 500px;
  opacity: 1;
  margin-bottom: 1.5rem;
}

/* ==========================================================================
   ACCOUNT COMPONENT
   ========================================================================== */
.account-page {
  padding: 0 1.5rem;
}
.account-page__header {
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.account-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  color: #343a40;
}
.account-page__subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.25rem;
  margin-bottom: 0;
}

.account-settings {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.account-settings__tabs {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.account-settings__tabs .nav-tabs {
  border-bottom: 0;
}
.account-settings__tabs .nav-link {
  border: 0;
  padding: 1rem 1.5rem;
  font-weight: 500;
  color: #6c757d;
  position: relative;
}
.account-settings__tabs .nav-link:hover {
  color: #343a40;
  background-color: transparent;
}
.account-settings__tabs .nav-link.active {
  color: #14b8a6;
  background-color: transparent;
}
.account-settings__tabs .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #14b8a6;
}
.account-settings__panel {
  padding: 0;
}
.account-settings__panel-header {
  padding: 1.5rem 1.5rem 0.5rem;
}
.account-settings__panel-title {
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #343a40;
}
.account-settings__panel-description {
  color: #6c757d;
  margin-bottom: 1.5rem;
}
.account-settings__panel-body {
  padding: 0 1.5rem 1.5rem;
}

.account-form {
  width: 100%;
}
.account-form__group {
  margin-bottom: 1.5rem;
}
.account-form__label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #343a40;
}
.account-form__input-wrapper {
  position: relative;
}
.account-form__input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f8f9fa;
  transition: all 0.2s;
}
.account-form__input:focus {
  outline: none;
  border-color: #14b8a6;
  background-color: #fff;
  box-shadow: none;
  border: 1px solid #e5e7eb;
}
.account-form__actions {
  margin-top: 2rem;
}

.password-toggle {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  cursor: pointer;
}
.password-toggle:hover {
  color: #343a40;
}

.two-fa__page {
  display: none;
}
.two-fa__section {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
  background-color: #f8f9fa;
  border-radius: 4px;
}
.two-fa__section-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: rgba(20, 184, 166, 0.1);
  color: #14b8a6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.two-fa__section-content {
  flex: 1;
}
.two-fa__section-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #343a40;
}
.two-fa__section-description {
  color: #6c757d;
  margin-bottom: 1rem;
}
.two-fa__nav {
  margin-bottom: 1.5rem;
}
.two-fa__setup {
  max-width: 600px;
  margin: 0 auto;
}
.two-fa__setup-title {
  text-align: center;
  margin-bottom: 2rem;
  font-weight: 600;
}
.two-fa__setup-steps {
  margin-bottom: 2rem;
}
.two-fa__setup-step {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.two-fa__setup-step-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #14b8a6;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
}
.two-fa__setup-step-content {
  flex: 1;
}
.two-fa__setup-step-title {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #343a40;
}
.two-fa__setup-step-description {
  color: #6c757d;
  margin-bottom: 1rem;
}
.two-fa__setup-actions {
  text-align: center;
}
.two-fa__download-links {
  display: flex;
  gap: 1rem;
}
.two-fa__download-links a img {
  max-height: 40px;
}
.two-fa__qr-container {
  text-align: center;
  margin: 1rem 0;
}
.two-fa__secret-code {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-family: monospace;
  font-size: 1.25rem;
  margin-top: 0.5rem;
}
.two-fa__warning {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  background-color: rgba(255, 193, 7, 0.1);
  border-left: 4px solid #ffc107;
  border-radius: 4px;
  margin: 1.5rem 0;
}
.two-fa__warning-icon {
  color: #ffc107;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.two-fa__warning-text {
  margin: 0;
  color: #6c757d;
}
.two-fa__verification {
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}
.two-fa__verification-title {
  margin-bottom: 1rem;
  font-weight: 600;
}
.two-fa__verification-description {
  color: #6c757d;
  margin-bottom: 2rem;
}
.two-fa__verification-actions {
  margin-top: 1.5rem;
}
.two-fa__otp-container {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.two-fa__otp-container input {
  width: 50px;
  height: 60px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f8f9fa;
}
.two-fa__otp-container input:focus {
  outline: none;
  border-color: #14b8a6;
  background-color: #fff;
  box-shadow: none;
  border: 1px solid #e5e7eb;
}
.two-fa__otp-container input::-webkit-outer-spin-button, .two-fa__otp-container input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.two-fa__otp-container input[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}
.two-fa__status-container {
  display: flex;
  gap: 1.5rem;
  padding: 2rem;
  background-color: rgba(40, 167, 69, 0.05);
  border-radius: 4px;
}
.two-fa__status-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.two-fa__status-content {
  flex: 1;
}
.two-fa__status-title {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #28a745;
}
.two-fa__status-description {
  color: #6c757d;
  margin-bottom: 1.5rem;
}
.two-fa__status-actions {
  display: flex;
  gap: 1rem;
}

/* ==========================================================================
   AUTHENTICATION COMPONENT
   ========================================================================== */
.auth-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f8f9fa;
  padding: 2rem 1rem;
}
.auth-page__card {
  width: 100%;
  max-width: 450px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  position: relative;
}
.auth-page__brand {
  text-align: center;
  padding: 2rem 1.5rem;
}
.auth-page__brand-logo {
  max-width: 120px;
  height: auto;
  margin-bottom: 1rem;
}
.auth-page__brand-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #343a40;
}
.auth-page__brand-subtitle {
  font-size: 0.9rem;
  color: #6c757d;
}
.auth-page__form {
  padding: 1.5rem 2rem 2rem;
}
.auth-page__form-group {
  margin-bottom: 1.5rem;
  position: relative;
}
.auth-page__label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #343a40;
  font-size: 0.9rem;
}
.auth-page__input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.auth-page__input-icon {
  position: absolute;
  left: 1rem;
  color: #6c757d;
  font-size: 1rem;
  z-index: 2;
  pointer-events: none;
}
.auth-page__input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.5rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  background-color: #fff;
  position: relative;
}
.auth-page__input:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
  outline: none;
}
.auth-page__extras {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  font-size: 0.85rem;
}
.auth-page__remember {
  display: flex;
  align-items: center;
}
.auth-page__remember input[type=checkbox] {
  margin-right: 0.5rem;
  cursor: pointer;
}
.auth-page__remember label {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #343a40;
}
.auth-page__forgot {
  color: #14b8a6;
  text-decoration: none;
  transition: color 0.2s;
}
.auth-page__forgot:hover {
  color: #0f8a7d;
  text-decoration: underline;
}
.auth-page__alt-links {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}
.auth-page__alt-links a {
  color: #14b8a6;
  text-decoration: none;
  font-weight: 500;
}
.auth-page__alt-links a:hover {
  text-decoration: underline;
}
.auth-page__footer {
  text-align: center;
  padding: 1.5rem;
  border-top: 1px solid #dee2e6;
  color: #6c757d;
  font-size: 0.85rem;
}
.auth-page__footer a {
  color: #14b8a6;
  text-decoration: none;
}
.auth-page__footer a:hover {
  text-decoration: underline;
}
.auth-page__alert {
  margin-bottom: 1.5rem;
  padding: 1rem;
  border-radius: 4px;
  font-size: 0.9rem;
}
.auth-page__alert--success {
  background-color: rgba(40, 167, 69, 0.1);
  color: #1e7e34;
  border-left: 4px solid #28a745;
}
.auth-page__alert--danger {
  background-color: rgba(220, 53, 69, 0.1);
  color: #bd2130;
  border-left: 4px solid #dc3545;
}
.auth-page__alert ul {
  margin: 0;
  padding-left: 1rem;
}

.otp-container {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin: 1.5rem 0;
}
.otp-container__input {
  width: 50px;
  height: 60px;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 600;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background-color: #f8f9fa;
  transition: all 0.2s ease;
}
.otp-container__input:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
  outline: none;
  background-color: #fff;
}
.otp-container__input::-webkit-outer-spin-button, .otp-container__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.otp-container__input[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}