.pending-payment-container,
.cme-summary-container,
.links-container,
.overdue-payment-container,
.personal-notification-container,
.pending-approval-container,
.journey-container,
.personal-notification {
  /* --- Updated Sorting Arrow Styles --- */
  /* Base style for the arrow container */
  /* Style when ascending sort is active */
  /* Style when descending sort is active */
  /* --- End Updated Sorting Arrow Styles --- */
  /* Dashboard Stats */
  /* Panel-like Container */
  /* Table Styles */
  /* Alert Styles */
  /* Centered Text */
}
.pending-payment-container .header,
.cme-summary-container .header,
.links-container .header,
.overdue-payment-container .header,
.personal-notification-container .header,
.pending-approval-container .header,
.journey-container .header,
.personal-notification .header {
  display: inline-block;
  justify-content: space-between;
  align-items: center;
}
.pending-payment-container .title,
.cme-summary-container .title,
.links-container .title,
.overdue-payment-container .title,
.personal-notification-container .title,
.pending-approval-container .title,
.journey-container .title,
.personal-notification .title {
  font-size: 1.3em;
  font-weight: bold;
  color: #333;
}
.pending-payment-container .help-icon,
.cme-summary-container .help-icon,
.links-container .help-icon,
.overdue-payment-container .help-icon,
.personal-notification-container .help-icon,
.pending-approval-container .help-icon,
.journey-container .help-icon,
.personal-notification .help-icon {
  font-size: 14px;
  cursor: pointer;
  color: #666;
}
.pending-payment-container .table-container,
.cme-summary-container .table-container,
.links-container .table-container,
.overdue-payment-container .table-container,
.personal-notification-container .table-container,
.pending-approval-container .table-container,
.journey-container .table-container,
.personal-notification .table-container {
  max-height: 400px;
  width: 100%;
  overflow-x: auto;
  overflow-y: auto;
  border-collapse: collapse;
}
.pending-payment-container table,
.cme-summary-container table,
.links-container table,
.overdue-payment-container table,
.personal-notification-container table,
.pending-approval-container table,
.journey-container table,
.personal-notification table {
  width: 100%;
  border-collapse: collapse;
  background-color: #f9f9f9;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.pending-payment-container thead,
.cme-summary-container thead,
.links-container thead,
.overdue-payment-container thead,
.personal-notification-container thead,
.pending-approval-container thead,
.journey-container thead,
.personal-notification thead {
  background-color: var(--theme-color-light, #F0EEEE);
  font-weight: bold;
  color: #333;
}
.pending-payment-container th,
.cme-summary-container th,
.links-container th,
.overdue-payment-container th,
.personal-notification-container th,
.pending-approval-container th,
.journey-container th,
.personal-notification th {
  padding: 10px 12px;
  text-align: left;
  position: relative;
  cursor: pointer;
  user-select: none; /* Prevents text selection on click */
  white-space: nowrap;
}
.pending-payment-container th.sortable::after,
.cme-summary-container th.sortable::after,
.links-container th.sortable::after,
.overdue-payment-container th.sortable::after,
.personal-notification-container th.sortable::after,
.pending-approval-container th.sortable::after,
.journey-container th.sortable::after,
.personal-notification th.sortable::after {
  content: "▲";
  font-size: 0.7em;
  opacity: 0.5;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  line-height: 1;
  margin-left: 4px;
}
.pending-payment-container th.sortable.sort-asc::after,
.cme-summary-container th.sortable.sort-asc::after,
.links-container th.sortable.sort-asc::after,
.overdue-payment-container th.sortable.sort-asc::after,
.personal-notification-container th.sortable.sort-asc::after,
.pending-approval-container th.sortable.sort-asc::after,
.journey-container th.sortable.sort-asc::after,
.personal-notification th.sortable.sort-asc::after {
  content: "▲";
  opacity: 1;
  color: #007bff;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  line-height: 1;
  margin-left: 4px;
}
.pending-payment-container .table-wrapper,
.cme-summary-container .table-wrapper,
.links-container .table-wrapper,
.overdue-payment-container .table-wrapper,
.personal-notification-container .table-wrapper,
.pending-approval-container .table-wrapper,
.journey-container .table-wrapper,
.personal-notification .table-wrapper {
  overflow-x: auto;
  width: 100%;
}
.pending-payment-container th.sortable.sort-desc::after,
.cme-summary-container th.sortable.sort-desc::after,
.links-container th.sortable.sort-desc::after,
.overdue-payment-container th.sortable.sort-desc::after,
.personal-notification-container th.sortable.sort-desc::after,
.pending-approval-container th.sortable.sort-desc::after,
.journey-container th.sortable.sort-desc::after,
.personal-notification th.sortable.sort-desc::after {
  content: "▼";
  opacity: 1;
  color: #007bff;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  line-height: 1;
  margin-left: 4px;
}
.pending-payment-container td,
.cme-summary-container td,
.links-container td,
.overdue-payment-container td,
.personal-notification-container td,
.pending-approval-container td,
.journey-container td,
.personal-notification td {
  padding: 10px 12px;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}
.pending-payment-container tr:hover,
.cme-summary-container tr:hover,
.links-container tr:hover,
.overdue-payment-container tr:hover,
.personal-notification-container tr:hover,
.pending-approval-container tr:hover,
.journey-container tr:hover,
.personal-notification tr:hover {
  background-color: #f1f1f1;
}
.pending-payment-container .action-btn,
.cme-summary-container .action-btn,
.links-container .action-btn,
.overdue-payment-container .action-btn,
.personal-notification-container .action-btn,
.pending-approval-container .action-btn,
.journey-container .action-btn,
.personal-notification .action-btn {
  background-color: var(--theme-color, #7C3D00);
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  transition: opacity 0.15s ease;
}
.pending-payment-container .action-btn:hover,
.cme-summary-container .action-btn:hover,
.links-container .action-btn:hover,
.overdue-payment-container .action-btn:hover,
.personal-notification-container .action-btn:hover,
.pending-approval-container .action-btn:hover,
.journey-container .action-btn:hover,
.personal-notification .action-btn:hover {
  opacity: 0.85;
}
.pending-payment-container .error-message,
.cme-summary-container .error-message,
.links-container .error-message,
.overdue-payment-container .error-message,
.personal-notification-container .error-message,
.pending-approval-container .error-message,
.journey-container .error-message,
.personal-notification .error-message {
  color: red;
  margin: 10px 0;
  font-size: 14px;
}
.pending-payment-container .bpt-status-wrap,
.cme-summary-container .bpt-status-wrap,
.links-container .bpt-status-wrap,
.overdue-payment-container .bpt-status-wrap,
.personal-notification-container .bpt-status-wrap,
.pending-approval-container .bpt-status-wrap,
.journey-container .bpt-status-wrap,
.personal-notification .bpt-status-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  line-height: 1.4;
}
.pending-payment-container .bpt-status-wrap input[type=checkbox],
.cme-summary-container .bpt-status-wrap input[type=checkbox],
.links-container .bpt-status-wrap input[type=checkbox],
.overdue-payment-container .bpt-status-wrap input[type=checkbox],
.personal-notification-container .bpt-status-wrap input[type=checkbox],
.pending-approval-container .bpt-status-wrap input[type=checkbox],
.journey-container .bpt-status-wrap input[type=checkbox],
.personal-notification .bpt-status-wrap input[type=checkbox] {
  cursor: default;
  vertical-align: middle;
}
.pending-payment-container .bpt-status-wrap a,
.cme-summary-container .bpt-status-wrap a,
.links-container .bpt-status-wrap a,
.overdue-payment-container .bpt-status-wrap a,
.personal-notification-container .bpt-status-wrap a,
.pending-approval-container .bpt-status-wrap a,
.journey-container .bpt-status-wrap a,
.personal-notification .bpt-status-wrap a {
  color: var(--theme-color, #7C3D00);
  text-decoration: underline;
}
.pending-payment-container .dashboard-stats,
.cme-summary-container .dashboard-stats,
.links-container .dashboard-stats,
.overdue-payment-container .dashboard-stats,
.personal-notification-container .dashboard-stats,
.pending-approval-container .dashboard-stats,
.journey-container .dashboard-stats,
.personal-notification .dashboard-stats {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  align-items: center;
}
.pending-payment-container .cme-summary-grid,
.cme-summary-container .cme-summary-grid,
.links-container .cme-summary-grid,
.overdue-payment-container .cme-summary-grid,
.personal-notification-container .cme-summary-grid,
.pending-approval-container .cme-summary-grid,
.journey-container .cme-summary-grid,
.personal-notification .cme-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.pending-payment-container .cme-summary-card,
.cme-summary-container .cme-summary-card,
.links-container .cme-summary-card,
.overdue-payment-container .cme-summary-card,
.personal-notification-container .cme-summary-card,
.pending-approval-container .cme-summary-card,
.journey-container .cme-summary-card,
.personal-notification .cme-summary-card {
  background: #e8ebf2;
  border: 1px solid #dde3ee;
  border-radius: 10px;
  padding: 12px 14px;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: flex-start;
}
.pending-payment-container .cme-summary-card__title,
.cme-summary-container .cme-summary-card__title,
.links-container .cme-summary-card__title,
.overdue-payment-container .cme-summary-card__title,
.personal-notification-container .cme-summary-card__title,
.pending-approval-container .cme-summary-card__title,
.journey-container .cme-summary-card__title,
.personal-notification .cme-summary-card__title {
  font-size: 18px;
  color: #4d3f21;
  font-weight: 500;
  line-height: 1.25;
}
.pending-payment-container .cme-summary-card__value,
.cme-summary-container .cme-summary-card__value,
.links-container .cme-summary-card__value,
.overdue-payment-container .cme-summary-card__value,
.personal-notification-container .cme-summary-card__value,
.pending-approval-container .cme-summary-card__value,
.journey-container .cme-summary-card__value,
.personal-notification .cme-summary-card__value {
  font-size: 24px;
  line-height: 1.1;
  font-weight: 700;
  color: #1f3f77;
  margin: 0;
}
.pending-payment-container .cme-summary-card__progress,
.cme-summary-container .cme-summary-card__progress,
.links-container .cme-summary-card__progress,
.overdue-payment-container .cme-summary-card__progress,
.personal-notification-container .cme-summary-card__progress,
.pending-approval-container .cme-summary-card__progress,
.journey-container .cme-summary-card__progress,
.personal-notification .cme-summary-card__progress {
  width: 100%;
  border-radius: 999px;
  background: #f7f0dd;
  overflow: hidden;
}
.pending-payment-container .cme-summary-card__progress-fill,
.cme-summary-container .cme-summary-card__progress-fill,
.links-container .cme-summary-card__progress-fill,
.overdue-payment-container .cme-summary-card__progress-fill,
.personal-notification-container .cme-summary-card__progress-fill,
.pending-approval-container .cme-summary-card__progress-fill,
.journey-container .cme-summary-card__progress-fill,
.personal-notification .cme-summary-card__progress-fill {
  height: 100%;
  border-radius: inherit;
  background: #efdca8;
  transition: width 0.2s ease;
}
.pending-payment-container .title-wrap,
.cme-summary-container .title-wrap,
.links-container .title-wrap,
.overdue-payment-container .title-wrap,
.personal-notification-container .title-wrap,
.pending-approval-container .title-wrap,
.journey-container .title-wrap,
.personal-notification .title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pending-payment-container .cycle-code,
.cme-summary-container .cycle-code,
.links-container .cycle-code,
.overdue-payment-container .cycle-code,
.personal-notification-container .cycle-code,
.pending-approval-container .cycle-code,
.journey-container .cycle-code,
.personal-notification .cycle-code {
  font-size: 12px;
  color: #6b7280;
  font-weight: 600;
}
.pending-payment-container .cme-summary-link,
.cme-summary-container .cme-summary-link,
.links-container .cme-summary-link,
.overdue-payment-container .cme-summary-link,
.personal-notification-container .cme-summary-link,
.pending-approval-container .cme-summary-link,
.journey-container .cme-summary-link,
.personal-notification .cme-summary-link {
  color: #1f3f77;
  display: inline-flex;
  align-items: center;
}
.pending-payment-container .cme-summary-link:hover,
.cme-summary-container .cme-summary-link:hover,
.links-container .cme-summary-link:hover,
.overdue-payment-container .cme-summary-link:hover,
.personal-notification-container .cme-summary-link:hover,
.pending-approval-container .cme-summary-link:hover,
.journey-container .cme-summary-link:hover,
.personal-notification .cme-summary-link:hover {
  color: #16325f;
}
@media (max-width: 1200px) {
  .pending-payment-container .cme-summary-grid,
  .cme-summary-container .cme-summary-grid,
  .links-container .cme-summary-grid,
  .overdue-payment-container .cme-summary-grid,
  .personal-notification-container .cme-summary-grid,
  .pending-approval-container .cme-summary-grid,
  .journey-container .cme-summary-grid,
  .personal-notification .cme-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .pending-payment-container .cme-summary-grid,
  .cme-summary-container .cme-summary-grid,
  .links-container .cme-summary-grid,
  .overdue-payment-container .cme-summary-grid,
  .personal-notification-container .cme-summary-grid,
  .pending-approval-container .cme-summary-grid,
  .journey-container .cme-summary-grid,
  .personal-notification .cme-summary-grid {
    grid-template-columns: 1fr;
  }
}
.pending-payment-container .stat-card,
.cme-summary-container .stat-card,
.links-container .stat-card,
.overdue-payment-container .stat-card,
.personal-notification-container .stat-card,
.pending-approval-container .stat-card,
.journey-container .stat-card,
.personal-notification .stat-card {
  background-color: #E8EBF2;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  width: 200px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}
.pending-payment-container .stat-number,
.cme-summary-container .stat-number,
.links-container .stat-number,
.overdue-payment-container .stat-number,
.personal-notification-container .stat-number,
.pending-approval-container .stat-number,
.journey-container .stat-number,
.personal-notification .stat-number {
  font-size: 1.5em;
  font-weight: bold;
  color: #007bff;
  text-align: left;
}
.pending-payment-container .stat-label,
.cme-summary-container .stat-label,
.links-container .stat-label,
.overdue-payment-container .stat-label,
.personal-notification-container .stat-label,
.pending-approval-container .stat-label,
.journey-container .stat-label,
.personal-notification .stat-label {
  font-size: 0.8em;
  color: #333;
  text-align: left;
}
@media (max-width: 1024px) {
  .pending-payment-container .dashboard-stats,
  .cme-summary-container .dashboard-stats,
  .links-container .dashboard-stats,
  .overdue-payment-container .dashboard-stats,
  .personal-notification-container .dashboard-stats,
  .pending-approval-container .dashboard-stats,
  .journey-container .dashboard-stats,
  .personal-notification .dashboard-stats {
    flex-wrap: wrap;
    align-items: stretch;
  }
  .pending-payment-container .stat-card,
  .cme-summary-container .stat-card,
  .links-container .stat-card,
  .overdue-payment-container .stat-card,
  .personal-notification-container .stat-card,
  .pending-approval-container .stat-card,
  .journey-container .stat-card,
  .personal-notification .stat-card {
    width: auto;
    min-width: 180px;
    flex: 1 1 calc(50% - 10px);
  }
}
@media (max-width: 820px) {
  .pending-payment-container .stat-card,
  .cme-summary-container .stat-card,
  .links-container .stat-card,
  .overdue-payment-container .stat-card,
  .personal-notification-container .stat-card,
  .pending-approval-container .stat-card,
  .journey-container .stat-card,
  .personal-notification .stat-card {
    min-width: 0;
    flex-basis: 100%;
  }
}
.pending-payment-container .portlet-section-body,
.cme-summary-container .portlet-section-body,
.links-container .portlet-section-body,
.overdue-payment-container .portlet-section-body,
.personal-notification-container .portlet-section-body,
.pending-approval-container .portlet-section-body,
.journey-container .portlet-section-body,
.personal-notification .portlet-section-body {
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.pending-payment-container .table,
.cme-summary-container .table,
.links-container .table,
.overdue-payment-container .table,
.personal-notification-container .table,
.pending-approval-container .table,
.journey-container .table,
.personal-notification .table {
  width: 100%;
  margin-top: 5px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
}
.pending-payment-container .table th,
.cme-summary-container .table th,
.links-container .table th,
.overdue-payment-container .table th,
.personal-notification-container .table th,
.pending-approval-container .table th,
.journey-container .table th,
.personal-notification .table th {
  background-color: var(--theme-color-light, #F0EEEE);
  padding: 12px 10px;
  text-align: left;
  font-weight: 600;
  border-bottom: 1px solid #dee2e6;
  border-right: 1px solid #dee2e6;
  white-space: nowrap;
  overflow: hidden;
}
.pending-payment-container .table td,
.cme-summary-container .table td,
.links-container .table td,
.overdue-payment-container .table td,
.personal-notification-container .table td,
.pending-approval-container .table td,
.journey-container .table td,
.personal-notification .table td {
  padding: 8px 8px;
  border-bottom: 1px solid #dee2e6;
  border-right: 1px solid #dee2e6;
  position: relative;
  vertical-align: middle;
}
.pending-payment-container .table th:last-child,
.pending-payment-container .table td:last-child,
.cme-summary-container .table th:last-child,
.cme-summary-container .table td:last-child,
.links-container .table th:last-child,
.links-container .table td:last-child,
.overdue-payment-container .table th:last-child,
.overdue-payment-container .table td:last-child,
.personal-notification-container .table th:last-child,
.personal-notification-container .table td:last-child,
.pending-approval-container .table th:last-child,
.pending-approval-container .table td:last-child,
.journey-container .table th:last-child,
.journey-container .table td:last-child,
.personal-notification .table th:last-child,
.personal-notification .table td:last-child {
  border-right: 0;
}
.pending-payment-container .table tbody tr:last-child td,
.cme-summary-container .table tbody tr:last-child td,
.links-container .table tbody tr:last-child td,
.overdue-payment-container .table tbody tr:last-child td,
.personal-notification-container .table tbody tr:last-child td,
.pending-approval-container .table tbody tr:last-child td,
.journey-container .table tbody tr:last-child td,
.personal-notification .table tbody tr:last-child td {
  border-bottom: 0;
}
.pending-payment-container .table thead th:first-child,
.cme-summary-container .table thead th:first-child,
.links-container .table thead th:first-child,
.overdue-payment-container .table thead th:first-child,
.personal-notification-container .table thead th:first-child,
.pending-approval-container .table thead th:first-child,
.journey-container .table thead th:first-child,
.personal-notification .table thead th:first-child {
  border-top-left-radius: 8px;
}
.pending-payment-container .table thead th:last-child,
.cme-summary-container .table thead th:last-child,
.links-container .table thead th:last-child,
.overdue-payment-container .table thead th:last-child,
.personal-notification-container .table thead th:last-child,
.pending-approval-container .table thead th:last-child,
.journey-container .table thead th:last-child,
.personal-notification .table thead th:last-child {
  border-top-right-radius: 8px;
}
.pending-payment-container .table tbody tr:last-child td:first-child,
.cme-summary-container .table tbody tr:last-child td:first-child,
.links-container .table tbody tr:last-child td:first-child,
.overdue-payment-container .table tbody tr:last-child td:first-child,
.personal-notification-container .table tbody tr:last-child td:first-child,
.pending-approval-container .table tbody tr:last-child td:first-child,
.journey-container .table tbody tr:last-child td:first-child,
.personal-notification .table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 8px;
}
.pending-payment-container .table tbody tr:last-child td:last-child,
.cme-summary-container .table tbody tr:last-child td:last-child,
.links-container .table tbody tr:last-child td:last-child,
.overdue-payment-container .table tbody tr:last-child td:last-child,
.personal-notification-container .table tbody tr:last-child td:last-child,
.pending-approval-container .table tbody tr:last-child td:last-child,
.journey-container .table tbody tr:last-child td:last-child,
.personal-notification .table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 8px;
}
.pending-payment-container .table td:first-child,
.cme-summary-container .table td:first-child,
.links-container .table td:first-child,
.overdue-payment-container .table td:first-child,
.personal-notification-container .table td:first-child,
.pending-approval-container .table td:first-child,
.journey-container .table td:first-child,
.personal-notification .table td:first-child {
  padding-left: 25px;
}
.pending-payment-container .table tr:nth-child(even),
.cme-summary-container .table tr:nth-child(even),
.links-container .table tr:nth-child(even),
.overdue-payment-container .table tr:nth-child(even),
.personal-notification-container .table tr:nth-child(even),
.pending-approval-container .table tr:nth-child(even),
.journey-container .table tr:nth-child(even),
.personal-notification .table tr:nth-child(even) {
  background-color: #f8f9fa;
}
.pending-payment-container .table tr:hover,
.cme-summary-container .table tr:hover,
.links-container .table tr:hover,
.overdue-payment-container .table tr:hover,
.personal-notification-container .table tr:hover,
.pending-approval-container .table tr:hover,
.journey-container .table tr:hover,
.personal-notification .table tr:hover {
  background-color: #e9ecef;
}
.pending-payment-container .table thead th.sortable,
.cme-summary-container .table thead th.sortable,
.links-container .table thead th.sortable,
.overdue-payment-container .table thead th.sortable,
.personal-notification-container .table thead th.sortable,
.pending-approval-container .table thead th.sortable,
.journey-container .table thead th.sortable,
.personal-notification .table thead th.sortable {
  cursor: pointer;
  user-select: none;
}
.pending-payment-container .table thead th.sortable::after,
.cme-summary-container .table thead th.sortable::after,
.links-container .table thead th.sortable::after,
.overdue-payment-container .table thead th.sortable::after,
.personal-notification-container .table thead th.sortable::after,
.pending-approval-container .table thead th.sortable::after,
.journey-container .table thead th.sortable::after,
.personal-notification .table thead th.sortable::after {
  content: "▲";
  font-size: 0.7em;
  margin-left: 5px;
  opacity: 0.5; /* Subtle initial state */
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  line-height: 1;
}
.pending-payment-container .table thead th.sort-asc::after,
.cme-summary-container .table thead th.sort-asc::after,
.links-container .table thead th.sort-asc::after,
.overdue-payment-container .table thead th.sort-asc::after,
.personal-notification-container .table thead th.sort-asc::after,
.pending-approval-container .table thead th.sort-asc::after,
.journey-container .table thead th.sort-asc::after,
.personal-notification .table thead th.sort-asc::after {
  opacity: 1; /* More prominent when active */
}
.pending-payment-container .table thead th.sort-desc::after,
.cme-summary-container .table thead th.sort-desc::after,
.links-container .table thead th.sort-desc::after,
.overdue-payment-container .table thead th.sort-desc::after,
.personal-notification-container .table thead th.sort-desc::after,
.pending-approval-container .table thead th.sort-desc::after,
.journey-container .table thead th.sort-desc::after,
.personal-notification .table thead th.sort-desc::after {
  content: "▼"; /* Down arrow */
  opacity: 1; /* More prominent when active */
}
.pending-payment-container .alert,
.cme-summary-container .alert,
.links-container .alert,
.overdue-payment-container .alert,
.personal-notification-container .alert,
.pending-approval-container .alert,
.journey-container .alert,
.personal-notification .alert {
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 4px;
  margin-bottom: 15px;
}
.pending-payment-container .alert-danger,
.cme-summary-container .alert-danger,
.links-container .alert-danger,
.overdue-payment-container .alert-danger,
.personal-notification-container .alert-danger,
.pending-approval-container .alert-danger,
.journey-container .alert-danger,
.personal-notification .alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.pending-payment-container .text-center,
.cme-summary-container .text-center,
.links-container .text-center,
.overdue-payment-container .text-center,
.personal-notification-container .text-center,
.pending-approval-container .text-center,
.journey-container .text-center,
.personal-notification .text-center {
  text-align: center;
}
.pending-payment-container .modal-content-box,
.cme-summary-container .modal-content-box,
.links-container .modal-content-box,
.overdue-payment-container .modal-content-box,
.personal-notification-container .modal-content-box,
.pending-approval-container .modal-content-box,
.journey-container .modal-content-box,
.personal-notification .modal-content-box {
  background: white;
  border-radius: 8px;
  padding: 20px;
  width: 800px;
  min-height: 300px;
  max-width: 90%;
  margin: 10% auto;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Shared heading styles for Dashboard and File Repository headers */
.user-title-dashboard,
.file-repository-portlet__title,
.useful-links-portlet__title {
  margin: 0;
  font-family: Arial;
  font-weight: 700;
  font-size: 28px;
  line-height: 140%;
  letter-spacing: 0;
  color: var(--neutral-black-100, rgb(13, 12, 12));
}

.user-title-user,
.file-repository-portlet__subtitle,
.useful-links-portlet__subtitle {
  margin: 0;
  font-family: Arial;
  font-weight: 700;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 0;
  color: var(--Identity-User, rgb(121, 118, 118));
}

.personal-profile-portlet .user-title-user {
  max-width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
  line-height: 1.3;
}
.personal-profile-portlet .picture img {
  border-radius: 15px;
}
.personal-profile-portlet .edit-icon {
  width: 28px;
  height: 28px;
  position: absolute;
  bottom: -5px;
  right: -5px;
}
.personal-profile-portlet .info-left-2 {
  width: 280px;
  height: 22px;
  font-family: Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 140%;
  letter-spacing: 0;
  color: var(--Gray-Grey-500, rgb(109, 109, 109));
}
.personal-profile-portlet .info-user-name {
  width: auto;
  max-width: 320px;
  min-width: 0;
  font-family: Arial;
  font-weight: 400;
  font-size: clamp(14px, 2vw, 19px);
  line-height: 130%;
  letter-spacing: 0;
  color: var(--neutral-black-100, rgb(13, 12, 12));
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.personal-profile-portlet .info-greeting {
  width: 146px;
  height: 28px;
  font-family: Arial;
  font-weight: 400;
  font-size: 19px;
  line-height: 140%;
  letter-spacing: 0;
  color: var(--neutral-black-100, rgb(13, 12, 12));
}
.personal-profile-portlet .info-left-1 {
  width: 100%;
  min-width: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.personal-profile-portlet .info-right {
  width: 100px;
  height: 100px;
  position: relative;
  align-content: center;
}
.personal-profile-portlet .info-left {
  width: auto;
  max-width: 450px;
  min-width: 300px;
  height: auto;
  justify-content: space-between;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.personal-profile-portlet .user-header {
  width: 100%;
  min-height: 108px;
  height: auto;
  justify-content: space-between;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 10px;
}
.personal-profile-portlet .user-title {
  max-width: 500px;
  min-width: 0;
  height: auto;
  gap: 12px;
  flex: 1 1 120px;
}
.personal-profile-portlet .user-header-info {
  width: auto;
  min-height: 108px;
  gap: 20px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.personal-profile-portlet .admin-shortcuts {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-right: 4px;
}
.personal-profile-portlet .admin-shortcut-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  height: 30px;
  padding: 0 12px;
  border-radius: 6px;
  background: var(--theme-color, #7C3D00);
  color: #fff !important;
  text-decoration: none !important;
  font-family: Arial;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .personal-profile-portlet .user-header {
    flex-direction: column;
    gap: 12px;
  }
  .personal-profile-portlet .user-header-info {
    width: 100%;
    min-height: 0;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
  }
  .personal-profile-portlet .admin-shortcuts {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-right: 0;
  }
  .personal-profile-portlet .info-left {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 6px;
  }
  .personal-profile-portlet .info-left-2 {
    width: auto;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .personal-profile-portlet .user-header {
    flex-direction: column;
    gap: 12px;
  }
  .personal-profile-portlet .user-header-info {
    width: 100%;
    min-height: 0;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
  }
  .personal-profile-portlet .admin-shortcuts {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-right: 0;
  }
  .personal-profile-portlet .info-left {
    width: 100%;
    max-width: calc(100% - 112px);
    gap: 6px;
  }
  .personal-profile-portlet .info-user-name,
  .personal-profile-portlet .info-greeting {
    max-width: 100%;
    font-size: 18px;
  }
  .personal-profile-portlet .info-left-2 {
    width: auto;
    max-width: 100%;
    font-size: 14px;
    line-height: 130%;
  }
}

.file-repository-portlet {
  width: 100%;
}
.file-repository-portlet__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.file-repository-portlet__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media (max-width: 768px) {
  .file-repository-portlet__header {
    flex-direction: column;
    gap: 10px;
  }
}

.useful-links-portlet {
  width: 100%;
}
.useful-links-portlet__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.useful-links-portlet__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media (max-width: 768px) {
  .useful-links-portlet__header {
    flex-direction: column;
    gap: 10px;
  }
}
.useful-links-portlet__section {
  border-bottom: 1px solid var(--theme-color, #7C3D00);
}
.useful-links-portlet__section-toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 10px 0;
  text-align: left;
  font-size: 28px;
  font-weight: 700;
  color: var(--theme-color, #7C3D00);
  cursor: pointer;
}
.useful-links-portlet__section-icon {
  font-size: 30px;
  line-height: 1;
  color: var(--theme-color, #7C3D00);
  min-width: 30px;
  text-align: right;
}
.useful-links-portlet__section-body {
  display: none;
  padding-bottom: 12px;
}
.useful-links-portlet__section-body.is-open {
  display: block;
}
.useful-links-portlet__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--theme-color, #7C3D00);
  background: #fff;
}
.useful-links-portlet__table th, .useful-links-portlet__table td {
  padding: 8px 10px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  font-size: 14px;
}
.useful-links-portlet__table th {
  background: var(--theme-color-light, #F2ECE6);
  font-weight: 700;
  color: var(--theme-color, #7C3D00);
}
.useful-links-portlet__table tbody tr:last-child td {
  border-bottom: 0;
}
.useful-links-portlet__table th:nth-child(1), .useful-links-portlet__table td:nth-child(1) {
  width: 60px;
}
.useful-links-portlet__table th:nth-child(3), .useful-links-portlet__table td:nth-child(3) {
  width: 70px;
  text-align: center;
}
.useful-links-portlet__open {
  color: var(--theme-color, #7C3D00);
  font-size: 18px;
  text-decoration: none;
}
.useful-links-portlet__open:hover {
  opacity: 0.85;
}
.useful-links-portlet__loading, .useful-links-portlet__empty, .useful-links-portlet__error {
  padding: 12px 0;
  font-size: 14px;
}
.useful-links-portlet__error {
  color: #b91c1c;
}
@media (max-width: 768px) {
  .useful-links-portlet__title {
    font-size: 28px;
  }
  .useful-links-portlet__section-toggle {
    font-size: 22px;
  }
}

.nav-tabs-container .nav-link.nav-highlight-yellow {
  background-color: #e6deb8;
  color: #0d0c0c;
}

.nav-tabs-container .nav-link.nav-highlight-yellow.active {
  background-color: #e6deb8;
  color: #0d0c0c;
}