:root {
  --bs-primary: #e66239;
  --bs-primary-rgb: 230, 98, 57;
  --bs-link-color: #404040;
  --bs-link-hover-color: #e66239;
  --bs-body-font-family: "Poppins", sans-serif;
  --bs-body-font-size: 0.875rem;
  --bs-border-color: #e5e5e5;
}

/* Super admin users page report polish - absolute final override. */
.users-page .users-table-card {
  overflow: hidden;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.users-page .users-table-card .table > :not(caption) > * > * {
  padding: 0.78rem 0.72rem;
}

.users-report-toggle-row {
  cursor: pointer;
  transition: background 0.18s ease;
}

.users-report-toggle-row:hover,
.users-report-toggle-row.is-open {
  background: #fff8f5;
}

.user-report-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  min-width: 170px;
}

.user-report-pills span {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 26px;
  padding: 0 0.48rem;
  border: 1px solid #edf1f5;
  border-radius: 999px;
  color: #687382;
  background: #fff;
  font-size: 0.62rem;
  font-weight: 850;
  white-space: nowrap;
}

.user-report-pills strong {
  color: #20252c;
  font-size: 0.75rem;
}

.user-report-row[hidden] {
  display: none;
}

.user-report-row td {
  padding: 0 !important;
  background: #fffaf7;
}

.user-report-panel {
  margin: 0.15rem 0.7rem 0.85rem;
  padding: 0.78rem;
  border: 1px solid rgba(230, 98, 57, 0.16);
  border-radius: 15px;
  background: #fff;
}

.user-report-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.62rem;
  color: #75808d;
  font-size: 0.72rem;
  font-weight: 750;
}

.user-report-panel-head div {
  display: grid;
  gap: 0.08rem;
}

.user-report-panel-head strong {
  color: #20252c;
  font-size: 0.92rem;
  font-weight: 950;
}

.user-report-panel-head div span {
  color: #e66239;
}

.user-report-table {
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 12px;
}

.user-report-table th {
  color: #687382;
  background: #f7f9fb;
  font-size: 0.66rem;
  font-weight: 900;
}

.user-report-table td {
  padding: 0.58rem 0.62rem !important;
  color: #20252c;
  background: #fff;
  font-size: 0.84rem;
  font-weight: 900;
}

@media (max-width: 768px) {
  .users-page .users-page-head {
    gap: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }

  .users-page .users-page-head h1 {
    font-size: 1.35rem !important;
  }

  .users-page .users-page-head p {
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .users-page .users-page-head > div:last-child {
    width: 100%;
    display: grid !important;
    grid-template-columns: auto 1fr;
  }

  .users-page .users-page-head .btn {
    justify-content: center;
  }

  .users-page .users-table-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .users-table-card .table-responsive {
    overflow: visible;
  }

  .users-table-card table,
  .users-table-card tbody,
  .users-table-card tr,
  .users-table-card td {
    display: block;
    width: 100%;
  }

  .users-table-card thead {
    display: none;
  }

  .users-table-card tr.users-report-toggle-row {
    margin-bottom: 0;
    padding: 0.74rem;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .users-table-card tr.users-report-toggle-row.is-open {
    border-color: rgba(230, 98, 57, 0.28);
    border-radius: 16px 16px 0 0;
    background: #fff8f5;
  }

  .users-table-card td {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    padding: 0.34rem 0 !important;
    border: 0 !important;
    color: #20252c;
  }

  .users-table-card td::before {
    color: #8a94a3;
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  .users-table-card td:nth-child(1)::before { content: "User"; }
  .users-table-card td:nth-child(2)::before { content: "Role"; }
  .users-table-card td:nth-child(3)::before { content: "Under"; }
  .users-table-card td:nth-child(4)::before { content: "Report"; }
  .users-table-card td:nth-child(5)::before { content: "Status"; }
  .users-table-card td:nth-child(6)::before { content: "Login"; }
  .users-table-card td:nth-child(7)::before { content: "Created"; }
  .users-table-card td:nth-child(8)::before { content: "Action"; }

  .users-table-card td:first-child {
    display: block;
    padding-top: 0 !important;
  }

  .users-table-card td:first-child::before {
    content: none;
  }

  .users-table-card td:first-child .fw-semibold {
    font-size: 1rem;
    font-weight: 950;
  }

  .user-report-pills {
    min-width: 0;
    gap: 0.24rem;
  }

  .user-report-pills span {
    min-height: 24px;
    padding: 0 0.42rem;
    font-size: 0.58rem;
  }

  .users-table-card td.text-end {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem;
    text-align: left !important;
  }

  .users-table-card td.text-end::before {
    width: 100%;
  }

  .users-table-card td.text-end form,
  .users-table-card td.text-end .btn {
    flex: 1 1 92px;
    justify-content: center;
  }

  .user-report-row {
    display: block;
    margin: -0.02rem 0 0.65rem;
  }

  .user-report-row td {
    display: block;
    padding: 0 !important;
  }

  .user-report-row td::before {
    content: none !important;
  }

  .user-report-panel {
    margin: 0;
    padding: 0.68rem;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .user-report-panel-head {
    display: grid;
    gap: 0.2rem;
    font-size: 0.68rem;
  }

  .user-report-table {
    min-width: 640px;
  }
}

/* Super admin users page report polish */
.users-page .users-table-card {
  overflow: hidden;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.users-page .users-table-card .table > :not(caption) > * > * {
  padding: 0.78rem 0.72rem;
}

.users-report-toggle-row {
  cursor: pointer;
  transition: background 0.18s ease;
}

.users-report-toggle-row:hover,
.users-report-toggle-row.is-open {
  background: #fff8f5;
}

.user-report-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  min-width: 170px;
}

.user-report-pills span {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 26px;
  padding: 0 0.48rem;
  border: 1px solid #edf1f5;
  border-radius: 999px;
  color: #687382;
  background: #fff;
  font-size: 0.62rem;
  font-weight: 850;
  white-space: nowrap;
}

.user-report-pills strong {
  color: #20252c;
  font-size: 0.75rem;
}

.user-report-row[hidden] {
  display: none;
}

.user-report-row td {
  padding: 0 !important;
  background: #fffaf7;
}

.user-report-panel {
  margin: 0.15rem 0.7rem 0.85rem;
  padding: 0.78rem;
  border: 1px solid rgba(230, 98, 57, 0.16);
  border-radius: 15px;
  background: #fff;
}

.user-report-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.62rem;
  color: #75808d;
  font-size: 0.72rem;
  font-weight: 750;
}

.user-report-panel-head div {
  display: grid;
  gap: 0.08rem;
}

.user-report-panel-head strong {
  color: #20252c;
  font-size: 0.92rem;
  font-weight: 950;
}

.user-report-panel-head div span {
  color: #e66239;
}

.user-report-table {
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 12px;
}

.user-report-table th {
  color: #687382;
  background: #f7f9fb;
  font-size: 0.66rem;
  font-weight: 900;
}

.user-report-table td {
  padding: 0.58rem 0.62rem !important;
  color: #20252c;
  background: #fff;
  font-size: 0.84rem;
  font-weight: 900;
}

@media (max-width: 768px) {
  .users-page .users-page-head {
    gap: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }

  .users-page .users-page-head h1 {
    font-size: 1.35rem !important;
  }

  .users-page .users-page-head p {
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .users-page .users-page-head > div:last-child {
    width: 100%;
    display: grid !important;
    grid-template-columns: auto 1fr;
  }

  .users-page .users-page-head .btn {
    justify-content: center;
  }

  .users-page .users-table-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .users-table-card .table-responsive {
    overflow: visible;
  }

  .users-table-card table,
  .users-table-card tbody,
  .users-table-card tr,
  .users-table-card td {
    display: block;
    width: 100%;
  }

  .users-table-card thead {
    display: none;
  }

  .users-table-card tr.users-report-toggle-row {
    margin-bottom: 0;
    padding: 0.74rem;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .users-table-card tr.users-report-toggle-row.is-open {
    border-color: rgba(230, 98, 57, 0.28);
    border-radius: 16px 16px 0 0;
    background: #fff8f5;
  }

  .users-table-card td {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    padding: 0.34rem 0 !important;
    border: 0 !important;
    color: #20252c;
  }

  .users-table-card td::before {
    color: #8a94a3;
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  .users-table-card td:nth-child(1)::before { content: "User"; }
  .users-table-card td:nth-child(2)::before { content: "Role"; }
  .users-table-card td:nth-child(3)::before { content: "Under"; }
  .users-table-card td:nth-child(4)::before { content: "Report"; }
  .users-table-card td:nth-child(5)::before { content: "Status"; }
  .users-table-card td:nth-child(6)::before { content: "Login"; }
  .users-table-card td:nth-child(7)::before { content: "Created"; }
  .users-table-card td:nth-child(8)::before { content: "Action"; }

  .users-table-card td:first-child {
    display: block;
    padding-top: 0 !important;
  }

  .users-table-card td:first-child::before {
    content: none;
  }

  .users-table-card td:first-child .fw-semibold {
    font-size: 1rem;
    font-weight: 950;
  }

  .user-report-pills {
    min-width: 0;
    gap: 0.24rem;
  }

  .user-report-pills span {
    min-height: 24px;
    padding: 0 0.42rem;
    font-size: 0.58rem;
  }

  .users-table-card td.text-end {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem;
    text-align: left !important;
  }

  .users-table-card td.text-end::before {
    width: 100%;
  }

  .users-table-card td.text-end form,
  .users-table-card td.text-end .btn {
    flex: 1 1 92px;
    justify-content: center;
  }

  .user-report-row {
    display: block;
    margin: -0.02rem 0 0.65rem;
  }

  .user-report-row td {
    display: block;
    padding: 0 !important;
  }

  .user-report-row td::before {
    content: none !important;
  }

  .user-report-panel {
    margin: 0;
    padding: 0.68rem;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .user-report-panel-head {
    display: grid;
    gap: 0.2rem;
    font-size: 0.68rem;
  }

  .user-report-table {
    min-width: 640px;
  }
}

/* Calling staff work page final polish */
.panel-work-shell .panel-work-view-tabs {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  padding: 0.28rem;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.panel-work-shell .panel-work-view-tabs a {
  flex: 1 1 0;
  min-height: 44px;
  padding: 0.52rem 0.62rem;
  border: 0;
  border-radius: 14px;
  background: transparent;
  box-shadow: none;
}

.panel-work-shell .panel-work-view-tabs a.is-active {
  color: #e66239;
  background: #fff1ec;
  box-shadow: inset 0 0 0 1px rgba(230, 98, 57, 0.16);
}

.panel-work-shell .panel-work-view-tabs a strong {
  min-width: 26px;
  height: 24px;
  background: rgba(230, 98, 57, 0.1);
}

.panel-work-shell .panel-work-priority {
  border: 0;
  background: linear-gradient(180deg, #fff 0%, #fffaf7 100%);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.055);
}

.panel-work-shell .panel-work-priority-stats span {
  border-color: #edf1f5;
  box-shadow: none;
}

.panel-work-shell .today-interview-card {
  border-color: #edf1f5;
  box-shadow: none;
}

.panel-work-shell .today-interview-card.is-next {
  border-color: rgba(230, 98, 57, 0.44);
  background: linear-gradient(135deg, #fff4ee 0%, #fff 76%);
  box-shadow: inset 4px 0 0 #e66239;
}

.panel-work-shell .mobile-panel-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.panel-work-shell .panel-work-filters {
  border-color: #e8edf3;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

.panel-work-shell .panel-profile-group {
  overflow: hidden;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.panel-work-shell .panel-profile-group-head {
  border-bottom: 1px solid #edf1f5;
  background: #fff;
}

.panel-work-shell .panel-candidate-card {
  border-radius: 0;
  box-shadow: none;
}

.panel-work-shell .work-mobile-schedule {
  background: #f8fafc;
}

@media (max-width: 576px) {
  .panel-work-shell.mobile-panel-shell {
    padding: 0 0.68rem 4.65rem;
    background: #fff;
  }

  .panel-work-shell .mobile-panel-hero {
    margin: 0 -0.68rem 0.52rem;
    padding: 0.72rem 0.78rem;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  }

  .panel-work-shell .mobile-panel-top h1 {
    font-size: 1.12rem;
  }

  .panel-work-shell .mobile-panel-top p {
    display: block;
    max-width: 260px;
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .panel-work-shell .panel-work-view-tabs {
    gap: 0.18rem;
    margin: 0 0 0.55rem;
    padding: 0.22rem;
    border-radius: 16px;
  }

  .panel-work-shell .panel-work-view-tabs a {
    display: flex;
    min-height: 42px;
    gap: 0.2rem;
    justify-content: center;
    padding: 0.36rem 0.14rem;
    font-size: 0.66rem;
    line-height: 1.1;
  }

  .panel-work-shell .panel-work-view-tabs a i {
    display: none;
  }

  .panel-work-shell .panel-work-view-tabs a span {
    max-width: 72px;
  }

  .panel-work-shell .panel-work-view-tabs a strong {
    min-width: 20px;
    height: 20px;
    padding: 0 0.28rem;
    font-size: 0.62rem;
  }

  .panel-work-shell .panel-work-priority {
    gap: 0.52rem;
    margin: 0 0 0.58rem;
    padding: 0.66rem;
    border-radius: 17px;
  }

  .panel-work-shell .panel-work-priority-head {
    display: block;
  }

  .panel-work-shell .panel-work-priority-head h2 {
    font-size: 1rem;
  }

  .panel-work-shell .panel-work-priority-head p {
    display: block;
    margin-top: 0.14rem;
    font-size: 0.68rem;
    line-height: 1.32;
  }

  .panel-work-shell .panel-work-priority-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.28rem;
    margin-top: 0.52rem;
  }

  .panel-work-shell .panel-work-priority-stats span {
    min-width: 0;
    padding: 0.34rem 0.16rem;
    border-radius: 10px;
    font-size: 0.53rem;
  }

  .panel-work-shell .panel-work-priority-stats strong {
    font-size: 0.86rem;
  }

  .panel-work-shell .today-interview-card {
    grid-template-columns: minmax(82px, 0.68fr) minmax(0, 1fr) 18px;
    min-height: 76px;
    padding: 0.56rem;
    border-radius: 14px;
  }

  .panel-work-shell .today-interview-time {
    min-width: 78px;
    padding: 0.42rem 0.34rem;
  }

  .panel-work-shell .today-interview-time strong {
    font-size: 0.72rem;
  }

  .panel-work-shell .today-interview-time span,
  .panel-work-shell .today-interview-main p,
  .panel-work-shell .today-interview-main em {
    font-size: 0.58rem;
  }

  .panel-work-shell .today-interview-main h3 {
    font-size: 0.88rem;
  }

  .panel-work-shell .mobile-panel-card {
    margin-top: 0.58rem;
    padding: 0;
  }

  .panel-work-shell .mobile-section-head {
    align-items: flex-start;
    padding: 0 0.08rem;
  }

  .panel-work-shell .mobile-section-head h2 {
    font-size: 1rem;
  }

  .panel-work-shell .mobile-section-head p {
    display: block;
    margin-top: 0.12rem;
    color: #788391;
    font-size: 0.68rem;
    line-height: 1.28;
  }

  .panel-work-shell .mobile-section-head .btn {
    min-height: 32px;
    border-radius: 999px;
    font-size: 0.62rem;
  }

  .panel-work-shell .panel-work-filters {
    position: sticky;
    top: 0.32rem;
    z-index: 8;
    gap: 0.42rem;
    margin: 0 0 0.52rem;
    padding: 0.46rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
  }

  .panel-work-shell .panel-work-search {
    min-height: 38px;
    border-radius: 12px;
  }

  .panel-work-shell .panel-work-search input {
    font-size: 0.72rem;
  }

  .panel-work-shell .panel-work-filter-chips button {
    min-height: 31px;
    padding: 0 0.62rem;
    font-size: 0.6rem;
  }

  .panel-work-shell .panel-profile-group {
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  }

  .panel-work-shell .panel-profile-group + .panel-profile-group {
    margin-top: 0.58rem;
  }

  .panel-work-shell .panel-profile-group-head {
    padding: 0.58rem 0.66rem;
  }

  .panel-work-shell .panel-profile-group-head strong {
    font-size: 0.94rem;
  }

  .panel-work-shell .panel-profile-group-head span {
    font-size: 0.58rem;
  }

  .panel-work-shell .panel-candidate-card {
    gap: 0.52rem;
    padding: 0.68rem;
  }

  .panel-work-shell .panel-candidate-head h3 {
    font-size: 0.98rem;
  }

  .panel-work-shell .panel-candidate-head p {
    font-size: 0.68rem;
  }

  .panel-work-shell .work-mobile-schedule {
    padding: 0.5rem 0.54rem;
    border-radius: 12px;
  }

  .panel-work-shell .work-mobile-schedule strong {
    font-size: 0.74rem;
  }

  .panel-work-shell .process-chip-row.compact {
    gap: 0.24rem 0.5rem;
    padding-top: 0.42rem;
  }

  .panel-work-shell .process-chip {
    font-size: 0.64rem;
  }

  .panel-work-shell .panel-candidate-actions {
    grid-template-columns: 1fr 1fr;
    gap: 0.34rem;
  }

  .panel-work-shell .panel-candidate-actions .btn:first-child {
    grid-column: 1 / -1;
  }

  .panel-work-shell .panel-candidate-actions .btn {
    min-height: 36px;
    border-radius: 11px;
    font-size: 0.68rem;
  }
}

/* Super admin users page report polish - end override. */
.users-page .users-table-card {
  overflow: hidden;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.users-page .users-table-card .table > :not(caption) > * > * {
  padding: 0.78rem 0.72rem;
}

.users-report-toggle-row {
  cursor: pointer;
  transition: background 0.18s ease;
}

.users-report-toggle-row:hover,
.users-report-toggle-row.is-open {
  background: #fff8f5;
}

.user-report-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  min-width: 170px;
}

.user-report-pills span {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 26px;
  padding: 0 0.48rem;
  border: 1px solid #edf1f5;
  border-radius: 999px;
  color: #687382;
  background: #fff;
  font-size: 0.62rem;
  font-weight: 850;
  white-space: nowrap;
}

.user-report-pills strong {
  color: #20252c;
  font-size: 0.75rem;
}

.user-report-row[hidden] {
  display: none;
}

.user-report-row td {
  padding: 0 !important;
  background: #fffaf7;
}

.user-report-panel {
  margin: 0.15rem 0.7rem 0.85rem;
  padding: 0.78rem;
  border: 1px solid rgba(230, 98, 57, 0.16);
  border-radius: 15px;
  background: #fff;
}

.user-report-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.62rem;
  color: #75808d;
  font-size: 0.72rem;
  font-weight: 750;
}

.user-report-panel-head div {
  display: grid;
  gap: 0.08rem;
}

.user-report-panel-head strong {
  color: #20252c;
  font-size: 0.92rem;
  font-weight: 950;
}

.user-report-panel-head div span {
  color: #e66239;
}

.user-report-table {
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 12px;
}

.user-report-table th {
  color: #687382;
  background: #f7f9fb;
  font-size: 0.66rem;
  font-weight: 900;
}

.user-report-table td {
  padding: 0.58rem 0.62rem !important;
  color: #20252c;
  background: #fff;
  font-size: 0.84rem;
  font-weight: 900;
}

@media (max-width: 768px) {
  .users-page .users-page-head {
    gap: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }

  .users-page .users-page-head h1 {
    font-size: 1.35rem !important;
  }

  .users-page .users-page-head p {
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .users-page .users-page-head > div:last-child {
    width: 100%;
    display: grid !important;
    grid-template-columns: auto 1fr;
  }

  .users-page .users-page-head .btn {
    justify-content: center;
  }

  .users-page .users-table-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .users-table-card .table-responsive {
    overflow: visible;
  }

  .users-table-card table,
  .users-table-card tbody,
  .users-table-card tr,
  .users-table-card td {
    display: block;
    width: 100%;
  }

  .users-table-card thead {
    display: none;
  }

  .users-table-card tr.users-report-toggle-row {
    margin-bottom: 0;
    padding: 0.74rem;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .users-table-card tr.users-report-toggle-row.is-open {
    border-color: rgba(230, 98, 57, 0.28);
    border-radius: 16px 16px 0 0;
    background: #fff8f5;
  }

  .users-table-card td {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    padding: 0.34rem 0 !important;
    border: 0 !important;
    color: #20252c;
  }

  .users-table-card td::before {
    color: #8a94a3;
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  .users-table-card td:nth-child(1)::before { content: "User"; }
  .users-table-card td:nth-child(2)::before { content: "Role"; }
  .users-table-card td:nth-child(3)::before { content: "Under"; }
  .users-table-card td:nth-child(4)::before { content: "Report"; }
  .users-table-card td:nth-child(5)::before { content: "Status"; }
  .users-table-card td:nth-child(6)::before { content: "Login"; }
  .users-table-card td:nth-child(7)::before { content: "Created"; }
  .users-table-card td:nth-child(8)::before { content: "Action"; }

  .users-table-card td:first-child {
    display: block;
    padding-top: 0 !important;
  }

  .users-table-card td:first-child::before {
    content: none;
  }

  .users-table-card td:first-child .fw-semibold {
    font-size: 1rem;
    font-weight: 950;
  }

  .user-report-pills {
    min-width: 0;
    gap: 0.24rem;
  }

  .user-report-pills span {
    min-height: 24px;
    padding: 0 0.42rem;
    font-size: 0.58rem;
  }

  .users-table-card td.text-end {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem;
    text-align: left !important;
  }

  .users-table-card td.text-end::before {
    width: 100%;
  }

  .users-table-card td.text-end form,
  .users-table-card td.text-end .btn {
    flex: 1 1 92px;
    justify-content: center;
  }

  .user-report-row {
    display: block;
    margin: -0.02rem 0 0.65rem;
  }

  .user-report-row td {
    display: block;
    padding: 0 !important;
  }

  .user-report-row td::before {
    content: none !important;
  }

  .user-report-panel {
    margin: 0;
    padding: 0.68rem;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .user-report-panel-head {
    display: grid;
    gap: 0.2rem;
    font-size: 0.68rem;
  }

  .user-report-table {
    min-width: 640px;
  }
}

/* Super admin users page report polish - final override. */
.users-page .users-table-card {
  overflow: hidden;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.users-page .users-table-card .table > :not(caption) > * > * {
  padding: 0.78rem 0.72rem;
}

.users-report-toggle-row {
  cursor: pointer;
  transition: background 0.18s ease;
}

.users-report-toggle-row:hover,
.users-report-toggle-row.is-open {
  background: #fff8f5;
}

.user-report-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  min-width: 170px;
}

.user-report-pills span {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 26px;
  padding: 0 0.48rem;
  border: 1px solid #edf1f5;
  border-radius: 999px;
  color: #687382;
  background: #fff;
  font-size: 0.62rem;
  font-weight: 850;
  white-space: nowrap;
}

.user-report-pills strong {
  color: #20252c;
  font-size: 0.75rem;
}

.user-report-row[hidden] {
  display: none;
}

.user-report-row td {
  padding: 0 !important;
  background: #fffaf7;
}

.user-report-panel {
  margin: 0.15rem 0.7rem 0.85rem;
  padding: 0.78rem;
  border: 1px solid rgba(230, 98, 57, 0.16);
  border-radius: 15px;
  background: #fff;
}

.user-report-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.62rem;
  color: #75808d;
  font-size: 0.72rem;
  font-weight: 750;
}

.user-report-panel-head div {
  display: grid;
  gap: 0.08rem;
}

.user-report-panel-head strong {
  color: #20252c;
  font-size: 0.92rem;
  font-weight: 950;
}

.user-report-panel-head div span {
  color: #e66239;
}

.user-report-table {
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 12px;
}

.user-report-table th {
  color: #687382;
  background: #f7f9fb;
  font-size: 0.66rem;
  font-weight: 900;
}

.user-report-table td {
  padding: 0.58rem 0.62rem !important;
  color: #20252c;
  background: #fff;
  font-size: 0.84rem;
  font-weight: 900;
}

@media (max-width: 768px) {
  .users-page .users-page-head {
    gap: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }

  .users-page .users-page-head h1 {
    font-size: 1.35rem !important;
  }

  .users-page .users-page-head p {
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .users-page .users-page-head > div:last-child {
    width: 100%;
    display: grid !important;
    grid-template-columns: auto 1fr;
  }

  .users-page .users-page-head .btn {
    justify-content: center;
  }

  .users-page .users-table-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .users-table-card .table-responsive {
    overflow: visible;
  }

  .users-table-card table,
  .users-table-card tbody,
  .users-table-card tr,
  .users-table-card td {
    display: block;
    width: 100%;
  }

  .users-table-card thead {
    display: none;
  }

  .users-table-card tr.users-report-toggle-row {
    margin-bottom: 0;
    padding: 0.74rem;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .users-table-card tr.users-report-toggle-row.is-open {
    border-color: rgba(230, 98, 57, 0.28);
    border-radius: 16px 16px 0 0;
    background: #fff8f5;
  }

  .users-table-card td {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    padding: 0.34rem 0 !important;
    border: 0 !important;
    color: #20252c;
  }

  .users-table-card td::before {
    color: #8a94a3;
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  .users-table-card td:nth-child(1)::before { content: "User"; }
  .users-table-card td:nth-child(2)::before { content: "Role"; }
  .users-table-card td:nth-child(3)::before { content: "Under"; }
  .users-table-card td:nth-child(4)::before { content: "Report"; }
  .users-table-card td:nth-child(5)::before { content: "Status"; }
  .users-table-card td:nth-child(6)::before { content: "Login"; }
  .users-table-card td:nth-child(7)::before { content: "Created"; }
  .users-table-card td:nth-child(8)::before { content: "Action"; }

  .users-table-card td:first-child {
    display: block;
    padding-top: 0 !important;
  }

  .users-table-card td:first-child::before {
    content: none;
  }

  .users-table-card td:first-child .fw-semibold {
    font-size: 1rem;
    font-weight: 950;
  }

  .user-report-pills {
    min-width: 0;
    gap: 0.24rem;
  }

  .user-report-pills span {
    min-height: 24px;
    padding: 0 0.42rem;
    font-size: 0.58rem;
  }

  .users-table-card td.text-end {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem;
    text-align: left !important;
  }

  .users-table-card td.text-end::before {
    width: 100%;
  }

  .users-table-card td.text-end form,
  .users-table-card td.text-end .btn {
    flex: 1 1 92px;
    justify-content: center;
  }

  .user-report-row {
    display: block;
    margin: -0.02rem 0 0.65rem;
  }

  .user-report-row td {
    display: block;
    padding: 0 !important;
  }

  .user-report-row td::before {
    content: none !important;
  }

  .user-report-panel {
    margin: 0;
    padding: 0.68rem;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
  }

  .user-report-panel-head {
    display: grid;
    gap: 0.2rem;
    font-size: 0.68rem;
  }

  .user-report-table {
    min-width: 640px;
  }
}

/* Final public website footer override: matches old TechMaa footer/CTA. */
.public-site-body .public-cta {
  display: grid;
  justify-items: center;
  gap: 1.95rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 2.4rem 1rem 3.55rem;
  border: 0;
  border-radius: 0;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #3465f5 0%, #a62eea 100%);
  box-shadow: none;
}

.public-site-body .public-cta h2 {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 800;
}

.public-site-body .public-cta p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.32rem;
  font-weight: 400;
  line-height: 1.45;
}

.public-site-body .public-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.15rem;
}

.public-site-body .public-cta-primary,
.public-site-body .public-cta-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-width: 245px;
  min-height: 58px;
  padding: 0.9rem 1.75rem;
  border-radius: 999px;
  font-size: 1.05rem;
  font-weight: 800;
  text-decoration: none;
}

.public-site-body .public-cta-primary {
  color: #2563eb;
  background: #fff;
}

.public-site-body .public-cta-phone {
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.86);
}

.public-site-body .public-footer {
  width: 100%;
  margin-top: 0;
  padding: 4.4rem 0 0;
  color: #fff;
  background: #111827;
}

.public-site-body .public-footer-container {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.public-site-body .public-footer-inner {
  display: grid;
  grid-template-columns: 1.15fr 1.15fr 1fr 1.35fr;
  gap: 3.4rem;
  max-width: none;
  margin: 0;
  padding: 0 0 4.2rem;
}

.public-site-body .public-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: fit-content;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.public-site-body .public-footer-logo img {
  display: block;
  width: auto;
  height: 3rem;
  max-width: 145px;
  max-height: 3rem;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}

.public-site-body .public-footer-brand p,
.public-site-body .public-footer p,
.public-site-body .public-footer a {
  color: #9aa3b2;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
}

.public-site-body .public-footer h3 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.public-site-body .public-footer a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: fit-content;
  margin: 0 0 0.82rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.public-site-body .public-footer a:hover {
  color: #fff;
}

.public-site-body .public-footer-social {
  display: flex;
  gap: 1rem;
  margin-top: 0;
}

.public-site-body .public-footer-social a {
  display: inline-flex;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9ca3af;
  font-size: 1.05rem;
}

.public-site-body .public-footer-contact {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0 0 0.75rem;
}

.public-site-body .public-footer-contact i,
.public-site-body .public-footer a i {
  flex: 0 0 auto;
  margin-top: 0.2rem;
  color: #60a5fa;
  font-size: 1rem;
}

.public-site-body .public-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: none;
  margin: 0;
  padding: 1.65rem 0 0.55rem;
  border-top: 1px solid #1f2937;
}

.public-site-body .public-footer-bottom p,
.public-site-body .public-footer-bottom a {
  margin: 0;
  color: #6b7280;
  font-size: 0.88rem;
}

.public-site-body .public-footer-bottom div {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.public-site-body .public-whatsapp-chat {
  position: absolute;
  right: 1.5rem;
  bottom: 2.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 54px;
  padding: 0.72rem 1.45rem;
  border-radius: 999px;
  color: #fff !important;
  background: #46c244;
  box-shadow: 0 16px 34px rgba(70, 194, 68, 0.28);
  font-size: 1rem !important;
  font-weight: 800 !important;
  text-decoration: none;
}

.public-site-body .public-whatsapp-chat i {
  margin: 0;
  color: #fff;
  font-size: 1.7rem;
}

@media (max-width: 992px) {
  .public-site-body .public-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

@media (max-width: 640px) {
  .public-site-body .public-cta {
    padding: 2.35rem 1rem 2.65rem;
  }

  .public-site-body .public-cta p {
    font-size: 1.05rem;
  }

  .public-site-body .public-cta-actions {
    display: grid;
    width: min(100%, 330px);
  }

  .public-site-body .public-cta-primary,
  .public-site-body .public-cta-phone {
    min-width: 0;
    width: 100%;
    min-height: 52px;
  }

  .public-site-body .public-footer {
    padding: 3rem 0 0;
  }

  .public-site-body .public-footer-container {
    padding: 0 1rem;
  }

  .public-site-body .public-footer-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-bottom: 2rem;
  }

  .public-site-body .public-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 0 5.2rem;
  }

  .public-site-body .public-footer-bottom div {
    gap: 0.85rem 1.2rem;
  }

  .public-site-body .public-whatsapp-chat {
    right: 1rem;
    bottom: 1.05rem;
    min-height: 48px;
    padding: 0.62rem 1.05rem;
    font-size: 0.88rem !important;
  }
}

.public-site-body .public-footer {
  width: 100%;
  margin-top: 0;
  padding: 4.4rem 0 0;
  color: #fff;
  background: #111827;
}

.public-site-body .public-footer-container {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.public-site-body .public-footer-inner {
  display: grid;
  grid-template-columns: 1.15fr 1.15fr 1fr 1.35fr;
  gap: 3.4rem;
  max-width: none;
  margin: 0;
  padding: 0 0 4.2rem;
}

.public-site-body .public-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: fit-content;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.public-site-body .public-footer-logo img {
  display: block;
  width: auto;
  height: 3rem;
  max-width: 145px;
  max-height: 3rem;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}

.public-site-body .public-footer-brand p,
.public-site-body .public-footer p,
.public-site-body .public-footer a {
  color: #9aa3b2;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
}

.public-site-body .public-footer-brand p {
  max-width: 21rem;
  margin: 0 0 1.5rem;
}

.public-site-body .public-footer h3 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.public-site-body .public-footer a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: fit-content;
  margin: 0 0 0.82rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.public-site-body .public-footer a:hover {
  color: #fff;
}

.public-site-body .public-footer-social {
  display: flex;
  gap: 1rem;
  margin-top: 0;
}

.public-site-body .public-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #9ca3af;
  font-size: 1.05rem;
}

.public-site-body .public-footer-social a:hover {
  color: #fff;
}

.public-site-body .public-footer-contact {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0 0 0.75rem;
}

.public-site-body .public-footer-contact i,
.public-site-body .public-footer a i {
  flex: 0 0 auto;
  margin-top: 0.2rem;
  color: #60a5fa;
  font-size: 1rem;
}

.public-site-body .public-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: none;
  margin: 0;
  padding: 1.65rem 0 0.55rem;
  border-top: 1px solid #1f2937;
  color: #6b7280;
}

.public-site-body .public-footer-bottom p {
  margin: 0;
  color: #6b7280;
  font-size: 0.88rem;
}

.public-site-body .public-footer-bottom div {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.public-site-body .public-footer-bottom a {
  margin: 0;
  color: #6b7280;
  font-size: 0.88rem;
  line-height: 1.4;
}

.public-site-body .public-cta {
  display: grid;
  justify-items: center;
  gap: 1.95rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 2.4rem 1rem 3.55rem;
  border: 0;
  border-radius: 0;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #3465f5 0%, #a62eea 100%);
  box-shadow: none;
}

.public-site-body .public-cta h2 {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 800;
}

.public-site-body .public-cta p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.32rem;
  font-weight: 400;
  line-height: 1.45;
}

.public-site-body .public-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.15rem;
}

.public-site-body .public-cta-primary,
.public-site-body .public-cta-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-width: 245px;
  min-height: 58px;
  padding: 0.9rem 1.75rem;
  border-radius: 999px;
  font-size: 1.05rem;
  font-weight: 800;
  text-decoration: none;
}

.public-site-body .public-cta-primary {
  color: #2563eb;
  background: #fff;
}

.public-site-body .public-cta-phone {
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.86);
}

.public-site-body .public-cta-phone i {
  font-size: 1.25rem;
}

.public-site-body .public-whatsapp-chat {
  position: absolute;
  right: 1.5rem;
  bottom: 2.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 54px;
  padding: 0.72rem 1.45rem;
  border-radius: 999px;
  color: #fff !important;
  background: #46c244;
  box-shadow: 0 16px 34px rgba(70, 194, 68, 0.28);
  font-size: 1rem !important;
  font-weight: 800 !important;
  text-decoration: none;
}

.public-site-body .public-whatsapp-chat i {
  margin: 0;
  color: #fff;
  font-size: 1.7rem;
}

.public-site-body .public-whatsapp-chat span {
  color: #fff;
}

@media (max-width: 992px) {
  .public-site-body .public-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

@media (max-width: 640px) {
  .public-site-body .public-footer {
    padding: 3rem 0 0;
  }

  .public-site-body .public-footer-container {
    padding: 0 1rem;
  }

  .public-site-body .public-footer-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-bottom: 2rem;
  }

  .public-site-body .public-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 0 5.2rem;
  }

  .public-site-body .public-footer-bottom div {
    gap: 0.85rem 1.2rem;
  }

  .public-site-body .public-cta {
    padding: 2.35rem 1rem 2.65rem;
  }

  .public-site-body .public-cta p {
    font-size: 1.05rem;
  }

  .public-site-body .public-cta-actions {
    display: grid;
    width: min(100%, 330px);
  }

  .public-site-body .public-cta-primary,
  .public-site-body .public-cta-phone {
    min-width: 0;
    width: 100%;
    min-height: 52px;
  }

  .public-site-body .public-whatsapp-chat {
    right: 1rem;
    bottom: 1.05rem;
    min-height: 48px;
    padding: 0.62rem 1.05rem;
    font-size: 0.88rem !important;
  }
}

.auth-copyright {
  width: 100%;
  padding: 18px 16px 24px;
  color: #8b95a1;
  font-size: 0.82rem;
  font-weight: 600;
  text-align: center;
}

.select2-lite {
  position: relative;
}

.select2-lite-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 44px;
  gap: 0.65rem;
  padding: 0.62rem 0.85rem;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  background: #fff;
  color: #222831;
  font: inherit;
  text-align: left;
}

.select2-lite-toggle span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-lite-menu {
  position: absolute;
  z-index: 1065;
  top: calc(100% + 6px);
  left: 0;
  display: none;
  width: 100%;
  padding: 0.55rem;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
}

.select2-lite.open .select2-lite-menu {
  display: block;
}

.select2-lite-options {
  max-height: 220px;
  overflow: auto;
  margin-top: 0.45rem;
}

.select2-lite-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  margin: 0;
  padding: 0.48rem 0.45rem;
  border-radius: 7px;
  cursor: pointer;
}

.select2-lite-option:hover {
  background: #f6f8fb;
}

.select2-lite-option span {
  overflow: hidden;
  color: #303640;
  font-size: 0.82rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-assign-list {
  max-height: 420px;
  overflow: auto;
  padding-right: 0.25rem;
}

.candidate-assign-table {
  min-width: 0;
  table-layout: fixed;
}

.candidate-assign-table th {
  padding: 0.65rem 0.55rem;
  color: #687382;
  background: #f6f8fb;
  font-size: 0.72rem;
  font-weight: 600;
}

.candidate-assign-table td {
  padding: 0.68rem 0.55rem;
  border-color: #edf1f5;
  vertical-align: middle;
}

.candidate-assign-table strong,
.candidate-assign-table span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-assign-table strong {
  color: #222831;
  font-size: 0.78rem;
  font-weight: 600;
}

.candidate-assign-table span {
  margin-top: 0.15rem;
  color: #7b8490;
  font-size: 0.7rem;
}

.candidate-assign-item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 0.7rem;
  align-items: flex-start;
  padding: 0.8rem;
  border: 1px solid #e7ecf2;
  border-radius: 10px;
  background: #fbfcfe;
  cursor: pointer;
}

.candidate-assign-item strong,
.candidate-assign-item em {
  display: block;
}

.candidate-assign-item strong {
  color: #222831;
  font-size: 0.9rem;
  font-weight: 600;
}

.candidate-assign-item em {
  margin-top: 0.15rem;
  color: #7b8490;
  font-style: normal;
  font-size: 0.78rem;
}

.panel-candidate-card {
  display: grid;
  gap: 0.8rem;
  padding: 0.95rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.panel-candidate-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: flex-start;
}

.panel-candidate-head h3 {
  margin: 0;
  color: #222831;
  font-size: 1rem;
  font-weight: 650;
}

.panel-candidate-head p {
  margin: 0.15rem 0 0;
  color: #7b8490;
  font-size: 0.78rem;
}

.panel-candidate-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.panel-candidate-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  color: #5d6875;
  background: #f4f7fb;
  font-size: 0.75rem;
}

.panel-candidate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.panel-profile-group {
  display: grid;
  gap: 0.75rem;
}

.panel-profile-group + .panel-profile-group {
  margin-top: 0.75rem;
}

.panel-profile-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-radius: 12px;
  color: #222831;
  background: #f4f7fb;
}

.panel-profile-group-head strong {
  font-size: 0.95rem;
  font-weight: 650;
}

.panel-profile-group-head span {
  color: #7b8490;
  font-size: 0.78rem;
}

.panel-work-table-wrap {
  display: none;
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 12px;
  background: #fff;
}

.panel-work-table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  min-width: 1080px;
}

.panel-work-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  color: #687382;
  background: #fbfcfd;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0;
}

.panel-work-table td,
.panel-work-table th {
  padding: 0.48rem 0.54rem;
  border-color: #edf1f5;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.panel-work-table tbody tr {
  background: #fff;
  transition: background 0.18s ease;
}

.panel-work-table tbody tr:hover {
  background: #fff8f5;
}

.panel-work-table td strong,
.panel-work-table td span {
  display: block;
}

.panel-work-table td strong {
  color: #222831;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
}

.panel-work-table td span {
  margin-top: 0.08rem;
  color: #75808d;
  font-size: 0.6rem;
  line-height: 1.25;
}

.panel-work-table .process-chip-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.26rem 0.44rem;
}

.panel-work-table .process-chip {
  position: relative;
  justify-content: flex-start;
  min-width: 0;
  padding: 0 0 0 0.62rem;
  border-radius: 0;
  color: #687382;
  background: transparent;
  font-size: 0.56rem;
  line-height: 1.15;
  white-space: nowrap;
}

.panel-work-table .process-chip::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.26rem;
  width: 0.36rem;
  height: 0.36rem;
  border: 2px solid #cfd7e2;
  border-radius: 999px;
  background: #fff;
}

.panel-work-table .process-chip.is-on {
  color: #1f7f60;
  background: transparent;
}

.panel-work-table .process-chip.is-on::before {
  border-color: #1aa673;
  background: #1aa673;
  box-shadow: 0 0 0 3px rgba(26, 166, 115, 0.1);
}

.panel-work-table .process-chip.is-off {
  color: #8a94a3;
  background: transparent;
}

.panel-work-actions {
  display: inline-flex;
  justify-content: flex-end;
  gap: 0.24rem;
}

.panel-work-actions .btn {
  min-height: 27px;
  padding: 0.24rem 0.4rem;
  border-radius: 6px;
  font-size: 0.62rem;
}

.panel-candidate-card.is-active-work {
  border-color: rgba(230, 98, 57, 0.35);
  background: linear-gradient(180deg, #fff 0%, #fff7f4 100%);
}

.panel-work-shell .mobile-panel-card {
  border-color: #edf1f5;
}

.panel-work-filters {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.65rem;
  padding: 0.54rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fbfcfe;
}

.panel-work-view-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.panel-work-view-tabs a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.52rem;
  min-height: 54px;
  padding: 0.72rem 0.82rem;
  border: 1px solid #edf1f5;
  border-radius: 15px;
  color: #66717f;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  font-size: 0.82rem;
  font-weight: 900;
  text-decoration: none;
}

.panel-work-view-tabs a i {
  color: #e66239;
  font-size: 1.05rem;
}

.panel-work-view-tabs a span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panel-work-view-tabs a strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 0.4rem;
  border-radius: 999px;
  color: #e66239;
  background: #fff1ec;
  font-size: 0.78rem;
}

.panel-work-view-tabs a.is-active {
  border-color: rgba(230, 98, 57, 0.32);
  color: #e66239;
  background: #fff8f5;
  box-shadow: 0 14px 30px rgba(230, 98, 57, 0.12);
}

.panel-work-search {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 38px;
  margin: 0;
  padding: 0 0.72rem;
  border: 1px solid #e1e8f0;
  border-radius: 10px;
  background: #fff;
}

.panel-work-search i {
  color: #8a94a3;
  font-size: 0.9rem;
}

.panel-work-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: #24272b;
  background: transparent;
  font-size: 0.72rem;
  font-weight: 700;
}

.panel-work-filter-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.32rem;
}

.panel-work-filter-chips button {
  min-height: 34px;
  padding: 0 0.68rem;
  border: 1px solid #e1e8f0;
  border-radius: 999px;
  color: #687382;
  background: #fff;
  font-size: 0.62rem;
  font-weight: 900;
}

.panel-work-filter-chips button.is-active {
  border-color: rgba(230, 98, 57, 0.2);
  color: #e66239;
  background: #fff0eb;
}

.panel-work-filter-result {
  grid-column: 1 / -1;
  margin: -0.18rem 0 0;
  color: #8a94a3;
  font-size: 0.58rem;
  font-weight: 800;
}

.panel-work-filter-empty[hidden] {
  display: none;
}

.panel-work-priority {
  display: grid;
  gap: 0.72rem;
  padding: 0.82rem;
  border: 1px solid #e7edf3;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.panel-work-priority-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.panel-work-priority-head span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.28rem;
  padding: 0.22rem 0.52rem;
  border-radius: 999px;
  color: #e66239;
  background: #fff0eb;
  font-size: 0.62rem;
  font-weight: 900;
}

.panel-work-priority-head h2 {
  margin: 0;
  color: #20252c;
  font-size: 1.02rem;
  font-weight: 900;
}

.panel-work-priority-head p {
  margin: 0.18rem 0 0;
  color: #75808d;
  font-size: 0.72rem;
}

.panel-work-priority-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(76px, 1fr));
  gap: 0.42rem;
  min-width: min(100%, 390px);
}

.panel-work-priority-stats span {
  display: grid;
  gap: 0.05rem;
  margin: 0;
  padding: 0.46rem 0.52rem;
  border: 1px solid #edf1f5;
  border-radius: 12px;
  color: #697386;
  background: #fff;
  font-size: 0.56rem;
  font-weight: 800;
}

.panel-work-priority-stats strong {
  color: #222831;
  font-size: 0.9rem;
  line-height: 1;
}

.today-interview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 0.55rem;
}

.today-interview-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  padding: 0.7rem;
  border: 1px solid #e9eef4;
  border-radius: 14px;
  color: inherit;
  background: #fff;
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.today-interview-card:hover {
  transform: translateY(-1px);
  border-color: rgba(230, 98, 57, 0.34);
  box-shadow: 0 14px 28px rgba(230, 98, 57, 0.12);
}

.today-interview-card.is-next {
  border-color: rgba(230, 98, 57, 0.5);
  background: linear-gradient(135deg, #fff6f1 0%, #ffffff 72%);
}

.today-interview-time {
  display: grid;
  justify-items: center;
  min-width: 74px;
  padding: 0.48rem;
  border-radius: 12px;
  color: #e66239;
  background: #fff0eb;
}

.today-interview-time strong {
  font-size: 0.82rem;
  font-weight: 950;
  line-height: 1;
}

.today-interview-time span {
  margin-top: 0.18rem;
  color: #9a4b2f;
  font-size: 0.52rem;
  font-weight: 900;
}

.today-interview-main {
  min-width: 0;
}

.today-interview-main h3 {
  overflow: hidden;
  margin: 0;
  color: #222831;
  font-size: 0.86rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.today-interview-main p,
.today-interview-main em {
  display: block;
  overflow: hidden;
  margin: 0.12rem 0 0;
  color: #75808d;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.today-interview-card > i {
  color: #e66239;
  font-size: 1rem;
}

.today-interview-empty {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.72rem;
  border: 1px dashed #dce4ee;
  border-radius: 12px;
  color: #697386;
  background: #fbfcfe;
  font-size: 0.72rem;
  font-weight: 750;
}

.work-schedule-cell {
  display: grid;
  gap: 0.16rem;
}

.work-schedule-badge {
  display: inline-flex !important;
  width: fit-content;
  margin: 0 !important;
  padding: 0.18rem 0.46rem;
  border-radius: 999px;
  font-size: 0.52rem !important;
  font-weight: 950;
  line-height: 1.1 !important;
}

.work-schedule-badge.is-today {
  color: #0f8b61;
  background: #e5f8ef;
}

.work-schedule-badge.is-overdue {
  color: #b42318;
  background: #fff0f0;
}

.work-schedule-badge.is-upcoming {
  color: #1769aa;
  background: #eaf4ff;
}

.work-schedule-badge.is-unscheduled {
  color: #7a5b09;
  background: #fff7db;
}

.work-schedule-badge.is-closed {
  color: #687382;
  background: #eef1f5;
}

.work-schedule-cell em,
.work-mobile-schedule em {
  color: #8a94a3;
  font-size: 0.56rem;
  font-style: normal;
  font-weight: 800;
}

.work-call-status {
  display: inline-flex !important;
  width: fit-content;
  margin: 0 !important;
  padding: 0.22rem 0.48rem;
  border-radius: 999px;
  color: #596575 !important;
  background: #f3f6f9;
  font-size: 0.56rem !important;
  font-weight: 850;
}

.panel-work-row.is-today {
  box-shadow: inset 3px 0 0 #20a878;
}

.panel-work-row.is-overdue {
  box-shadow: inset 3px 0 0 #e66239;
}

.calling-process-page {
  min-height: 100vh;
  padding: 0 0 5rem;
  background: #f6f8fb;
}

.calling-process-top {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.calling-process-top .btn {
  min-height: 32px;
  padding: 0.34rem 0.62rem;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 800;
}

.calling-hero {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  border-radius: 24px;
  background: #20252d;
  box-shadow: 0 22px 45px rgba(15, 23, 42, 0.16);
}

.calling-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.32;
}

.calling-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(32, 37, 45, 0.08) 0%, rgba(32, 37, 45, 0.92) 100%);
}

.calling-hero-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 280px;
  padding: 1.2rem;
  color: #fff;
}

.calling-hero-body > span,
.calling-card-head > div > span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  color: #e66239;
  background: rgba(230, 98, 57, 0.1);
  font-size: 0.7rem;
  font-weight: 800;
}

.calling-hero-body > span {
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
}

.calling-hero-body h1 {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 850;
}

.calling-hero-body p {
  margin: 0.35rem 0 0;
  color: rgba(255, 255, 255, 0.78);
}

.calling-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
}

.calling-grid {
  display: grid;
  gap: 0.9rem;
  margin-top: 0.9rem;
}

.calling-card {
  padding: 1rem;
  border: 1px solid rgba(225, 231, 238, 0.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.calling-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 0.85rem;
}

.calling-card-head h2 {
  margin: 0;
  color: #24272b;
  font-size: 1rem;
  font-weight: 800;
}

.calling-card-head em {
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  color: #11825f;
  background: #e4f6ef;
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 800;
}

.calling-info-list,
.calling-step-list,
.calling-log-list {
  display: grid;
  gap: 0.65rem;
}

.calling-info-list div,
.calling-step-list div,
.calling-log-list > div:not(.mobile-empty-state) {
  padding: 0.75rem;
  border-radius: 14px;
  background: #f7fafc;
}

.calling-info-list span {
  display: block;
  color: #7b8490;
  font-size: 0.72rem;
  font-weight: 700;
}

.calling-info-list strong {
  display: block;
  margin-top: 0.2rem;
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.calling-step-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.calling-step-list strong {
  color: #24272b;
  font-size: 0.84rem;
  font-weight: 750;
}

.calling-form-grid {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}

.calling-form-grid .form-control,
.calling-form-grid .form-select {
  min-height: 46px;
  border-radius: 12px;
}

.calling-note-field {
  grid-column: 1 / -1;
}

.calling-log-list strong,
.calling-log-list span,
.calling-log-list em,
.calling-log-list p {
  display: block;
}

.calling-log-list strong {
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 800;
}

.calling-log-list span,
.calling-log-list em {
  margin-top: 0.2rem;
  color: #7b8490;
  font-size: 0.73rem;
  font-style: normal;
}

.calling-log-list p {
  margin: 0.35rem 0 0;
  color: #4b5563;
  font-size: 0.8rem;
}

.calling-desk-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #edf1f5;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.calling-desk-header span,
.calling-table-title span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.22rem;
  padding: 0.18rem 0.42rem;
  border-radius: 999px;
  color: #e66239;
  background: rgba(230, 98, 57, 0.1);
  font-size: 0.56rem;
  font-weight: 800;
}

.calling-desk-header h1 {
  margin: 0;
  color: #24272b;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.18;
}

.calling-desk-header p {
  margin: 0.14rem 0 0;
  color: #727a84;
  font-size: 0.68rem;
}

.calling-desk-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

.calling-desk-actions .btn {
  min-height: 31px;
  padding: 0.32rem 0.54rem;
  border-radius: 8px;
  font-size: 0.68rem;
  font-weight: 800;
}

.whatsapp-send-panel {
  display: grid;
  gap: 0.85rem;
}

.whatsapp-message-preview {
  min-height: 170px;
  padding: 0.9rem;
  border: 1px solid #d8f3df;
  border-radius: 12px;
  color: #204032;
  background: #f0fdf4;
  font-size: 0.86rem;
  line-height: 1.55;
  white-space: pre-wrap;
}

.calling-table-layout {
  display: grid;
  gap: 0.6rem;
}

.calling-table-card {
  padding: 0.72rem;
  border: 1px solid #edf1f5;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.calling-table-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.calling-table-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.52rem;
}

.calling-table-title h2 {
  margin: 0;
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 800;
}

.calling-table-title em {
  padding: 0.22rem 0.46rem;
  border-radius: 999px;
  color: #11825f;
  background: #e4f6ef;
  font-style: normal;
  font-size: 0.58rem;
  font-weight: 800;
}

.calling-premium-table {
  table-layout: fixed;
}

.calling-premium-table th,
.calling-premium-table thead th {
  width: 32%;
  color: #687382;
  background: #fbfcfd;
  font-size: 0.62rem;
  font-weight: 700;
}

.calling-premium-table thead th {
  width: auto;
  color: #4b5563;
  background: #f6f8fb;
}

.calling-premium-table td,
.calling-premium-table th {
  padding: 0.48rem 0.54rem;
  border-color: #edf1f5;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.calling-premium-table td {
  color: #303844;
  font-size: 0.68rem;
}

.calling-status-table th,
.calling-status-table td,
.calling-activity-table th,
.calling-activity-table td {
  padding: 0.4rem 0.46rem;
}

.calling-status-table th {
  width: auto;
}

.calling-status-table tbody th {
  color: #24272b;
  background: #fff;
  font-size: 0.66rem;
}

.calling-status-table td,
.calling-activity-table td {
  font-size: 0.64rem;
}

.calling-status-table .process-chip {
  padding: 0.16rem 0.34rem;
  font-size: 0.5rem;
}

.calling-activity-simple-table {
  table-layout: fixed;
}

.calling-activity-simple-table th:nth-child(1),
.calling-activity-simple-table td:nth-child(1) {
  width: 28%;
}

.calling-activity-simple-table th:nth-child(2),
.calling-activity-simple-table td:nth-child(2) {
  width: 34%;
}

.calling-activity-simple-table th:nth-child(3),
.calling-activity-simple-table td:nth-child(3) {
  width: 38%;
}

.calling-process-status-table {
  table-layout: fixed;
}

.calling-process-status-table th:nth-child(1),
.calling-process-status-table td:nth-child(1) {
  width: 32%;
}

.calling-process-status-table th:nth-child(2),
.calling-process-status-table td:nth-child(2) {
  width: 28%;
}

.calling-process-status-table th:nth-child(3),
.calling-process-status-table td:nth-child(3) {
  width: 40%;
}

.calling-activity-table thead th {
  font-size: 0.6rem;
}

.call-attempt-card {
  background: #fff;
}

.call-attempt-card .calling-table-title h2,
.call-attempt-card .calling-table-title em {
  color: #24272b;
}

.call-attempt-card .calling-table-title span {
  color: #e66239;
  background: #fff0eb;
}

.call-attempt-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(230, 98, 57, 0.18);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #ff744c 0%, #e66239 100%);
  box-shadow: 0 10px 22px rgba(230, 98, 57, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.call-attempt-button:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 40px rgba(230, 98, 57, 0.34);
}

.call-attempt-button:disabled {
  color: #8a6a5b;
  background: linear-gradient(135deg, #fff3ee 0%, #ffe7dc 100%);
  opacity: 1;
  box-shadow: none;
}

.call-attempt-button i {
  font-size: 1.15rem;
}

.call-attempt-button strong {
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
}

.call-attempt-hint {
  margin: 0.48rem 0 0.55rem;
  color: #697386;
  font-size: 0.63rem;
  line-height: 1.35;
  text-align: center;
}

.calling-attempt-list {
  display: grid;
  gap: 0.3rem;
}

.calling-attempt-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.38rem 0.5rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  color: #24272b;
  background: #f8fafc;
}

.calling-attempt-list .is-empty {
  justify-content: center;
  color: #7a8491;
  background: #f8fafc;
}

.calling-attempt-list strong,
.calling-attempt-list span {
  font-size: 0.62rem;
  line-height: 1.2;
}

.calling-disposition-card.is-locked {
  opacity: 0.76;
}

.calling-disposition-card.is-locked .calling-form-grid,
.calling-disposition-card.is-locked .calling-disposition-actions {
  display: none;
}

.calling-disposition-card.is-completed {
  border-color: #cfeee1;
  background: linear-gradient(180deg, #ffffff 0%, #f7fffb 100%);
}

.calling-disposition-card.is-completed .calling-form-grid {
  opacity: 0.82;
}

.calling-disposition-card.is-completed .calling-disposition-actions .btn-primary {
  display: none;
}

.call-action-remark-field textarea {
  min-height: 78px;
  resize: vertical;
}

.calling-disposition-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.call-interview-field.is-hidden {
  display: none;
}

.call-interview-schedule-field.is-hidden {
  display: none;
}

.call-interview-schedule-field {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 0.5rem;
  padding: 0.62rem;
  border: 1px solid #edf1f5;
  border-radius: 10px;
  background: #fbfcfe;
}

.call-interview-schedule-field p {
  grid-column: 1 / -1;
  margin: -0.08rem 0 0;
  color: #7a8491;
  font-size: 0.58rem;
  font-weight: 700;
}

.call-interview-result-field.is-hidden {
  display: none;
}

.call-interview-result-field {
  grid-column: 1 / -1;
  padding-top: 0.55rem;
  border-top: 1px solid #edf1f5;
}

.interview-inline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}

.interview-inline-head span {
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 900;
}

.interview-inline-head em {
  flex: 0 0 auto;
  padding: 0.24rem 0.54rem;
  border-radius: 999px;
  color: #10845d;
  background: #e4f7ee;
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 900;
}

.calling-interview-card {
  background: linear-gradient(180deg, #fff 0%, #fffaf8 100%);
}

.calling-interview-card.is-hidden {
  display: none;
}

.calling-interview-card.is-waiting {
  background: #fff;
}

.calling-interview-card.is-waiting .interview-summary-strip,
.calling-interview-card.is-waiting .interview-result-grid {
  opacity: 0.62;
}

.interview-summary-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.6rem;
}

.interview-summary-strip div {
  padding: 0.5rem 0.58rem;
  border: 1px solid #edf1f5;
  border-radius: 9px;
  background: #fff;
}

.interview-summary-strip span,
.schedule-history-mini strong {
  display: block;
  color: #7a8491;
  font-size: 0.58rem;
  font-weight: 800;
}

.interview-summary-strip strong {
  display: block;
  margin-top: 0.16rem;
  color: #24272b;
  font-size: 0.7rem;
  line-height: 1.25;
}

.interview-result-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
}

.schedule-history-mini {
  display: grid;
  gap: 0.28rem;
  margin-top: 0.62rem;
  padding-top: 0.58rem;
  border-top: 1px solid #edf1f5;
}

.schedule-history-mini div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.34rem 0;
  border-bottom: 1px solid #f1f4f7;
}

.schedule-history-mini span,
.schedule-history-mini em {
  color: #303844;
  font-size: 0.62rem;
  font-style: normal;
  line-height: 1.25;
}

.schedule-history-mini em {
  color: #7a8491;
  text-align: right;
}

.calling-remark-input {
  min-height: 82px;
  border-radius: 9px;
  background: #fbfcfe;
  resize: vertical;
}

.calling-form-grid {
  gap: 0.5rem;
  margin-bottom: 0.62rem;
}

.calling-form-grid .form-control,
.calling-form-grid .form-select {
  min-height: 36px;
  border-radius: 8px;
  font-size: 0.72rem;
}

.calling-table-card .form-label {
  margin-bottom: 0.25rem;
  color: #687382;
  font-size: 0.62rem;
  font-weight: 800;
}

.swipe-next-link.disabled {
  pointer-events: none;
  opacity: 0.55;
}

.swipe-next-link.is-highlighted {
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #16a34a 0%, #0f766e 100%);
  box-shadow: 0 14px 28px rgba(15, 118, 110, 0.22);
}

.swipe-next-link.is-highlighted:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 20px 36px rgba(15, 118, 110, 0.3);
  text-decoration: none;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.btn-primary {
  --bs-btn-bg: #e66239;
  --bs-btn-border-color: #e66239;
  --bs-btn-hover-bg: #cf5833;
  --bs-btn-hover-border-color: #cf5833;
  --bs-btn-active-bg: #b84e2e;
  --bs-btn-active-border-color: #b84e2e;
}

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

.bg-primary {
  background-color: #e66239 !important;
}

.border-primary {
  border-color: #e66239 !important;
}

.link-primary {
  color: #e66239 !important;
}

.auth-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 190px;
}

.auth-brand-logo {
  display: block;
  width: auto;
  max-width: 190px;
  max-height: 52px;
  object-fit: contain;
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(1px);
  display: none;
  z-index: 1030;
}

.overlay.show {
  display: block;
}

.sidebar {
  width: 240px;
  background: #fff;
  transition: width 0.3s, left 0.3s;
  border-right: 1px solid #e5e5e5;
  height: 100vh;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  top: 0;
  left: 0;
  padding-top: 60px;
  padding-bottom: 1rem;
  box-sizing: border-box;
  z-index: 1030;
  -webkit-overflow-scrolling: touch;
}

.sidebar > .nav {
  padding-bottom: 1rem;
}

.sidebar .nav-link {
  color: #262626;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  gap: 12px;
  white-space: nowrap;
  margin: 1px 12px;
  border-radius: 8px;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  color: #e66239;
  background-color: rgba(230, 98, 57, 0.095);
  text-decoration: none;
}

.sidebar .nav-link .ti {
  font-size: 18px;
}

.sidebar .nav-text {
  transition: opacity 0.2s;
}

.sidebar .logo-area {
  position: absolute;
  top: 0;
  left: 0;
  height: 60px;
  width: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 17px;
  color: #262626;
  border-bottom: 1px solid #e5e5e5;
}

.sidebar .brand-logo-link {
  display: flex;
  align-items: center;
  width: calc(100% - 17px);
  height: 100%;
  overflow: hidden;
}

.sidebar .logo-text {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  min-width: 0;
}

.sidebar .brand-logo {
  display: block;
  width: auto;
  max-width: 140px;
  max-height: 34px;
  object-fit: contain;
}

.sidebar .compact-logo {
  display: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}

.sidebar .compact-logo img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.sidebar.collapsed {
  width: 60px;
}

.sidebar.collapsed .nav-link {
  margin: 0;
  background-color: transparent;
  padding: 8px 18px;
}

.sidebar.collapsed .nav-text,
.sidebar.collapsed .logo-text {
  display: none;
}

.sidebar.collapsed .logo-area {
  padding-left: 0;
  justify-content: center;
}

.sidebar.collapsed .brand-logo-link {
  width: 60px;
  justify-content: center;
}

.sidebar.collapsed .compact-logo {
  display: flex;
}

.topbar {
  height: 60px;
  margin-left: 240px;
}

.topbar .topbar-actions {
  min-width: 0;
}

.topbar .dropdown {
  position: relative;
}

.topbar .dropdown-menu {
  top: calc(100% + 0.75rem);
  border-color: #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  z-index: 1080;
}

.topbar .dropdown-menu-end {
  right: 0 !important;
  left: auto !important;
}

.topbar .notification-menu {
  width: min(360px, calc(100vw - 2rem));
}

.notification-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #8a929b;
  border-radius: 999px;
  background: #f5f7fa;
  font-size: 1.1rem;
}

.topbar .profile-menu {
  overflow: hidden;
  min-width: 230px;
  max-width: calc(100vw - 2rem);
}

.profile-menu-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem;
  border-bottom: 1px solid #eef1f5;
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}

.profile-menu-head h4 {
  font-weight: 700;
  line-height: 1.15;
}

.profile-menu-links {
  display: grid;
  gap: 0.2rem;
  padding: 0.55rem;
}

.profile-menu-links a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 34px;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  color: #20252d;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
}

.profile-menu-links a:hover {
  color: #e66239;
  background: #fff3ee;
}

.profile-menu-links a i {
  color: #8a94a3;
  font-size: 1rem;
}

.profile-menu-links a:hover i {
  color: #e66239;
}

.topbar .profile-toggle {
  display: inline-flex;
  border-radius: 50%;
}

.topbar .profile-toggle:focus,
.topbar .profile-toggle:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(230, 98, 57, 0.18);
}

.topbar-profile-img {
  object-fit: cover;
  background: #fff;
}

.topbar-avatar-initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #e66239;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
}

.topbar-avatar-initial.avatar-md {
  font-size: 1rem;
}

.topbar.full {
  margin-left: 60px;
}

.content {
  margin-left: 240px;
  min-height: 100vh;
  padding-top: 60px;
}

.content.full {
  margin-left: 60px;
}

.app-shell {
  min-height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
}

.app-main {
  flex: 1 0 auto;
}

.app-main.py-10 {
  padding-top: 1.25rem !important;
  padding-bottom: 2rem !important;
}

.app-footer {
  flex-shrink: 0;
  margin-top: auto;
  padding: 1rem 0 1.25rem;
  color: #737373;
  border-top: 1px solid #e5e5e5;
  font-size: 0.8125rem;
}

.app-footer a {
  font-weight: 500;
}

.app-footer a:hover {
  text-decoration: underline;
}

.profile-head,
.permission-head,
.settings-head,
.candidate-table-head,
.mobile-section-head {
  gap: 0.75rem;
  margin-bottom: 0.8rem;
}

.profile-head h1,
.permission-head h1,
.settings-head h1,
.real-dashboard-head h1,
.fs-3 {
  font-size: 1.45rem !important;
  line-height: 1.15;
}

.profile-head p,
.permission-head p,
.settings-head p,
.candidate-table-head p,
.real-dashboard-head p {
  font-size: 0.82rem;
}

.card,
.profile-card,
.email-template-card,
.settings-card,
.permission-card,
.candidate-list-card,
.candidate-filter-card {
  border-color: #edf0f3;
  border-radius: 8px;
  box-shadow: none;
}

.card-body {
  padding: 0.9rem;
}

.table th {
  padding: 0.58rem 0.7rem;
  color: #59616b;
  font-size: 0.76rem;
  font-weight: 800;
  background: #f8fafc;
}

.table td {
  padding: 0.55rem 0.7rem;
  font-size: 0.82rem;
}

.form-control,
.form-select,
.btn {
  border-radius: 8px;
}

.form-control,
.form-select {
  min-height: 40px;
  padding: 0.48rem 0.65rem;
  font-size: 0.86rem;
}

.btn {
  padding: 0.46rem 0.72rem;
  font-size: 0.86rem;
  font-weight: 700;
}

.btn-sm {
  padding: 0.32rem 0.52rem;
  font-size: 0.78rem;
}

.permission-stats {
  gap: 0.65rem;
}

.permission-stats > div {
  min-height: 72px;
  padding: 0.75rem;
}

.permission-stats span {
  font-size: 1.25rem;
}

.permission-stats p {
  font-size: 0.76rem;
}

.panel-team-click-row {
  cursor: pointer;
  transition: background 0.18s ease, box-shadow 0.18s ease;
}

.panel-team-click-row:hover {
  background: #fff8f5;
}

.team-name-link {
  display: inline;
  padding: 0;
  border: 0;
  color: #20252c;
  background: transparent;
  font: inherit;
  font-weight: 800;
  text-align: left;
}

.team-name-link:hover {
  color: #e66239;
}

.performance-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.72rem;
}

.performance-metric-grid div {
  min-height: 78px;
  padding: 0.86rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fbfcfe;
}

.performance-metric-grid span {
  display: block;
  color: #7b8490;
  font-size: 0.72rem;
  font-weight: 800;
}

.performance-metric-grid strong {
  display: block;
  margin-top: 0.3rem;
  color: #222831;
  font-size: 1.18rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.performance-mini-table {
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 14px;
}

.performance-mini-table h3 {
  margin: 0;
  padding: 0.78rem 0.9rem;
  border-bottom: 1px solid #edf1f5;
  color: #222831;
  font-size: 0.94rem;
  font-weight: 900;
}

.performance-mini-table td span {
  display: block;
  color: #7b8490;
  font-size: 0.72rem;
}

.admin-mobile-nav {
  position: fixed;
  right: 50%;
  bottom: 0.7rem;
  z-index: 1055;
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
  width: min(430px, calc(100vw - 1.2rem));
  padding: 0.35rem;
  border: 1px solid rgba(226, 232, 240, 0.94);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.13);
  transform: translateX(50%);
  backdrop-filter: blur(12px);
}

.admin-mobile-nav a {
  display: grid;
  justify-items: center;
  gap: 0.1rem;
  min-width: 0;
  padding: 0.42rem 0.18rem;
  color: #747d88;
  border-radius: 14px;
  text-decoration: none;
  font-size: 0.62rem;
  font-weight: 800;
}

.admin-mobile-nav a i {
  font-size: 1.08rem;
}

.admin-mobile-nav a.active {
  color: #e66239;
  background: rgba(230, 98, 57, 0.1);
}

.footer-divider {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #d4d4d4;
}

.profile-card {
  background: linear-gradient(180deg, rgba(230, 98, 57, 0.08), #fff 58%);
}

.profile-avatar {
  width: 88px;
  height: 88px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #e66239;
  font-size: 2.25rem;
  font-weight: 600;
  box-shadow: 0 16px 35px rgba(230, 98, 57, 0.24);
}

.profile-photo-preview {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid #e5e5e5;
  background: #fff;
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.12);
}

.profile-photo-preview.is-logo {
  width: 132px;
  border-radius: 8px;
  object-fit: contain;
  padding: 0.65rem;
}

.profile-upload-preview {
  min-height: 110px;
  border: 1px dashed #d4d4d4;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: #fafafa;
}

.profile-upload-preview.is-small {
  min-height: 92px;
}

.profile-upload-preview img {
  max-width: 100%;
  max-height: 86px;
  object-fit: contain;
  border-radius: 8px;
}

.profile-upload-preview i {
  color: #a3a3a3;
  font-size: 2rem;
}

.profile-brand-box {
  min-height: 72px;
  border: 1px dashed #d4d4d4;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: #fafafa;
}

.profile-brand-box img {
  max-width: 180px;
  max-height: 48px;
  object-fit: contain;
}

.profile-favicon {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.profile-progress {
  width: 100%;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #f1f5f9;
}

.profile-progress div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #e66239, #f59e0b);
}

.profile-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.65rem;
  margin-bottom: 0.65rem;
  border-bottom: 1px solid #eef2f7;
}

.profile-info-row span {
  color: #737373;
  font-size: 0.8125rem;
}

.profile-info-row strong {
  min-width: 0;
  color: #262626;
  font-size: 0.875rem;
  text-align: right;
  overflow-wrap: anywhere;
}

.profile-form-section {
  padding: 1.1rem;
  margin-bottom: 1rem;
  border: 1px solid #eef2f7;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #fcfcfd);
}

.profile-form-section:last-of-type {
  margin-bottom: 1.25rem;
}

.section-title {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.section-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  color: #e66239;
  background: rgba(230, 98, 57, 0.1);
  font-size: 1.15rem;
}

.section-title h2 {
  margin: 0 0 0.15rem;
  color: #262626;
  font-size: 1rem;
  font-weight: 700;
}

.section-title p {
  margin: 0;
  color: #737373;
  font-size: 0.8125rem;
}

.settings-hero {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 1.25rem;
  background:
    linear-gradient(135deg, rgba(230, 98, 57, 0.08), rgba(255, 255, 255, 0) 42%),
    #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.settings-kicker {
  color: #e66239;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.settings-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.settings-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  background: #fff;
  color: #525252;
  font-size: 0.8125rem;
  font-weight: 500;
}

.settings-hero-meta i {
  color: #e66239;
  font-size: 1rem;
}

.settings-form .card {
  position: relative;
  overflow: hidden;
  border-color: #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
}

.settings-form .card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #e66239, rgba(230, 98, 57, 0.18));
}

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

.settings-form .form-label {
  font-size: 0.8125rem;
  font-weight: 500;
  margin-bottom: 0.35rem;
}

.settings-form .form-control,
.settings-form .form-select {
  min-height: 42px;
}

.settings-form .form-text {
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.settings-section-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.settings-section-title i {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e66239;
  background: rgba(230, 98, 57, 0.1);
  font-size: 1.1rem;
}

.settings-section-title h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.settings-rail {
  position: sticky;
  top: 84px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 1rem;
  background:
    linear-gradient(180deg, rgba(230, 98, 57, 0.06), rgba(255, 255, 255, 0) 44%),
    #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.settings-brand-preview {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-bottom: 1rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid #e5e5e5;
}

.settings-brand-preview img {
  width: 64px;
  height: 38px;
  object-fit: contain;
}

.settings-rail-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  color: #166534;
  background: #dcfce7;
  font-size: 0.75rem;
  font-weight: 500;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #16a34a;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
}

.settings-rail-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: #404040;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  font-weight: 500;
}

.settings-rail-link:hover {
  color: #e66239;
  background: rgba(230, 98, 57, 0.08);
  text-decoration: none;
}

.settings-rail-link.is-active {
  color: #e66239;
  background: #fff1eb;
  box-shadow: inset 3px 0 0 #e66239;
}

.settings-panel-section.is-hidden {
  display: none !important;
}

.settings-plan-grid {
  display: grid;
  gap: 1rem;
}

.settings-plan-card {
  padding: 1rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fbfcfe;
}

.settings-plan-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.72rem;
  border-bottom: 1px solid #edf0f3;
}

.settings-plan-card-head span {
  color: #24272b;
  font-size: 0.92rem;
  font-weight: 850;
}

.settings-plan-card-head .form-select {
  width: min(145px, 45%);
}

.settings-save-bar {
  position: sticky;
  bottom: 1rem;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
}

.table .form-control-sm,
.table .form-select-sm {
  min-height: 34px;
  font-size: 0.8125rem;
}

.table code {
  color: #e66239;
  background: rgba(230, 98, 57, 0.08);
  padding: 0.2rem 0.4rem;
  border-radius: 6px;
}

.role-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1rem;
  padding: 0.75rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fbfcfd;
}

.role-check-grid .form-check {
  min-height: 1.4rem;
  margin: 0;
}

.role-check-grid .form-check-label {
  color: #3d4248;
  font-size: 0.875rem;
}

.permission-shell {
  display: grid;
  gap: 1rem;
}

.permission-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.permission-head h1 {
  margin: 0;
  color: #24272b;
  font-size: 1.65rem;
  font-weight: 800;
}

.permission-head p {
  margin: 0.2rem 0 0;
  color: #66707a;
  font-size: 0.92rem;
}

.permission-eyebrow {
  display: inline-flex;
  margin-bottom: 0.25rem;
  color: #e66239;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.permission-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.permission-stats > div {
  padding: 0.8rem 0.95rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.permission-stats span {
  display: block;
  color: #24272b;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
}

.permission-stats p {
  margin: 0.25rem 0 0;
  color: #6f767e;
  font-size: 0.78rem;
  font-weight: 700;
}

.permission-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}

.permission-card {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 58px;
  padding: 0.65rem 0.75rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
}

.permission-card h2 {
  margin: 0;
  color: #24272b;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
}

.permission-card code {
  display: inline-block;
  margin-top: 0.2rem;
  font-size: 0.68rem;
}

.permission-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  color: #e66239;
  border-radius: 7px;
  background: rgba(230, 98, 57, 0.1);
  font-size: 0.9rem;
}

.permission-card-table {
  overflow: hidden;
  border-color: #e9edf2;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.permission-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
}

.permission-table-head h2 {
  margin: 0;
  color: #24272b;
  font-size: 1rem;
  font-weight: 800;
}

.permission-table-head p {
  margin: 0.15rem 0 0;
  color: #6f767e;
  font-size: 0.8rem;
}

.permission-table-head span,
.permission-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.25rem;
  padding: 0.3rem 0.55rem;
  color: #3d4248;
  border-radius: 999px;
  background: #f2f4f7;
  font-size: 0.75rem;
  font-weight: 800;
}

.permission-table-scroll {
  max-height: 62vh;
}

.permission-matrix {
  min-width: 1320px;
}

.permission-matrix th,
.permission-matrix td {
  padding: 0.52rem 0.65rem;
  text-align: center;
  vertical-align: middle;
}

.permission-matrix th {
  min-width: 96px;
  color: #3d4248;
  background: #f8fafc;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.15;
  white-space: normal;
}

.permission-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.permission-matrix th:first-child,
.permission-matrix td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 190px;
  text-align: left;
  background: #fff;
}

.permission-matrix th:nth-child(2),
.permission-matrix td:nth-child(2) {
  position: sticky;
  left: 190px;
  z-index: 3;
  min-width: 92px;
  background: #fff;
}

.permission-matrix thead th:first-child,
.permission-matrix thead th:nth-child(2) {
  z-index: 4;
  background: #f8fafc;
}

.permission-role-cell div {
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 800;
}

.permission-role-cell code {
  display: inline-block;
  margin-top: 0.2rem;
  font-size: 0.7rem;
}

.permission-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  font-size: 0.85rem;
}

.permission-state.is-on {
  color: #13795b;
  background: rgba(25, 135, 84, 0.12);
}

.permission-state.is-off {
  color: #8a929b;
  background: rgba(108, 117, 125, 0.12);
}

.profile-manager {
  display: grid;
  gap: 1rem;
}

.profile-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.profile-head h1 {
  margin: 0;
  color: #24272b;
  font-size: 1.65rem;
  font-weight: 800;
}

.profile-head p {
  margin: 0.2rem 0 0;
  color: #66707a;
  font-size: 0.92rem;
}

.profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.profile-type-panel {
  overflow: hidden;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.profile-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  padding: 1rem;
}

.profile-type-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
}

.profile-type-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  overflow: hidden;
  color: #e66239;
  border-radius: 8px;
  background: rgba(230, 98, 57, 0.1);
  font-size: 1.5rem;
}

.profile-type-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-type-card h2 {
  margin: 0;
  color: #24272b;
  font-size: 0.95rem;
  font-weight: 800;
}

.profile-type-card p {
  display: -webkit-box;
  min-height: 2.4rem;
  margin: 0.35rem 0 0.5rem;
  overflow: hidden;
  color: #69717a;
  font-size: 0.82rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.profile-card {
  overflow: hidden;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.profile-banner {
  position: relative;
  height: 150px;
  background: linear-gradient(135deg, #f8fafc, #eef2f7);
}

.profile-banner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.profile-banner-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #9aa2aa;
  font-size: 2rem;
  background: linear-gradient(135deg, #f7f8fa 0%, #eef1f4 100%);
}

.profile-type-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.32rem 0.6rem;
  color: #fff;
  border-radius: 999px;
  background: rgba(36, 39, 43, 0.78);
  font-size: 0.72rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
}

.profile-card-body {
  display: grid;
  gap: 0.7rem;
  padding: 0.95rem;
}

.profile-card-body h2 {
  margin: 0;
  color: #24272b;
  font-size: 1rem;
  font-weight: 800;
}

.profile-card-body p {
  display: -webkit-box;
  min-height: 2.6rem;
  margin: 0;
  overflow: hidden;
  color: #69717a;
  font-size: 0.86rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.process-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.process-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.28rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
}

.process-chip.is-on {
  color: #13795b;
  background: rgba(25, 135, 84, 0.12);
}

.process-chip.is-off {
  color: #8a929b;
  background: rgba(108, 117, 125, 0.1);
}

.staff-invite-card .profile-card-body {
  gap: 0.85rem;
}

.invite-link-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.5rem;
  align-items: center;
}

.invite-link-box input {
  min-width: 0;
  color: #64748b;
  background: #f8fafc;
}

.candidate-signup-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 2.4rem 1rem;
  background:
    radial-gradient(circle at 12% 8%, rgba(230, 98, 57, 0.13), transparent 28rem),
    radial-gradient(circle at 88% 18%, rgba(18, 161, 109, 0.09), transparent 24rem),
    linear-gradient(180deg, #fff, #f7f9fc 58%, #eef3f8);
}

.candidate-signup-card {
  width: min(760px, 100%);
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.1);
}

.candidate-signup-card .card-body {
  padding: 1.25rem !important;
}

.signup-brandbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding-bottom: 0.82rem;
  border-bottom: 1px solid #edf0f3;
}

.candidate-signup-card .auth-brand {
  margin: 0 !important;
}

.candidate-signup-card .auth-brand-logo {
  max-width: 135px;
  max-height: 54px;
  object-fit: contain;
}

.signup-login-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 34px;
  padding: 0 0.72rem;
  border: 1px solid #e8edf3;
  border-radius: 999px;
  color: #24272b;
  background: #fff;
  font-size: 0.72rem;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.signup-login-link:hover {
  border-color: rgba(230, 98, 57, 0.38);
  color: #e66239;
}

.candidate-signup-card h1 {
  color: #24272b;
  font-size: 1.32rem;
  font-weight: 850;
  line-height: 1.2;
}

.candidate-signup-card p.text-muted {
  font-size: 0.76rem;
  line-height: 1.45;
}

.signup-title-block {
  padding: 0 0.12rem;
}

.signup-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-bottom: 0.45rem;
  padding: 0 0.62rem;
  border-radius: 999px;
  color: #e66239;
  background: #fff2ed;
  font-size: 0.64rem;
  font-weight: 850;
  text-transform: uppercase;
}

.candidate-signup-hero {
  position: relative;
  overflow: hidden;
  min-height: 150px;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0)),
    #f8fafc;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.8), 0 14px 34px rgba(15, 23, 42, 0.06);
}

.candidate-signup-hero img {
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: contain;
  padding: 0.2rem;
}

.signup-profile-badge {
  position: absolute;
  top: 0.72rem;
  left: 0.72rem;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 0.72rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(36, 39, 43, 0.78);
  font-size: 0.68rem;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.signup-process-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.signup-process-strip span {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 28px;
  padding: 0 0.58rem;
  border: 1px solid #dcefe8;
  border-radius: 999px;
  color: #10845c;
  background: #effaf5;
  font-size: 0.66rem;
  font-weight: 850;
}

.signup-process-strip i {
  font-size: 0.82rem;
}

.signup-invite-note {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.72rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  color: #66717f;
  background: #fbfcfe;
  font-size: 0.72rem;
  line-height: 1.45;
}

.signup-invite-note i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: #e66239;
  background: #fff2ed;
  font-size: 1rem;
}

.signup-invite-note strong {
  color: #24272b;
  font-weight: 850;
}

.signup-locked-profile {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 40px;
  padding-left: 0.8rem;
  color: #24272b;
  border-color: #e7ecf2;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 0.78rem;
  font-weight: 800;
}

.signup-locked-profile i {
  color: #e66239;
  font-size: 0.95rem;
}

.candidate-signup-card .form-label {
  margin-bottom: 0.28rem;
  color: #4b5563;
  font-size: 0.68rem;
  font-weight: 800;
}

.candidate-signup-card .form-text {
  margin-top: 0.22rem;
  color: #8a929b;
  font-size: 0.62rem;
}

.candidate-signup-card .form-control,
.candidate-signup-card .form-select {
  min-height: 42px;
  border-color: #e7ecf2;
  border-radius: 12px;
  color: #24272b;
  font-size: 0.78rem;
  box-shadow: none;
}

.candidate-signup-card .form-control:focus,
.candidate-signup-card .form-select:focus {
  border-color: rgba(230, 98, 57, 0.5);
  box-shadow: 0 0 0 0.18rem rgba(230, 98, 57, 0.1);
}

.signup-field {
  position: relative;
}

.signup-field > i {
  position: absolute;
  top: 50%;
  left: 0.78rem;
  z-index: 2;
  color: #98a2ae;
  font-size: 0.92rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.signup-field .form-control {
  padding-left: 2.25rem;
}

.signup-field .form-control[readonly] {
  color: #5d6673;
  background: #f8fafc;
}

.signup-field #referral_name.form-control[readonly] {
  color: #1f242b;
  font-weight: 700;
}

.signup-identity-status {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: -0.15rem 0 0.95rem;
  padding: 0.68rem 0.78rem;
  border: 1px solid #edf0f3;
  border-radius: 14px;
  color: #475569;
  background: #fbfcfe;
  font-size: 0.7rem;
  font-weight: 750;
  line-height: 1.35;
}

.signup-identity-status[hidden] {
  display: none;
}

.signup-identity-status i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  font-size: 0.94rem;
}

.signup-identity-status strong {
  color: #1f242b;
  font-weight: 900;
}

.signup-identity-status span {
  color: #64748b;
}

.signup-identity-status a {
  margin-left: auto;
  color: #0d6efd;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.signup-identity-status a:hover {
  text-decoration: underline;
}

.signup-identity-status.is-loading i {
  color: #0d6efd;
  background: #edf5ff;
  animation: spin 0.9s linear infinite;
}

.signup-identity-status.is-danger {
  border-color: #fecaca;
  color: #991b1b;
  background: #fff5f5;
}

.signup-identity-status.is-danger i {
  color: #dc2626;
  background: #fee2e2;
}

.signup-identity-status.is-danger strong,
.signup-identity-status.is-danger span {
  color: #991b1b;
}

.signup-identity-status.is-success {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.signup-identity-status.is-success i {
  color: #11825f;
  background: #dcfce7;
}

.signup-identity-status.is-info {
  border-color: #dbeafe;
  background: #f8fbff;
}

.signup-identity-status.is-info i {
  color: #0d6efd;
  background: #edf5ff;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.signup-phone-field {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #e7ecf2;
  border-radius: 12px;
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.signup-phone-field:focus-within {
  border-color: rgba(230, 98, 57, 0.5);
  box-shadow: 0 0 0 0.18rem rgba(230, 98, 57, 0.1);
}

.signup-phone-field span {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  padding: 0 0.7rem;
  color: #e66239;
  border-right: 1px solid #edf0f3;
  background: #fff7f4;
  font-size: 0.74rem;
  font-weight: 850;
}

.signup-phone-field .form-control {
  min-height: 38px;
  border: 0;
  border-radius: 0;
}

.signup-phone-field .form-control:focus {
  box-shadow: none;
}

.signup-password-group .form-control {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.signup-password-group .input-group-text {
  width: 42px;
  justify-content: center;
  color: #98a2ae;
  border-color: #e7ecf2;
  border-right: 0;
  border-radius: 12px 0 0 12px;
  background: #fff;
  font-size: 0.9rem;
}

.signup-password-eye {
  width: 42px;
  border-color: #e7ecf2;
  color: #64748b;
  border-left: 0;
  border-radius: 0 12px 12px 0;
  background: #fff;
}

.signup-password-eye:hover,
.signup-password-eye:focus {
  color: #f05a37;
  background: #fff7f4;
  border-color: #f6b3a2;
}

.signin-password-group .form-control {
  border-right: 0;
  border-radius: 12px 0 0 12px;
}

.signin-password-eye {
  width: 44px;
  border-color: #e7ecf2;
  color: #64748b;
  border-left: 0;
  border-radius: 0 12px 12px 0;
  background: #fff;
}

.signin-password-eye:hover,
.signin-password-eye:focus {
  color: #f05a37;
  background: #fff7f4;
  border-color: #f6b3a2;
}

.signup-password-meter {
  width: 100%;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f7;
}

.signup-password-meter span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  transition: width 0.2s ease, background-color 0.2s ease;
}

.signup-password-meter .is-weak {
  background: #ef4444;
}

.signup-password-meter .is-medium {
  background: #f59e0b;
}

.signup-password-meter .is-strong {
  background: #12a16d;
}

.signup-password-help strong {
  color: #24272b;
  font-weight: 700;
}

.signup-terms-box {
  padding: 0.68rem 0.75rem;
  border: 1px solid #edf0f3;
  border-radius: 14px;
  background: #fbfcfe;
}

.signup-terms-box .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.52rem;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.signup-terms-box .form-check-input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0.08rem 0 0;
  border-color: #d7dde5;
  box-shadow: none;
}

.signup-terms-box .form-check-input:checked {
  border-color: #e66239;
  background-color: #e66239;
}

.signup-terms-box .form-check-label {
  color: #5d6673;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.45;
}

.signup-terms-box a {
  color: #e66239;
  font-weight: 850;
  text-decoration: none;
}

.signup-terms-box a:hover {
  text-decoration: underline;
}

.signup-captcha-box {
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 0.72rem;
  border: 1px solid #edf0f3;
  border-radius: 14px;
  background: #fff;
}

.candidate-signup-card .btn-primary {
  min-height: 44px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #ef6a43, #e7512c);
  box-shadow: 0 14px 26px rgba(230, 98, 57, 0.24);
  font-size: 0.84rem;
  font-weight: 850;
}

.candidate-signup-card .btn-primary:hover {
  filter: brightness(0.98);
  transform: translateY(-1px);
}

.terms-page {
  min-height: 100vh;
  padding: 2.2rem 1rem;
  background:
    radial-gradient(circle at top left, rgba(230, 98, 57, 0.09), transparent 32rem),
    linear-gradient(180deg, #fff, #f8fafc);
}

.terms-shell {
  width: min(940px, 100%);
  margin: 0 auto;
}

.terms-card {
  padding: 1.35rem;
  border: 1px solid #e9edf3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.terms-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #edf0f3;
}

.terms-head .auth-brand {
  margin: 0;
}

.terms-head span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 0.72rem;
  border-radius: 999px;
  color: #e66239;
  background: #fff2ed;
  font-size: 0.72rem;
  font-weight: 850;
}

.terms-card h1 {
  margin: 0;
  color: #24272b;
  font-size: 1.65rem;
  font-weight: 850;
}

.terms-lead {
  max-width: 700px;
  margin: 0.42rem 0 1rem;
  color: #66717f;
  font-size: 0.88rem;
  line-height: 1.6;
}

.terms-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
}

.terms-list section {
  padding: 0.9rem;
  border: 1px solid #edf0f3;
  border-radius: 14px;
  background: #fff;
}

.terms-list h2 {
  margin: 0 0 0.32rem;
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 850;
}

.terms-list p {
  margin: 0;
  color: #66717f;
  font-size: 0.75rem;
  line-height: 1.55;
}

.terms-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.6rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #edf0f3;
}

.terms-actions .btn {
  min-height: 38px;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 850;
}

@media (max-width: 768px) {
  .candidate-signup-page {
    align-items: flex-start;
    padding: 0;
    background: linear-gradient(180deg, #f4f7fb, #fff 42%, #f7f9fc);
  }

  .candidate-signup-card {
    min-height: 100vh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .candidate-signup-card .card-body {
    padding: 0.92rem !important;
  }

  .signup-brandbar {
    position: sticky;
    top: 0;
    z-index: 5;
    margin: -0.92rem -0.92rem 0.85rem;
    padding: 0.72rem 0.92rem;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
  }

  .candidate-signup-card .auth-brand-logo {
    max-width: 118px;
    max-height: 46px;
  }

  .signup-login-link {
    min-height: 32px;
    padding: 0 0.62rem;
    font-size: 0.68rem;
  }

  .candidate-signup-hero {
    min-height: 126px;
    margin-bottom: 0.9rem !important;
    border-radius: 17px;
  }

  .candidate-signup-hero img {
    min-height: 126px;
  }

  .signup-profile-badge {
    top: 0.58rem;
    left: 0.58rem;
    min-height: 24px;
    padding: 0 0.58rem;
    font-size: 0.62rem;
  }

  .signup-title-block {
    margin-bottom: 0.75rem !important;
  }

  .signup-eyebrow {
    min-height: 22px;
    margin-bottom: 0.34rem;
    padding: 0 0.52rem;
    font-size: 0.58rem;
  }

  .candidate-signup-card h1 {
    font-size: 1.12rem;
  }

  .candidate-signup-card p.text-muted {
    font-size: 0.72rem;
  }

  .signup-process-strip {
    gap: 0.34rem;
    margin-bottom: 0.8rem !important;
  }

  .signup-process-strip span {
    min-height: 26px;
    padding: 0 0.5rem;
    font-size: 0.6rem;
  }

  .signup-invite-note {
    margin-bottom: 0.85rem !important;
    padding: 0.62rem;
    border-radius: 13px;
    font-size: 0.68rem;
  }

  .candidate-signup-card .row {
    --bs-gutter-x: 0.7rem;
  }

  .candidate-signup-card .mb-3 {
    margin-bottom: 0.68rem !important;
  }

  .candidate-signup-card .mb-4 {
    margin-bottom: 0.85rem !important;
  }

  .candidate-signup-card .form-label {
    font-size: 0.64rem;
  }

  .candidate-signup-card .form-control,
  .candidate-signup-card .form-select,
  .signup-locked-profile {
    min-height: 40px;
    border-radius: 12px;
    font-size: 0.76rem;
  }

  .signup-terms-box {
    padding: 0.6rem;
  }

  .signup-terms-box .form-check-label {
    font-size: 0.66rem;
  }

  .signup-captcha-box {
    justify-content: flex-start;
    min-height: 79px;
    padding: 0.58rem;
  }

  .signup-captcha-box .g-recaptcha {
    transform: scale(0.86);
    transform-origin: left top;
    min-height: 68px;
  }

  .candidate-signup-card .btn-primary {
    min-height: 43px;
    border-radius: 13px;
    font-size: 0.8rem;
  }

  .terms-page {
    padding: 1rem 0.7rem;
  }

  .terms-card {
    padding: 1rem;
    border-radius: 16px;
  }

  .terms-card h1 {
    font-size: 1.25rem;
  }

  .terms-lead {
    font-size: 0.78rem;
  }

  .terms-list {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  .terms-list section {
    padding: 0.78rem;
    border-radius: 12px;
  }

  .terms-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.real-dashboard {
  display: grid;
  gap: 0.55rem;
  background: #fff;
}

.real-dashboard-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0 0 0.25rem;
  border-radius: 8px;
}

.real-dashboard-head h1 {
  margin: 0;
  color: #24272b;
  font-size: 1.35rem;
  font-weight: 800;
}

.real-dashboard-head p {
  margin: 0.14rem 0 0;
  color: #727a84;
  font-size: 0.76rem;
  font-weight: 600;
}

.real-dashboard-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.real-dashboard-actions span {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 30px;
  padding: 0.34rem 0.55rem;
  color: #59616b;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
  font-size: 0.7rem;
  font-weight: 800;
}

.real-dashboard-kpis,
.real-dashboard-grid {
  display: grid;
  gap: 0.55rem;
}

.real-dashboard-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.real-kpi-card,
.real-card {
  border: 1px solid #eceff3;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.real-kpi-card {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 0.12rem 0.48rem;
  align-items: center;
  padding: 0.62rem;
  color: #24272b;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.real-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #ef5e35;
}

.real-kpi-card.is-green::before { background: #159261; }
.real-kpi-card.is-blue::before { background: #16a7c9; }
.real-kpi-card.is-amber::before { background: #f4ad0b; }

.real-kpi-card:hover,
.real-list-item:hover,
.real-card:hover {
  border-color: #dde3ea;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.real-kpi-card.is-primary {
  background: #fff;
  border-color: #eceff3;
}

.real-kpi-card.is-green {
  background: #fff;
  border-color: #eceff3;
}

.real-kpi-card.is-blue {
  background: #fff;
  border-color: #eceff3;
}

.real-kpi-card.is-amber {
  background: #fff;
  border-color: #eceff3;
}

.real-kpi-card i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-row: span 3;
  width: 30px;
  height: 30px;
  margin-bottom: 0;
  color: #ef5e35;
  border-radius: 8px;
  font-size: 0.9rem;
  background: #fff4ef;
}

.real-kpi-card span,
.real-kpi-card em {
  color: #727a84;
  font-style: normal;
  font-weight: 700;
}

.real-kpi-card span {
  font-size: 0.68rem;
}

.real-kpi-card strong {
  color: #24272b;
  font-size: 1.18rem;
  line-height: 1;
}

.real-kpi-card em {
  font-size: 0.64rem;
}

.real-kpi-card.is-primary i {
  color: #ef5e35;
  background: #fff4ef;
}

.real-kpi-card.is-green i {
  color: #159261;
  background: #effaf5;
}

.real-kpi-card.is-blue i {
  color: #16a7c9;
  background: #eefaff;
}

.real-kpi-card.is-amber i {
  color: #c98200;
  background: #fff8e8;
}

.real-dashboard-grid {
  grid-template-columns: minmax(320px, 0.85fr) minmax(420px, 1.15fr);
}

.real-dashboard-grid.is-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.real-dashboard-grid.is-wide .real-card {
  min-height: 250px;
}

.real-card {
  padding: 0.68rem;
}

.real-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
  margin-bottom: 0.52rem;
}

.real-card-head h2 {
  margin: 0;
  color: #24272b;
  font-size: 0.86rem;
  font-weight: 800;
}

.real-card-head p {
  margin: 0.2rem 0 0;
  color: #727a84;
  font-size: 0.68rem;
}

.real-card-head a,
.real-card-head > span {
  flex: 0 0 auto;
  color: #ef5e35;
  font-size: 0.68rem;
  font-weight: 800;
}

.real-slim-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f6;
}

.real-slim-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ef5e35, #f5ad42);
}

.real-progress-caption {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  margin: 0.5rem 0 0.55rem;
}

.real-progress-caption strong {
  color: #24272b;
  font-size: 1.1rem;
}

.real-progress-caption span {
  color: #727a84;
  font-size: 0.68rem;
  font-weight: 800;
}

.real-metric-row,
.real-route-list,
.real-pipeline {
  display: grid;
  gap: 0.42rem;
}

.real-metric-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.real-metric-row div,
.real-route-list div,
.real-pipeline div,
.real-role-list div,
.real-profile-list div {
  border: 1px solid #eef1f4;
  border-radius: 8px;
  background: #fff;
}

.real-metric-row div {
  padding: 0.48rem;
}

.real-metric-row strong,
.real-route-list strong,
.real-pipeline strong {
  display: block;
  color: #24272b;
  font-size: 0.92rem;
  line-height: 1;
}

.real-metric-row span,
.real-route-list span,
.real-pipeline span {
  display: block;
  margin-top: 0.18rem;
  color: #727a84;
  font-size: 0.64rem;
  font-weight: 800;
}

.real-route-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.real-route-list div,
.real-pipeline div {
  padding: 0.5rem;
}

.real-route-list i,
.real-pipeline i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-bottom: 0.32rem;
  color: #ef5e35;
  border-radius: 8px;
  background: #fff4ef;
}

.real-list,
.real-profile-list,
.real-role-list {
  display: grid;
  gap: 0.35rem;
}

.real-list-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
  min-height: 52px;
  padding: 0.42rem 0.5rem;
  color: #24272b;
  border: 1px solid #eef1f4;
  border-radius: 8px;
  background: #fff;
  text-decoration: none;
}

.real-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #ef5e35;
  border-radius: 8px;
  background: #fff4ef;
  font-weight: 800;
}

.real-list-item strong,
.real-list-item span,
.real-list-item small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.real-list-item span {
  color: #727a84;
  font-size: 0.66rem;
}

.real-list-item small {
  margin-top: 0.08rem;
  color: #9aa2ac;
  font-size: 0.6rem;
  font-weight: 700;
}

.real-list-item em {
  padding: 0.16rem 0.38rem;
  border-radius: 999px;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 800;
}

.real-list-item em.is-ok {
  color: #11845b;
  background: #edf8f2;
}

.real-list-item em.is-wait {
  color: #a96a00;
  background: #fff8e8;
}

.real-profile-list > div,
.real-role-list div {
  padding: 0.48rem;
}

.real-profile-list span,
.real-profile-list em,
.real-role-list span {
  display: block;
  color: #727a84;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 800;
}

.real-profile-list strong {
  display: block;
  margin: 0.18rem 0;
  color: #24272b;
  overflow: hidden;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.real-profile-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.36rem 0.6rem;
  align-items: center;
}

.real-profile-item em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 24px;
  color: #ef5e35;
  border-radius: 999px;
  background: #fff4ef;
  font-size: 0.72rem;
}

.real-profile-item b {
  grid-column: 1 / -1;
  display: block;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f6;
}

.real-profile-item b i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #ef5e35;
}

.real-role-list div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.real-role-list strong {
  color: #24272b;
}

.real-pipeline {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.real-empty {
  padding: 0.58rem;
  color: #8a929b;
  text-align: center;
  border: 1px dashed #dce3ea;
  border-radius: 8px;
  background: #fff;
}

@media (max-width: 899px) {
  .real-dashboard {
    gap: 0.5rem;
    margin: -0.75rem -0.45rem 0;
  }

  .real-dashboard-head {
    display: block;
    padding: 0;
    border-radius: 0;
  }

  .real-dashboard-head h1 {
    font-size: 1.12rem;
  }

  .real-dashboard-head p {
    font-size: 0.66rem;
  }

  .real-dashboard-actions {
    justify-content: stretch;
    margin-top: 0.45rem;
  }

  .real-dashboard-actions span,
  .real-dashboard-actions .btn {
    flex: 1 1 auto;
  }

  .real-dashboard-actions .btn {
    padding: 0.42rem 0.65rem;
    border-radius: 8px;
    font-size: 0.74rem;
  }

  .real-dashboard-kpis,
  .real-dashboard-grid,
  .real-dashboard-grid.is-wide {
    grid-template-columns: 1fr;
  }

  .real-dashboard-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: -0.08rem;
  }

  .real-kpi-card,
  .real-card,
  .real-list-item,
  .real-route-list div,
  .real-pipeline div,
  .real-profile-list div,
  .real-role-list div {
    border-radius: 10px;
  }

  .real-kpi-card {
    min-height: 74px;
    padding: 0.48rem;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 0.08rem 0.4rem;
  }

  .real-kpi-card i {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    font-size: 0.8rem;
  }

  .real-kpi-card strong {
    font-size: 1rem;
  }

  .real-kpi-card span {
    font-size: 0.6rem;
  }

  .real-kpi-card em {
    font-size: 0.56rem;
  }

  .real-route-list,
  .real-metric-row,
  .real-pipeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .real-card {
    padding: 0.55rem;
  }

  .real-card-head {
    align-items: flex-start;
  }

  .real-list-item {
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 0.38rem;
    border-radius: 10px;
  }

  .real-avatar {
    width: 28px;
    height: 28px;
  }

  .real-list-item em {
    grid-column: 2;
    width: max-content;
  }
}

.exam-list-card {
  position: sticky;
  top: 84px;
}

.exam-list {
  display: grid;
  gap: 0.6rem;
  max-height: 620px;
  overflow: auto;
  padding-right: 0.15rem;
}

.exam-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem;
  color: inherit;
  text-decoration: none;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
}

.exam-list-item:hover,
.exam-list-item.active {
  color: inherit;
  border-color: rgba(230, 98, 57, 0.45);
  background: rgba(230, 98, 57, 0.06);
}

.exam-list-item strong {
  display: block;
  color: #24272b;
  font-size: 0.9rem;
  line-height: 1.3;
}

.exam-list-item span {
  display: block;
  margin-top: 0.2rem;
  color: #69717a;
  font-size: 0.76rem;
}

.exam-list-item small {
  flex: 0 0 auto;
  padding: 0.24rem 0.5rem;
  color: #13795b;
  border-radius: 999px;
  background: rgba(25, 135, 84, 0.12);
  font-size: 0.72rem;
  font-weight: 800;
}

.exam-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
}

.exam-stat-grid div {
  padding: 0.8rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #f8fafc;
}

.exam-stat-grid strong {
  display: block;
  color: #24272b;
  font-size: 1rem;
  font-weight: 800;
}

.exam-stat-grid span {
  display: block;
  margin-top: 0.15rem;
  color: #69717a;
  font-size: 0.72rem;
  font-weight: 600;
}

.exam-question-list {
  display: grid;
  gap: 0.8rem;
}

.exam-question-item {
  display: flex;
  gap: 0.9rem;
  padding: 0.95rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
}

.exam-question-order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  color: #e66239;
  border-radius: 999px;
  background: rgba(230, 98, 57, 0.1);
  font-weight: 800;
}

.exam-question-item h3 {
  margin: 0 0 0.4rem;
  color: #24272b;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.45;
}

.exam-question-meta,
.exam-option-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.exam-question-meta span,
.exam-option-preview span {
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
  color: #64748b;
  background: #f1f5f9;
  font-size: 0.72rem;
  font-weight: 700;
}

.exam-option-preview {
  margin-top: 0.65rem;
}

.exam-option-preview span.correct {
  color: #13795b;
  background: rgba(25, 135, 84, 0.12);
}

.question-bank-page .card {
  border-color: #edf0f3;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.035);
}

.question-bank-head {
  margin-bottom: 1rem;
}

.question-bank-head h1 {
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.question-bank-head p {
  max-width: 560px;
  font-size: 0.92rem;
}

.question-bank-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
  margin-bottom: 1rem;
}

.question-bank-stats > div {
  min-height: 74px;
  padding: 0.8rem 0.95rem;
}

.question-bank-stats span {
  font-size: 1.35rem;
}

.question-bank-stats p {
  margin-top: 0.15rem;
  font-size: 0.72rem;
}

.question-filter-card .card-body,
.question-bank-card .card-body {
  padding: 1rem;
}

.question-bank-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #edf0f3;
}

.question-bank-toolbar h2 {
  font-size: 1rem;
}

.question-bank-toolbar p {
  font-size: 0.82rem;
}

.question-bank-page .exam-question-list {
  gap: 0.55rem;
}

.question-bank-page .question-row {
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.72rem;
  border-color: #e9edf2;
}

.question-bank-page .exam-question-order {
  flex-basis: 28px;
  width: 28px;
  height: 28px;
  font-size: 0.78rem;
}

.question-row-main {
  flex: 1;
  min-width: 0;
}

.question-row-top {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.question-row-copy {
  min-width: 0;
}

.question-bank-page .exam-question-item h3 {
  margin-bottom: 0.3rem;
  font-size: 0.9rem;
  line-height: 1.35;
}

.question-bank-page .exam-question-meta,
.question-bank-page .exam-option-preview {
  gap: 0.3rem;
}

.question-bank-page .exam-question-meta span,
.question-bank-page .exam-option-preview span {
  padding: 0.18rem 0.45rem;
  font-size: 0.67rem;
}

.question-bank-page .exam-option-preview {
  margin-top: 0.48rem;
}

.question-row-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.35rem;
  align-items: center;
  flex-wrap: nowrap;
}

.question-row-actions .btn-icon {
  width: 28px;
  height: 28px;
  padding: 0;
}

.question-table-wrap {
  width: 100%;
  overflow-x: hidden;
  border: 1px solid #edf0f3;
  border-radius: 8px;
}

.question-table {
  width: 100%;
  table-layout: fixed;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 400;
}

.question-table thead th {
  padding: 0.56rem 0.5rem;
  color: #24272b;
  background: #f7f8fa;
  border-bottom: 1px solid #e4e8ee;
  font-weight: 600;
  white-space: normal;
}

.question-table tbody td {
  padding: 0.54rem 0.5rem;
  color: #343840;
  border-bottom: 1px solid #edf0f3;
  vertical-align: top;
  overflow-wrap: anywhere;
  word-break: normal;
}

.question-table tbody tr:last-child td {
  border-bottom: 0;
}

.question-table-id {
  width: 42px;
  color: #6b7280;
  font-weight: 500;
}

.question-table-exam {
  width: 0;
  color: #4b5563;
  font-weight: 500;
}

.question-table-question {
  width: 28%;
  color: #1f2937;
  font-weight: 500;
  line-height: 1.35;
}

.question-table th:nth-child(3),
.question-table th:nth-child(4),
.question-table th:nth-child(5),
.question-table th:nth-child(6),
.question-table td:nth-child(3),
.question-table td:nth-child(4),
.question-table td:nth-child(5),
.question-table td:nth-child(6) {
  width: 12%;
}

.question-correct-option {
  color: #13795b !important;
  font-weight: 600;
}

.question-table-info-col {
  width: 10%;
}

.question-table-action {
  width: 76px;
}

.exam-table th:nth-child(2),
.exam-table td:nth-child(2) {
  width: 22%;
}

.exam-table th:nth-child(3),
.exam-table td:nth-child(3) {
  width: 20%;
}

.exam-table th:nth-child(4),
.exam-table td:nth-child(4) {
  width: 20%;
}

.exam-table th:nth-child(5),
.exam-table td:nth-child(5) {
  width: 10%;
}

.exam-table th:nth-child(6),
.exam-table td:nth-child(6) {
  width: 8%;
}

.exam-table .question-table-action {
  width: 190px;
  min-width: 190px;
  white-space: nowrap;
}

.exam-table .question-row-actions .btn {
  white-space: nowrap;
}

.exam-table .question-row-actions .btn:not(.btn-icon) {
  min-width: 92px;
}

.exam-table-title {
  color: #1f2937;
  font-weight: 500;
  line-height: 1.35;
}

.exam-table-title span {
  display: block;
  margin-top: 0.22rem;
  color: #7b8491;
  font-size: 0.74rem;
  font-weight: 400;
}

.exam-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.exam-rule-grid > div {
  padding: 0.75rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fbfcfd;
}

.exam-rule-grid span {
  display: block;
  margin-bottom: 0.2rem;
  color: #7b8491;
  font-size: 0.72rem;
  font-weight: 500;
}

.exam-rule-grid strong {
  color: #24272b;
  font-size: 0.9rem;
  font-weight: 600;
}

.question-table-question span {
  display: block;
  margin-top: 0.22rem;
  color: #7b8491;
  font-size: 0.74rem;
  font-weight: 400;
}

.question-table-info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.question-table-info span {
  padding: 0.12rem 0.34rem;
  border-radius: 999px;
  color: #64748b;
  background: #f1f5f9;
  font-size: 0.64rem;
  font-weight: 500;
  white-space: normal;
}

.question-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.85rem;
}

.question-pagination .page-link {
  min-width: 32px;
  color: #4b5563;
  border-color: #e5e7eb;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 400;
}

.question-pagination .page-item.active .page-link {
  color: #fff;
  background: #e66239;
  border-color: #e66239;
}

@media (max-width: 1199.98px) {
  .exam-list-card {
    position: static;
  }

  .exam-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .exam-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .question-bank-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .question-bank-toolbar,
  .question-row-top,
  .question-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .exam-question-item {
    flex-direction: column;
  }

  .question-bank-page .question-row {
    gap: 0.55rem;
  }
}

.process-toggle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fbfcfd;
}

.process-toggle-grid .form-check {
  display: flex;
  align-items: center;
  min-height: 2.25rem;
  margin: 0;
  padding: 0.45rem 0.65rem 0.45rem 2.5rem;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
}

.process-toggle-grid .form-check-input {
  margin-top: 0;
  margin-left: -2rem;
}

.process-toggle-grid .form-check-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #3d4248;
  font-size: 0.84rem;
  font-weight: 800;
}

.profile-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.8rem;
  color: #7a828b;
  font-size: 0.76rem;
  font-weight: 700;
}

.profile-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.profile-actions {
  display: flex;
  gap: 0.55rem;
  align-items: center;
}

.profile-actions form {
  margin: 0;
}

.profile-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.profile-filter-tabs a,
.profile-count-button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid #e8edf3;
  border-radius: 8px;
  background: #fff;
  color: #4b5563;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
}

.profile-filter-tabs a {
  padding: 0.48rem 0.75rem;
}

.profile-filter-tabs a.active,
.profile-count-button:hover {
  border-color: rgba(230, 98, 57, 0.35);
  background: rgba(230, 98, 57, 0.09);
  color: #e66239;
}

.profile-count-button {
  padding: 0.32rem 0.55rem;
  cursor: pointer;
}

.profile-exam-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  width: fit-content;
  max-width: 100%;
  padding: 0.34rem 0.55rem;
  border: 1px solid rgba(230, 98, 57, 0.22);
  border-radius: 8px;
  background: rgba(230, 98, 57, 0.07);
}

.profile-exam-summary i {
  color: #e66239;
  font-size: 0.95rem;
}

.profile-exam-summary span {
  color: #7a828b;
  font-size: 0.68rem;
  font-weight: 800;
}

.profile-exam-summary strong {
  overflow: hidden;
  max-width: 170px;
  color: #222831;
  font-size: 0.72rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-exam-modal-box {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.profile-exam-modal-box > div {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.34rem 0.55rem;
  border: 1px solid #e8edf3;
  border-radius: 8px;
  background: #fbfcfe;
}

.profile-exam-modal-box span,
.profile-exam-modal-box strong {
  font-size: 0.72rem;
  line-height: 1.2;
}

.profile-exam-modal-box span {
  color: #7a828b;
  font-weight: 800;
}

.profile-exam-modal-box strong {
  color: #222831;
  font-weight: 800;
}

.profile-bulk-move,
.profile-row-move {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.profile-bulk-move {
  justify-content: flex-end;
  margin-bottom: 0.55rem;
}

.profile-bulk-move .form-select,
.profile-row-move .form-select {
  min-width: 0;
}

.profile-bulk-move .form-select {
  max-width: 360px;
}

.profile-row-move .form-select {
  width: 260px;
}

.app-modal-compact {
  width: min(1280px, calc(100vw - 56px));
}

.app-modal-compact .app-modal-header {
  padding: 1.05rem 1.25rem;
}

.app-modal-compact .app-modal-body {
  padding: 1rem 1.25rem;
}

.app-modal-compact .app-modal-footer {
  padding: 0.8rem 1.25rem;
}

.app-modal-compact .app-modal-header h2 {
  font-size: 1rem;
}

.app-modal-compact .app-modal-header p {
  font-size: 0.82rem;
}

.profile-candidate-table {
  min-width: 1040px;
  table-layout: fixed;
  font-size: 0.8rem;
}

.profile-candidate-table th,
.profile-candidate-table td {
  padding: 0.62rem 0.7rem;
  vertical-align: middle;
}

.profile-candidate-table th:nth-child(1),
.profile-candidate-table td:nth-child(1) {
  width: 44px;
}

.profile-candidate-table th:nth-child(2),
.profile-candidate-table .candidate-name-cell {
  width: 190px;
}

.profile-candidate-table th:nth-child(3),
.profile-candidate-table .candidate-contact-cell {
  width: 270px;
}

.profile-candidate-table th:nth-child(4),
.profile-candidate-table .candidate-status-cell {
  width: 125px;
}

.profile-candidate-table th:nth-child(5),
.profile-candidate-table .candidate-date-cell {
  width: 125px;
}

.profile-candidate-table th:nth-child(6),
.profile-candidate-table .candidate-move-cell {
  width: 320px;
}

.profile-candidate-table td strong,
.profile-candidate-table td span {
  display: block;
  line-height: 1.25;
}

.profile-candidate-table td strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-candidate-table td span {
  color: #7a828b;
  font-size: 0.7rem;
}

.profile-candidate-table .candidate-contact-cell strong {
  max-width: 250px;
}

.profile-candidate-table .badge {
  min-width: 82px;
  padding: 0.28rem 0.45rem;
  font-size: 0.7rem;
}

.profile-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: #e66239;
  border-radius: 8px;
  background: rgba(230, 98, 57, 0.1);
  font-size: 1.5rem;
}

.email-template-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 1rem;
}

.email-template-hero {
  background:
    linear-gradient(135deg, rgba(36, 39, 43, 0.98), rgba(67, 72, 80, 0.94)),
    #24272b;
  color: #fff;
}

.email-template-hero h1,
.email-template-hero p,
.email-template-hero .permission-eyebrow {
  color: #fff;
}

.email-template-hero p {
  max-width: 680px;
  color: rgba(255, 255, 255, 0.78);
}

.email-template-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.email-template-hero-actions span {
  display: inline-grid;
  min-width: 76px;
  padding: 0.42rem 0.62rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
}

.email-template-hero-actions strong {
  color: #fff;
  font-size: 1rem;
  line-height: 1;
}

.email-template-list {
  display: grid;
  gap: 0.75rem;
}

.email-template-card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 0.8rem;
  border: 1px solid #edf0f3;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.email-template-card:hover {
  border-color: rgba(230, 98, 57, 0.28);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.email-template-card > .d-flex,
.email-template-card > p,
.email-template-card > .email-template-actions {
  grid-column: 2;
}

.email-template-mini {
  grid-row: span 3;
  display: grid;
  align-content: start;
  gap: 0.38rem;
  width: 104px;
  min-height: 118px;
  padding: 0.48rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.email-mini-top {
  height: 34px;
  border-radius: 10px;
  background: linear-gradient(135deg, #24272b, #5d6672);
}

.email-mini-line {
  width: 82%;
  height: 8px;
  border-radius: 999px;
  background: #e8edf3;
}

.email-mini-line.is-strong {
  width: 64%;
  height: 10px;
  background: #cfd7e2;
}

.email-mini-button {
  width: 54px;
  height: 16px;
  margin-top: 0.15rem;
  border-radius: 999px;
  background: #24272b;
}

.email-template-card h2 {
  margin: 0;
  color: #24272b;
  font-size: 1rem;
  font-weight: 800;
}

.email-template-card p {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  margin: -0.15rem 0 0;
  color: #69717a;
  font-size: 0.86rem;
}

.email-template-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
}

.email-side-panel {
  overflow: hidden;
  border-color: #edf1f5;
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
}

.email-test-form .form-control,
.email-test-form .form-select {
  min-height: 38px;
  border-color: #edf0f3;
  border-radius: 8px;
  font-size: 0.86rem;
}

.email-template-editor {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  min-height: 430px;
  border-radius: 14px;
  background: #fbfcfe;
  font-size: 0.78rem;
  line-height: 1.55;
}

.email-modal-header {
  background: linear-gradient(135deg, #24272b, #4f5863);
  color: #fff;
}

.email-modal-header p {
  color: rgba(255, 255, 255, 0.76);
}

.whatsapp-template-page {
  gap: 1rem;
}

.whatsapp-template-hero {
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid #cdeed9;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(14, 138, 82, 0.96), rgba(23, 104, 73, 0.95)), #0f7a52;
  color: #fff;
}

.whatsapp-template-hero::after {
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  content: "";
  background: rgba(255, 255, 255, 0.12);
}

.whatsapp-template-hero h1,
.whatsapp-template-hero p,
.whatsapp-template-hero .permission-eyebrow {
  position: relative;
  z-index: 1;
  color: #fff;
}

.whatsapp-template-hero .permission-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
}

.whatsapp-template-hero p {
  max-width: 720px;
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.42;
}

.whatsapp-template-hero-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
}

.whatsapp-template-hero-actions span {
  display: inline-grid;
  min-width: 82px;
  padding: 0.48rem 0.66rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.13);
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

.whatsapp-template-hero-actions strong {
  color: #fff;
  font-size: 1.05rem;
  line-height: 1;
}

.whatsapp-template-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 0.36fr);
  gap: 1rem;
  align-items: start;
}

.whatsapp-template-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.whatsapp-template-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: start;
  min-height: 190px;
  padding: 0.9rem 1rem;
  border: 1px solid #e3f3e9;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.whatsapp-template-card:hover {
  border-color: #a7e9bd;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.whatsapp-template-phone {
  display: grid;
  align-content: start;
  gap: 0.4rem;
  min-height: 112px;
  padding: 0.42rem;
  border: 1px solid #ddf4e5;
  border-radius: 14px;
  background: linear-gradient(180deg, #e9fff0 0%, #f7fffa 100%);
}

.whatsapp-phone-top {
  display: flex;
  align-items: center;
  gap: 0.38rem;
}

.whatsapp-phone-top span {
  width: 21px;
  height: 21px;
  border-radius: 999px;
  background: #16a34a;
}

.whatsapp-phone-top em {
  flex: 1;
  height: 9px;
  border-radius: 999px;
  background: #bcebc9;
}

.whatsapp-bubble-preview {
  display: -webkit-box;
  overflow: hidden;
  min-height: 62px;
  padding: 0.46rem;
  border-radius: 12px 12px 4px 12px;
  color: #1f3b2e;
  background: #d9fdd3;
  font-size: 0.56rem;
  font-weight: 650;
  line-height: 1.28;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
}

.whatsapp-template-card-head,
.whatsapp-template-card p,
.whatsapp-template-actions {
  grid-column: 2;
}

.whatsapp-template-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
  min-width: 0;
}

.whatsapp-template-card h2 {
  margin: 0;
  color: #20252c;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.2;
}

.whatsapp-template-card code {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 100%;
  margin-top: 0.25rem;
  overflow: hidden;
  color: #148455;
  background: #ecfdf3;
  font-size: 0.69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whatsapp-template-status {
  flex: 0 0 auto;
  padding: 0.23rem 0.52rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 850;
}

.whatsapp-template-status.is-active {
  color: #08713f;
  background: #dcfce7;
}

.whatsapp-template-status.is-inactive {
  color: #64748b;
  background: #f1f5f9;
}

.whatsapp-template-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #687382;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: left;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
}

.whatsapp-template-actions {
  display: flex;
  justify-content: flex-end;
}

.whatsapp-variable-panel {
  position: sticky;
  top: 88px;
  overflow: hidden;
  border-color: #ddf4e5;
  border-radius: 16px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
}

.whatsapp-variable-panel .card-header {
  display: flex;
  align-items: center;
  gap: 0.72rem;
}

.whatsapp-variable-panel .card-header > span {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #0f7a52;
  background: #dcfce7;
  font-size: 1.2rem;
}

.whatsapp-variable-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.whatsapp-variable-grid span {
  padding: 0.28rem 0.5rem;
  border: 1px solid #d9f5e4;
  border-radius: 999px;
  color: #14734d;
  background: #f0fdf4;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.69rem;
  font-weight: 800;
}

@media (max-width: 1180px) {
  .whatsapp-template-layout,
  .whatsapp-template-list {
    grid-template-columns: 1fr;
  }

  .whatsapp-variable-panel {
    position: static;
  }
}

@media (max-width: 768px) {
  .whatsapp-template-page {
    gap: 0.78rem;
  }

  .whatsapp-template-hero {
    display: grid !important;
    gap: 0.75rem;
    padding: 0.92rem !important;
    border-radius: 18px !important;
  }

  .whatsapp-template-hero h1 {
    font-size: 1.22rem !important;
    line-height: 1.12 !important;
  }

  .whatsapp-template-hero p {
    font-size: 0.78rem !important;
    line-height: 1.38 !important;
  }

  .whatsapp-template-hero-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .whatsapp-template-hero-actions span {
    min-width: 74px;
    padding: 0.42rem 0.58rem;
    border-radius: 12px;
  }

  .whatsapp-template-hero-actions .btn {
    flex: 1 1 140px;
    justify-content: center;
  }

  .whatsapp-template-card {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 0.65rem;
    min-height: auto;
    padding: 0.72rem;
    border-radius: 16px;
  }

  .whatsapp-template-phone {
    min-height: 94px;
    border-radius: 14px;
  }

  .whatsapp-phone-top span {
    width: 20px;
    height: 20px;
  }

  .whatsapp-bubble-preview {
    min-height: 54px;
    padding: 0.44rem;
    font-size: 0.52rem;
  }

  .whatsapp-template-card-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.4rem;
  }

  .whatsapp-template-card h2 {
    font-size: 0.9rem;
  }

  .whatsapp-template-card code {
    max-width: 100%;
    overflow: hidden;
    font-size: 0.62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .whatsapp-template-card p {
    font-size: 0.72rem;
    -webkit-line-clamp: 2;
  }

  .whatsapp-template-actions {
    justify-content: flex-start;
  }

  .whatsapp-variable-panel .card-header {
    padding: 0.72rem;
  }

  .whatsapp-variable-grid {
    gap: 0.34rem;
  }

  .whatsapp-variable-grid span {
    font-size: 0.61rem;
  }

  .whatsapp-template-page .email-template-editor {
    min-height: 260px;
  }
}

@media (max-width: 430px) {
  .whatsapp-template-card {
    grid-template-columns: 1fr;
  }

  .whatsapp-template-phone,
  .whatsapp-template-card-head,
  .whatsapp-template-card p,
  .whatsapp-template-actions {
    grid-column: 1;
  }

  .whatsapp-template-phone {
    min-height: auto;
  }
}

.mobile-panel-shell {
  min-height: 100vh;
  max-width: 480px;
  margin: 0 auto;
  padding: 0 1rem 5.5rem;
  background: #f5f7fb;
}

.public-site-body {
  min-height: 100vh;
  margin: 0;
  color: #1f2933;
  background:
    radial-gradient(circle at 12% 0%, rgba(230, 98, 57, 0.07), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
}

.public-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.2rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.86);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
}

.public-brand img {
  display: block;
  max-width: 136px;
  max-height: 46px;
  object-fit: contain;
}

.public-nav nav {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
}

.public-nav nav a,
.public-section-head a,
.public-profile-card a {
  color: #d6532e;
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none;
}

.public-nav-actions {
  display: flex;
  gap: 0.5rem;
}

.public-site {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.25rem 1rem 3rem;
}

.public-hero {
  width: 100vw;
  margin: 0 0 1rem calc(50% - 50vw);
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
  gap: 1rem;
  align-items: stretch;
  padding: clamp(2rem, 5vw, 4.5rem) max(1rem, calc((100vw - 1180px) / 2 + 1rem));
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.12), transparent 30%),
    radial-gradient(circle at 85% 8%, rgba(230, 98, 57, 0.28), transparent 30%),
    linear-gradient(135deg, #101820 0%, #1e2a36 54%, #263746 100%);
}

.public-hero-copy,
.public-hero-showcase,
.public-stats,
.public-profile-card,
.public-services-grid > article,
.public-process-grid > div,
.public-impact-band,
.public-cta {
  border: 1px solid #edf1f5;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
}

.public-hero-copy {
  min-height: 390px;
  padding: clamp(1.4rem, 4vw, 3rem);
  border-color: rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.035));
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.public-eyebrow,
.public-section-head span,
.public-cta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.7rem;
  color: #d6532e;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.public-hero h1 {
  max-width: 660px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.35rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 0.98;
}

.public-hero p {
  max-width: 620px;
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.65;
}

.public-hero-lead {
  letter-spacing: 0;
}

.public-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  max-width: 560px;
  margin-top: 1.25rem;
}

.public-hero-metrics div {
  padding: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
}

.public-hero-metrics strong {
  display: block;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.public-hero-metrics span {
  display: block;
  margin-top: 0.25rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-hero .public-eyebrow {
  color: #fff;
  padding: 0.42rem 0.68rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}

.public-hero-actions .btn-outline-dark {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.08);
}

.public-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.35rem;
}

.public-hero-showcase {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.18);
}

.public-showcase-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  color: #24272b;
  background: #f8fafc;
}

.public-showcase-top span {
  color: #7a8491;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-showcase-top strong {
  max-width: 420px;
  color: #17212b;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  font-weight: 900;
  line-height: 1.16;
}

.public-showcase-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.public-showcase-grid div,
.public-showcase-note {
  display: grid;
  gap: 0.45rem;
  padding: 0.9rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fff;
}

.public-showcase-grid i,
.public-showcase-note i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #d6532e;
  border-radius: 12px;
  background: #fff1ec;
  font-size: 1.2rem;
}

.public-showcase-grid strong,
.public-showcase-note strong,
.public-profile-card h3,
.public-process-grid strong {
  color: #20252d;
  font-weight: 900;
}

.public-showcase-grid span,
.public-showcase-note span {
  color: #7a8491;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.35;
}

.public-showcase-note {
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  background: linear-gradient(135deg, #f8fafc 0%, #fff7f3 100%);
}

.public-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0.9rem 0 1rem;
}

.public-trust-strip div {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 58px;
  padding: 0.85rem 1rem;
  border: 1px solid #e9eef4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.public-trust-strip i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  color: #d6532e;
  border-radius: 11px;
  background: #fff1ec;
  font-size: 1.05rem;
}

.public-trust-strip span {
  color: #25313d;
  font-size: 0.86rem;
  font-weight: 850;
}

.public-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  padding: 0.75rem;
  margin: 0.6rem 0 1rem;
}

.public-stats div {
  padding: 1rem;
  border-radius: 14px;
  background: #fbfcfe;
}

.public-stats strong {
  display: block;
  color: #20252d;
  font-size: 1.65rem;
  font-weight: 900;
}

.public-stats span,
.public-profile-card span,
.public-process-grid p,
.public-cta p {
  color: #76808c;
  font-size: 0.88rem;
  font-weight: 700;
}

.public-section {
  padding: 1rem 0;
}

.public-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.public-section-head h2,
.public-cta h2 {
  margin: 0;
  color: #20252d;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  font-weight: 900;
}

.public-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.public-services-grid > article {
  padding: 1.1rem;
  min-height: 198px;
}

.public-services-grid i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 0.85rem;
  color: #d6532e;
  border-radius: 13px;
  background: #fff1ec;
  font-size: 1.25rem;
}

.public-services-grid h3 {
  margin: 0 0 0.45rem;
  color: #20252d;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
}

.public-services-grid p {
  margin: 0;
  color: #6f7884;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.5;
}

.public-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.public-profile-card {
  overflow: hidden;
}

.public-profile-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: contain;
  padding: 0.35rem;
  background: linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%);
}

.public-profile-card > div {
  padding: 1rem;
}

.public-profile-card h3 {
  margin: 0.15rem 0 0.35rem;
  font-size: 1.05rem;
}

.public-profile-card p {
  min-height: 3.3rem;
  margin: 0 0 0.8rem;
  color: #6f7884;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.45;
}

.public-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.public-process-grid > div {
  padding: 1.1rem;
}

.public-process-grid i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.8rem;
  color: #d6532e;
  border-radius: 12px;
  background: #fff1ec;
  font-size: 1.35rem;
}

.public-process-grid strong {
  display: block;
  margin-bottom: 0.35rem;
}

.public-process-grid p {
  margin: 0;
  line-height: 1.45;
}

.public-impact-band {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
  gap: 1rem;
  align-items: center;
  padding: 1.4rem;
  margin-top: 0.8rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.96)),
    radial-gradient(circle at 100% 0%, rgba(230, 98, 57, 0.08), transparent 36%);
}

.public-impact-band span:first-child {
  display: inline-flex;
  margin-bottom: 0.55rem;
  color: #d6532e;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.public-impact-band h2 {
  margin: 0;
  color: #17212b;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  font-weight: 900;
  line-height: 1.12;
}

.public-impact-list {
  display: grid;
  gap: 0.6rem;
}

.public-impact-list div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 0.85rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fff;
}

.public-impact-list strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #d6532e;
  border-radius: 12px;
  background: #fff1ec;
  font-size: 0.88rem;
  font-weight: 900;
}

.public-impact-list span {
  color: #4b5563;
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.4;
}

.public-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem;
  margin-top: 1rem;
}

.public-cta p {
  margin: 0.45rem 0 0;
}

.public-footer {
  width: 100%;
  margin-top: 0.5rem;
  color: #cbd3dc;
  background: #24272b;
}

.public-footer-inner {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 2rem 1rem 1.4rem;
}

.public-footer-brand img {
  display: block;
  max-width: 132px;
  max-height: 48px;
  object-fit: contain;
  margin-bottom: 0.85rem;
  padding: 0.35rem;
  border-radius: 10px;
  background: #fff;
}

.public-footer h3 {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 900;
}

.public-footer p,
.public-footer a,
.public-footer-bottom {
  color: #9aa5b1;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.6;
}

.public-footer a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  margin-bottom: 0.42rem;
  text-decoration: none;
}

.public-footer a:hover {
  color: #fff;
}

.public-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.85rem;
}

.public-footer-social a {
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 1.05rem;
}

.public-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 920px) {
  .public-nav {
    grid-template-columns: 1fr auto;
  }

  .public-nav nav {
    display: none;
  }

  .public-hero,
  .public-profile-grid,
  .public-services-grid,
  .public-process-grid {
    grid-template-columns: 1fr;
  }

  .public-hero-copy {
    min-height: auto;
  }

  .public-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-impact-band {
    grid-template-columns: 1fr;
  }

  .public-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .public-nav {
    padding: 0.7rem;
  }

  .public-brand img {
    max-width: 118px;
  }

  .public-nav-actions .btn-light {
    display: none;
  }

  .public-site {
    padding: 0.8rem 0.7rem 2rem;
  }

  .public-hero {
    padding: 1rem 0.7rem 1.2rem;
  }

  .public-hero-metrics {
    grid-template-columns: 1fr;
  }

  .public-showcase-grid,
  .public-trust-strip {
    grid-template-columns: 1fr;
  }

  .public-hero-copy,
  .public-hero-showcase,
  .public-cta {
    border-radius: 16px;
  }

  .public-stats {
    gap: 0.5rem;
    padding: 0.55rem;
  }

  .public-stats div {
    padding: 0.8rem;
  }

  .public-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .public-footer-inner {
    grid-template-columns: 1fr;
    gap: 0.9rem;
    padding: 1.4rem 0.8rem 1rem;
  }

  .public-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 0.9rem 0.8rem 1.2rem;
  }
}

/* Public corporate landing refresh */
.public-site-body {
  color: #101828;
  background: #fff;
}

.public-nav {
  max-width: 1320px;
  border-bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 30px rgba(16, 24, 40, 0.04);
}

.public-brand img {
  max-width: 148px;
  max-height: 54px;
}

.public-nav nav a,
.public-section-head a,
.public-profile-card a {
  color: #3177f4;
  font-weight: 800;
}

.public-nav .btn-primary,
.public-hero-actions .btn-primary,
.public-cta .btn-primary {
  border: 0;
  background: linear-gradient(135deg, #357cf7 0%, #8b54f7 100%);
  box-shadow: 0 14px 32px rgba(66, 125, 247, 0.22);
}

.public-site {
  max-width: 1320px;
  padding: 0 1.25rem 3.5rem;
}

.public-hero {
  width: 100%;
  margin: 0;
  grid-template-columns: minmax(0, 0.95fr) minmax(430px, 1.05fr);
  min-height: 620px;
  gap: 2rem;
  padding: clamp(3rem, 7vw, 6.5rem) 0 3rem;
  background: #fff;
}

.public-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.public-hero h1 {
  max-width: 720px;
  color: #101828;
  font-size: clamp(3.2rem, 5.9vw, 6.25rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
}

.public-hero h1 span,
.public-section-title h2 b,
.public-why h2 b,
.public-section-head h2 b {
  color: transparent;
  background: linear-gradient(135deg, #337df5 0%, #8d55f6 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.public-hero p {
  max-width: 650px;
  margin-top: 1.7rem;
  color: #5a6575;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 500;
  line-height: 1.45;
}

.public-hero-actions {
  gap: 1rem;
  margin-top: 2rem;
}

.public-hero-actions .btn {
  min-width: 172px;
  padding: 0.85rem 1.25rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 850;
}

.public-hero-actions .btn-outline-primary {
  color: #2f6ff0;
  border: 1.5px solid #2f6ff0;
  background: #fff;
}

.public-hero-visual {
  position: relative;
  min-height: 520px;
}

.public-hero-visual::before {
  position: absolute;
  inset: 10% 8% 9% 16%;
  content: "";
  border-radius: 44% 56% 48% 52%;
  background: #d9deef;
}

.public-screen {
  position: absolute;
  right: 6%;
  top: 18%;
  width: 58%;
  min-height: 265px;
  padding: 1rem;
  border: 12px solid #34363b;
  border-radius: 18px;
  background: #f8faff;
  box-shadow: 0 24px 55px rgba(16, 24, 40, 0.16);
}

.public-screen-bar {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

.public-screen-bar span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #9aa7bd;
}

.public-chart {
  display: flex;
  align-items: end;
  gap: 0.8rem;
  height: 135px;
  padding: 1rem;
  border-radius: 16px;
  background: #fff;
}

.public-chart span {
  width: 100%;
  border-radius: 12px 12px 4px 4px;
  background: linear-gradient(180deg, #347df5, #8b54f7);
}

.public-play-card {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.9rem;
  padding: 0.55rem 0.8rem;
  color: #101828;
  border-radius: 999px;
  background: #fff;
  font-size: 0.85rem;
  font-weight: 900;
}

.public-person {
  position: absolute;
  z-index: 2;
  width: 150px;
  height: 190px;
  border-radius: 80px 80px 24px 24px;
  background: linear-gradient(180deg, #ffbd42 0%, #f48b34 100%);
  box-shadow: 0 18px 36px rgba(16, 24, 40, 0.14);
}

.public-person-left {
  left: 7%;
  bottom: 12%;
  background: linear-gradient(180deg, #4a84f6 0%, #1ab980 100%);
}

.public-person-right {
  right: 20%;
  top: 10%;
}

.public-face {
  position: absolute;
  left: 50%;
  top: -36px;
  width: 74px;
  height: 74px;
  transform: translateX(-50%);
  border: 8px solid #fff;
  border-radius: 50%;
  background: #ffd1ad;
}

.public-laptop {
  position: absolute;
  right: -60px;
  top: 60px;
  width: 130px;
  height: 78px;
  border-radius: 12px;
  background: #30343b;
}

.public-pointer {
  position: absolute;
  right: -24px;
  top: 54px;
  width: 48px;
  height: 8px;
  transform: rotate(-35deg);
  border-radius: 999px;
  background: #34363b;
}

.public-plant {
  position: absolute;
  right: 0;
  bottom: 8%;
  width: 92px;
  height: 160px;
  border-bottom: 58px solid #357cf7;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
}

.public-plant::before {
  position: absolute;
  left: -20px;
  bottom: 42px;
  width: 120px;
  height: 96px;
  content: "";
  border-radius: 70px 70px 20px 20px;
  background:
    radial-gradient(circle at 25% 50%, #1fbe75 0 28%, transparent 29%),
    radial-gradient(circle at 50% 32%, #22c982 0 32%, transparent 33%),
    radial-gradient(circle at 75% 52%, #17a866 0 28%, transparent 29%);
}

.public-section {
  padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.public-section-title {
  max-width: 840px;
  margin: 0 auto 3rem;
  text-align: center;
}

.public-section-title > span,
.public-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.8rem;
  padding: 0.35rem 0.85rem;
  color: #2f73f5;
  border-radius: 999px;
  background: #e8f1ff;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.public-section-title h2 {
  position: relative;
  display: inline-block;
  margin: 0;
  color: #101828;
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 950;
  line-height: 1.08;
}

.public-section-title h2::after {
  position: absolute;
  left: 50%;
  bottom: -0.65rem;
  width: 210px;
  height: 4px;
  content: "";
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, #347df5, #8b54f7);
}

.public-section-title p {
  max-width: 780px;
  margin: 2rem auto 0;
  color: #5a6575;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.55;
}

.public-services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.public-services-grid > article {
  min-height: 360px;
  padding: 2rem;
  border: 1px solid #e7edf6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(16, 24, 40, 0.045);
}

.public-services-grid > article.is-featured {
  border-color: #b9d2ff;
  box-shadow: 0 28px 70px rgba(52, 125, 245, 0.12);
}

.public-services-grid i,
.public-why-list i {
  width: 58px;
  height: 58px;
  margin-bottom: 1.55rem;
  color: #347df5;
  border-radius: 12px;
  background: #deecff;
  font-size: 1.65rem;
}

.public-services-grid article:nth-child(2) i,
.public-why-list div:nth-child(2) i {
  color: #16a75b;
  background: #dff8e9;
}

.public-services-grid article:nth-child(3) i,
.public-why-list div:nth-child(3) i {
  color: #9747ff;
  background: #f0e4ff;
}

.public-services-grid article:nth-child(4) i,
.public-why-list div:nth-child(4) i {
  color: #d69200;
  background: #fff6bd;
}

.public-services-grid h3 {
  margin-bottom: 1rem;
  color: #101828;
  font-size: 1.35rem;
}

.public-services-grid p {
  color: #5a6575;
  font-size: 1rem;
  line-height: 1.48;
}

.public-services-grid ul {
  display: grid;
  gap: 0.7rem;
  margin: 1.3rem 0 0;
  padding: 0;
  color: #566171;
  list-style: none;
  font-size: 0.98rem;
  font-weight: 600;
}

.public-services-grid li {
  position: relative;
  padding-left: 1.55rem;
}

.public-services-grid li::before {
  position: absolute;
  left: 0;
  top: 0.18rem;
  width: 18px;
  height: 18px;
  content: "\2713";
  color: #fff;
  border-radius: 50%;
  background: #347df5;
  font-size: 0.72rem;
  font-weight: 900;
  text-align: center;
  line-height: 18px;
}

.public-services-grid article:nth-child(2) li::before {
  background: #22c55e;
}

.public-services-grid article:nth-child(3) li::before {
  background: #9747ff;
}

.public-services-grid article:nth-child(4) li::before {
  background: #eab308;
}

.public-why {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 3rem;
  align-items: center;
}

.public-why h2 {
  max-width: 680px;
  margin: 0;
  color: #101828;
  font-size: clamp(2.1rem, 4.8vw, 4rem);
  font-weight: 950;
  line-height: 1.05;
}

.public-why > div > p {
  max-width: 780px;
  margin: 1.8rem 0 2.5rem;
  color: #5a6575;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.55;
}

.public-why-list {
  display: grid;
  gap: 1.7rem;
}

.public-why-list div {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 1.2rem;
  align-items: start;
}

.public-why-list i {
  grid-row: span 2;
  margin: 0;
}

.public-why-list strong {
  color: #101828;
  font-size: 1.22rem;
  font-weight: 900;
}

.public-why-list span {
  color: #5a6575;
  font-size: 1.04rem;
  font-weight: 500;
  line-height: 1.5;
}

.public-why-card {
  display: grid;
  gap: 0.45rem;
  padding: 2rem;
  border: 1px solid #e7edf6;
  border-radius: 26px;
  background: linear-gradient(135deg, #f8fbff, #fff);
  box-shadow: 0 28px 70px rgba(16, 24, 40, 0.07);
}

.public-why-card strong {
  color: #347df5;
  font-size: 3.2rem;
  font-weight: 950;
  line-height: 1;
}

.public-why-card span {
  margin-bottom: 1.2rem;
  color: #5a6575;
  font-weight: 800;
}

.public-testimonials {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-inline: max(1.25rem, calc((100vw - 1320px) / 2 + 1.25rem));
  background: #f7f9fc;
}

.public-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.public-testimonial-grid article {
  min-height: 300px;
  padding: 2rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(16, 24, 40, 0.06);
}

.public-testimonial-grid i {
  color: #e8f1ff;
  font-size: 2.4rem;
}

.public-testimonial-grid p {
  min-height: 96px;
  margin: 1rem 0 1.2rem;
  color: #5a6575;
  font-size: 1.02rem;
  line-height: 1.55;
}

.public-testimonial-grid strong {
  display: block;
  color: #101828;
  font-size: 1.05rem;
  font-weight: 900;
}

.public-testimonial-grid span {
  display: block;
  color: #3177f4;
  font-weight: 700;
}

.public-testimonial-grid div {
  margin-top: 1.3rem;
  color: #ffc400;
  letter-spacing: 0.08rem;
}

.public-section-head {
  margin-top: 1rem;
}

.public-profile-card,
.public-cta {
  border-color: #e7edf6;
  box-shadow: 0 18px 44px rgba(16, 24, 40, 0.045);
}

.public-cta {
  padding: 2rem;
  border-radius: 24px;
  background: linear-gradient(135deg, #f8fbff 0%, #fff 58%, #f2ecff 100%);
}

.public-cta span {
  color: #3177f4;
}

.public-footer {
  background: #101828;
}

@media (max-width: 1040px) {
  .public-hero,
  .public-why {
    grid-template-columns: 1fr;
  }

  .public-hero-visual {
    min-height: 460px;
  }

  .public-services-grid,
  .public-testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .public-site {
    padding-inline: 1rem;
  }

  .public-hero {
    min-height: auto;
    padding-top: 2.2rem;
  }

  .public-hero h1 {
    font-size: clamp(2.55rem, 14vw, 4rem);
  }

  .public-hero p {
    font-size: 1.04rem;
  }

  .public-hero-actions .btn {
    width: 100%;
  }

  .public-hero-visual {
    min-height: 340px;
  }

  .public-screen {
    right: 2%;
    top: 18%;
    width: 72%;
    min-height: 210px;
    border-width: 8px;
  }

  .public-person {
    width: 108px;
    height: 146px;
  }

  .public-person-left {
    left: 0;
  }

  .public-person-right {
    right: 14%;
  }

  .public-plant {
    display: none;
  }

  .public-section {
    padding: 3rem 0;
  }

  .public-section-title {
    margin-bottom: 2rem;
  }

  .public-section-title h2 {
    font-size: 2rem;
  }

  .public-services-grid,
  .public-testimonial-grid,
  .public-profile-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .public-services-grid > article,
  .public-testimonial-grid article {
    min-height: auto;
    padding: 1.35rem;
  }

  .public-why-list div {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0.9rem;
  }

  .public-why-list i {
    width: 52px;
    height: 52px;
    font-size: 1.35rem;
  }
}

/* Compact premium tuning for the public website */
.public-nav {
  max-width: 1240px;
  padding: 0.55rem 1rem;
}

.public-brand img {
  max-width: 128px;
  max-height: 44px;
}

.public-nav nav {
  gap: 1rem;
}

.public-nav nav a {
  font-size: 0.82rem;
}

.public-nav-actions .btn {
  padding: 0.42rem 0.8rem;
  font-size: 0.82rem;
}

.public-site {
  max-width: 1240px;
  padding-inline: 1rem;
}

.public-hero {
  grid-template-columns: minmax(0, 0.98fr) minmax(390px, 0.92fr);
  min-height: 500px;
  gap: 1.4rem;
  padding: clamp(2rem, 4.8vw, 4.4rem) 0 2rem;
}

.public-hero h1 {
  max-width: 660px;
  font-size: clamp(2.75rem, 5.1vw, 5rem);
  line-height: 1;
}

.public-hero p {
  max-width: 570px;
  margin-top: 1.15rem;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.5;
}

.public-hero-actions {
  gap: 0.75rem;
  margin-top: 1.4rem;
}

.public-hero-actions .btn {
  min-width: 146px;
  padding: 0.7rem 1rem;
  font-size: 0.9rem;
}

.public-hero-visual {
  min-height: 420px;
}

.public-screen {
  right: 8%;
  top: 17%;
  width: 56%;
  min-height: 220px;
  padding: 0.8rem;
  border-width: 10px;
  border-radius: 16px;
}

.public-chart {
  height: 106px;
  gap: 0.55rem;
  padding: 0.75rem;
}

.public-person {
  width: 122px;
  height: 158px;
}

.public-face {
  top: -30px;
  width: 62px;
  height: 62px;
  border-width: 7px;
}

.public-laptop {
  right: -48px;
  top: 52px;
  width: 108px;
  height: 64px;
}

.public-plant {
  width: 72px;
  height: 126px;
  border-bottom-width: 48px;
}

.public-section {
  padding: clamp(2.2rem, 5vw, 4rem) 0;
}

.public-section-title {
  max-width: 760px;
  margin-bottom: 2rem;
}

.public-section-title > span,
.public-pill {
  margin-bottom: 0.55rem;
  padding: 0.28rem 0.72rem;
  font-size: 0.74rem;
}

.public-section-title h2 {
  font-size: clamp(1.75rem, 3.1vw, 2.75rem);
}

.public-section-title h2::after {
  bottom: -0.45rem;
  width: 170px;
  height: 3px;
}

.public-section-title p {
  max-width: 680px;
  margin-top: 1.35rem;
  font-size: 0.98rem;
  line-height: 1.5;
}

.public-services-grid {
  gap: 1rem;
}

.public-services-grid > article {
  min-height: 286px;
  padding: 1.35rem;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.04);
}

.public-services-grid > article.is-featured {
  box-shadow: 0 18px 46px rgba(52, 125, 245, 0.11);
}

.public-services-grid i,
.public-why-list i {
  width: 46px;
  height: 46px;
  margin-bottom: 1rem;
  border-radius: 11px;
  font-size: 1.35rem;
}

.public-services-grid h3 {
  margin-bottom: 0.65rem;
  font-size: 1.08rem;
}

.public-services-grid p {
  font-size: 0.88rem;
}

.public-services-grid ul {
  gap: 0.45rem;
  margin-top: 0.9rem;
  font-size: 0.84rem;
}

.public-services-grid li {
  padding-left: 1.35rem;
}

.public-services-grid li::before {
  top: 0.13rem;
  width: 16px;
  height: 16px;
  font-size: 0.66rem;
  line-height: 16px;
}

.public-why {
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 2rem;
}

.public-why h2 {
  max-width: 620px;
  font-size: clamp(1.9rem, 3.6vw, 3.1rem);
}

.public-why > div > p {
  max-width: 680px;
  margin: 1.1rem 0 1.6rem;
  font-size: 1rem;
}

.public-why-list {
  gap: 1rem;
}

.public-why-list div {
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 0.85rem;
}

.public-why-list strong {
  font-size: 1rem;
}

.public-why-list span {
  font-size: 0.9rem;
}

.public-why-card {
  padding: 1.35rem;
  border-radius: 18px;
  box-shadow: 0 20px 46px rgba(16, 24, 40, 0.055);
}

.public-why-card strong {
  font-size: 2.35rem;
}

.public-why-card span {
  margin-bottom: 0.7rem;
  font-size: 0.85rem;
}

.public-testimonials {
  padding-inline: max(1rem, calc((100vw - 1240px) / 2 + 1rem));
}

.public-testimonial-grid {
  gap: 1rem;
}

.public-testimonial-grid article {
  min-height: 230px;
  padding: 1.35rem;
  border-radius: 15px;
  box-shadow: 0 18px 42px rgba(16, 24, 40, 0.055);
}

.public-testimonial-grid i {
  font-size: 1.7rem;
}

.public-testimonial-grid p {
  min-height: 78px;
  margin: 0.7rem 0 0.9rem;
  font-size: 0.9rem;
}

.public-testimonial-grid strong {
  font-size: 0.95rem;
}

.public-testimonial-grid span,
.public-testimonial-grid div {
  font-size: 0.86rem;
}

.public-section-head {
  margin: 0.4rem 0 0.7rem;
}

.public-section-head h2 {
  font-size: 1.35rem;
}

.public-profile-grid {
  gap: 0.8rem;
}

.public-profile-card {
  border-radius: 15px;
}

.public-profile-card > div {
  padding: 0.85rem;
}

.public-profile-card h3 {
  font-size: 0.98rem;
}

.public-profile-card p {
  min-height: 2.9rem;
  font-size: 0.8rem;
}

.public-cta {
  padding: 1.35rem;
  border-radius: 18px;
}

.public-cta h2 {
  font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.public-footer-inner {
  max-width: 1240px;
  padding: 1.5rem 1rem 1rem;
}

.public-footer-bottom {
  max-width: 1240px;
  padding: 0.8rem 1rem;
}

@media (max-width: 1040px) {
  .public-hero {
    grid-template-columns: 1fr;
  }

  .public-why {
    grid-template-columns: 1fr;
  }

  .public-why-card {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
  }
}

@media (max-width: 640px) {
  .public-hero {
    padding-top: 1.4rem;
  }

  .public-hero h1 {
    font-size: clamp(2.2rem, 12vw, 3.35rem);
  }

  .public-hero-visual {
    min-height: 285px;
  }

  .public-screen {
    min-height: 170px;
  }

  .public-chart {
    height: 78px;
  }

  .public-person {
    width: 90px;
    height: 122px;
  }

  .public-section {
    padding: 2.2rem 0;
  }

  .public-why-card {
    grid-template-columns: 1fr;
  }
}

.mobile-panel-hero {
  margin: 0 -1rem;
  padding: 1.2rem 1rem 4.2rem;
  color: #fff;
  border-radius: 0 0 28px 28px;
  background: linear-gradient(135deg, #24272b 0%, #e66239 100%);
}

.mobile-panel-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.mobile-panel-top span {
  display: inline-flex;
  margin-bottom: 0.3rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  font-size: 0.72rem;
  font-weight: 800;
}

.mobile-panel-top h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
}

.mobile-panel-top p {
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.86rem;
}

.mobile-panel-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  color: #24272b;
  border-radius: 16px;
  background: #fff;
  font-size: 1.25rem;
}

.mobile-admin-return {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 1rem;
  padding: 0.45rem 0.7rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  font-size: 0.78rem;
  font-weight: 800;
}

.mobile-panel-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: -2.7rem;
}

.mobile-panel-stats div,
.mobile-panel-card {
  border: 1px solid rgba(237, 240, 243, 0.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.08);
}

.mobile-panel-stats div {
  padding: 0.8rem;
  text-align: center;
}

.mobile-panel-stats strong {
  display: block;
  color: #24272b;
  font-size: 1.25rem;
  line-height: 1;
}

.mobile-panel-stats span {
  display: block;
  margin-top: 0.25rem;
  color: #727a84;
  font-size: 0.72rem;
  font-weight: 800;
}

.mobile-panel-card {
  margin-top: 1rem;
  padding: 1rem;
}

.panel-dashboard-shell {
  position: relative;
}

.panel-dashboard-shell .mobile-panel-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel-dashboard-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 24%, rgba(255, 255, 255, 0.18), transparent 28%),
    linear-gradient(135deg, #23262b 0%, #6c3d35 46%, #ef5e35 100%);
}

.panel-dashboard-hero::after {
  content: "";
  position: absolute;
  right: -54px;
  bottom: -82px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
}

.panel-dashboard-hero > * {
  position: relative;
  z-index: 1;
}

.panel-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1.1rem;
}

.panel-hero-metrics div {
  padding: 0.65rem 0.72rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}

.panel-hero-metrics strong,
.panel-hero-metrics span {
  display: block;
}

.panel-hero-metrics strong {
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.1;
}

.panel-hero-metrics span {
  margin-top: 0.18rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.68rem;
  font-weight: 800;
}

.panel-stat-tile {
  position: relative;
  overflow: hidden;
}

.panel-stat-tile i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 0.5rem;
  color: #ef5e35;
  border-radius: 12px;
  background: #fff3ee;
  font-size: 1.05rem;
}

.panel-dashboard-card {
  border-color: #eef2f6;
}

.panel-performance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.panel-metric-box {
  display: grid;
  align-content: start;
  min-height: 92px;
  padding: 0.85rem;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
}

.panel-metric-box.is-wide {
  grid-column: 1 / -1;
  min-height: 74px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.75rem;
}

.panel-metric-box.is-wide i {
  grid-row: span 2;
  margin: 0;
}

.panel-metric-box i {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.55rem;
  color: #ef5e35;
  border-radius: 10px;
  background: #fff0eb;
}

.panel-metric-box span {
  display: block;
  color: #24272b;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
}

.panel-metric-box p {
  margin: 0.22rem 0 0;
  color: #727a84;
  font-size: 0.72rem;
  font-weight: 800;
}

.panel-metric-box.is-status {
  background: linear-gradient(135deg, #fff6f2 0%, #ffffff 100%);
}

.mobile-section-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.mobile-section-head h2 {
  margin: 0;
  color: #24272b;
  font-size: 1rem;
  font-weight: 800;
}

.mobile-section-head p {
  margin: 0.2rem 0 0;
  color: #727a84;
  font-size: 0.78rem;
}

.mobile-form-grid {
  display: grid;
  gap: 0.65rem;
}

.mobile-form-grid .form-control {
  min-height: 46px;
  border-radius: 12px;
}

.mobile-team-list {
  display: grid;
  gap: 0.65rem;
}

.mobile-team-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem;
  border: 1px solid #edf0f3;
  border-radius: 14px;
  background: #fbfcfd;
}

.mobile-team-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #e66239;
  border-radius: 14px;
  background: rgba(230, 98, 57, 0.1);
}

.mobile-team-item h3 {
  margin: 0;
  color: #24272b;
  font-size: 0.9rem;
  font-weight: 800;
}

.mobile-team-item p {
  margin: 0.2rem 0 0;
  overflow: hidden;
  color: #727a84;
  font-size: 0.74rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mobile-empty-state {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  padding: 1.5rem;
  color: #8a929b;
  text-align: center;
}

.mobile-empty-state i {
  font-size: 2rem;
}

.mobile-bottom-nav {
  position: fixed;
  right: 50%;
  bottom: 0.8rem;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: min(448px, calc(100vw - 2rem));
  padding: 0.45rem;
  border: 1px solid rgba(237, 240, 243, 0.95);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
  transform: translateX(50%);
  backdrop-filter: blur(10px);
}

.mobile-bottom-nav a {
  display: grid;
  justify-items: center;
  gap: 0.15rem;
  padding: 0.45rem 0.25rem;
  color: #7a828b;
  border-radius: 14px;
  font-size: 0.68rem;
  font-weight: 800;
}

.mobile-bottom-nav a i {
  font-size: 1.15rem;
}

.mobile-bottom-nav a.active {
  color: #e66239;
  background: rgba(230, 98, 57, 0.1);
}

@media (min-width: 900px) {
  .mobile-panel-shell {
    display: grid;
    grid-template-columns: minmax(420px, 0.9fr) minmax(540px, 1.1fr);
    align-items: start;
    gap: 1.25rem;
    max-width: 100%;
    min-height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
  }

  .mobile-panel-hero {
    grid-column: 1 / -1;
    margin: 0;
    padding: 1.5rem 1.7rem;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
  }

  .mobile-panel-top {
    align-items: center;
  }

  .mobile-panel-top h1 {
    font-size: 2rem;
  }

  .mobile-panel-stats {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0;
    padding: 0;
  }

  .mobile-panel-stats div,
  .mobile-panel-card {
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
  }

  .mobile-panel-stats div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.8rem;
    padding: 1rem;
    text-align: left;
  }

  .panel-stat-tile i {
    flex: 0 0 auto;
    margin-bottom: 0;
  }

  .mobile-panel-stats strong {
    font-size: 1.6rem;
    order: 1;
  }

  .mobile-panel-stats span {
    margin-top: 0;
    font-size: 0.8rem;
    margin-left: auto;
    text-align: right;
  }

  .mobile-panel-card {
    min-height: 100%;
    margin-top: 0;
    padding: 1.25rem;
  }

  .panel-dashboard-card {
    min-height: 250px;
  }

  .panel-attendance-card {
    grid-column: 1 / -1;
    min-height: auto;
  }

  .panel-hero-metrics {
    width: min(560px, 42%);
    margin-top: 1rem;
  }

  .panel-hero-metrics div {
    border-radius: 8px;
  }

  .panel-performance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .panel-metric-box {
    min-height: 86px;
    border-radius: 8px;
  }

  .mobile-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }

  .mobile-form-grid .form-control {
    border-radius: 6px;
  }

  .mobile-form-grid .btn {
    grid-column: 1 / -1;
  }

  .mobile-team-list {
    max-height: 430px;
    overflow: auto;
    padding-right: 0.15rem;
  }

  #assigned-candidates {
    grid-column: 1 / -1;
  }

  .panel-work-table-wrap {
    display: block;
  }

  .panel-work-mobile-list {
    display: none;
  }

  .calling-process-page {
    display: block;
    min-height: auto;
    padding: 0;
    background: transparent;
  }

  .calling-process-top {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .calling-table-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0;
  }

  .calling-desk-header,
  .calling-table-card {
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
  }

  .calling-disposition-card,
  .calling-interview-card,
  .calling-table-card:last-child {
    grid-column: 1 / -1;
  }

  .calling-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mobile-team-item {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    padding: 0.85rem 0;
    border-width: 0 0 1px;
    border-radius: 0;
    background: transparent;
  }

  .mobile-team-icon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
  }

  .mobile-bottom-nav {
    display: none;
  }
}

@media (max-width: 899px) {
  .mobile-panel-shell {
    overflow: hidden;
  }
}

@media (max-width: 576px) {
  .panel-dashboard-shell.mobile-panel-shell {
    max-width: 100%;
    padding: 0 0.55rem 4.5rem;
    background: #fff;
  }

  .panel-dashboard-shell .mobile-panel-hero {
    margin: 0 -0.55rem 0.42rem;
    padding: 0.62rem 0.66rem;
    color: #24272b;
    border: 0;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0 0 16px 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  }

  .panel-dashboard-shell .panel-dashboard-hero::after {
    display: none;
  }

  .panel-dashboard-shell .mobile-panel-top {
    align-items: center;
    gap: 0.62rem;
  }

  .panel-dashboard-shell .mobile-panel-top span {
    margin-bottom: 0.2rem;
    padding: 0.18rem 0.45rem;
    color: #e66239;
    background: #fff0eb;
    font-size: 0.56rem;
    letter-spacing: 0;
  }

  .panel-dashboard-shell .mobile-panel-top h1 {
    color: #24272b;
    font-size: 1.05rem;
    line-height: 1.15;
  }

  .panel-dashboard-shell .mobile-panel-top p {
    margin-top: 0.16rem;
    color: #727a84;
    font-size: 0.72rem;
  }

  .panel-dashboard-shell .mobile-panel-avatar {
    width: 34px;
    height: 34px;
    color: #e66239;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(230, 98, 57, 0.12);
    font-size: 1rem;
  }

  .panel-dashboard-shell .panel-hero-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.34rem;
    margin-top: 0.48rem;
  }

  .panel-dashboard-shell .panel-hero-metrics div {
    padding: 0.38rem 0.42rem;
    border: 1px solid #edf0f3;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: none;
  }

  .panel-dashboard-shell .panel-hero-metrics strong {
    color: #24272b;
    font-size: 0.82rem;
  }

  .panel-dashboard-shell .panel-hero-metrics span {
    color: #727a84;
    font-size: 0.54rem;
  }

  .panel-dashboard-shell .mobile-admin-return {
    display: none;
  }

  .panel-dashboard-shell .mobile-panel-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.32rem;
    margin-top: 0;
  }

  .panel-dashboard-shell .mobile-panel-stats div {
    padding: 0.46rem 0.24rem;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045);
  }

  .panel-dashboard-shell .panel-stat-tile i {
    width: 25px;
    height: 25px;
    margin-bottom: 0.25rem;
    border-radius: 8px;
    font-size: 0.76rem;
  }

  .panel-dashboard-shell .mobile-panel-stats strong {
    font-size: 0.9rem;
  }

  .panel-dashboard-shell .mobile-panel-stats span {
    margin-top: 0.14rem;
    font-size: 0.52rem;
    line-height: 1.15;
  }

  .panel-dashboard-shell .mobile-panel-card {
    margin-top: 0.46rem;
    padding: 0.54rem;
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
  }

  .panel-dashboard-shell .mobile-section-head {
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.38rem;
  }

  .panel-dashboard-shell .mobile-section-head h2 {
    font-size: 0.96rem;
  }

  .panel-dashboard-shell .mobile-section-head p {
    display: none;
  }

  .panel-dashboard-shell .mobile-section-head .btn {
    min-height: 32px;
    padding: 0.36rem 0.55rem;
    border-radius: 10px;
    font-size: 0.62rem;
    white-space: nowrap;
  }

  .panel-dashboard-shell .panel-performance-grid {
    gap: 0.38rem;
  }

  .panel-dashboard-shell .panel-metric-box {
    min-height: 68px;
    padding: 0.56rem;
    border-radius: 11px;
    background: #fff;
  }

  .panel-dashboard-shell .panel-metric-box.is-wide {
    min-height: 66px;
    padding: 0.58rem;
  }

  .panel-dashboard-shell .panel-metric-box i {
    width: 24px;
    height: 24px;
    margin-bottom: 0.28rem;
    border-radius: 8px;
    font-size: 0.75rem;
  }

  .panel-dashboard-shell .panel-metric-box span {
    font-size: 0.86rem;
    line-height: 1.2;
  }

  .panel-dashboard-shell .panel-metric-box p {
    margin-top: 0.08rem;
    font-size: 0.58rem;
  }

  .panel-dashboard-shell .panel-attendance-card .table {
    font-size: 0.64rem;
  }

  .panel-dashboard-shell .panel-attendance-card th,
  .panel-dashboard-shell .panel-attendance-card td {
    padding: 0.38rem 0.28rem;
  }

  .panel-dashboard-shell .mobile-bottom-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: min(430px, calc(100vw - 0.7rem));
    bottom: 0.38rem;
    padding: 0.28rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.13);
  }

  .panel-dashboard-shell .mobile-bottom-nav a {
    min-width: 0;
    padding: 0.32rem 0.04rem;
    border-radius: 10px;
    gap: 0.08rem;
    font-size: 0.5rem;
    line-height: 1.1;
  }

  .panel-dashboard-shell .mobile-bottom-nav a i {
    font-size: 0.9rem;
  }

  .panel-work-view-tabs {
    gap: 0.38rem;
    margin-bottom: 0.5rem;
  }

  .panel-work-view-tabs a {
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: 58px;
    gap: 0.16rem;
    padding: 0.44rem 0.22rem;
    border-radius: 13px;
    font-size: 0.58rem;
    line-height: 1.1;
    text-align: center;
  }

  .panel-work-view-tabs a i {
    font-size: 0.92rem;
  }

  .panel-work-view-tabs a strong {
    min-width: 22px;
    height: 20px;
    font-size: 0.58rem;
  }

  .panel-work-shell.mobile-panel-shell {
    max-width: 100%;
    padding: 0 0.55rem 4.5rem;
    background: #fff;
  }

  .panel-work-shell .mobile-panel-hero {
    margin: 0 -0.55rem 0.42rem;
    padding: 0.6rem 0.66rem;
    color: #24272b;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0 0 16px 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  }

  .panel-work-shell .mobile-panel-top {
    align-items: center;
    gap: 0.62rem;
  }

  .panel-work-shell .mobile-panel-top span {
    margin-bottom: 0.2rem;
    padding: 0.18rem 0.45rem;
    color: #e66239;
    background: #fff0eb;
    font-size: 0.56rem;
    letter-spacing: 0;
  }

  .panel-work-shell .mobile-panel-top h1 {
    color: #24272b;
    font-size: 1.05rem;
    line-height: 1.15;
  }

  .panel-work-shell .mobile-panel-top p {
    margin-top: 0.16rem;
    color: #727a84;
    font-size: 0.72rem;
  }

  .panel-work-shell .mobile-panel-avatar {
    width: 34px;
    height: 34px;
    color: #e66239;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(230, 98, 57, 0.12);
    font-size: 1rem;
  }

  .panel-work-shell .mobile-admin-return {
    display: none;
  }

  .panel-work-priority {
    gap: 0.42rem;
    margin-top: 0.42rem;
    padding: 0.5rem;
    border-radius: 13px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
  }

  .panel-work-priority-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.46rem;
    align-items: start;
  }

  .panel-work-priority-head > div:first-child span {
    display: none;
  }

  .panel-work-priority-head h2 {
    font-size: 0.92rem;
    line-height: 1.12;
  }

  .panel-work-priority-head p {
    display: none;
  }

  .panel-work-priority-stats {
    grid-template-columns: repeat(2, minmax(42px, 1fr));
    gap: 0.22rem;
    min-width: 0;
  }

  .panel-work-priority-stats span {
    min-width: 48px;
    padding: 0.28rem 0.24rem;
    border-radius: 8px;
    font-size: 0.42rem;
    text-align: center;
  }

  .panel-work-priority-stats strong {
    font-size: 0.76rem;
  }

  .today-interview-grid {
    grid-template-columns: 1fr;
    gap: 0.36rem;
  }

  .today-interview-card {
    gap: 0.52rem;
    padding: 0.5rem;
    border-radius: 11px;
  }

  .today-interview-time {
    min-width: 62px;
    padding: 0.38rem;
    border-radius: 10px;
  }

  .today-interview-time strong {
    font-size: 0.68rem;
  }

  .today-interview-time span,
  .today-interview-main p,
  .today-interview-main em {
    font-size: 0.5rem;
  }

  .today-interview-main h3 {
    font-size: 0.82rem;
  }

  .today-interview-empty {
    padding: 0.52rem;
    border-radius: 10px;
    font-size: 0.56rem;
  }

  .panel-work-shell .mobile-panel-card {
    margin-top: 0.46rem;
    padding: 0.52rem;
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
  }

  .panel-work-filters {
    position: sticky;
    z-index: 8;
    top: 0.35rem;
    grid-template-columns: 1fr;
    gap: 0.32rem;
    margin: 0 -0.16rem 0.42rem;
    padding: 0.4rem;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(12px);
  }

  .panel-work-search {
    min-height: 34px;
    padding: 0 0.6rem;
    border-radius: 11px;
  }

  .panel-work-search input {
    font-size: 0.66rem;
  }

  .panel-work-filter-chips {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    justify-content: flex-start;
    gap: 0.28rem;
    overflow-x: auto;
    padding-bottom: 0.06rem;
    scrollbar-width: none;
  }

  .panel-work-filter-chips::-webkit-scrollbar {
    display: none;
  }

  .panel-work-filter-chips button {
    min-height: 29px;
    padding: 0 0.56rem;
    border-radius: 999px;
    font-size: 0.52rem;
    white-space: nowrap;
  }

  .panel-work-filter-result {
    display: none;
  }

  .panel-work-shell .mobile-section-head {
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.36rem;
  }

  .panel-work-shell .mobile-section-head h2 {
    font-size: 0.94rem;
  }

  .panel-work-shell .mobile-section-head p {
    display: none;
  }

  .panel-work-shell .mobile-section-head .btn {
    min-height: 28px;
    padding: 0.28rem 0.44rem;
    border-radius: 8px;
    font-size: 0.56rem;
    white-space: nowrap;
  }

  .panel-work-shell .panel-work-mobile-list {
    gap: 0.34rem;
  }

  .panel-work-shell .panel-profile-group {
    gap: 0;
    overflow: hidden;
    border: 1px solid #edf0f3;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
  }

  .panel-work-shell .panel-profile-group + .panel-profile-group {
    margin-top: 0;
  }

  .panel-work-shell .panel-profile-group-head {
    padding: 0.4rem 0.54rem;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0;
    background: #fff;
  }

  .panel-work-shell .panel-profile-group-head strong {
    font-size: 0.82rem;
    line-height: 1.2;
  }

  .panel-work-shell .panel-profile-group-head span {
    padding: 0.16rem 0.38rem;
    border-radius: 999px;
    color: #e66239;
    background: #fff0eb;
    font-size: 0.5rem;
    font-weight: 800;
  }

  .panel-work-shell .panel-candidate-card {
    gap: 0.42rem;
    padding: 0.56rem 0.58rem;
    border: 0;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .panel-work-shell .panel-work-queue-card.is-today {
    background: #fff;
    box-shadow: inset 3px 0 0 #20a878;
  }

  .panel-work-shell .panel-work-queue-card.is-overdue {
    background: #fff;
    box-shadow: inset 3px 0 0 #e66239;
  }

  .panel-work-shell .panel-candidate-card:last-child {
    border-bottom: 0;
  }

  .panel-work-shell .panel-candidate-head {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.42rem;
    align-items: center;
  }

  .panel-work-shell .panel-candidate-head .mobile-team-icon {
    display: none;
  }

  .panel-work-shell .panel-candidate-head h3 {
    overflow: hidden;
    font-size: 0.92rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .panel-work-shell .panel-candidate-head p {
    margin-top: 0.08rem;
    overflow: hidden;
    color: #7a8490;
    font-size: 0.62rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .panel-work-shell .panel-candidate-head .badge {
    padding: 0.18rem 0.36rem;
    border-radius: 999px;
    font-size: 0.48rem;
  }

  .work-mobile-schedule {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.46rem;
    border: 1px solid #edf1f5;
    border-radius: 9px;
    background: #fff;
  }

  .work-mobile-schedule strong {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    color: #24272b;
    min-width: 0;
    font-size: 0.68rem;
    line-height: 1.2;
  }

  .work-mobile-schedule em {
    display: none;
  }

  .work-schedule-badge {
    padding: 0.16rem 0.38rem;
    font-size: 0.54rem !important;
    flex: 0 0 auto;
  }

  .panel-candidate-status-actions {
    display: grid;
    gap: 0.46rem;
  }

  .panel-work-shell .process-chip-row.compact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.18rem 0.42rem;
    padding: 0;
    border: 1px solid #edf1f5;
    border-width: 1px 0 0;
    border-radius: 0;
    background: #fff;
  }

  .panel-work-shell .process-chip {
    position: relative;
    justify-content: space-between;
    min-width: 0;
    padding: 0.18rem 0 0.02rem 0.68rem;
    border-radius: 0;
    color: #687382;
    background: transparent;
    overflow: hidden;
    font-size: 0.58rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .panel-work-shell .process-chip::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 0.38rem;
    height: 0.38rem;
    border: 2px solid #cfd7e2;
    border-radius: 999px;
    background: #fff;
    transform: translateY(-50%);
  }

  .panel-work-shell .process-chip.is-on {
    color: #167a5a;
    background: transparent;
  }

  .panel-work-shell .process-chip.is-on::before {
    border-color: #16a270;
    background: #16a270;
    box-shadow: 0 0 0 3px rgba(22, 162, 112, 0.1);
  }

  .panel-work-shell .process-chip.is-off {
    color: #8a94a3;
    background: transparent;
  }

  .panel-work-shell .panel-candidate-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.3rem;
  }

  .panel-work-shell .panel-candidate-actions .btn {
    min-height: 32px;
    justify-content: center;
    padding: 0.24rem 0.3rem;
    border-radius: 8px;
    font-size: 0.58rem;
    font-weight: 800;
    white-space: nowrap;
  }

  .panel-work-shell .panel-candidate-actions .btn i {
    font-size: 0.72rem;
  }

  .panel-work-shell .mobile-bottom-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(430px, calc(100vw - 0.7rem));
    bottom: 0.38rem;
    padding: 0.28rem;
    border-radius: 15px;
  }

  .panel-work-shell .mobile-bottom-nav a {
    padding: 0.32rem 0.04rem;
    border-radius: 10px;
    gap: 0.08rem;
    font-size: 0.52rem;
    line-height: 1.1;
  }

  .panel-work-shell .mobile-bottom-nav a i {
    font-size: 0.92rem;
  }

  .calling-process-page {
    padding: 0 0.62rem 4.75rem;
    background: #f6f8fb;
  }

  .calling-process-top {
    gap: 0.35rem;
    margin: 0 -0.62rem 0.5rem;
    padding: 0.56rem 0.62rem;
    border-bottom: 1px solid #edf0f3;
    background: #fff;
  }

  .calling-process-top .btn {
    min-height: 28px;
    padding: 0.28rem 0.46rem;
    border-radius: 8px;
    font-size: 0.58rem;
  }

  .calling-desk-header {
    align-items: center;
    margin-bottom: 0.5rem;
    padding: 0.62rem;
    border-radius: 12px;
  }

  .calling-desk-header span,
  .calling-table-title span {
    margin-bottom: 0.16rem;
    padding: 0.16rem 0.36rem;
    font-size: 0.5rem;
  }

  .calling-desk-header h1 {
    max-width: 190px;
    overflow: hidden;
    font-size: 0.92rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .calling-desk-header p {
    max-width: 210px;
    overflow: hidden;
    font-size: 0.58rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .calling-desk-actions {
    gap: 0.28rem;
  }

  .calling-desk-actions .btn {
    min-height: 28px;
    padding: 0.25rem 0.38rem;
    border-radius: 8px;
    font-size: 0.52rem;
  }

  .calling-desk-actions .btn i {
    font-size: 0.72rem;
  }

  .calling-table-layout {
    gap: 0.46rem;
  }

  .calling-table-card {
    padding: 0.58rem;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
  }

  .calling-table-card:hover {
    transform: none;
  }

  .calling-table-title {
    align-items: center;
    gap: 0.44rem;
    margin-bottom: 0.42rem;
  }

  .calling-table-title h2 {
    font-size: 0.78rem;
    line-height: 1.18;
  }

  .calling-table-title em {
    padding: 0.18rem 0.38rem;
    font-size: 0.5rem;
  }

  .call-attempt-card {
    background: #fff;
  }

  .call-attempt-button {
    min-height: 44px;
    border-radius: 10px;
  }

  .call-attempt-button i {
    font-size: 1rem;
  }

  .call-attempt-button strong {
    font-size: 0.64rem;
  }

  .call-attempt-hint {
    margin: 0.32rem 0 0.42rem;
    color: #697386;
    font-size: 0.54rem;
    line-height: 1.35;
  }

  .calling-attempt-list {
    gap: 0.24rem;
  }

  .calling-attempt-list div {
    padding: 0.3rem 0.38rem;
    border-radius: 8px;
  }

  .calling-attempt-list strong,
  .calling-attempt-list span {
    font-size: 0.5rem;
  }

  .calling-premium-table {
    table-layout: auto;
  }

  .calling-premium-table th,
  .calling-premium-table thead th {
    width: 34%;
    padding: 0.38rem 0.42rem;
    font-size: 0.54rem;
  }

  .calling-premium-table td {
    padding: 0.38rem 0.42rem;
    font-size: 0.58rem;
  }

  .calling-premium-table .process-chip {
    padding: 0.16rem 0.34rem;
    font-size: 0.48rem;
  }

  .calling-process-status-table {
    min-width: 0;
    table-layout: fixed;
  }

  .calling-process-status-table thead {
    display: table-header-group;
  }

  .calling-process-status-table tbody {
    display: table-row-group;
  }

  .calling-process-status-table tr {
    display: table-row;
    border: 0;
    box-shadow: none;
  }

  .calling-process-status-table th,
  .calling-process-status-table td {
    display: table-cell;
    width: auto;
    padding: 0.34rem 0.3rem !important;
    border-bottom: 1px solid #edf0f3;
    font-size: 0.52rem !important;
    line-height: 1.22;
    vertical-align: middle;
  }

  .calling-process-status-table thead th {
    color: #6b7280;
    background: #f6f8fb;
    font-size: 0.5rem !important;
  }

  .calling-process-status-table tbody th {
    color: #252a31;
    background: #fff;
    font-size: 0.56rem !important;
  }

  .calling-process-status-table td::before,
  .calling-process-status-table th::before {
    content: none !important;
  }

  .calling-process-status-table .process-chip {
    padding: 0.12rem 0.28rem;
    font-size: 0.44rem;
  }

  .calling-activity-simple-table {
    min-width: 0;
    table-layout: fixed;
  }

  .calling-activity-simple-table thead {
    display: table-header-group;
  }

  .calling-activity-simple-table tbody {
    display: table-row-group;
  }

  .calling-activity-simple-table tr {
    display: table-row;
    border: 0;
    box-shadow: none;
  }

  .calling-activity-simple-table th,
  .calling-activity-simple-table td {
    display: table-cell;
    width: auto;
    padding: 0.34rem 0.3rem !important;
    border-bottom: 1px solid #edf0f3;
    font-size: 0.5rem !important;
    line-height: 1.22;
    vertical-align: middle;
  }

  .calling-activity-simple-table thead th {
    color: #6b7280;
    background: #f6f8fb;
    font-size: 0.48rem !important;
  }

  .calling-activity-simple-table td::before,
  .calling-activity-simple-table th::before {
    content: none !important;
  }

  .calling-status-table.mobile-card-table tbody,
  .calling-activity-table.mobile-card-table tbody {
    gap: 0;
    border-top: 1px solid #edf0f3;
  }

  .calling-status-table.mobile-card-table tr,
  .calling-activity-table.mobile-card-table tr {
    gap: 0.12rem 0.36rem;
    padding: 0.42rem 0.06rem;
    border: 0;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .calling-status-table.mobile-card-table td,
  .calling-status-table.mobile-card-table th,
  .calling-activity-table.mobile-card-table td,
  .calling-activity-table.mobile-card-table th {
    font-size: 0.54rem;
  }

  .calling-status-table.mobile-card-table .mobile-primary-cell,
  .calling-activity-table.mobile-card-table .mobile-primary-cell {
    padding-bottom: 0.16rem !important;
    border-bottom: 0 !important;
    font-size: 0.64rem;
  }

  .calling-status-table.mobile-card-table td::before,
  .calling-activity-table.mobile-card-table td::before {
    margin-bottom: 0.04rem;
    font-size: 0.46rem;
  }

  .calling-remark-input {
    min-height: 70px;
    border-radius: 8px;
    font-size: 0.64rem;
  }

  .calling-table-card .form-label {
    font-size: 0.54rem;
  }

  .calling-form-grid {
    gap: 0.38rem;
    margin-bottom: 0.48rem;
  }

  .calling-form-grid .form-control,
  .calling-form-grid .form-select {
    min-height: 32px;
    border-radius: 8px;
    font-size: 0.62rem;
  }

  .calling-disposition-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.32rem;
  }

  .interview-summary-strip {
    gap: 0.32rem;
    margin-bottom: 0.46rem;
  }

  .interview-summary-strip div {
    padding: 0.42rem 0.48rem;
    border-radius: 9px;
  }

  .interview-summary-strip span,
  .schedule-history-mini strong {
    font-size: 0.48rem;
  }

  .interview-summary-strip strong {
    font-size: 0.56rem;
  }

  .interview-result-grid {
    grid-template-columns: 1fr;
  }

  .call-interview-schedule-field {
    grid-template-columns: 1fr;
  }

  .schedule-history-mini {
    gap: 0.2rem;
    margin-top: 0.48rem;
    padding-top: 0.46rem;
  }

  .schedule-history-mini span,
  .schedule-history-mini em {
    font-size: 0.5rem;
  }

  .calling-disposition-actions .btn,
  .calling-remark-card > .btn {
    min-height: 30px;
    justify-content: center;
    padding: 0.28rem 0.38rem;
    border-radius: 8px;
    font-size: 0.56rem;
  }

  .calling-process-page .mobile-bottom-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(430px, calc(100vw - 0.7rem));
    bottom: 0.38rem;
    padding: 0.28rem;
    border-radius: 15px;
  }

  .calling-process-page .mobile-bottom-nav a {
    padding: 0.32rem 0.04rem;
    border-radius: 10px;
    gap: 0.08rem;
    font-size: 0.52rem;
    line-height: 1.1;
  }

  .calling-process-page .mobile-bottom-nav a i {
    font-size: 0.92rem;
  }
}

body.modal-open {
  overflow: hidden;
}

.app-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(22, 27, 34, 0.54);
  backdrop-filter: blur(6px);
}

.app-modal.show {
  display: flex;
}

.app-modal-dialog {
  width: min(520px, 100%);
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.app-modal-lg {
  width: min(760px, 100%);
}

.app-modal-xl {
  width: min(1120px, 100%);
}

.app-modal-header,
.app-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
}

.app-modal-header {
  border-bottom: 1px solid #edf0f3;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}

.app-modal-header h2 {
  margin: 0;
  color: #24272b;
  font-size: 1.05rem;
  font-weight: 700;
}

.app-modal-header p {
  margin: 0.2rem 0 0;
  color: #6f767e;
  font-size: 0.875rem;
}

.app-modal-body {
  max-height: calc(100vh - 12rem);
  overflow-y: auto;
  padding: 1.1rem;
}

.app-modal-footer {
  border-top: 1px solid #edf0f3;
  background: #fbfcfd;
}

@media (max-width: 992px) {
  .sidebar {
    left: -240px;
    height: 100dvh;
    max-height: 100dvh;
    padding-bottom: 6.25rem;
  }

  .sidebar.mobile-show {
    left: 0;
  }

  .topbar {
    margin-left: 0 !important;
    width: 100% !important;
  }

  .content {
    margin-left: 0 !important;
  }

  .settings-hero-meta {
    justify-content: flex-start;
  }

  .settings-rail,
  .settings-save-bar {
    position: static;
  }

  .settings-save-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .role-check-grid {
    grid-template-columns: 1fr;
  }

  .permission-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .permission-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .permission-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .email-template-layout {
    grid-template-columns: 1fr;
  }

  .email-template-hero {
    align-items: stretch;
  }

  .email-template-hero-actions {
    justify-content: flex-start;
  }

  .email-template-hero-actions span {
    min-width: 66px;
    padding: 0.38rem 0.52rem;
  }

  .email-template-card {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.68rem;
    border-radius: 15px;
  }

  .email-template-mini {
    width: 78px;
    min-height: 98px;
    border-radius: 13px;
  }

  .email-mini-top {
    height: 28px;
  }

  .email-template-actions {
    grid-template-columns: 1fr 42px;
  }

  .email-template-actions .btn-light {
    padding-right: 0;
    padding-left: 0;
    font-size: 0;
  }

  .email-template-actions .btn-light i {
    margin: 0;
    font-size: 1rem;
  }

  .email-template-editor {
    min-height: 330px;
    font-size: 0.75rem;
  }

  .process-toggle-grid {
    grid-template-columns: 1fr;
  }

  .permission-table-scroll {
    max-height: none;
  }

  body {
    background: #f6f8fb;
  }

  .topbar {
    height: 54px;
    padding-inline: 0.65rem !important;
    border-bottom-color: #edf0f3 !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035);
  }

  .topbar .profile-dropdown {
    margin-left: 0.55rem !important;
  }

  .topbar .dropdown-menu {
    border: 1px solid #edf0f3;
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
  }

  .topbar .profile-menu {
    position: fixed !important;
    top: 62px !important;
    right: 0.75rem !important;
    left: auto !important;
    width: min(235px, calc(100vw - 1.5rem));
    min-width: 0;
    transform: none !important;
  }

  .profile-menu-head {
    gap: 0.6rem;
    padding: 0.65rem;
  }

  .profile-menu-head .avatar-md {
    width: 40px;
    height: 40px;
  }

  .profile-menu-links {
    padding: 0.42rem;
  }

  .profile-menu-links a {
    min-height: 32px;
    padding: 0.4rem 0.52rem;
    font-size: 0.74rem;
  }

  .content {
    padding-top: 54px;
  }

  .app-shell {
    min-height: calc(100vh - 54px);
    padding-right: 0.65rem;
    padding-left: 0.65rem;
  }

  .app-main.py-10 {
    padding-top: 0.8rem !important;
    padding-bottom: 5.4rem !important;
  }

  .admin-mobile-nav {
    display: grid;
  }

  .app-footer {
    display: none;
  }

  .profile-head,
  .permission-head,
  .settings-head,
  .candidate-table-head {
    padding: 0.75rem;
    border: 1px solid #edf0f3;
    border-radius: 12px;
    background: #fff;
  }

  .profile-head h1,
  .permission-head h1,
  .settings-head h1,
  .fs-3 {
    font-size: 1.18rem !important;
  }

  .profile-head p,
  .permission-head p,
  .settings-head p,
  .candidate-table-head p {
    font-size: 0.72rem;
  }

  .card,
  .profile-card,
  .settings-card,
  .permission-card,
  .candidate-list-card,
  .candidate-filter-card {
    border-radius: 12px;
    background: #fff;
  }

  .card-body {
    padding: 0.72rem;
  }

  .table-responsive {
    border-radius: 12px;
  }

  .table th {
    padding: 0.48rem 0.55rem;
    font-size: 0.68rem;
  }

  .table td {
    padding: 0.48rem 0.55rem;
    font-size: 0.76rem;
  }

  .form-control,
  .form-select {
    min-height: 38px;
    font-size: 0.8rem;
  }

  .btn {
    font-size: 0.8rem;
  }

  .permission-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .permission-stats > div {
    min-height: 64px;
    padding: 0.62rem;
    border-radius: 12px;
  }

  .permission-stats span {
    font-size: 1.05rem;
  }
}

@media (max-width: 576px) {
  .permission-grid {
    grid-template-columns: 1fr;
  }

  .app-shell {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .admin-mobile-nav {
    width: min(420px, calc(100vw - 0.9rem));
    bottom: 0.5rem;
    border: 1px solid #e9edf2;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  }

  .admin-mobile-nav a {
    padding: 0.38rem 0.12rem;
    font-size: 0.56rem;
  }

  .app-main > .row:first-child > .col-12 > .d-flex,
  .profile-head,
  .permission-head,
  .settings-hero,
  .real-dashboard-head {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }

  .app-main > .row:first-child > .col-12 > .d-flex > div:first-child,
  .profile-head > div:first-child,
  .permission-head > div:first-child,
  .settings-hero > div:first-child,
  .real-dashboard-head > div:first-child {
    min-width: 0;
  }

  .app-main > .row:first-child > .col-12 > .d-flex h1,
  .profile-head h1,
  .permission-head h1,
  .settings-hero h1,
  .real-dashboard-head h1 {
    overflow: hidden;
    margin: 0 !important;
    font-size: 1.18rem !important;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .app-main > .row:first-child > .col-12 > .d-flex p,
  .profile-head p,
  .permission-head p,
  .settings-hero p,
  .real-dashboard-head p,
  .permission-eyebrow,
  .settings-kicker,
  .settings-hero-meta,
  .real-dashboard-actions > span {
    display: none !important;
  }

  .app-main > .row:first-child > .col-12 > .d-flex > div:last-child,
  .profile-head > div:last-child,
  .permission-head > div:last-child,
  .real-dashboard-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
  }

  .app-main > .row:first-child > .col-12 > .d-flex > div:last-child > .badge,
  .profile-head > div:last-child > .badge,
  .permission-head > div:last-child > .badge {
    display: none !important;
  }

  .app-main > .row:first-child > .col-12 > .d-flex .btn,
  .profile-head .btn,
  .permission-head .btn,
  .real-dashboard-head .btn {
    min-height: 34px;
    padding: 0.43rem 0.68rem;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 800;
    box-shadow: none;
    white-space: nowrap;
  }

  .users-page .users-page-head {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }

  .users-page .users-page-head h1 {
    margin: 0 !important;
    font-size: 1.18rem !important;
    line-height: 1;
  }

  .users-page .users-page-head p,
  .users-page .users-count {
    display: none !important;
  }

  .users-page .users-page-head > div:last-child {
    flex: 0 0 auto;
  }

  .users-page .users-page-head .btn {
    min-height: 34px;
    padding: 0.43rem 0.68rem;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 800;
    box-shadow: none;
  }

  .users-page .users-table-card {
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .users-page .users-table-card > .card-body {
    padding: 0;
  }

  .table-responsive {
    overflow: visible;
  }

  .mobile-card-table {
    display: block;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: auto !important;
    width: 100% !important;
  }

  .mobile-card-table thead {
    display: none;
  }

  .mobile-card-table tbody {
    display: grid;
    gap: 0.38rem;
  }

  .mobile-card-table tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.34rem 0.42rem;
    padding: 0.56rem 0.6rem;
    border: 1px solid #e8edf3;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
  }

  .mobile-card-table td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0.68rem;
    line-height: 1.25;
    text-align: left;
  }

  .mobile-card-table td::before {
    display: block;
    content: attr(data-label);
    margin-bottom: 0.12rem;
    color: #8a929b;
    font-size: 0.58rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: left;
  }

  .mobile-card-table td > * {
    min-width: 0;
    max-width: 100%;
    justify-self: start;
    text-align: left;
  }

  .mobile-card-table td strong,
  .mobile-card-table td span,
  .mobile-card-table td small,
  .mobile-card-table td div {
    overflow-wrap: break-word;
    word-break: normal;
  }

  .mobile-card-table .mobile-primary-cell {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    gap: 0.14rem;
    padding-bottom: 0.34rem !important;
    border-bottom: 1px solid #edf1f5 !important;
    color: #20262e;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.25;
  }

  .mobile-card-table .mobile-primary-cell::before {
    content: none;
  }

  .mobile-card-table .mobile-primary-cell > * {
    justify-self: start;
    text-align: left;
  }

  .mobile-card-table td[colspan] {
    display: block;
    grid-column: 1 / -1;
    text-align: center;
  }

  .mobile-card-table td[colspan]::before {
    content: none;
  }

  .mobile-card-table td:last-child {
    grid-column: 1 / -1;
    padding-top: 0.28rem !important;
    border-top: 1px solid #f0f2f5 !important;
  }

  .mobile-card-table td:last-child::before {
    align-self: center;
  }

  .mobile-card-table td:last-child .btn,
  .mobile-card-table td:last-child button,
  .mobile-card-table td:last-child a {
    margin-left: 0.25rem;
  }

  .mobile-card-table td:last-child > * {
    justify-self: end;
    text-align: right;
  }

  .mobile-card-table .mobile-action-cell {
    display: block;
    grid-column: 1 / -1;
    padding-top: 0.32rem !important;
    border-top: 1px solid #f0f2f5 !important;
    text-align: right;
  }

  .mobile-card-table .mobile-action-cell::before {
    content: none;
  }

  .mobile-card-table .mobile-action-cell > * {
    justify-self: end;
    text-align: right;
  }

  .mobile-card-table .question-table-id {
    display: none;
  }

  .exam-table.mobile-card-table .question-table-info {
    justify-content: flex-start;
  }

  .exam-table.mobile-card-table .question-row-actions {
    justify-content: flex-end;
    gap: 0.3rem;
  }

  .exam-table.mobile-card-table .question-row-actions .btn {
    min-height: 28px;
    padding: 0.28rem 0.42rem;
    border-radius: 8px;
    font-size: 0.62rem;
  }

  .exam-table.mobile-card-table .question-row-actions .btn:not(.btn-icon) {
    min-width: auto;
  }

  .candidate-assign-table.mobile-card-table td:first-child {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .candidate-assign-table.mobile-card-table td:first-child::before {
    content: none;
  }

  .users-page .mobile-card-table tbody {
    gap: 0.38rem;
  }

  .users-page .mobile-card-table tr {
    gap: 0.34rem 0.42rem;
    padding: 0.56rem 0.6rem;
    border-color: #e9eef4;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
  }

  .users-page .mobile-card-table td:first-child {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    gap: 0.16rem;
    padding-bottom: 0.34rem !important;
    border-bottom: 1px solid #f0f3f7 !important;
    text-align: left;
  }

  .users-page .mobile-card-table td:first-child::before {
    content: none;
  }

  .users-page .mobile-card-table td:first-child > * {
    justify-self: start;
    text-align: left;
  }

  .users-page .mobile-card-table td:first-child .fw-semibold {
    color: #222831;
    font-size: 0.8rem;
    font-weight: 800 !important;
  }

  .users-page .mobile-card-table td:first-child .small {
    max-width: 100%;
    color: #7a8490 !important;
    font-size: 0.62rem;
    overflow-wrap: anywhere;
  }

  .users-page .mobile-card-table td:last-child {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;
    padding-top: 0.32rem !important;
  }

  .users-page .mobile-card-table td:last-child::before {
    flex: 1 1 auto;
  }

  .users-page .mobile-card-table td:last-child .btn {
    min-height: 28px;
    margin-left: 0;
    padding: 0.28rem 0.42rem;
    border-radius: 8px;
    font-size: 0.62rem;
    font-weight: 800;
  }

  .panel-dashboard-shell .panel-attendance-card {
    padding: 0.72rem 0.72rem 0.2rem;
    border-radius: 12px;
  }

  .panel-dashboard-shell .panel-attendance-card .table-responsive {
    overflow: visible;
    margin: 0 -0.18rem;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-section-head {
    margin-bottom: 0.4rem;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-section-head h2 {
    font-size: 0.86rem;
  }

  .panel-dashboard-shell .panel-attendance-card .candidate-status {
    padding: 0.2rem 0.42rem;
    border-radius: 999px;
    font-size: 0.58rem;
    line-height: 1;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table tbody {
    gap: 0;
    border-top: 1px solid #edf0f3;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table tr {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) 38px;
    gap: 0.12rem 0.48rem;
    align-items: center;
    padding: 0.54rem 0.1rem;
    border: 0;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td {
    font-size: 0.64rem;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table .mobile-primary-cell {
    grid-column: 1 / 3;
    padding-bottom: 0.1rem !important;
    border-bottom: 0 !important;
    color: #24272b;
    font-size: 0.76rem;
    font-weight: 800;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table .mobile-primary-cell::before {
    content: none;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td:nth-child(2),
  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td:nth-child(3) {
    grid-row: 2;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td:nth-child(2)::before,
  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td:nth-child(3)::before {
    margin-bottom: 0.04rem;
    color: #8a929b;
    font-size: 0.48rem;
    font-weight: 800;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td:last-child {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    padding: 0 0 0.1rem !important;
    border-top: 0 !important;
    color: #24272b;
    font-size: 0.82rem;
    font-weight: 800;
    text-align: right;
  }

  .panel-dashboard-shell .panel-attendance-card .mobile-card-table td:last-child::before {
    content: none;
  }

  .permission-table-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-grid {
    grid-template-columns: 1fr;
  }

  .profile-type-grid {
    grid-template-columns: 1fr;
  }

  .profile-type-card {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .profile-type-image {
    width: 62px;
    height: 62px;
  }
}

.avatar {
  position: relative;
  display: inline-block;
  width: 3rem;
  height: 3rem;
  object-fit: cover;
}

.avatar-xs {
  width: 1.5rem;
  height: 1.5rem;
}

.avatar-sm {
  width: 2rem;
  height: 2rem;
}

.avatar-md {
  width: 2.5rem;
  height: 2.5rem;
}

.avatar-lg {
  width: 3.5rem;
  height: 3.5rem;
}

.avatar-xl {
  width: 5rem;
  height: 5rem;
}

.avatar-xxl {
  width: 7.5rem;
  height: 7.5rem;
}

.avatar img,
img.avatar {
  object-fit: cover;
}

.btn-icon {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 0.92969rem;
  font-weight: 400;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
}

.btn-icon.btn-xs {
  font-size: 0.75rem;
  width: 1.75rem;
  height: 1.75rem;
}

.btn-icon.btn-sm {
  font-size: 0.875rem;
  width: 2.1875rem;
  height: 2.1875rem;
}

.btn-icon.btn-lg {
  font-size: 1rem;
  width: 3.36875rem;
  height: 3.36875rem;
}

.icon-xxs {
  width: 1rem;
  height: 1rem;
  line-height: 1rem;
}

.icon-xs {
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
}

.icon-sm {
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
}

.icon-md {
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
}

.icon-lg {
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
}

.icon-xl {
  width: 3.5rem;
  height: 3.5rem;
  line-height: 3.5rem;
}

.icon-xxl {
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
}

.icon-xxxl {
  width: 7rem;
  height: 7rem;
  line-height: 7rem;
}

.icon-shape {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  vertical-align: middle;
}

.border-dashed {
  border-style: dashed !important;
}

.mt-6 {
  margin-top: 2.5rem !important;
}

.mb-6 {
  margin-bottom: 2.5rem !important;
}

.py-10 {
  padding-top: 1.25rem !important;
  padding-bottom: 2rem !important;
}

.ms-n2 {
  margin-left: -0.5rem !important;
}

.candidates-page .candidate-filter-card,
.candidates-page .candidate-list-card {
  border-color: #e8edf2;
  box-shadow: 0 14px 36px rgba(20, 26, 38, 0.04);
}

.candidate-table-head,
.candidate-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.candidate-table {
  table-layout: fixed;
}

.candidate-table th {
  background: #f7f9fc;
  color: #222831;
  font-size: 0.82rem;
  font-weight: 600;
  border-bottom: 1px solid #e6ebf0;
}

.candidate-table td {
  color: #2d333b;
  font-size: 0.84rem;
  border-color: #edf1f5;
  vertical-align: top;
}

.candidate-table td strong {
  display: block;
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.candidate-table td span {
  display: block;
  color: #7a8491;
  font-size: 0.76rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.candidate-card-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.candidate-card-item {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.candidate-card-item:hover {
  border-color: rgba(230, 98, 57, 0.32);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.candidate-card-top,
.candidate-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.candidate-card-top {
  align-items: flex-start;
}

.candidate-card-avatar {
  display: inline-grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #e66239;
  background: #fff0ea;
  font-weight: 800;
}

.candidate-card-title {
  flex: 1 1 auto;
  min-width: 0;
}

.candidate-card-title h3 {
  overflow: hidden;
  margin: 0;
  color: #222831;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-card-title p {
  overflow: hidden;
  margin: 0.18rem 0 0;
  color: #75808d;
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-card-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.candidate-card-info div {
  min-width: 0;
  padding: 0.5rem;
  border-radius: 9px;
  background: #f8fafc;
}

.candidate-card-info span,
.candidate-card-info strong,
.candidate-card-info em,
.candidate-card-bottom small {
  display: block;
}

.candidate-card-info span {
  color: #8a929b;
  font-size: 0.62rem;
  font-weight: 800;
}

.candidate-card-info strong {
  overflow: hidden;
  margin-top: 0.18rem;
  color: #2b3139;
  font-size: 0.73rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-card-info em {
  overflow: hidden;
  margin-top: 0.08rem;
  color: #7a8491;
  font-size: 0.64rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-card-bottom {
  padding-top: 0.55rem;
  border-top: 1px solid #edf1f5;
}

.candidate-card-bottom small {
  margin-top: 0.2rem;
  color: #8a929b;
  font-size: 0.66rem;
}

.candidate-card-actions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.35rem;
  align-items: center;
}

.candidate-empty-card {
  grid-column: 1 / -1;
  padding: 1.25rem;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: #fff;
  color: #7a8491;
  text-align: center;
}

@media (max-width: 991.98px) {
  .candidate-card-list {
    grid-template-columns: 1fr;
  }
}

.candidate-compact-wrap {
  border: 1px solid #e8edf3;
  border-radius: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.candidate-compact-table {
  min-width: 1040px;
}

.candidate-compact-table th {
  color: #687382;
  background: #f7f9fc;
  font-size: 0.72rem;
  font-weight: 750;
}

.candidate-compact-table td {
  cursor: pointer;
  font-size: 0.78rem;
  vertical-align: middle;
}

.candidate-compact-table th:last-child,
.candidate-compact-table td:last-child {
  width: 168px;
  min-width: 168px;
}

.candidate-compact-table tbody tr:hover td {
  background: #fff8f5;
}

.candidate-compact-table tbody tr.is-result-failed td {
  background: #fff1f2;
  border-top-color: #fecdd3;
  border-bottom-color: #fecdd3;
}

.candidate-compact-table tbody tr.is-result-failed td:first-child {
  border-left: 4px solid #dc2626;
}

.candidate-compact-table tbody tr.is-result-failed:hover td {
  background: #ffe4e6;
}

.candidate-compact-table tbody tr.is-result-failed .candidate-mini-person > span {
  color: #b91c1c;
  background: #fee2e2;
}

.candidate-compact-table tbody tr.is-result-failed .candidate-status {
  color: #b91c1c;
  background: #fee2e2;
}

.candidate-mini-person {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.candidate-mini-person > span {
  display: inline-grid;
  flex: 0 0 32px;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: #e66239;
  background: #fff0ea;
  font-size: 0.74rem;
  font-weight: 800;
}

.candidate-mini-person div {
  min-width: 0;
}

.candidate-compact-table strong,
.candidate-compact-table span,
.candidate-mini-person small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-compact-table strong {
  color: #242a32;
  font-weight: 750;
}

.candidate-compact-table span,
.candidate-mini-person small {
  color: #7a8491;
  font-size: 0.68rem;
}

.candidate-compact-table .candidate-current-step {
  margin-top: 0.18rem;
  color: #2f3a47;
  font-size: 0.64rem;
  font-weight: 750;
  white-space: normal;
  line-height: 1.25;
}

.candidate-app-modal {
  align-items: flex-end;
}

.candidate-app-modal .app-modal-dialog {
  width: min(460px, calc(100vw - 1rem));
  max-height: calc(100dvh - 1rem);
  border-radius: 22px;
  overflow: hidden;
}

.candidate-modal-sheet {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  background: #fff;
}

.candidate-modal-hero {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
}

.candidate-modal-hero h2 {
  overflow: hidden;
  margin: 0;
  color: #222831;
  font-size: 1.05rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-modal-hero p {
  overflow: hidden;
  margin: 0.16rem 0 0;
  color: #7a8491;
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-modal-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.candidate-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.candidate-modal-grid div {
  min-width: 0;
  padding: 0.58rem;
  border-radius: 11px;
  background: #f7fafc;
}

.candidate-modal-grid span,
.candidate-modal-grid strong,
.candidate-modal-grid em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-modal-grid span {
  color: #8a929b;
  font-size: 0.62rem;
  font-weight: 800;
}

.candidate-modal-grid strong {
  margin-top: 0.18rem;
  color: #242a32;
  font-size: 0.75rem;
  font-weight: 800;
}

.candidate-modal-grid em {
  margin-top: 0.08rem;
  color: #7a8491;
  font-size: 0.64rem;
  font-style: normal;
}

.candidate-modal-actions {
  display: flex;
  gap: 0.45rem;
}

.candidate-modal-actions .btn,
.candidate-modal-actions form {
  flex: 1 1 0;
}

.candidate-modal-actions form .btn {
  width: 100%;
}

.candidate-interview-review {
  display: inline-flex;
  width: fit-content;
  margin-top: 0.28rem;
  padding: 0.18rem 0.48rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 850;
}

.candidate-interview-review.is-pending {
  color: #c2410c;
  background: #fff0e9;
}

.candidate-interview-review.is-announced {
  color: #0f7a52;
  background: #e7f7ef;
}

.candidate-interview-review.is-failed {
  color: #b91c1c;
  background: #fee2e2;
}

.candidate-result-panel {
  display: grid;
  gap: 0.55rem;
  padding: 0.72rem;
  border: 1px solid #e5eaf0;
  border-radius: 14px;
  background: #fbfcfe;
}

.candidate-result-panel > div,
.candidate-result-announced {
  display: grid;
  gap: 0.14rem;
}

.candidate-result-panel span,
.candidate-result-form span {
  color: #8a929b;
  font-size: 0.64rem;
  font-weight: 850;
}

.candidate-result-panel strong {
  color: #222831;
  font-size: 0.82rem;
  font-weight: 850;
}

.candidate-result-panel em {
  color: #6b7280;
  font-size: 0.68rem;
  font-style: normal;
}

.candidate-result-form {
  display: grid;
  gap: 0.45rem;
}

.candidate-result-form label {
  display: grid;
  gap: 0.28rem;
}

.candidate-result-form .btn {
  width: 100%;
}

.result-announce-page {
  gap: 1rem;
}

.result-announce-card {
  border: 1px solid #e8edf3;
  border-radius: 14px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.05);
}

.result-announce-table th {
  color: #5f6977;
  background: #f8fafc;
  font-size: 0.78rem;
  font-weight: 850;
}

.result-announce-table td {
  border-color: #edf1f5;
  vertical-align: middle;
}

.result-announce-table td > strong,
.result-announce-table td > span {
  display: block;
}

.result-announce-table td > strong {
  color: #222831;
  font-size: 0.86rem;
  font-weight: 900;
}

.result-announce-table td > span {
  margin-top: 0.1rem;
  color: #7a8491;
  font-size: 0.72rem;
  font-weight: 700;
}

.result-announce-table .form-control-sm,
.result-announce-table .form-select-sm {
  min-height: 38px;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 750;
}

@media (max-width: 576px) {
  .candidate-result-dashboard {
    padding: 0.78rem;
    border-radius: 16px;
  }

  .candidate-result-dashboard-head {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 0.7rem;
  }

  .candidate-result-dashboard-head h2 {
    font-size: 1.3rem;
  }

  .candidate-result-score-ring {
    width: 82px;
    height: 82px;
  }

  .candidate-result-score-ring strong {
    font-size: 1rem;
  }

  .candidate-result-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .result-announce-page .profile-head {
    align-items: flex-start;
  }

  .result-announce-card .candidate-table-head {
    gap: 0.65rem;
  }

  .result-announce-card .candidate-table-head .btn {
    width: 100%;
  }

  .result-announce-table,
  .result-announce-table tbody,
  .result-announce-table tr,
  .result-announce-table td {
    display: block;
    width: 100%;
  }

  .result-announce-table thead {
    display: none;
  }

  .result-announce-table tr {
    margin-bottom: 0.7rem;
    padding: 0.7rem;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    background: #fff;
  }

  .result-announce-table td {
    padding: 0.42rem 0;
    border: 0;
  }

  .result-announce-table td.text-end {
    text-align: left !important;
  }

  .result-announce-table td.text-end .btn {
    width: 100%;
  }

  .candidates-page {
    gap: 0.55rem;
  }

  .candidates-page .profile-head {
    padding: 0.62rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.025);
  }

  .candidates-page .profile-head .btn {
    min-height: 34px;
    padding: 0.42rem 0.62rem;
    border-radius: 10px;
    font-size: 0.68rem;
  }

  .candidates-page .permission-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
  }

  .candidates-page .permission-stats > div {
    min-height: 52px;
    padding: 0.46rem 0.5rem;
    border-radius: 11px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.025);
  }

  .candidates-page .permission-stats span {
    font-size: 0.95rem;
    line-height: 1;
  }

  .candidates-page .permission-stats p {
    margin-top: 0.25rem;
    font-size: 0.6rem;
    line-height: 1;
  }

  .candidates-page .candidate-filter-card {
    margin-bottom: 0.55rem !important;
    border-radius: 12px;
    box-shadow: none;
  }

  .candidates-page .candidate-filter-card .card-body {
    padding: 0.58rem;
  }

  .candidates-page .candidate-filter-card form.row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
  }

  .candidates-page .candidate-filter-card form.row > [class*="col-"] {
    width: auto;
    padding: 0;
  }

  .candidates-page .candidate-filter-card form.row > [class*="col-"]:first-child,
  .candidates-page .candidate-filter-card form.row > [class*="col-"]:last-child {
    grid-column: 1 / -1;
  }

  .candidates-page .candidate-filter-card .form-label {
    margin-bottom: 0.22rem !important;
    color: #343a42;
    font-size: 0.66rem;
    font-weight: 700;
  }

  .candidates-page .candidate-filter-card .form-control,
  .candidates-page .candidate-filter-card .form-select {
    min-height: 34px;
    padding: 0.42rem 0.58rem;
    border-radius: 10px;
    font-size: 0.72rem;
  }

  .candidates-page .candidate-filter-card .btn {
    min-height: 34px;
    border-radius: 10px;
    font-size: 0.72rem;
  }

  .candidates-page .candidate-list-card {
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .candidates-page .candidate-list-card > .card-body {
    padding: 0;
  }

  .candidates-page .candidate-table-head {
    margin-bottom: 0.48rem;
    padding: 0.58rem;
    border-radius: 12px;
  }

  .candidates-page .candidate-table-head h2 {
    margin: 0 !important;
    font-size: 0.9rem !important;
  }

  .candidates-page .candidate-table-head p,
  .candidates-page .candidate-table-head .badge {
    display: none;
  }

  .candidate-table.mobile-card-table tbody {
    gap: 0.38rem;
  }

  .candidate-table.mobile-card-table tr {
    padding: 0.56rem 0.6rem;
    border-radius: 11px;
  }

  .candidate-table.mobile-card-table td {
    font-size: 0.66rem;
  }

  .candidate-table.mobile-card-table td::before {
    font-size: 0.56rem;
  }

  .candidate-table.mobile-card-table .mobile-primary-cell strong {
    font-size: 0.82rem;
  }

  .candidate-table.mobile-card-table .mobile-primary-cell span {
    font-size: 0.62rem;
  }

  .candidate-table.mobile-card-table .candidate-status {
    padding: 0.18rem 0.38rem;
    font-size: 0.58rem;
  }

  .candidate-table.mobile-card-table .candidate-state {
    margin-top: 0.16rem;
    font-size: 0.58rem;
  }

  .candidate-table.mobile-card-table .candidate-verify-btn {
    min-height: 28px;
    padding: 0.28rem 0.44rem;
    border-radius: 8px;
    font-size: 0.62rem;
  }

  .candidate-card-list {
    gap: 0.45rem;
  }

  .candidate-card-item {
    gap: 0.5rem;
    padding: 0.58rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.025);
  }

  .candidate-card-top,
  .candidate-card-bottom {
    gap: 0.42rem;
  }

  .candidate-card-avatar {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    font-size: 0.75rem;
  }

  .candidate-card-title h3 {
    font-size: 0.82rem;
  }

  .candidate-card-title p {
    font-size: 0.62rem;
  }

  .candidate-card-info {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.32rem;
  }

  .candidate-card-info div {
    padding: 0.38rem;
    border-radius: 8px;
  }

  .candidate-card-info span {
    font-size: 0.54rem;
  }

  .candidate-card-info strong {
    font-size: 0.62rem;
  }

  .candidate-card-info em {
    display: none;
  }

  .candidate-card-bottom {
    padding-top: 0.42rem;
  }

  .candidate-card-bottom small {
    font-size: 0.58rem;
  }

  .candidate-card-actions {
    gap: 0.28rem;
  }

  .candidate-card-actions .btn {
    min-height: 28px;
    padding: 0.28rem 0.42rem;
    border-radius: 8px;
    font-size: 0.62rem;
  }

  .candidate-compact-wrap {
    border-radius: 12px;
    overflow: visible;
  }

  .candidate-compact-table {
    display: block;
    min-width: 0;
  }

  .candidate-compact-table thead {
    display: none;
  }

  .candidate-compact-table tbody {
    display: grid;
    gap: 0.72rem;
  }

  .candidate-compact-table tr {
    display: grid;
    gap: 0.55rem;
    padding: 0.72rem;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(34, 40, 49, 0.06);
  }

  .candidate-compact-table td {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 0.62rem;
    align-items: start;
    padding: 0;
    border: 0;
    font-size: 0.72rem;
  }

  .candidate-compact-table td::before {
    content: attr(data-label);
    color: #98a2b3;
    font-size: 0.56rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .candidate-compact-table td:first-child {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .candidate-compact-table td:first-child::before {
    content: attr(data-label);
  }

  .candidate-compact-table td:last-child {
    width: auto;
    min-width: 0;
    display: block;
    text-align: left !important;
  }

  .candidate-compact-table td:last-child::before {
    display: none;
  }

  .candidate-mini-person {
    gap: 0.38rem;
  }

  .candidate-mini-person > span {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    font-size: 0.62rem;
  }

  .candidate-compact-table strong {
    font-size: 0.78rem;
  }

  .candidate-compact-table span,
  .candidate-mini-person small {
    font-size: 0.64rem;
  }

  .candidate-compact-table .candidate-status {
    width: fit-content;
    padding: 0.22rem 0.46rem;
    font-size: 0.62rem;
  }

  .candidate-compact-table .candidate-verify-btn {
    width: auto;
    height: auto;
    min-height: 36px;
    padding: 0.42rem 0.62rem;
    border-radius: 10px;
    font-size: 0.7rem;
  }

  .candidate-compact-table .candidate-verify-btn i {
    margin-right: 0.2rem;
    font-size: 0.9rem;
  }

  .candidate-action-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    justify-content: stretch;
  }

  .candidate-action-stack form,
  .candidate-action-stack .btn {
    width: 100%;
  }

  .candidates-page .candidate-compact-wrap {
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .candidates-page .candidate-compact-table,
  .candidates-page .candidate-compact-table tbody,
  .candidates-page .candidate-compact-table tr,
  .candidates-page .candidate-compact-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .candidates-page .candidate-compact-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  .candidates-page .candidate-compact-table tbody {
    display: grid !important;
    gap: 0.78rem !important;
  }

  .candidates-page .candidate-compact-table tr {
    position: relative;
    padding: 0.78rem !important;
    border: 1px solid #e6edf5 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07) !important;
    overflow: hidden;
  }

  .candidates-page .candidate-compact-table tr.is-result-failed {
    border-color: #ffd8d8 !important;
    background: linear-gradient(180deg, #fff 0%, #fff7f7 100%) !important;
  }

  .candidates-page .candidate-compact-table tr.is-result-failed::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #ef4444;
  }

  .candidates-page .candidate-compact-table tr.is-result-failed td {
    background: transparent !important;
  }

  .candidates-page .candidate-compact-table td {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
  }

  .candidates-page .candidate-compact-table td::before {
    display: block;
    margin: 0 0 0.16rem;
    color: #98a2b3;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
  }

  .candidates-page .candidate-compact-table td[data-label="Select"] {
    position: absolute;
    top: 0.82rem;
    right: 0.82rem;
    width: auto !important;
    max-width: 5.4rem;
    z-index: 2;
  }

  .candidates-page .candidate-compact-table td[data-label="Select"]::before {
    display: none;
  }

  .candidates-page .candidate-compact-table td[data-label="Select"] .text-muted {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0.24rem 0.55rem;
    border: 1px solid #e4eaf2;
    border-radius: 999px;
    background: #f8fafc;
    color: #697586 !important;
    font-size: 0.66rem !important;
    font-weight: 800;
    white-space: nowrap !important;
  }

  .candidates-page .candidate-compact-table td[data-label="Select"] .form-check-input {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
  }

  .candidates-page .candidate-compact-table td[data-label="Candidate"] {
    padding-right: 4rem !important;
  }

  .candidates-page .candidate-compact-table td[data-label="Candidate"]::before,
  .candidates-page .candidate-compact-table td[data-label="Action"]::before {
    display: none;
  }

  .candidates-page .candidate-compact-table td[data-label="Profile"],
  .candidates-page .candidate-compact-table td[data-label="Contact"] {
    margin-top: 0.58rem;
    padding: 0.58rem 0.62rem !important;
    border: 1px solid #eef3f8 !important;
    border-radius: 13px;
    background: #f9fbfd !important;
  }

  .candidates-page .candidate-compact-table td[data-label="Status"] {
    margin-top: 0.58rem;
    padding-top: 0.62rem !important;
    border-top: 1px dashed #e5ebf2 !important;
  }

  .candidates-page .candidate-compact-table td[data-label="Action"] {
    margin-top: 0.68rem;
  }

  .candidates-page .candidate-mini-person {
    gap: 0.62rem !important;
  }

  .candidates-page .candidate-mini-person > span {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    font-size: 0.82rem !important;
  }

  .candidates-page .candidate-compact-table strong,
  .candidates-page .candidate-mini-person strong {
    max-width: 100%;
    color: #202631;
    font-size: 0.93rem !important;
    line-height: 1.2;
    white-space: normal !important;
  }

  .candidates-page .candidate-compact-table span,
  .candidates-page .candidate-mini-person small {
    max-width: 100%;
    font-size: 0.72rem !important;
    line-height: 1.35;
    white-space: normal !important;
    word-break: break-word;
  }

  .candidates-page .candidate-compact-table .candidate-status {
    display: inline-flex !important;
    width: auto !important;
    margin-bottom: 0.32rem;
    padding: 0.34rem 0.58rem !important;
    border-radius: 999px;
    font-size: 0.72rem !important;
    line-height: 1;
  }

  .candidates-page .candidate-compact-table .candidate-current-step,
  .candidates-page .candidate-interview-review {
    display: block !important;
    margin-top: 0.24rem;
    white-space: normal !important;
  }

  .candidates-page .candidate-action-stack {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
  }

  .candidates-page .candidate-action-stack .btn {
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 0.78rem !important;
  }

  .candidate-app-modal {
    padding: 0.5rem;
  }

  .candidate-app-modal .app-modal-dialog {
    width: 100%;
    max-height: calc(100dvh - 1rem);
    border-radius: 20px;
  }

  .candidate-modal-sheet {
    gap: 0.62rem;
    padding: 0.72rem;
  }

  .candidate-modal-hero {
    grid-template-columns: 34px minmax(0, 1fr) 32px;
    gap: 0.55rem;
  }

  .candidate-modal-hero h2 {
    font-size: 0.92rem;
  }

  .candidate-modal-hero p {
    font-size: 0.66rem;
  }

  .candidate-modal-grid {
    gap: 0.36rem;
  }

  .candidate-modal-grid div {
    padding: 0.46rem;
    border-radius: 9px;
  }

  .candidate-modal-grid span {
    font-size: 0.56rem;
  }

  .candidate-modal-grid strong {
    font-size: 0.66rem;
  }

  .candidate-modal-grid em {
    font-size: 0.58rem;
  }

  .candidate-modal-actions .btn {
    min-height: 34px;
    border-radius: 10px;
    font-size: 0.68rem;
  }
}

.candidate-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.candidate-detail-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(230, 98, 57, 0.09), rgba(255, 255, 255, 0) 55%), #fff;
}

.candidate-detail-hero > div:first-child {
  min-width: 0;
}

.candidate-detail-hero span {
  display: inline-flex;
  width: max-content;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  color: #e66239;
  background: #fff0ea;
  font-size: 0.72rem;
  font-weight: 600;
}

.candidate-detail-hero h3 {
  margin: 0.65rem 0 0.25rem;
  color: #222831;
  font-size: 1.25rem;
  font-weight: 700;
}

.candidate-detail-hero p {
  margin: 0;
  color: #73808d;
  overflow-wrap: anywhere;
}

.candidate-detail-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(100px, 1fr));
  gap: 0.6rem;
  min-width: min(440px, 100%);
}

.candidate-detail-hero-stats div {
  display: grid;
  align-content: center;
  padding: 0.75rem;
  border-radius: 10px;
  background: #f7fafc;
}

.candidate-detail-hero-stats strong,
.candidate-detail-hero-stats span {
  display: block;
}

.candidate-detail-hero-stats strong {
  color: #222831;
  font-size: 0.95rem;
  font-weight: 700;
}

.candidate-detail-hero-stats span {
  color: #7b8490;
  font-size: 0.72rem;
}

.candidate-simple-section {
  margin-top: 1rem;
  padding: 0.9rem;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
}

.candidate-simple-section h3 {
  margin: 0 0 0.75rem;
  color: #222831;
  font-size: 0.95rem;
  font-weight: 650;
}

.candidate-simple-table {
  table-layout: fixed;
}

.candidate-simple-table th {
  width: 18%;
  color: #687382;
  background: #f7fafc;
  font-size: 0.75rem;
  font-weight: 600;
}

.candidate-simple-table td,
.candidate-simple-table th {
  padding: 0.62rem 0.7rem;
  border-color: #edf1f5;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.candidate-simple-table td {
  color: #222831;
  font-size: 0.8rem;
}

.candidate-inline-file {
  display: inline-flex;
  margin: 0.15rem 0.35rem 0.15rem 0;
  padding: 0.3rem 0.45rem;
  border-radius: 6px;
  color: #4b5563;
  background: #f4f7fb;
  font-size: 0.76rem;
}

.candidate-detail-card {
  padding: 1rem;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
}

.candidate-detail-title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.candidate-detail-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  color: #e66239;
  background: #fff0ea;
  font-size: 1rem;
}

.candidate-detail-title h3 {
  margin: 0;
  color: #222831;
  font-size: 0.95rem;
  font-weight: 650;
}

.candidate-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.candidate-detail-list div,
.candidate-mini-stats div {
  min-width: 0;
  padding: 0.6rem;
  border-radius: 8px;
  background: #f7fafc;
}

.candidate-detail-list span,
.candidate-detail-list strong,
.candidate-mini-stats strong,
.candidate-mini-stats span {
  display: block;
  overflow-wrap: anywhere;
}

.candidate-detail-list span,
.candidate-mini-stats span {
  color: #7b8490;
  font-size: 0.72rem;
}

.candidate-detail-list strong,
.candidate-mini-stats strong {
  margin-top: 0.2rem;
  color: #222831;
  font-size: 0.82rem;
  font-weight: 600;
}

.candidate-mini-stats,
.candidate-activity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.candidate-activity-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.candidate-activity-item {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid #edf1f5;
  border-radius: 9px;
  background: #fbfcfe;
}

.candidate-activity-item div {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.candidate-activity-item strong {
  color: #2b323b;
  font-size: 0.78rem;
  font-weight: 600;
}

.candidate-file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.65rem;
  border-radius: 8px;
  background: #f7fafc;
}

.candidate-file-row a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-admin-video {
  width: 100%;
  max-height: 240px;
  border-radius: 10px;
  background: #101828;
}

.candidate-video-player {
  display: grid;
  gap: 0.45rem;
  max-width: 520px;
}

.candidate-video-player span {
  color: #687382;
  font-size: 0.78rem;
  font-weight: 500;
}

.candidate-file-stack,
.candidate-log-list {
  display: grid;
  gap: 0.55rem;
}

.candidate-file-stack {
  margin-top: 0.75rem;
}

.candidate-file-stack > strong {
  color: #222831;
  font-size: 0.78rem;
  font-weight: 650;
}

.candidate-file-stack a {
  padding: 0.5rem 0.6rem;
  border-radius: 7px;
  color: #4b5563;
  background: #f7fafc;
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.candidate-log-list div {
  padding: 0.75rem;
  border-left: 3px solid #e66239;
  border-radius: 9px;
  background: #fbfcfe;
}

.candidate-log-list strong,
.candidate-log-list span,
.candidate-log-list em {
  display: block;
}

.candidate-log-list strong {
  color: #222831;
  font-size: 0.84rem;
  font-weight: 650;
}

.candidate-log-list span,
.candidate-log-list em,
.candidate-log-list p {
  color: #75808c;
  font-size: 0.76rem;
}

.candidate-log-list em {
  margin-top: 0.2rem;
  font-style: normal;
}

.candidate-log-list p {
  margin: 0.45rem 0 0;
}

.candidate-status {
  display: inline-flex !important;
  align-items: center;
  gap: 0.25rem;
  width: max-content;
  padding: 0.24rem 0.5rem;
  border-radius: 999px;
  font-size: 0.76rem !important;
  font-weight: 500;
}

.candidate-status.is-verified {
  background: #e8f7ef;
  color: #13905b;
}

.candidate-status.is-pending {
  background: #fff3df;
  color: #b66a00;
}

.candidate-status.is-processing {
  background: #e5f4fb;
  color: #126b8f;
}

.candidate-state {
  margin-top: 0.35rem;
}

.candidate-verify-btn {
  white-space: nowrap;
}

.candidate-action-stack,
.candidate-step-top-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.candidate-action-stack form,
.candidate-modal-actions form {
  margin: 0;
}

.candidate-step-page {
  min-height: 100vh;
  padding: 2rem 1rem;
  background: #f4f7fb;
}

.candidate-step-shell {
  width: min(1080px, 100%);
  margin: 0 auto;
}

.candidate-step-shell.is-result-announced {
  width: min(100%, calc(100vw - 2rem));
  max-width: none;
}

.candidate-step-shell.is-result-announced .candidate-step-top {
  display: none;
}

.candidate-step-page:has(.candidate-step-shell.is-result-announced) {
  padding: 0;
  background: #f7f9fc;
}

.candidate-step-page.is-result-announced-page {
  padding: 0;
  background: #f7f9fc;
}

.candidate-step-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.candidate-support-fab {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border-radius: 999px;
  border: 0;
  color: #fff;
  text-decoration: none;
  background: #16a065;
  box-shadow: 0 14px 30px rgba(22, 160, 101, 0.3);
  cursor: pointer;
}

.candidate-support-fab:hover {
  color: #fff;
  transform: translateY(-1px);
}

.candidate-support-fab > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  color: #fff;
  background: transparent;
  font-size: 1.45rem;
}

.candidate-support-fab > i + i {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 22px;
  height: 22px;
  border: 2px solid #fff;
  background: #0fbf75;
  font-size: 0.9rem;
}

.candidate-support-fab span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  line-height: 1.2;
}

.candidate-support-fab strong {
  font-size: 0.86rem;
  font-weight: 650;
}

.candidate-support-fab em {
  overflow: hidden;
  max-width: 150px;
  font-style: normal;
  font-size: 0.72rem;
  opacity: 0.85;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-default-support-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}

.candidate-default-support-card span,
.candidate-default-support-card em {
  display: block;
  color: #747f8d;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 600;
}

.candidate-default-support-card strong {
  display: block;
  margin: 0.1rem 0;
  color: #1f2937;
  font-size: 1.05rem;
  font-weight: 800;
}

.candidate-default-support-info {
  min-width: 0;
}

.candidate-default-support-info dl {
  display: grid;
  gap: 0.45rem;
  margin: 0.7rem 0 0;
}

.candidate-default-support-info dl div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}

.candidate-default-support-info dt {
  color: #7a8491;
  font-size: 0.78rem;
  font-weight: 800;
}

.candidate-default-support-info dd {
  min-width: 0;
  margin: 0;
  color: #26313f;
  font-size: 0.86rem;
  font-weight: 700;
}

.candidate-default-support-info dd a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.candidate-default-support-info dd a:hover {
  color: #ef5e39;
}

.candidate-default-support-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}

.candidate-default-support-actions a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 40px;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  color: #26313f;
  text-decoration: none;
  background: #f8fafc;
  font-size: 0.84rem;
  font-weight: 700;
}

.candidate-default-support-actions a:hover {
  border-color: rgba(239, 94, 57, 0.28);
  color: #ef5e39;
  background: #fff4ef;
}

.candidate-support-modal .app-modal-dialog {
  max-width: 390px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.22);
}

.candidate-support-modal .app-modal-header {
  align-items: center;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #eef2f7;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.candidate-support-modal .app-modal-header h2 {
  color: #1f2937;
  font-size: 1.08rem;
  font-weight: 800;
}

.candidate-support-modal .app-modal-header p {
  color: #6b7280;
  font-size: 0.8rem;
  font-weight: 650;
}

.candidate-support-modal .app-modal-body {
  max-height: min(72vh, 640px);
  overflow-y: auto;
  padding: 1.1rem;
  background: #fff;
}

.candidate-support-modal-brand {
  display: grid;
  justify-items: center;
  text-align: center;
  align-items: center;
  gap: 0.55rem;
  padding: 1rem 0.9rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.candidate-support-modal-brand > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  color: #ef5e39;
  background: #fff0ea;
  font-size: 1.22rem;
  box-shadow: 0 12px 24px rgba(239, 94, 57, 0.14);
}

.candidate-support-modal-brand strong,
.candidate-support-modal-brand em {
  display: block;
}

.candidate-support-modal-brand strong {
  color: #1f2937;
  font-size: 1.04rem;
  font-weight: 800;
}

.candidate-support-modal-brand em {
  color: #747f8d;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 650;
}

.candidate-support-modal-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.85rem;
}

.candidate-support-modal-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 86px;
  padding: 0.72rem 0.42rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  color: #26313f;
  text-decoration: none;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.candidate-support-modal-list a:hover {
  transform: translateY(-1px);
  border-color: rgba(239, 94, 57, 0.28);
  background: #fffaf7;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.candidate-support-modal-list i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #ef5e39;
  background: #fff0ea;
  font-size: 1.12rem;
}

.candidate-support-modal-list span {
  color: #7a8491;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
}

.candidate-support-modal-list strong {
  display: none;
  min-width: 0;
  color: #1f2937;
  font-size: 0.88rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.candidate-step-footer {
  margin-top: 1.2rem;
  padding: 0.85rem 0.25rem 0.25rem;
  color: #8a94a3;
  font-size: 0.82rem;
  text-align: center;
}

.candidate-step-hero {
  position: relative;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  overflow: hidden;
  min-height: 210px;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.candidate-step-hero > img {
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
  background: #eef2f7;
}

.candidate-step-hero-body {
  padding: 1.4rem;
}

.candidate-step-hero-body span {
  display: inline-flex;
  width: max-content;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  color: #eb5e37;
  background: #fff0ea;
  font-size: 0.76rem;
  font-weight: 600;
}

.candidate-step-hero-body h1 {
  margin: 0.85rem 0 0.4rem;
  color: #222831;
  font-size: clamp(1.35rem, 2.8vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0;
}

.candidate-step-hero-body p {
  max-width: 720px;
  margin: 0;
  color: #6d7682;
  line-height: 1.65;
  text-align: justify;
  text-justify: inter-word;
}

.candidate-step-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.candidate-step-meta strong,
.candidate-step-meta em {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-style: normal;
  font-size: 0.82rem;
}

.candidate-step-meta strong {
  color: #1f2937;
  background: #f3f6fa;
}

.candidate-step-meta em {
  color: #137f56;
  background: #e9f7f0;
}

.candidate-progress-card {
  display: grid;
  gap: 0.75rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
}

.candidate-progress-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.candidate-progress-card strong {
  color: #222831;
  font-weight: 600;
}

.candidate-progress-card span {
  color: #7a8491;
  font-size: 0.86rem;
}

.candidate-profile-change-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  margin: 0 0 1rem;
  padding: 0.82rem;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fbff;
}

.candidate-profile-change-card.is-locked {
  border-color: #edf1f5;
  background: #fbfcfe;
}

.candidate-profile-change-head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.candidate-profile-change-head > span {
  display: inline-grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #2563eb;
  background: #dbeafe;
  font-size: 1.15rem;
}

.candidate-profile-change-head strong,
.candidate-profile-change-head em {
  display: block;
}

.candidate-profile-change-head strong {
  color: #222831;
  font-size: 0.9rem;
  font-weight: 800;
}

.candidate-profile-change-head em {
  margin-top: 0.12rem;
  color: #687382;
  font-size: 0.74rem;
  font-style: normal;
}

.candidate-profile-change-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 0.8fr) auto;
  gap: 0.45rem;
  min-width: min(680px, 100%);
}

.candidate-profile-change-form .form-select,
.candidate-profile-change-form .form-control,
.candidate-profile-change-form .btn {
  min-height: 36px;
  border-radius: 9px;
  font-size: 0.76rem;
}

.candidate-profile-change-open {
  min-height: 36px;
  border-radius: 9px;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.candidate-profile-change-modal .app-modal-dialog {
  width: min(560px, calc(100vw - 1rem));
}

.candidate-profile-change-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.candidate-profile-change-modal-grid .form-select,
.candidate-profile-change-modal-grid .form-control {
  min-height: 42px;
  border-radius: 10px;
  font-size: 0.86rem;
}

.candidate-profile-change-reason {
  grid-column: 1 / -1;
}

.candidate-profile-request-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0.32rem 0.62rem;
  border-radius: 999px;
  color: #126b8f;
  background: #e5f4fb;
  font-size: 0.74rem;
  font-weight: 800;
}

.candidate-profile-request-pill.is-locked {
  color: #64748b;
  background: #f1f5f9;
}

.candidate-progress-track {
  overflow: hidden;
  height: 9px;
  border-radius: 999px;
  background: #edf2f7;
}

.candidate-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #eb5e37;
}

.candidate-step-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.candidate-step-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.candidate-step-timeline {
  position: sticky;
  top: 1rem;
  padding: 1rem;
  border: 1px solid #e7ecf2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.candidate-step-timeline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}

.candidate-step-timeline-head strong {
  color: #222831;
  font-size: 0.95rem;
  font-weight: 650;
}

.candidate-step-timeline-head em {
  display: none;
  color: #eb5e37;
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 600;
}

.candidate-step-timeline-head span {
  color: #7b8490;
  font-size: 0.76rem;
}

.candidate-step-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0.6rem 0;
}

.candidate-step-timeline-item:not(:last-child)::after {
  position: absolute;
  top: 43px;
  bottom: -8px;
  left: 18px;
  width: 2px;
  content: "";
  background: #e7edf3;
}

.candidate-step-timeline-dot {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #9aa4af;
  background: #f2f5f8;
  font-size: 1rem;
}

.candidate-step-timeline-item.is-active .candidate-step-timeline-dot {
  color: #fff;
  background: #eb5e37;
  box-shadow: 0 8px 20px rgba(235, 94, 55, 0.28);
}

.candidate-step-timeline-item.is-done .candidate-step-timeline-dot {
  color: #fff;
  background: #16a065;
}

.candidate-step-timeline-item strong {
  display: block;
  color: #2b323b;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.35;
}

.candidate-step-timeline-item span {
  color: #83909d;
  font-size: 0.75rem;
}

.candidate-step-timeline-item.is-active strong {
  color: #eb5e37;
}

.candidate-step-card {
  padding: 1rem;
  border: 1px solid #e7ecf2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.candidate-step-card-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.candidate-step-head-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
}

.candidate-step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  color: #eb5e37;
  background: #fff0ea;
  font-size: 1.35rem;
}

.candidate-step-card h2 {
  margin: 0;
  color: #222831;
  font-size: 1rem;
  font-weight: 650;
}

.candidate-step-card p {
  margin: 0.2rem 0 0;
  color: #76808d;
  font-size: 0.82rem;
  line-height: 1.45;
}

.candidate-step-card p,
.candidate-review-note p,
.candidate-interview-status-content p {
  text-align: justify;
  text-justify: inter-word;
}

.candidate-step-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 0.26rem 0.58rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 600;
  color: #8a6a00;
  background: #fff4d8;
}

.candidate-step-badge.is-processing,
.candidate-step-badge.is-submitted {
  color: #126b8f;
  background: #e5f4fb;
}

.candidate-step-badge.is-completed {
  color: #14734d;
  background: #e8f7ef;
}

.candidate-step-badge.is-rejected {
  color: #b42335;
  background: #fff0f1;
}

.candidate-submitted-file {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  color: #4b5563;
  background: #f7fafc;
  font-size: 0.84rem;
}

.candidate-submitted-file a {
  overflow-wrap: anywhere;
}

.candidate-step-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem;
  margin-bottom: 0.75rem;
  padding: 0.25rem;
  border-radius: 8px;
  background: #f3f6fa;
}

.candidate-step-tabs button {
  min-height: 36px;
  border: 0;
  border-radius: 7px;
  color: #6c7682;
  background: transparent;
  font-size: 0.83rem;
  font-weight: 600;
}

.candidate-step-tabs button.active {
  color: #fff;
  background: #222831;
}

.candidate-upload-area {
  display: grid;
  place-items: center;
  min-height: 180px;
  padding: 1rem;
  border: 2px dashed #cdd6e1;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  background: #fbfcfe;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.candidate-upload-area:hover,
.candidate-upload-area.is-dragover {
  border-color: #eb5e37;
  background: #fff8f5;
}

.candidate-upload-area input {
  display: none;
}

.candidate-upload-area i {
  color: #97a2af;
  font-size: 2.1rem;
}

.candidate-upload-area strong {
  margin-top: 0.35rem;
  color: #2b323b;
  font-weight: 600;
}

.candidate-upload-area span,
.candidate-file-name,
.candidate-upload-area em {
  color: #7b8490;
  font-size: 0.78rem;
}

.candidate-upload-area em {
  display: block;
  max-width: 100%;
  margin-top: 0.35rem;
  overflow-wrap: anywhere;
  font-style: normal;
  color: #e66239;
  font-weight: 650;
}

.candidate-video-guide {
  margin-top: 0.85rem;
}

.candidate-sample-video-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: max-content;
  min-height: 30px;
  padding: 0.34rem 0.55rem;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 999px;
  color: #2563eb;
  text-decoration: none;
  background: #eff6ff;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.candidate-sample-video-link:hover {
  color: #1d4ed8;
  background: #dbeafe;
}

.candidate-video-guide-card {
  margin-top: 0.7rem;
  padding: 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  background: #fbfcfe;
}

.candidate-video-guide-card h3 {
  margin: 0 0 0.35rem;
  color: #26313f;
  font-size: 0.94rem;
  font-weight: 800;
}

.candidate-video-guide-card p {
  margin: 0 0 0.55rem;
  color: #6f7a87;
  font-size: 0.8rem;
}

.candidate-video-guide-card ul {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.candidate-video-guide-card li {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  color: #4b5563;
  font-size: 0.8rem;
  line-height: 1.45;
}

.candidate-video-guide-card li i {
  margin-top: 0.12rem;
  color: #ef5e39;
  font-size: 1rem;
}

.candidate-file-name {
  margin-top: 0.5rem;
  overflow-wrap: anywhere;
}

.candidate-upload-progress {
  display: grid;
  gap: 0.28rem;
  margin-top: 0.45rem;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.candidate-upload-progress.is-ready,
.candidate-upload-progress.is-uploading {
  opacity: 1;
  transform: translateY(0);
}

.candidate-upload-progress span {
  display: block;
  width: 0;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #16a065, #e66239);
  transition: width 0.45s ease;
}

.candidate-upload-progress em {
  color: #7b8490;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 650;
}

.candidate-upload-progress.is-uploading span {
  animation: candidate-upload-pulse 0.8s ease-in-out infinite alternate;
}

@keyframes candidate-upload-pulse {
  from { opacity: 0.55; }
  to { opacity: 1; }
}

.candidate-video-preview,
.candidate-live-video {
  width: 100%;
  max-height: 240px;
  margin-top: 0.75rem;
  border-radius: 10px;
  background: #101828;
}

.candidate-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.candidate-exam-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.candidate-academic-files {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 1rem;
}

.candidate-academic-files .candidate-upload-area {
  min-height: 136px;
}

.candidate-exam-box div {
  padding: 0.75rem;
  border-radius: 8px;
  background: #f7fafc;
}

.candidate-exam-box span {
  display: block;
  color: #7b8490;
  font-size: 0.76rem;
}

.candidate-exam-box strong {
  display: block;
  margin-top: 0.25rem;
  color: #222831;
  font-size: 0.88rem;
  font-weight: 600;
}

.candidate-empty-step {
  grid-column: 1 / -1;
  color: #7b8490;
  font-size: 0.86rem;
}

.candidate-step-complete-card {
  min-height: 320px;
}

.candidate-success-burst {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  pointer-events: none;
  animation: candidate-burst-hide 2.3s ease forwards;
}

.candidate-success-burst::before,
.candidate-success-burst::after {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  content: "";
  background: #e66239;
  box-shadow:
    0 -92px #16a065,
    78px -48px #f6b52d,
    86px 42px #e66239,
    0 92px #16a065,
    -82px 48px #f6b52d,
    -84px -42px #e66239;
  animation: candidate-confetti 1s ease-out forwards;
}

.candidate-success-burst::after {
  width: 12px;
  height: 12px;
  transform: rotate(24deg);
  animation-delay: 0.05s;
}

.candidate-success-burst > div {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  width: min(330px, calc(100vw - 2rem));
  padding: 1.15rem;
  border: 1px solid #dcefe8;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.22);
  animation: candidate-burst-pop 0.55s cubic-bezier(.2, 1.35, .4, 1) both;
}

.candidate-success-burst span {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 0.5rem;
  border-radius: 999px;
  color: #fff;
  background: #16a065;
  font-size: 1.8rem;
  box-shadow: 0 16px 30px rgba(22, 160, 101, 0.28);
}

.candidate-success-burst strong {
  color: #222831;
  font-size: 1.05rem;
  font-weight: 850;
}

.candidate-success-burst em {
  margin-top: 0.18rem;
  color: #66717f;
  font-size: 0.78rem;
  font-style: normal;
  text-align: center;
}

@keyframes candidate-burst-pop {
  from { opacity: 0; transform: translateY(16px) scale(0.82); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes candidate-confetti {
  from { opacity: 0; transform: scale(0.2) rotate(0deg); }
  35% { opacity: 1; }
  to { opacity: 0; transform: scale(1.5) rotate(120deg); }
}

@keyframes candidate-burst-hide {
  0%, 78% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

.candidate-final-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 1rem;
}

.candidate-final-summary div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border-radius: 8px;
  color: #14734d;
  background: #e8f7ef;
  font-size: 0.84rem;
  font-weight: 600;
}

.candidate-review-note {
  margin-top: 0.9rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  color: #5f6977;
  background: #fbfcfe;
  font-size: 0.86rem;
  line-height: 1.55;
}

.candidate-review-note p {
  margin: 0 0 0.55rem;
}

.candidate-review-note p:last-child {
  margin-bottom: 0;
}

.candidate-review-note strong {
  color: #26313f;
  font-weight: 800;
}

.candidate-review-detail-list {
  display: grid;
  gap: 0.42rem;
  margin: 0.72rem 0;
  padding: 0.72rem;
  border: 1px solid rgba(16, 185, 129, 0.18);
  border-radius: 12px;
  background: #f0fdf6;
}

.candidate-review-detail-list > strong {
  color: #0f7a52;
  font-size: 0.78rem;
}

.candidate-review-detail-list span {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  color: #718096;
  font-size: 0.78rem;
  font-weight: 700;
}

.candidate-review-detail-list em {
  color: #243041;
  font-style: normal;
  font-weight: 850;
  text-align: right;
}

.candidate-result-dashboard {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.candidate-step-layout.is-result-only {
  grid-template-columns: minmax(0, 1fr);
}

.candidate-step-layout.is-result-only .candidate-step-grid {
  width: 100%;
  max-width: 100%;
}

.candidate-result-dashboard-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 1rem;
  align-items: center;
}

.candidate-result-dashboard-head span {
  display: inline-flex;
  margin-bottom: 0.42rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  color: #e66239;
  background: #fff0eb;
  font-size: 0.7rem;
  font-weight: 850;
}

.candidate-result-dashboard-head h2 {
  margin: 0;
  color: #1f2937;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1.1;
  font-weight: 900;
}

.candidate-result-dashboard-head p {
  margin: 0.32rem 0 0;
  color: #6b7280;
  font-size: 0.88rem;
  font-weight: 700;
}

.candidate-result-dashboard-head em {
  display: inline-flex;
  margin-top: 0.7rem;
  padding: 0.34rem 0.7rem;
  border: 1px solid #fde68a;
  border-radius: 10px;
  color: #92400e;
  background: #fffbeb;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 850;
}

.candidate-result-score-ring {
  display: grid;
  place-items: center;
  width: 106px;
  height: 106px;
  border-radius: 50%;
  background: conic-gradient(#10b981 calc(var(--score) * 1%), #e5e7eb 0);
  position: relative;
}

.candidate-result-score-ring::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: #fff;
}

.candidate-result-score-ring strong,
.candidate-result-score-ring small {
  position: relative;
  z-index: 1;
}

.candidate-result-score-ring strong {
  color: #111827;
  font-size: 1.35rem;
  font-weight: 900;
}

.candidate-result-score-ring small {
  margin-top: 0.22rem;
  color: #6b7280;
  font-size: 0.58rem;
  font-weight: 850;
  line-height: 1.05;
  text-align: center;
  text-transform: none;
}

.candidate-result-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.9rem;
  padding: 0.72rem 0.85rem;
  border-radius: 14px;
  background: #f1f5f9;
}

.candidate-result-status-row span {
  color: #0f7a52;
  font-weight: 900;
}

.candidate-result-dashboard.is-failed .candidate-result-status-row span {
  color: #b91c1c;
}

.candidate-result-dashboard.is-hold .candidate-result-status-row span {
  color: #a16207;
}

.candidate-result-status-row em {
  color: #64748b;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 750;
}

.candidate-result-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.candidate-result-dashboard-grid div {
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
}

.candidate-result-dashboard-grid i {
  color: #e66239;
  font-size: 1rem;
}

.candidate-result-dashboard-grid strong,
.candidate-result-dashboard-grid span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-result-dashboard-grid strong {
  margin-top: 0.35rem;
  color: #1f2937;
  font-size: 0.88rem;
  font-weight: 900;
}

.candidate-result-dashboard-grid span {
  margin-top: 0.1rem;
  color: #7a8491;
  font-size: 0.66rem;
  font-weight: 750;
}

.candidate-result-next {
  margin-top: 0.8rem;
  padding: 0.85rem;
  border-radius: 14px;
  background: #ecfdf5;
}

.candidate-result-status-table {
  margin-top: 0.78rem;
  padding: 0.85rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
}

.candidate-result-status-table h3 {
  margin: 0 0 0.55rem;
  color: #172033;
  font-size: 0.94rem;
  font-weight: 900;
}

.candidate-result-status-table table {
  width: 100%;
  border-collapse: collapse;
}

.candidate-result-status-table td {
  padding: 0.52rem 0.35rem;
  border-top: 1px solid #edf1f5;
  color: #5f6977;
  font-size: 0.78rem;
  font-weight: 750;
  vertical-align: middle;
}

.candidate-result-status-table td:first-child {
  color: #26313f;
  font-weight: 900;
}

.candidate-result-status-table td:last-child {
  text-align: right;
}

.candidate-result-status-table strong {
  color: #172033;
  font-weight: 900;
}

.candidate-result-dashboard.is-failed .candidate-result-next {
  background: #fff1f2;
}

.candidate-result-dashboard.is-hold .candidate-result-next {
  background: #fffbeb;
}

.candidate-result-next h3 {
  margin: 0 0 0.28rem;
  color: #172033;
  font-size: 1rem;
  font-weight: 900;
}

.candidate-result-next p {
  margin: 0;
  color: #5f6977;
  font-size: 0.82rem;
  line-height: 1.55;
}

.candidate-result-next blockquote {
  margin: 0.62rem 0 0;
  padding: 0.55rem 0.7rem;
  border-left: 3px solid #10b981;
  border-radius: 9px;
  color: #374151;
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.78rem;
}

.candidate-final-steps-panel {
  margin-top: 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.candidate-final-steps-panel summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 0.65rem;
  padding: 0.72rem 0.85rem;
  cursor: pointer;
  list-style: none;
}

.candidate-final-steps-panel summary::-webkit-details-marker {
  display: none;
}

.candidate-final-steps-panel summary > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: #2563eb;
  background: #eff6ff;
  font-size: 1rem;
}

.candidate-final-steps-panel summary strong {
  color: #26313f;
  font-size: 0.88rem;
  font-weight: 800;
}

.candidate-final-steps-panel summary em {
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  color: #2563eb;
  background: #eff6ff;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.candidate-final-steps-panel summary > i {
  color: #7a8491;
  transition: transform 0.18s ease;
}

.candidate-final-steps-panel[open] summary {
  border-bottom: 1px solid rgba(226, 232, 240, 0.82);
}

.candidate-final-steps-panel[open] summary > i {
  transform: rotate(180deg);
}

.candidate-final-table-wrap {
  overflow-x: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.candidate-final-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 460px;
}

.candidate-final-table th,
.candidate-final-table td {
  padding: 0.52rem 0.85rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.78);
  color: #5f6977;
  font-size: 0.8rem;
  vertical-align: middle;
}

.candidate-final-table th {
  color: #7a8491;
  background: #f8fafc;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.candidate-final-table tr:last-child td {
  border-bottom: 0;
}

.candidate-final-table td:first-child strong {
  color: #26313f;
  font-size: 0.82rem;
  font-weight: 750;
}

.candidate-final-table .candidate-step-badge {
  display: inline-flex;
  margin: 0;
  padding: 0.22rem 0.48rem;
  font-style: normal;
  font-size: 0.7rem;
  line-height: 1;
}

.candidate-interview-status-card {
  margin-top: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.candidate-interview-status-card.is-assigned {
  border-color: rgba(22, 160, 101, 0.24);
  background: #f4fff9;
}

.candidate-interview-status-card.is-pending {
  border-color: rgba(245, 158, 11, 0.28);
  background: #fffbeb;
}

.candidate-interview-status-card summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 0.65rem;
  padding: 0.72rem 0.85rem;
  cursor: pointer;
  list-style: none;
}

.candidate-interview-status-card summary::-webkit-details-marker {
  display: none;
}

.candidate-interview-status-card summary > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: #16a065;
  background: #eafff4;
  font-size: 1rem;
}

.candidate-interview-status-card.is-pending summary > span {
  color: #b45309;
  background: #fff4d6;
}

.candidate-interview-status-card summary strong {
  color: #26313f;
  font-size: 0.88rem;
  font-weight: 800;
}

.candidate-interview-status-card summary em {
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  color: #14734d;
  background: #e8f7ef;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.candidate-interview-status-card.is-pending summary em {
  color: #b45309;
  background: #fff4d6;
}

.candidate-interview-status-card summary > i {
  color: #7a8491;
  transition: transform 0.18s ease;
}

.candidate-interview-status-card[open] summary > i {
  transform: rotate(180deg);
}

.candidate-interview-status-content {
  padding: 0 1rem 1rem;
}

.candidate-interview-status-head {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.candidate-interview-status-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  color: #16a065;
  background: #eafff4;
  font-size: 1.15rem;
}

.candidate-interview-status-card.is-pending .candidate-interview-status-head > span {
  color: #b45309;
  background: #fff4d6;
}

.candidate-interview-status-head strong {
  display: block;
  margin-bottom: 0.25rem;
  color: #1f2937;
  font-size: 1rem;
  font-weight: 800;
}

.candidate-interview-status-head p,
.candidate-interview-help {
  margin: 0;
  color: #5f6977;
  font-size: 0.86rem;
  line-height: 1.5;
}

.candidate-interview-help {
  margin-top: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(226, 232, 240, 0.8);
}

.candidate-interview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.8rem;
}

.candidate-interview-actions span,
.candidate-interview-actions a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 36px;
  padding: 0.48rem 0.65rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 11px;
  color: #26313f;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.8rem;
  font-weight: 750;
}

.candidate-interview-actions a:hover {
  border-color: rgba(239, 94, 57, 0.28);
  color: #ef5e39;
  background: #fff;
}

.candidate-step-complete-card.is-announced-result {
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.candidate-result-modern {
  display: grid;
  grid-template-columns: 202px minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.candidate-result-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  min-height: 100vh;
  padding: 0.85rem 0.7rem;
  border-right: 1px solid #edf2f7;
  background: #fff;
}

.candidate-result-sidebar img {
  width: 134px;
  max-height: 44px;
  object-fit: contain;
}

.candidate-result-sidebar nav {
  display: grid;
  gap: 0.12rem;
  margin-top: 0.35rem;
}

.candidate-result-sidebar nav a,
.candidate-result-sidebar nav span {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 32px;
  padding: 0.38rem 0.58rem;
  border-radius: 8px;
  color: #1f2937;
  text-decoration: none;
  font-size: 0.68rem;
  font-weight: 800;
}

.candidate-result-sidebar nav i {
  color: #64748b;
  font-size: 0.82rem;
}

.candidate-result-sidebar nav em {
  display: inline-grid;
  place-items: center;
  min-width: 16px;
  height: 16px;
  margin-left: auto;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 900;
}

.candidate-result-sidebar nav .is-active {
  color: #2563eb;
  background: #edf4ff;
}

.candidate-result-sidebar nav .is-active i {
  color: #2563eb;
}

.candidate-result-help-card {
  margin-top: auto;
  padding: 0.7rem;
  border: 1px solid #e6edf5;
  border-radius: 10px;
  background: #f8f5ff;
}

.candidate-result-help-card strong {
  display: block;
  color: #172033;
  font-size: 0.74rem;
  font-weight: 900;
}

.candidate-result-help-card p {
  margin: 0.2rem 0 0.55rem;
  color: #64748b;
  font-size: 0.64rem;
  line-height: 1.45;
}

.candidate-result-help-card a,
.candidate-result-quick-contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.candidate-result-help-card a {
  gap: 0.35rem;
  width: 100%;
  min-height: 30px;
  border: 1px solid #dbe7ff;
  border-radius: 10px;
  color: #2563eb;
  background: #fff;
  font-size: 0.64rem;
  font-weight: 850;
}

.candidate-result-quick-contact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.35rem;
}

.candidate-result-quick-contact a {
  height: 30px;
  border: 1px solid #e6edf5;
  border-radius: 10px;
  color: #334155;
  background: #fff;
}

.candidate-result-main {
  min-width: 0;
  padding: 0 1.05rem 1rem;
  background: #fbfdff;
}

.candidate-result-main > section,
.candidate-result-main > .candidate-result-actions-modern {
  width: min(100%, 1240px);
  margin-right: auto;
  margin-left: auto;
}

.candidate-result-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  min-height: 56px;
  margin: 0 -1rem 0.85rem;
  padding: 0 1rem;
  border-bottom: 1px solid #edf2f7;
  background: #fff;
}

.candidate-result-topbar button,
.candidate-result-topbar span,
.candidate-result-topbar strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8eef5;
  background: #fff;
}

.candidate-result-topbar button {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #1f2937;
}

.candidate-result-topbar > div {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.candidate-result-topbar span {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: #172033;
}

.candidate-result-topbar strong {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  color: #92400e;
  background: #fff4df;
  font-size: 0.8rem;
  font-weight: 900;
}

.candidate-result-topbar em {
  display: grid;
  color: #172033;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.15;
}

.candidate-result-topbar small {
  color: #64748b;
  font-size: 0.66rem;
  font-weight: 750;
}

.candidate-result-hero-modern {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 116px;
  gap: 0.8rem;
  align-items: center;
  padding: 0.78rem;
  border: 1px solid #dde8f3;
  border-radius: 16px;
  background:
    radial-gradient(circle at 12% 30%, rgba(245, 158, 11, 0.11), transparent 30%),
    linear-gradient(135deg, #f4fbf8 0%, #ffffff 100%);
}

.candidate-result-trophy {
  display: grid;
  place-items: center;
  min-height: 104px;
  border-radius: 14px;
  color: #f59e0b;
  background:
    radial-gradient(circle at center, rgba(245, 158, 11, 0.18), transparent 58%),
    #fff;
  font-size: 3.85rem;
}

.candidate-result-hero-copy {
  min-width: 0;
}

.candidate-result-hero-copy h2 {
  margin: 0;
  color: #0f7a52;
  font-size: clamp(1.28rem, 2.15vw, 1.72rem);
  line-height: 1.15;
  font-weight: 950;
}

.candidate-result-hero-copy p {
  max-width: 560px;
  margin: 0.42rem 0 0;
  color: #334155;
  font-size: 0.74rem;
  line-height: 1.45;
}

.candidate-result-hero-copy > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.7rem;
}

.candidate-result-hero-copy span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 34px;
  padding: 0.36rem 0.52rem;
  border: 1px solid #e5edf6;
  border-radius: 10px;
  color: #64748b;
  background: #fff;
  font-size: 0.66rem;
  font-weight: 800;
}

.candidate-result-hero-copy span strong {
  display: block;
  color: #172033;
  font-size: 0.74rem;
}

.candidate-result-complete-ring,
.candidate-result-score-ring {
  background: conic-gradient(#10b981 var(--score), #e5e7eb 0);
}

.candidate-result-complete-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-self: end;
  width: 94px;
  height: 94px;
  border-radius: 50%;
  position: relative;
}

.candidate-result-complete-ring::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: #fff;
}

.candidate-result-complete-ring strong,
.candidate-result-complete-ring small,
.candidate-result-complete-ring em {
  position: relative;
  z-index: 1;
}

.candidate-result-complete-ring strong {
  color: #111827;
  font-size: 1.12rem;
  line-height: 1;
  font-weight: 950;
}

.candidate-result-complete-ring small {
  margin-top: 0.26rem;
  color: #475569;
  font-size: 0.66rem;
  line-height: 1;
  font-weight: 850;
}

.candidate-result-complete-ring em {
  position: absolute;
  right: -8px;
  bottom: -16px;
  display: inline-flex;
  gap: 0.28rem;
  align-items: center;
  min-width: max-content;
  padding: 0.28rem 0.45rem;
  border-radius: 999px;
  color: #0f7a52;
  background: #e8f7ef;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 850;
}

.candidate-result-outcome {
  display: grid;
  grid-template-columns: 58px minmax(240px, 1fr) minmax(260px, 0.86fr) 96px;
  gap: 0.78rem;
  align-items: center;
  margin-top: 0.72rem;
  padding: 0.78rem;
  border: 1px solid #e8eef5;
  border-radius: 16px;
  background: #fff;
}

.candidate-result-outcome-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  color: #b91c1c;
  background: #fff1f2;
  font-size: 1.45rem;
}

.candidate-result-dashboard.is-passed .candidate-result-outcome-icon {
  color: #0f7a52;
  background: #e8f7ef;
}

.candidate-result-dashboard.is-hold .candidate-result-outcome-icon {
  color: #a16207;
  background: #fffbeb;
}

.candidate-result-outcome h3 {
  margin: 0 0 0.25rem;
  color: #dc2626;
  font-size: 1.08rem;
  font-weight: 950;
}

.candidate-result-dashboard.is-passed .candidate-result-outcome h3 {
  color: #0f7a52;
}

.candidate-result-dashboard.is-hold .candidate-result-outcome h3 {
  color: #a16207;
}

.candidate-result-outcome p,
.candidate-result-outcome blockquote {
  margin: 0;
  color: #334155;
  font-size: 0.74rem;
  line-height: 1.42;
  text-align: left;
}

.candidate-result-outcome-note {
  min-width: 0;
  padding-left: 1rem;
  border-left: 1px solid #e8eef5;
}

.candidate-result-outcome blockquote {
  margin-top: 0.45rem;
  color: #64748b;
  font-style: normal;
}

.candidate-result-dashboard .candidate-result-score-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
}

.candidate-result-dashboard .candidate-result-score-ring strong {
  line-height: 1;
}

.candidate-result-dashboard .candidate-result-score-ring small {
  max-width: 58px;
  margin-top: 0.25rem;
  font-size: 0.44rem;
  line-height: 1.05;
  text-align: center;
}

.candidate-result-dashboard.is-failed .candidate-result-score-ring {
  background: conic-gradient(#ef4444 var(--score), #e5e7eb 0);
}

.candidate-result-dashboard.is-hold .candidate-result-score-ring {
  background: conic-gradient(#f59e0b var(--score), #e5e7eb 0);
}

.candidate-result-dashboard.is-passed .candidate-result-score-ring {
  background: conic-gradient(#10b981 var(--score), #e5e7eb 0);
}

.candidate-result-performance-modern {
  margin-top: 0.72rem;
}

.candidate-result-performance-modern h3 {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.5rem;
  color: #172033;
  font-size: 0.9rem;
  font-weight: 950;
}

.candidate-result-performance-modern h3 i {
  color: #ef5e39;
}

.candidate-result-performance-modern > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.candidate-result-performance-modern article {
  display: grid;
  justify-items: center;
  min-width: 0;
  min-height: 104px;
  padding: 0.66rem 0.55rem;
  border: 1px solid #e8eef5;
  border-radius: 11px;
  background: #fff;
  text-align: center;
}

.candidate-result-performance-modern article:nth-child(1) { background: #f7f5ff; }
.candidate-result-performance-modern article:nth-child(2) { background: #f2fbf6; }
.candidate-result-performance-modern article:nth-child(3) { background: #f5f9ff; }
.candidate-result-performance-modern article:nth-child(4) { background: #fff8ed; }

.candidate-result-performance-modern article span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 0.32rem;
  border-radius: 12px;
  color: #2563eb;
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.96rem;
}

.candidate-result-performance-modern article em {
  color: #334155;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 850;
}

.candidate-result-performance-modern article strong {
  display: block;
  overflow: hidden;
  max-width: 100%;
  margin-top: 0.24rem;
  color: #172033;
  font-size: 0.86rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-result-performance-modern article small {
  margin-top: 0.12rem;
  color: #64748b;
  font-size: 0.6rem;
  font-weight: 750;
}

.candidate-result-program-cta {
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) repeat(3, minmax(105px, 0.5fr)) auto;
  gap: 0.65rem;
  align-items: center;
  margin-top: 0.7rem;
  padding: 0.72rem;
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 76% 25%, rgba(255, 255, 255, 0.12), transparent 32%),
    linear-gradient(135deg, #071329 0%, #14284a 100%);
}

.candidate-result-program-cta > div:first-child {
  min-width: 0;
}

.candidate-result-program-cta > div:first-child span {
  display: inline-flex;
  margin-bottom: 0.25rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  color: #ef5e39;
  background: #fff1eb;
  font-size: 0.6rem;
  font-weight: 950;
  text-transform: uppercase;
}

.candidate-result-program-cta h3 {
  margin: 0;
  color: #fff;
  font-size: 1.02rem;
  line-height: 1.1;
  font-weight: 950;
}

.candidate-result-program-cta p {
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.66rem;
  line-height: 1.35;
}

.candidate-result-cta-benefits {
  display: contents;
}

.candidate-result-cta-benefits span {
  display: grid;
  justify-items: center;
  gap: 0.26rem;
  min-width: 0;
  padding: 0 0.52rem;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.56rem;
  font-weight: 750;
  text-align: center;
}

.candidate-result-cta-benefits i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.86rem;
}

.candidate-result-program-cta .btn,
.candidate-result-program-cta button {
  min-width: 132px;
  min-height: 36px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: #ef5e39;
  box-shadow: none;
}

.candidate-result-actions-modern {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.65rem;
}

.candidate-result-actions-modern a,
.candidate-result-actions-modern button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 36px;
  padding: 0.48rem 0.65rem;
  border: 1px solid #dfe7f0;
  border-radius: 9px;
  color: #172033;
  text-decoration: none;
  background: #fff;
  font-size: 0.68rem;
  font-weight: 850;
}

.candidate-result-actions-modern a:hover,
.candidate-result-actions-modern button:hover {
  border-color: #ef5e39;
  color: #ef5e39;
}

.candidate-step-complete-card {
  overflow: hidden;
}

.candidate-step-complete-card {
  width: min(100%, 980px);
}

.candidate-scheduled-showcase {
  padding: 1.2rem 1rem 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 20%, rgba(59, 130, 246, 0.14), transparent 30%),
    radial-gradient(circle at 86% 16%, rgba(249, 115, 22, 0.14), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  text-align: center;
}

.candidate-scheduled-brand {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
}

.candidate-scheduled-brand img {
  width: 138px;
  max-height: 52px;
  object-fit: contain;
}

.candidate-scheduled-brand span {
  color: #1e3a6d;
  font-size: 0.86rem;
  font-weight: 800;
}

.candidate-scheduled-title {
  margin-top: 1.1rem;
}

.candidate-scheduled-title h2 {
  margin: 0;
  color: #08285b;
  font-size: clamp(1.8rem, 4vw, 2.65rem);
  font-weight: 950;
  line-height: 1.08;
}

.candidate-scheduled-title p {
  margin: 0.4rem 0 0;
  color: #f97316;
  font-size: clamp(1rem, 2.4vw, 1.28rem);
  font-style: italic;
  font-weight: 900;
}

.candidate-step-complete-card > .candidate-step-card-head {
  margin-top: 1rem;
  padding: 0.95rem;
  border: 1px solid #fde68a;
  border-radius: 14px;
  background: linear-gradient(135deg, #fffbeb 0%, #fff7ed 100%);
}

.candidate-step-complete-card > .candidate-step-card-head .candidate-step-icon {
  color: #f59e0b;
  background: #fef3c7;
}

.candidate-step-complete-card > .candidate-step-card-head h2 {
  color: #08285b;
}

.candidate-step-complete-card > .candidate-step-card-head h2 strong,
.candidate-step-complete-card > .candidate-step-card-head p strong {
  color: #f97316;
}

.candidate-step-complete-card .candidate-review-note {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 4px 0 0 #2563eb;
}

.candidate-step-complete-card .candidate-review-note p {
  color: #14233f;
  font-size: 0.92rem;
  line-height: 1.62;
}

.candidate-step-complete-card .candidate-review-note p:first-child {
  font-size: 1rem;
}

.candidate-step-complete-card .candidate-review-detail-list {
  border-color: #dbeafe;
  background: #f8fbff;
}

.candidate-scheduled-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.candidate-scheduled-action-row .candidate-final-steps-panel,
.candidate-scheduled-action-row .candidate-interview-status-card {
  margin-top: 0;
}

.candidate-scheduled-action-row .candidate-final-steps-panel summary,
.candidate-scheduled-action-row .candidate-interview-status-card summary {
  min-height: 56px;
}

.candidate-scheduled-action-row .candidate-final-steps-panel summary {
  background: #ecfdf5;
}

.candidate-scheduled-action-row .candidate-final-steps-panel summary > span {
  color: #047857;
  background: #d1fae5;
}

.candidate-scheduled-action-row .candidate-interview-status-card summary {
  background: #eff6ff;
}

.candidate-scheduled-action-row .candidate-interview-status-card summary > span {
  color: #1d4ed8;
  background: #dbeafe;
}

.candidate-scheduled-guidance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.candidate-scheduled-guidance section:first-child {
  border-right: 1px solid #e8edf3;
  padding-right: 1rem;
}

.candidate-scheduled-guidance h3 {
  margin: 0 0 0.65rem;
  color: #08285b;
  font-size: 1rem;
  font-weight: 950;
}

.candidate-scheduled-guidance h3:not(:first-child) {
  margin-top: 1.05rem;
  padding-top: 0.85rem;
  border-top: 1px solid #e8edf3;
}

.candidate-scheduled-guidance p {
  display: block;
  position: relative;
  gap: 0.55rem;
  align-items: start;
  margin: 0;
  padding: 0.48rem 0 0.48rem 2rem;
  border-bottom: 1px solid #f1f5f9;
  color: #14233f;
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.candidate-scheduled-guidance p:last-child {
  border-bottom: 0;
}

.candidate-scheduled-guidance i {
  position: absolute;
  top: 0.5rem;
  left: 0;
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  color: #f59e0b;
  background: #fffbeb;
  font-size: 0.9rem;
}

.candidate-scheduled-guidance strong {
  display: inline;
  color: #08285b;
  font-weight: 950;
}

.candidate-final-social-card {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.candidate-final-social-head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.85rem;
}

.candidate-final-social-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  color: #4f46e5;
  background: #eef2ff;
  font-size: 1.18rem;
}

.candidate-final-social-head strong,
.candidate-final-social-head em {
  display: block;
}

.candidate-final-social-head strong {
  color: #1f2937;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.candidate-final-social-head em {
  margin-top: 0.14rem;
  color: #6b7280;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
}

.candidate-final-social-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.62rem;
}

.candidate-final-social-grid a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.62rem 0.68rem;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 14px;
  color: #1f2937;
  text-decoration: none;
  background: #fff;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.candidate-final-social-grid a:hover {
  transform: translateY(-1px);
  border-color: rgba(239, 94, 57, 0.24);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.candidate-final-social-grid i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 10px;
  font-size: 1rem;
}

.candidate-final-social-grid span {
  min-width: 0;
  overflow: hidden;
  color: #1f2937;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-final-social-grid .is-linkedin i {
  color: #0a66c2;
  background: #eaf3ff;
}

.candidate-final-social-grid .is-facebook i {
  color: #1877f2;
  background: #eef4ff;
}

.candidate-final-social-grid .is-instagram i {
  color: #c13584;
  background: #fff1f7;
}

.candidate-final-social-grid .is-youtube i {
  color: #ff0000;
  background: #fff1f2;
}

.candidate-final-social-grid .is-ambitionbox i {
  color: #0891b2;
  background: #ecfeff;
}

.candidate-final-social-grid .is-whatsapp i {
  color: #16a34a;
  background: #ecfdf5;
}

.candidate-step-complete-card .candidate-final-social-card {
  border: 0;
  background:
    radial-gradient(circle at 18% 26%, rgba(250, 204, 21, 0.24), transparent 15%),
    radial-gradient(circle at 80% 34%, rgba(250, 204, 21, 0.2), transparent 16%),
    linear-gradient(135deg, #063b8f 0%, #0756c9 58%, #0f67df 100%);
  color: #fff;
  text-align: center;
}

.candidate-step-complete-card .candidate-final-social-head {
  justify-content: center;
  margin-bottom: 0.7rem;
}

.candidate-step-complete-card .candidate-final-social-head > span {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
}

.candidate-step-complete-card .candidate-final-social-head strong {
  color: #fff;
  font-size: 1.22rem;
}

.candidate-step-complete-card .candidate-final-social-head em {
  color: rgba(255, 255, 255, 0.78);
}

.candidate-step-complete-card .candidate-final-social-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.candidate-step-complete-card .candidate-final-social-grid a {
  width: 44px;
  min-height: 44px;
  justify-content: center;
  padding: 0.45rem;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.92);
}

.candidate-step-complete-card .candidate-final-social-grid span {
  display: none;
}

@media (max-width: 768px) {
  .candidate-table-head,
  .candidate-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .candidate-table {
    min-width: 860px;
  }

  .candidate-detail-grid,
  .candidate-detail-list,
  .candidate-mini-stats,
  .candidate-activity-grid,
  .candidate-detail-hero-stats {
    grid-template-columns: 1fr;
  }

  .candidate-detail-hero {
    flex-direction: column;
  }

  .candidate-file-row {
    align-items: stretch;
    flex-direction: column;
  }

  .candidate-step-page {
    overflow-x: hidden;
    padding: 0;
    background: #eef3f8;
  }

  .candidate-step-shell {
    width: min(430px, 100%);
    min-height: 100vh;
    padding: 0.65rem;
    border-radius: 0;
    background:
      linear-gradient(180deg, rgba(235, 94, 55, 0.08) 0, rgba(235, 94, 55, 0) 170px),
      #f5f7fb;
  }

  .candidate-step-top {
    position: sticky;
    top: 0;
    z-index: 20;
    margin: -0.65rem -0.65rem 0.65rem;
    padding: 0.65rem;
    background: rgba(245, 247, 251, 0.92);
    backdrop-filter: blur(14px);
  }

  .candidate-step-top .auth-brand-logo {
    max-width: 126px;
    max-height: 42px;
  }

  .candidate-support-fab {
    right: 1rem;
    bottom: 1rem;
    left: auto;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(22, 160, 101, 0.28);
  }

  .candidate-default-support-card {
    align-items: stretch;
    flex-direction: column;
    gap: 0.8rem;
    border-radius: 16px;
  }

  .candidate-default-support-actions {
    justify-content: stretch;
  }

  .candidate-default-support-actions a {
    flex: 1 1 100%;
    justify-content: center;
  }

  .candidate-support-modal-list a {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .candidate-support-modal-list span,
  .candidate-support-modal-list strong {
    grid-column: 2;
  }

  .candidate-step-footer {
    padding-bottom: 4.2rem;
    font-size: 0.72rem;
  }

  .candidate-step-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    border-radius: 20px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.09);
  }

  .candidate-step-hero > img {
    height: 150px;
    min-height: 150px;
    padding: 0.35rem;
    object-fit: contain;
    object-position: center;
    background: #071329;
  }

  .candidate-step-hero-body {
    padding: 0.95rem;
  }

  .candidate-step-hero-body h1 {
    margin-top: 0.65rem;
    font-size: 1.18rem;
    line-height: 1.25;
  }

  .candidate-step-hero-body p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 0.82rem;
    line-height: 1.5;
  }

  .candidate-step-meta {
    gap: 0.45rem;
    margin-top: 0.8rem;
  }

  .candidate-step-meta strong,
  .candidate-step-meta em {
    min-height: 30px;
    padding: 0.32rem 0.58rem;
    font-size: 0.78rem;
  }

  .candidate-progress-card {
    gap: 0.55rem;
    margin: 0.75rem 0;
    padding: 0.8rem;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  }

  .candidate-progress-card strong {
    font-size: 0.88rem;
  }

  .candidate-progress-card span {
    font-size: 0.8rem;
  }

  .candidate-step-layout {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .candidate-step-timeline {
    position: static;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.38rem;
    overflow: visible;
    padding: 0.8rem;
    border-radius: 20px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
  }

  .candidate-step-timeline-head {
    position: static;
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: initial;
    margin: 0 0 0.55rem;
    padding: 0;
    background: transparent;
  }

  .candidate-step-timeline-head > div {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
  }

  .candidate-step-timeline-head strong {
    font-size: 0.95rem;
  }

  .candidate-step-timeline-head em {
    display: block;
    overflow: hidden;
    max-width: 220px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .candidate-step-timeline-head span {
    flex: 0 0 auto;
    padding: 0.25rem 0.52rem;
    border-radius: 999px;
    background: #f3f6fa;
    font-size: 0.74rem;
  }

  .candidate-step-timeline-item {
    position: relative;
    display: flex;
    justify-items: center;
    justify-content: center;
    align-items: center;
    gap: 0;
    min-width: 0;
    min-height: 48px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    text-align: center;
  }

  .candidate-step-timeline-item::before {
    position: absolute;
    top: 50%;
    right: 50%;
    left: -50%;
    height: 3px;
    content: "";
    transform: translateY(-50%);
    background: #e5ebf1;
  }

  .candidate-step-timeline-head + .candidate-step-timeline-item::before {
    display: none;
  }

  .candidate-step-timeline-item.is-done::before {
    background: #16a065;
  }

  .candidate-step-timeline-item:not(:last-child)::after {
    display: none;
  }

  .candidate-step-timeline-dot {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 4px solid #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  }

  .candidate-step-timeline-item strong {
    display: none;
  }

  .candidate-step-timeline-item span {
    display: none;
  }

  .candidate-step-timeline-item.is-active {
    background: transparent;
  }

  .candidate-step-timeline-item.is-active .candidate-step-timeline-dot {
    transform: scale(1.08);
  }

  .candidate-step-grid {
    grid-template-columns: 1fr;
  }

  .candidate-step-card {
    padding: 1rem;
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
  }

  .candidate-step-card-head {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 0.65rem;
    margin-bottom: 0.8rem;
  }

  .candidate-step-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  .candidate-step-card h2 {
    font-size: 1rem;
    line-height: 1.25;
  }

  .candidate-step-card p {
    font-size: 0.8rem;
  }

  .candidate-step-badge {
    margin-top: 0;
  }

  .candidate-step-head-actions {
    grid-column: 3;
    align-items: flex-end;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 0;
  }

  .candidate-sample-video-link {
    min-height: 28px;
    padding: 0.3rem 0.48rem;
    font-size: 0.7rem;
  }

  .candidate-step-tabs {
    border-radius: 14px;
  }

  .candidate-step-tabs button {
    min-height: 40px;
    border-radius: 11px;
    font-size: 0.8rem;
  }

  .candidate-upload-area {
    min-height: 142px;
    border-radius: 18px;
    background: #fbfdff;
  }

  .candidate-upload-area i {
    font-size: 1.85rem;
  }

  .candidate-upload-area strong {
    font-size: 0.88rem;
  }

  .candidate-academic-files {
    grid-template-columns: 1fr;
  }

  .candidate-video-preview,
  .candidate-live-video {
    max-height: 190px;
    border-radius: 16px;
  }

  .candidate-exam-box {
    grid-template-columns: 1fr;
  }

  .candidate-final-summary {
    grid-template-columns: 1fr;
  }

  .candidate-scheduled-showcase {
    padding: 1rem 0.78rem;
    border-radius: 18px;
  }

  .candidate-scheduled-brand img {
    width: 118px;
  }

  .candidate-scheduled-brand span {
    font-size: 0.72rem;
  }

  .candidate-scheduled-title {
    margin-top: 0.86rem;
  }

  .candidate-scheduled-title h2 {
    font-size: 1.55rem;
  }

  .candidate-scheduled-title p {
    font-size: 0.94rem;
  }

  .candidate-step-complete-card > .candidate-step-card-head {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 0.78rem;
  }

  .candidate-step-complete-card > .candidate-step-card-head .candidate-step-badge {
    grid-column: 2;
    justify-self: flex-start;
  }

  .candidate-step-complete-card .candidate-review-note {
    padding: 0.82rem;
    border-radius: 14px;
  }

  .candidate-step-complete-card .candidate-review-note p {
    font-size: 0.82rem;
    line-height: 1.52;
  }

  .candidate-scheduled-action-row,
  .candidate-scheduled-guidance {
    grid-template-columns: 1fr;
    gap: 0.72rem;
  }

  .candidate-scheduled-guidance {
    padding: 0.82rem;
    border-radius: 16px;
  }

  .candidate-scheduled-guidance section:first-child {
    padding-right: 0;
    padding-bottom: 0.72rem;
    border-right: 0;
    border-bottom: 1px solid #e8edf3;
  }

  .candidate-scheduled-guidance h3 {
    font-size: 0.92rem;
  }

  .candidate-scheduled-guidance p {
    font-size: 0.78rem;
  }

  .candidate-interview-status-head {
    gap: 0.6rem;
  }

  .candidate-final-steps-panel summary,
  .candidate-interview-status-card summary {
    grid-template-columns: 34px minmax(0, 1fr) 18px;
  }

  .candidate-final-steps-panel summary em,
  .candidate-interview-status-card summary em {
    grid-column: 2;
    justify-self: flex-start;
  }

  .candidate-interview-actions span,
  .candidate-interview-actions a {
    flex: 1 1 100%;
    justify-content: center;
  }
}

@media (max-width: 1100px) {
  .candidate-result-modern {
    grid-template-columns: 188px minmax(0, 1fr);
  }

  .candidate-result-hero-modern {
    grid-template-columns: 170px minmax(0, 1fr) 116px;
  }

  .candidate-result-trophy {
    min-height: 118px;
    font-size: 4.4rem;
  }

  .candidate-result-program-cta {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .candidate-result-cta-benefits {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    order: 3;
  }

  .candidate-result-cta-benefits span {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    padding-top: 0.72rem;
  }
}

@media (max-width: 768px) {
  .candidate-step-shell.is-result-announced {
    width: 100%;
    max-width: 100%;
  }

  .candidate-step-complete-card.is-announced-result {
    width: 100%;
  }

  .candidate-result-modern {
    grid-template-columns: 1fr;
    border-radius: 0;
    border-right: 0;
    border-left: 0;
    box-shadow: none;
  }

  .candidate-result-sidebar {
    display: none !important;
  }

  .candidate-result-main {
    padding: 0.72rem;
  }

  .candidate-result-topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    margin: -0.72rem -0.72rem 0.72rem;
    padding: 0.65rem 0.72rem;
    background: rgba(251, 253, 255, 0.94);
    backdrop-filter: blur(14px);
  }

  .candidate-result-topbar em {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .candidate-result-hero-modern {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.85rem;
    border-radius: 18px;
  }

  .candidate-result-trophy {
    min-height: 76px;
    border-radius: 16px;
    font-size: 2.8rem;
  }

  .candidate-result-hero-copy h2 {
    font-size: 1.16rem;
  }

  .candidate-result-hero-copy p {
    font-size: 0.78rem;
  }

  .candidate-result-hero-copy > div {
    gap: 0.45rem;
    margin-top: 0.65rem;
  }

  .candidate-result-hero-copy span {
    width: 100%;
    min-height: 38px;
    padding: 0.45rem 0.55rem;
  }

  .candidate-result-complete-ring {
    grid-column: 1 / -1;
    justify-self: center;
    display: flex;
    width: 86px;
    height: 86px;
    min-height: 86px;
    padding: 0;
    border-radius: 50%;
    background: conic-gradient(#10b981 var(--score), #e5e7eb 0);
  }

  .candidate-result-complete-ring::before {
    display: block;
    inset: 8px;
  }

  .candidate-result-complete-ring strong,
  .candidate-result-complete-ring small,
  .candidate-result-complete-ring em {
    position: relative;
  }

  .candidate-result-complete-ring strong {
    margin-right: 0;
    font-size: 0.96rem;
  }

  .candidate-result-complete-ring em {
    position: absolute;
    right: 50%;
    bottom: -16px;
    transform: translateX(50%);
    margin-left: 0;
    font-size: 0.56rem;
  }

  .candidate-result-outcome {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.78rem;
    border-radius: 18px;
  }

  .candidate-result-outcome-icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    font-size: 1.5rem;
  }

  .candidate-result-outcome h3 {
    font-size: 1.08rem;
  }

  .candidate-result-outcome p,
  .candidate-result-outcome blockquote {
    font-size: 0.76rem;
  }

  .candidate-result-outcome-note {
    grid-column: 1 / -1;
    padding: 0.68rem 0 0;
    border-top: 1px solid #e8eef5;
    border-left: 0;
  }

  .candidate-result-outcome .candidate-result-score-ring {
    grid-column: 1 / -1;
    justify-self: center;
    width: 84px;
    height: 84px;
  }

  .candidate-result-performance-modern > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .candidate-result-performance-modern article {
    padding: 0.75rem 0.55rem;
  }

  .candidate-result-performance-modern article strong {
    font-size: 0.94rem;
  }

  .candidate-result-program-cta {
    grid-template-columns: 1fr;
    gap: 0.72rem;
    padding: 0.85rem;
    border-radius: 18px;
  }

  .candidate-result-program-cta h3 {
    font-size: 1.12rem;
  }

  .candidate-result-cta-benefits {
    display: grid;
    grid-template-columns: 1fr;
    order: initial;
    gap: 0.45rem;
  }

  .candidate-result-cta-benefits span {
    grid-template-columns: 30px minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    padding: 0.48rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    text-align: left;
  }

  .candidate-result-cta-benefits i {
    width: 30px;
    height: 30px;
  }

  .candidate-result-program-cta .btn,
  .candidate-result-program-cta button,
  .candidate-result-program-cta form {
    width: 100%;
  }

  .candidate-result-actions-modern {
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
  }

  .candidate-result-actions-modern a,
  .candidate-result-actions-modern button {
    min-height: 40px;
    padding: 0.5rem 0.45rem;
    font-size: 0.7rem;
  }
}

@media (max-width: 460px) {
  .candidate-result-performance-modern > div,
  .candidate-result-actions-modern {
    grid-template-columns: 1fr;
  }

  .candidate-result-topbar > div span {
    display: none;
  }
}

.candidate-exam-page {
  min-height: 100vh;
  padding: 1rem;
  background: linear-gradient(180deg, #f3f7fb 0%, #ffffff 100%);
}

.candidate-exam-shell {
  max-width: 1040px;
  margin: 0 auto;
}

.candidate-exam-hero,
.candidate-exam-card,
.candidate-exam-toolbar,
.candidate-exam-question {
  border: 1px solid #e7edf4;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.candidate-exam-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1.35rem;
  border: 0;
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 20%, rgba(255, 255, 255, 0.2), transparent 28%),
    linear-gradient(135deg, #152238 0%, #2b3f5f 52%, #ef5e39 100%);
  color: #fff;
}

.candidate-exam-hero span {
  display: inline-flex;
  margin-bottom: 0.4rem;
  padding: 0.28rem 0.58rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  font-size: 0.72rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
}

.candidate-exam-hero h1 {
  margin: 0;
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 850;
  letter-spacing: 0;
}

.candidate-exam-hero p {
  max-width: 560px;
  margin: 0.45rem 0 0;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.55;
}

.candidate-exam-submitted-line {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin-top: 0.7rem;
  color: #dcfce7;
  font-size: 0.82rem;
  font-weight: 800;
}

.candidate-exam-submitted-line i {
  color: #22c55e;
  font-size: 1rem;
}

.candidate-exam-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  min-width: min(430px, 100%);
}

.candidate-exam-meta div {
  padding: 0.9rem 0.75rem;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.14);
  text-align: center;
  backdrop-filter: blur(12px);
}

.candidate-exam-meta i {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 0.45rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1rem;
}

.candidate-exam-meta strong,
.candidate-exam-meta span {
  display: block;
}

.candidate-exam-meta strong {
  font-size: 1.28rem;
  line-height: 1;
}

.candidate-exam-meta span {
  margin-top: 0.28rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.7rem;
  font-weight: 800;
}

.candidate-exam-card {
  display: grid;
  justify-items: center;
  gap: 0.65rem;
  margin-top: 1rem;
  padding: 2rem 1rem;
  border-radius: 24px;
}

.candidate-exam-card i {
  color: #e66239;
  font-size: 2.4rem;
}

.candidate-exam-card h2 {
  margin: 0;
  color: #24272b;
  font-size: 1.25rem;
  font-weight: 850;
}

.candidate-exam-card p {
  max-width: 560px;
  margin: 0;
  color: #727a84;
  line-height: 1.55;
}

.candidate-exam-form {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.candidate-exam-toolbar {
  position: sticky;
  top: 0.75rem;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(14px);
}

.candidate-exam-toolbar strong,
.candidate-exam-toolbar span {
  display: block;
}

.candidate-exam-toolbar-note {
  max-width: 260px;
  color: #66717f;
  font-size: 0.76rem;
  font-weight: 700;
  text-align: right;
}

.candidate-exam-toolbar strong {
  color: #e66239;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 1.35rem;
  line-height: 1;
}

.candidate-exam-toolbar span {
  margin-top: 0.2rem;
  color: #727a84;
  font-size: 0.72rem;
  font-weight: 800;
}

.candidate-exam-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
}

.candidate-exam-nav button {
  width: 38px;
  height: 38px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  color: #687382;
  background: #fff;
  font-weight: 800;
}

.candidate-exam-nav button.active {
  color: #fff;
  border-color: #e66239;
  background: #e66239;
}

.candidate-exam-nav button.answered {
  color: #11825f;
  border-color: #c7eadc;
  background: #e4f6ef;
}

.candidate-exam-question {
  display: none;
  padding: 1.25rem;
  border-radius: 22px;
}

.candidate-exam-question.active {
  display: block;
}

.candidate-exam-question-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.candidate-exam-question-head span,
.candidate-exam-question-head em {
  color: #7b8490;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 800;
}

.candidate-exam-question h2 {
  margin: 0 0 1rem;
  color: #24272b;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.5;
}

.candidate-exam-options {
  display: grid;
  gap: 0.65rem;
}

.candidate-exam-options label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  padding: 0.9rem;
  border: 1px solid #e3e9f0;
  border-radius: 14px;
  background: #fbfcfe;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.candidate-exam-options label:hover {
  border-color: rgba(37, 99, 235, 0.28);
  background: #f8fbff;
  transform: translateY(-1px);
}

.candidate-exam-options input {
  margin-top: 0.2rem;
  accent-color: #2563eb;
}

.candidate-exam-options span {
  color: #344052;
  font-size: 0.9rem;
}

.candidate-exam-controls {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.candidate-result-card {
  overflow: hidden;
  position: relative;
}

.candidate-result-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  content: "";
  background: #16a065;
}

.candidate-result-card.is-failed::before {
  background: #f59e0b;
}

.candidate-result-card.is-passed i {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  color: #fff;
  background: #16a065;
  box-shadow: 0 18px 34px rgba(22, 160, 101, 0.25);
}

.candidate-result-card.is-failed i {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  color: #fff;
  background: #f59e0b;
  box-shadow: 0 18px 34px rgba(245, 158, 11, 0.24);
}

.candidate-result-score {
  display: grid;
  place-items: center;
  width: 142px;
  height: 142px;
  margin: 0.2rem auto;
  border: 10px solid #e8f7ef;
  border-radius: 999px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(22, 160, 101, 0.08);
}

.candidate-result-score strong {
  color: #222831;
  font-size: 1.55rem;
  font-weight: 850;
  line-height: 1;
}

.candidate-result-score span {
  margin-top: 0.28rem;
  color: #16a065;
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.candidate-result-card.is-failed .candidate-result-score {
  border-color: #fef3c7;
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.12);
}

.candidate-result-card.is-failed .candidate-result-score span {
  color: #b45309;
}

.candidate-exam-result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
  gap: 1rem;
  margin-top: 1rem;
}

.candidate-exam-score-panel,
.candidate-exam-summary-panel,
.candidate-exam-actions-strip,
.candidate-exam-note {
  border: 1px solid #e7edf4;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.candidate-exam-score-panel {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.candidate-exam-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.candidate-exam-panel-head span {
  color: #222831;
  font-size: 1rem;
  font-weight: 850;
}

.candidate-exam-panel-head strong {
  padding: 0.32rem 0.68rem;
  border-radius: 999px;
  background: #f6f8fb;
  font-size: 0.78rem;
  font-weight: 850;
}

.candidate-exam-score-main {
  display: grid;
  grid-template-columns: 72px minmax(130px, 0.75fr) 160px minmax(130px, 0.7fr);
  gap: 1rem;
  align-items: center;
}

.candidate-exam-medal {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 20px;
  color: #f97316;
  background: #fff4e5;
  box-shadow: inset 0 0 0 1px #fed7aa;
}

.candidate-exam-medal i {
  font-size: 2rem;
}

.candidate-exam-score-main h2 {
  margin: 0;
  color: #f97316;
  font-size: clamp(1.8rem, 4vw, 2.55rem);
  font-weight: 900;
  line-height: 1;
}

.candidate-exam-score-main h2 span {
  color: #222831;
  font-size: 1.18rem;
}

.candidate-exam-score-main p {
  margin: 0.3rem 0 0;
  color: #687382;
  font-size: 0.74rem;
  font-weight: 750;
}

.candidate-exam-score-main em {
  display: inline-flex;
  width: fit-content;
  margin-top: 0.58rem;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  color: #dc2626;
  background: #fee2e2;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 850;
}

.candidate-exam-score-panel.is-passed .candidate-exam-score-main em {
  color: #13845f;
  background: #ddf8ec;
}

.candidate-exam-ring {
  display: grid;
  place-items: center;
  width: 142px;
  height: 142px;
  border-radius: 999px;
  background:
    radial-gradient(circle, #fff 58%, transparent 59%),
    conic-gradient(#f97316 var(--score), #edf2f7 0);
}

.candidate-exam-ring strong,
.candidate-exam-ring span {
  grid-area: 1 / 1;
}

.candidate-exam-ring strong {
  margin-top: -0.8rem;
  color: #172033;
  font-size: 1.45rem;
  font-weight: 900;
}

.candidate-exam-ring span {
  margin-top: 2rem;
  color: #687382;
  font-size: 0.64rem;
  font-weight: 800;
}

.candidate-exam-pass-target span,
.candidate-exam-pass-target strong,
.candidate-exam-pass-target small {
  display: block;
}

.candidate-exam-pass-target span {
  color: #687382;
  font-size: 0.72rem;
  font-weight: 750;
}

.candidate-exam-pass-target strong {
  margin-top: 0.25rem;
  color: #172033;
  font-size: 1.18rem;
  font-weight: 900;
}

.candidate-exam-pass-target small {
  color: #2563eb;
  font-size: 0.72rem;
  font-weight: 850;
}

.candidate-exam-result-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #edf1f5;
  border-radius: 16px;
  overflow: hidden;
}

.candidate-exam-result-stats div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  padding: 0.75rem;
  border-right: 1px solid #edf1f5;
}

.candidate-exam-result-stats div:last-child {
  border-right: 0;
}

.candidate-exam-result-stats i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: #16a065;
  background: #e4f6ef;
}

.candidate-exam-result-stats div:nth-child(2) i {
  color: #dc2626;
  background: #fee2e2;
}

.candidate-exam-result-stats div:nth-child(3) i {
  color: #7c3aed;
  background: #f1eaff;
}

.candidate-exam-result-stats div:nth-child(4) i {
  color: #2563eb;
  background: #eaf1ff;
}

.candidate-exam-result-stats strong,
.candidate-exam-result-stats span {
  display: block;
}

.candidate-exam-result-stats strong {
  color: #172033;
  font-size: 1rem;
  font-weight: 900;
}

.candidate-exam-result-stats span {
  color: #687382;
  font-size: 0.64rem;
  font-weight: 750;
}

.candidate-exam-performance {
  padding: 0.8rem;
  border: 1px solid #edf1f5;
  border-radius: 16px;
  background: #fbfcfe;
}

.candidate-exam-performance div:first-child {
  display: flex;
  justify-content: space-between;
  color: #172033;
  font-size: 0.82rem;
  font-weight: 850;
}

.candidate-exam-progress {
  height: 10px;
  margin: 0.65rem 0 0.5rem;
  border-radius: 999px;
  background: #edf2f7;
  overflow: hidden;
}

.candidate-exam-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #fb923c, #f97316);
}

.candidate-exam-performance p {
  margin: 0;
  color: #687382;
  font-size: 0.72rem;
  text-align: center;
}

.candidate-exam-summary-panel {
  padding: 1rem;
}

.candidate-exam-summary-panel h2 {
  margin: 0 0 0.85rem;
  color: #172033;
  font-size: 1rem;
  font-weight: 900;
}

.candidate-exam-summary-panel div {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 0.6rem;
  align-items: center;
  padding: 0.68rem 0;
  border-bottom: 1px solid #edf1f5;
}

.candidate-exam-summary-panel div:last-child {
  border-bottom: 0;
}

.candidate-exam-summary-panel i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  color: #2563eb;
  background: #eef4ff;
}

.candidate-exam-summary-panel span {
  color: #687382;
  font-size: 0.74rem;
  font-weight: 750;
}

.candidate-exam-summary-panel strong {
  color: #172033;
  font-size: 0.76rem;
  font-weight: 900;
  text-align: right;
}

.candidate-exam-actions-strip {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  margin-top: 1rem;
  padding: 0.85rem;
  background: #f6f1ff;
}

.candidate-answer-review {
  min-width: 0;
}

.candidate-answer-review summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  width: 100%;
  min-height: 42px;
  border: 1px solid #9b8adf;
  border-radius: 12px;
  color: #5b45bd;
  background: #fff;
  font-size: 0.82rem;
  font-weight: 850;
  cursor: pointer;
}

.candidate-answer-review-list {
  display: grid;
  gap: 0.6rem;
  max-height: 420px;
  margin-top: 0.75rem;
  padding-right: 0.25rem;
  overflow: auto;
}

.candidate-answer-review-list article {
  padding: 0.75rem;
  border: 1px solid #edf1f5;
  border-left: 4px solid #dc2626;
  border-radius: 14px;
  background: #fff;
}

.candidate-answer-review-list article.is-correct {
  border-left-color: #16a065;
}

.candidate-answer-review-list article div {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}

.candidate-answer-review-list article div span {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  color: #fff;
  background: #172033;
  font-size: 0.68rem;
  font-weight: 900;
}

.candidate-answer-review-list strong {
  color: #172033;
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.4;
}

.candidate-answer-review-list p {
  margin: 0.5rem 0 0;
  color: #687382;
  font-size: 0.76rem;
}

.candidate-answer-review-list b {
  color: #172033;
}

.candidate-answer-review-list em {
  display: inline-flex;
  margin-top: 0.55rem;
  padding: 0.24rem 0.5rem;
  border-radius: 999px;
  color: #5b45bd;
  background: #f3efff;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 850;
}

.candidate-exam-note {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  background: #eef4ff;
}

.candidate-exam-note i {
  color: #2563eb;
  font-size: 1.8rem;
}

.candidate-exam-note strong {
  color: #172033;
  font-size: 0.86rem;
  font-weight: 900;
}

.candidate-exam-note p {
  margin: 0.15rem 0 0;
  color: #475569;
  font-size: 0.76rem;
  line-height: 1.45;
}

.auth-screen {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  padding: 1rem;
  background: #fff;
}

.auth-card {
  border: 1px solid #edf0f3;
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.verify-email-card {
  overflow: hidden;
  border-radius: 18px;
}

.verify-email-card .card-body {
  padding: 2rem !important;
}

.verify-email-icon {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 auto;
  border-radius: 999px;
  font-size: 1.45rem;
}

.verify-email-icon.is-success {
  color: #fff;
  background: linear-gradient(135deg, #16a065, #21bf7c);
  box-shadow: 0 14px 28px rgba(22, 160, 101, 0.22);
}

.verify-email-icon.is-error {
  color: #b42335;
  background: #fff0f1;
}

.verify-success-message {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid #cfeee1;
  border-radius: 12px;
  color: #137f56;
  background: #effaf5;
  font-size: 0.8rem;
  font-weight: 650;
  text-align: left;
}

.verify-success-message i {
  flex: 0 0 auto;
  font-size: 1.15rem;
}

@media (max-width: 390px) {
  .candidate-step-card-head {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .candidate-step-head-actions {
    grid-column: 2;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 0.12rem;
  }
}

@media (max-width: 768px) {
  .candidate-exam-page {
    padding: 0.75rem 0.75rem 1.25rem;
  }

  .candidate-exam-hero {
    display: grid;
    padding: 1rem;
    border-radius: 22px;
  }

  .candidate-exam-hero h1 {
    font-size: 1.25rem;
  }

  .candidate-exam-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    gap: 0.42rem;
  }

  .candidate-exam-meta div {
    padding: 0.68rem 0.42rem;
    border-radius: 14px;
  }

  .candidate-exam-meta i {
    width: 24px;
    height: 24px;
    margin-bottom: 0.32rem;
    font-size: 0.86rem;
  }

  .candidate-exam-meta strong {
    font-size: 1rem;
  }

  .candidate-exam-meta span {
    font-size: 0.58rem;
  }

  .candidate-exam-toolbar {
    top: 0.35rem;
    border-radius: 18px;
  }

  .candidate-exam-toolbar-note {
    max-width: 150px;
    font-size: 0.68rem;
  }

  .candidate-exam-question {
    padding: 1rem;
    border-radius: 20px;
  }

  .candidate-exam-question h2 {
    font-size: 1rem;
  }

  .candidate-exam-controls .btn {
    flex: 1;
  }

  .candidate-result-score {
    width: 124px;
    height: 124px;
  }

  .candidate-exam-result-layout {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .candidate-exam-score-panel,
  .candidate-exam-summary-panel,
  .candidate-exam-actions-strip,
  .candidate-exam-note {
    border-radius: 18px;
  }

  .candidate-exam-score-panel {
    gap: 0.75rem;
    padding: 0.82rem;
  }

  .candidate-exam-score-main {
    grid-template-columns: 54px minmax(0, 1fr) 108px;
    gap: 0.72rem;
  }

  .candidate-exam-medal {
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }

  .candidate-exam-medal i {
    font-size: 1.45rem;
  }

  .candidate-exam-score-main h2 {
    font-size: 1.7rem;
  }

  .candidate-exam-score-main h2 span {
    font-size: 0.95rem;
  }

  .candidate-exam-ring {
    width: 104px;
    height: 104px;
  }

  .candidate-exam-ring strong {
    font-size: 1.05rem;
  }

  .candidate-exam-ring span {
    margin-top: 1.55rem;
    font-size: 0.54rem;
  }

  .candidate-exam-pass-target {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.58rem 0.68rem;
    border-radius: 14px;
    background: #f8fafc;
  }

  .candidate-exam-pass-target span,
  .candidate-exam-pass-target strong,
  .candidate-exam-pass-target small {
    margin: 0;
  }

  .candidate-exam-result-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .candidate-exam-result-stats div {
    padding: 0.58rem;
  }

  .candidate-exam-result-stats div:nth-child(2) {
    border-right: 0;
  }

  .candidate-exam-result-stats div:nth-child(1),
  .candidate-exam-result-stats div:nth-child(2) {
    border-bottom: 1px solid #edf1f5;
  }

  .candidate-exam-summary-panel {
    padding: 0.82rem;
  }

  .candidate-exam-summary-panel div {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 0.52rem;
  }

  .candidate-exam-summary-panel strong {
    grid-column: 2;
    margin-top: -0.16rem;
    text-align: left;
  }

  .candidate-exam-actions-strip {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .candidate-answer-review summary,
  .candidate-exam-actions-strip .btn {
    min-height: 44px;
    width: 100%;
  }

  .candidate-answer-review-list {
    max-height: none;
  }

  .candidate-exam-note {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 0.78rem;
  }

  .candidate-exam-note i {
    font-size: 1.45rem;
  }

  .auth-screen {
    align-items: center;
    min-height: 100svh;
    padding: 0.75rem;
    overflow: hidden;
  }

  .verify-email-card .card-body {
    padding: 1.6rem !important;
  }

  .verify-email-icon {
    width: 50px;
    height: 50px;
    font-size: 1.35rem;
  }

  .auth-card {
    border-radius: 18px;
  }

  .auth-card .card-body {
    padding: 1.15rem !important;
  }

  .auth-card .auth-brand {
    margin-bottom: 0.75rem !important;
  }

  .auth-card .auth-brand-logo {
    max-width: 135px;
    max-height: 56px;
  }

  .auth-card h1 {
    margin-bottom: 1rem !important;
    font-size: 1.05rem;
  }

  .auth-card .mb-3 {
    margin-bottom: 0.72rem !important;
  }
}

.old-candidates-page {
  max-width: 100%;
}

.old-record-hero {
  align-items: center;
  margin-bottom: 0.65rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid #edf1f5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
}

.old-record-hero .permission-eyebrow {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  margin-bottom: 0.25rem;
}

.old-record-hero h1 {
  font-size: 1.38rem;
  font-weight: 650;
  line-height: 1.1;
}

.old-record-hero p {
  max-width: 680px;
  font-size: 0.82rem;
}

.old-record-source {
  display: grid;
  min-width: 132px;
  padding: 0.58rem 0.75rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #f8fafc;
  text-align: right;
}

.old-record-source span {
  color: #20252d;
  font-size: 1.08rem;
  font-weight: 650;
  line-height: 1;
}

.old-record-source small {
  margin-top: 0.25rem;
  color: #7a8491;
  font-size: 0.72rem;
  font-weight: 500;
}

.old-record-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 0.7rem;
}

.old-record-stats > div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  padding: 0.58rem 0.68rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.035);
}

.old-record-stats i {
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #fff1ec;
  color: #e66239;
  font-size: 1rem;
}

.old-record-stats span {
  color: #20252d;
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1;
}

.old-record-stats p {
  margin: 0;
  color: #7a8491;
  font-size: 0.74rem;
  font-weight: 500;
}

.old-record-filter .card-body,
.old-record-card .card-body {
  padding: 0.72rem;
}

.old-record-filter .form-control,
.old-record-filter .form-select {
  min-height: 38px;
  border-color: #e8edf3;
  border-radius: 11px;
  font-size: 0.82rem;
}

.old-record-filter .btn {
  min-height: 38px;
  border-radius: 11px;
}

.old-record-range {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.62rem;
  border-radius: 999px;
  background: #f4f7fb;
  color: #7a8491;
  font-size: 0.74rem;
  font-weight: 600;
}

.old-record-range strong {
  color: #20252d;
}

.old-candidate-table {
  table-layout: fixed;
}

.old-candidate-table th {
  padding: 0.52rem 0.62rem;
  border-bottom: 1px solid #edf1f5;
  background: #f8fafc;
  color: #7a8491;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
}

.old-candidate-table td {
  padding: 0.54rem 0.62rem;
  border-bottom: 1px solid #f0f3f7;
  color: #303741;
  font-size: 0.8rem;
  vertical-align: middle;
}

.old-candidate-table th:nth-child(1),
.old-candidate-table td:nth-child(1) {
  width: 28%;
}

.old-candidate-table th:nth-child(2),
.old-candidate-table td:nth-child(2) {
  width: 28%;
}

.old-candidate-table th:nth-child(3),
.old-candidate-table td:nth-child(3) {
  width: 18%;
}

.old-candidate-table th:nth-child(4),
.old-candidate-table td:nth-child(4) {
  width: 26%;
}

.old-candidate-table.has-select th:nth-child(1),
.old-candidate-table.has-select td:nth-child(1) {
  width: 54px;
  text-align: center;
}

.old-candidate-table.has-select th:nth-child(2),
.old-candidate-table.has-select td:nth-child(2) {
  width: 26%;
}

.old-candidate-table.has-select th:nth-child(3),
.old-candidate-table.has-select td:nth-child(3) {
  width: 27%;
}

.old-candidate-table.has-select th:nth-child(4),
.old-candidate-table.has-select td:nth-child(4) {
  width: 16%;
}

.old-candidate-table.has-select th:nth-child(5),
.old-candidate-table.has-select td:nth-child(5) {
  width: 26%;
}

.old-assign-form {
  margin-top: 0.7rem;
}

.old-assign-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto auto auto;
  gap: 0.55rem;
  align-items: end;
  margin-bottom: 0.7rem;
  padding: 0.65rem;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fbfcfe;
}

.old-assign-panel .form-select {
  min-height: 38px;
  border-color: #e8edf3;
  border-radius: 10px;
  font-size: 0.8rem;
}

.old-assign-panel .btn {
  min-height: 38px;
  white-space: nowrap;
}

.old-select-page-btn {
  border-color: #e8edf3;
  color: #303741;
  font-size: 0.78rem;
  font-weight: 700;
}

.old-select-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 0.72rem;
  border-radius: 10px;
  background: #fff;
  color: #7a8491;
  font-size: 0.76rem;
  font-weight: 600;
}

.old-bulk-check {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  color: #7a8491;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.old-record-email,
.old-record-phone {
  display: block;
  overflow: hidden;
  color: #303741;
  font-size: 0.78rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.old-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-top: 0.9rem;
  padding-top: 0.72rem;
  border-top: 1px solid #edf1f5;
}

.old-pagination-info {
  color: #7a8491;
  font-size: 0.76rem;
  font-weight: 500;
}

.old-pagination-pages {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.32rem;
}

.old-pagination-pages a,
.old-pagination-pages span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 32px;
  padding: 0 0.45rem;
  border: 1px solid #e6ebf1;
  border-radius: 10px;
  background: #fff;
  color: #5d6876;
  font-size: 0.76rem;
  font-weight: 600;
  text-decoration: none;
}

.old-pagination-pages a:hover {
  border-color: rgba(230, 98, 57, 0.45);
  color: #e66239;
}

.old-pagination-pages a.is-active {
  border-color: #e66239;
  background: #e66239;
  color: #fff;
}

.old-pagination-pages a.is-disabled {
  pointer-events: none;
  opacity: 0.38;
}

@media (max-width: 768px) {
  .old-candidates-page .profile-head {
    align-items: stretch;
    gap: 0.75rem;
    padding: 0.85rem;
  }

  .old-candidates-page .profile-head h1 {
    font-size: 1.2rem;
  }

  .old-candidates-page .profile-head p {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .old-record-source {
    min-width: 0;
    text-align: left;
  }

  .old-record-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .old-record-stats > div {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.65rem;
    border-radius: 13px;
  }

  .old-record-stats i {
    width: 30px;
    height: 30px;
    border-radius: 10px;
  }

  .old-record-stats span {
    font-size: 1rem;
  }

  .old-record-filter .card-body,
  .old-record-card .card-body {
    padding: 0.72rem;
  }

  .old-record-card .candidate-table-head {
    align-items: flex-start;
    gap: 0.65rem;
  }

  .old-record-range {
    align-self: flex-start;
  }

  .old-assign-panel {
    grid-template-columns: 1fr;
    gap: 0.55rem;
    padding: 0.65rem;
  }

  .old-assign-panel .btn,
  .old-select-count {
    width: 100%;
  }

  .old-candidate-table thead {
    display: none;
  }

  .old-candidate-table,
  .old-candidate-table tbody,
  .old-candidate-table tr,
  .old-candidate-table td {
    display: block;
    width: 100%;
  }

  .old-candidate-table tr {
    margin-bottom: 0.72rem;
    padding: 0.78rem;
    border: 1px solid #e8edf3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  }

  .old-candidate-table td {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.38rem 0;
    border: 0;
    text-align: right;
  }

  .old-candidate-table td::before {
    content: attr(data-label);
    flex: 0 0 34%;
    color: #8b95a1;
    font-size: 0.72rem;
    font-weight: 800;
    text-align: left;
  }

  .old-candidate-table td:nth-child(1)::before { content: "Name"; }
  .old-candidate-table td:nth-child(2)::before { content: "Email"; }
  .old-candidate-table td:nth-child(3)::before { content: "Phone"; }
  .old-candidate-table td:nth-child(4)::before { content: "Profile"; }

  .old-candidate-table.has-select td:nth-child(1)::before { content: "Select"; }
  .old-candidate-table.has-select td:nth-child(2)::before { content: "Name"; }
  .old-candidate-table.has-select td:nth-child(3)::before { content: "Email"; }
  .old-candidate-table.has-select td:nth-child(4)::before { content: "Phone"; }
  .old-candidate-table.has-select td:nth-child(5)::before { content: "Profile"; }

  .old-record-email,
  .old-record-phone {
    white-space: normal;
    word-break: break-word;
  }

  .old-pagination {
    display: grid;
    gap: 0.65rem;
  }

  .old-pagination-info {
    text-align: center;
  }

  .old-pagination-pages {
    justify-content: center;
  }

  .old-pagination-pages a,
  .old-pagination-pages span {
    min-width: 31px;
    height: 31px;
    border-radius: 9px;
    font-size: 0.74rem;
  }
}

/* Public website footer: old TechMaa style final override. */
body.public-site-body .public-cta {
  display: grid !important;
  justify-items: center;
  gap: 1.8rem;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 2.45rem 1rem 3.55rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #ffffff;
  text-align: center;
  background: linear-gradient(135deg, #3465f5 0%, #8b3ff2 52%, #a52ce8 100%) !important;
  box-shadow: none !important;
}

body.public-site-body .public-cta h2 {
  margin: 0 0 0.55rem;
  color: #ffffff;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: 0;
}

body.public-site-body .public-cta p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(1rem, 1.85vw, 1.35rem);
  font-weight: 400;
  line-height: 1.42;
}

body.public-site-body .public-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.1rem;
}

body.public-site-body .public-cta-primary,
body.public-site-body .public-cta-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 2rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

body.public-site-body .public-cta-primary {
  min-width: 220px;
  border: 2px solid #ffffff;
  background: #ffffff;
  color: #2563eb;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
}

body.public-site-body .public-cta-phone {
  min-width: 255px;
  gap: 0.75rem;
  border: 2px solid rgba(255, 255, 255, 0.94);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

body.public-site-body .public-cta-primary:hover,
body.public-site-body .public-cta-phone:hover {
  transform: translateY(-2px);
}

body.public-site-body .public-cta-phone i {
  color: #ffffff;
  font-size: 1.2rem;
}

body.public-site-body footer.public-footer {
  position: relative;
  overflow: hidden;
  padding: 4.35rem 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #111827 !important;
  color: #ffffff;
}

body.public-site-body .public-footer-container {
  position: relative;
  width: min(100%, 1310px);
  margin: 0 auto;
  padding: 0 1.5rem;
}

body.public-site-body .public-footer-inner {
  display: grid !important;
  grid-template-columns: 1.15fr 1.12fr 1fr 1.35fr !important;
  gap: 3.2rem !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 4.1rem !important;
  border: 0 !important;
}

body.public-site-body .public-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  margin: 0 0 1.75rem !important;
  color: #ffffff !important;
  font-size: 1.34rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

body.public-site-body .public-footer-logo img {
  width: auto;
  height: 3rem;
  max-width: 145px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

body.public-site-body .public-footer-brand p,
body.public-site-body footer.public-footer p,
body.public-site-body footer.public-footer a {
  color: #9aa3b2;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
}

body.public-site-body .public-footer-brand p {
  max-width: 290px;
  margin: 0 0 1.55rem;
}

body.public-site-body footer.public-footer h3 {
  margin: 0 0 1.48rem;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
}

body.public-site-body footer.public-footer a {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 0.72rem;
  margin: 0 0 0.82rem;
  text-decoration: none;
}

body.public-site-body footer.public-footer a:hover {
  color: #ffffff;
}

body.public-site-body .public-footer-social {
  display: flex;
  align-items: center;
  gap: 1rem;
}

body.public-site-body .public-footer-social a {
  display: inline-flex;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #9ca3af;
  font-size: 1.08rem;
  box-shadow: none;
}

body.public-site-body .public-footer-social a:hover {
  color: #ffffff;
}

body.public-site-body .public-footer-contact {
  display: flex;
  align-items: flex-start;
  gap: 0.78rem;
  margin: 0 0 0.8rem;
}

body.public-site-body .public-footer-contact i,
body.public-site-body footer.public-footer a i {
  flex: 0 0 auto;
  margin-top: 0.28rem;
  color: #60a5fa;
  font-size: 1.1rem;
}

body.public-site-body .public-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: none;
  margin: 0;
  padding: 1.62rem 0 0.58rem;
  border-top: 1px solid #1f2937;
}

body.public-site-body .public-footer-bottom p,
body.public-site-body .public-footer-bottom a {
  margin: 0;
  color: #6b7280;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.4;
}

body.public-site-body .public-footer-bottom div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1.55rem;
}

body.public-site-body .public-whatsapp-chat {
  position: absolute;
  right: 1.5rem;
  bottom: 3.75rem;
  z-index: 2;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 54px;
  padding: 0 1.4rem;
  border-radius: 999px;
  background: #48c943;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 18px 34px rgba(31, 178, 60, 0.22);
}

body.public-site-body .public-whatsapp-chat i {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
  border-radius: 50%;
  color: #ffffff;
  font-size: 1.35rem;
}

@media (max-width: 992px) {
  body.public-site-body .public-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2.3rem !important;
  }
}

@media (max-width: 640px) {
  body.public-site-body .public-cta {
    gap: 1.35rem;
    padding: 2rem 1rem 2.75rem !important;
  }

  body.public-site-body .public-cta p {
    font-size: 1rem;
  }

  body.public-site-body .public-cta-actions {
    width: 100%;
    gap: 0.75rem;
  }

  body.public-site-body .public-cta-primary,
  body.public-site-body .public-cta-phone {
    width: min(100%, 310px);
    min-width: 0;
    min-height: 48px;
    padding: 0 1.25rem;
    font-size: 0.94rem;
  }

  body.public-site-body footer.public-footer {
    padding-top: 2.75rem !important;
  }

  body.public-site-body .public-footer-container {
    padding: 0 1.1rem;
  }

  body.public-site-body .public-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 1.85rem !important;
    padding-bottom: 2rem !important;
  }

  body.public-site-body .public-footer-logo {
    margin-bottom: 1rem !important;
  }

  body.public-site-body .public-footer-logo img {
    height: 2.6rem;
    max-width: 132px;
  }

  body.public-site-body footer.public-footer h3 {
    margin-bottom: 0.85rem;
    font-size: 1.04rem;
  }

  body.public-site-body .public-footer-brand p,
  body.public-site-body footer.public-footer p,
  body.public-site-body footer.public-footer a {
    font-size: 0.92rem;
  }

  body.public-site-body .public-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.85rem;
    padding-bottom: 5.3rem;
  }

  body.public-site-body .public-footer-bottom div {
    justify-content: flex-start;
    gap: 0.95rem 1.25rem;
  }

  body.public-site-body .public-whatsapp-chat {
    right: 1rem;
    bottom: 1rem;
    min-height: 48px;
    padding: 0 1.1rem;
    font-size: 0.9rem !important;
  }

  body.public-site-body .public-whatsapp-chat i {
    width: 30px;
    height: 30px;
    font-size: 1.2rem;
  }
}

/* Super admin mobile app polish */
@media (max-width: 768px) {
  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) {
    background: #f6f8fb;
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .content {
    min-height: 100svh;
    background: #f6f8fb;
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .app-shell {
    padding-right: 0.62rem !important;
    padding-left: 0.62rem !important;
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .app-main.py-10 {
    padding-top: 0.72rem !important;
    padding-bottom: 5.65rem !important;
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .topbar {
    height: 56px;
    border-bottom: 1px solid #eef1f5 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
  }

  .profile-head,
  .permission-head,
  .settings-head,
  .settings-hero,
  .question-bank-head,
  .email-template-hero,
  .old-record-hero,
  .real-dashboard-head,
  .candidate-table-head,
  .candidate-filter-card {
    border: 1px solid #e9eef4 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055) !important;
  }

  .profile-head h1,
  .permission-head h1,
  .settings-head h1,
  .settings-hero h1,
  .question-bank-head h1,
  .email-template-hero h1,
  .old-record-hero h1,
  .real-dashboard-head h1,
  .candidate-table-head h1 {
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
  }

  .profile-head p,
  .permission-head p,
  .settings-head p,
  .settings-hero p,
  .question-bank-head p,
  .email-template-hero p,
  .old-record-hero p,
  .real-dashboard-head p,
  .candidate-table-head p {
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
  }

  .card,
  .profile-card,
  .settings-card,
  .permission-card,
  .candidate-list-card,
  .email-template-card,
  .old-record-card,
  .old-record-filter,
  .users-table-card {
    border: 1px solid #e9eef4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045) !important;
  }

  .card-body {
    padding: 0.78rem !important;
  }

  .permission-stats,
  .old-record-stats {
    gap: 0.55rem !important;
  }

  .permission-stats > div,
  .old-record-stats > div {
    border: 1px solid #e9eef4 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04) !important;
  }

  .form-control,
  .form-select {
    min-height: 40px !important;
    border-radius: 13px !important;
    border-color: #e4e9f0 !important;
    background-color: #fff !important;
    font-size: 0.82rem !important;
  }

  .btn {
    border-radius: 12px !important;
    font-weight: 800 !important;
  }

  .btn-primary {
    box-shadow: 0 10px 22px rgba(230, 98, 57, 0.16);
  }

  .admin-mobile-nav {
    width: min(420px, calc(100vw - 1rem)) !important;
    min-height: 64px;
    padding: 0.38rem !important;
    border: 1px solid rgba(230, 238, 247, 0.92) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
    backdrop-filter: blur(14px);
  }

  .admin-mobile-nav a {
    min-height: 48px;
    border-radius: 16px;
  }

  .admin-mobile-nav a.active {
    background: #fff1ec !important;
    color: #e66239 !important;
  }

  .mobile-card-table tr,
  .mobile-card-table tbody tr {
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055) !important;
  }
}

@media (max-width: 576px) {
  .profile-head,
  .permission-head,
  .settings-head,
  .settings-hero,
  .question-bank-head,
  .email-template-hero,
  .old-record-hero,
  .real-dashboard-head,
  .candidate-table-head,
  .candidate-filter-card {
    padding: 0.78rem !important;
  }

  .profile-manager,
  .permission-manager,
  .settings-manager,
  .question-bank-page,
  .email-template-page,
  .old-record-page,
  .candidates-page {
    gap: 0.75rem !important;
  }
}

/* Premium mobile app layer for Super Admin/Admin pages */
@media (max-width: 768px) {
  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) {
    background: #fff !important;
    overflow-x: hidden;
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .content {
    min-height: 100svh;
    padding-top: 54px;
    background:
      linear-gradient(180deg, #ffffff 0%, #f8fafc 42%, #ffffff 100%);
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .app-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-right: 0.62rem !important;
    padding-left: 0.62rem !important;
  }

  body:not(.public-site-body):not(.candidate-step-page):not(.auth-screen) .app-main.py-10 {
    min-width: 0;
    padding-top: 0.68rem !important;
    padding-bottom: 5.25rem !important;
  }

  .topbar {
    height: 54px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: blur(14px);
  }

  .topbar .btn-icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #f8fafc;
  }

  .topbar-avatar-initial,
  .topbar-profile-img {
    width: 38px !important;
    height: 38px !important;
  }

  .users-page,
  .roles-page,
  .reports-page,
  .panel-team-page,
  .profile-manager,
  .permission-shell,
  .permission-manager,
  .settings-manager,
  .question-bank-page,
  .email-template-page,
  .old-record-page,
  .candidates-page,
  .real-dashboard {
    display: grid;
    gap: 0.72rem;
  }

  .users-page-head,
  .roles-page-head,
  .reports-page-head,
  .profile-head,
  .permission-head,
  .settings-head,
  .settings-hero,
  .question-bank-head,
  .email-template-hero,
  .old-record-hero,
  .real-dashboard-head,
  .candidate-table-head,
  .candidate-filter-card {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.62rem !important;
    margin-bottom: 0 !important;
    padding: 0.82rem !important;
    border: 1px solid #e9eef4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
  }

  .users-page-head h1,
  .roles-page-head h1,
  .reports-page-head h1,
  .profile-head h1,
  .permission-head h1,
  .settings-head h1,
  .settings-hero h1,
  .question-bank-head h1,
  .email-template-hero h1,
  .old-record-hero h1,
  .real-dashboard-head h1,
  .candidate-table-head h1,
  .fs-3 {
    margin: 0 !important;
    color: #20252c;
    font-size: 1.24rem !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  .users-page-head p,
  .roles-page-head p,
  .reports-page-head p,
  .profile-head p,
  .permission-head p,
  .settings-head p,
  .settings-hero p,
  .question-bank-head p,
  .email-template-hero p,
  .old-record-hero p,
  .real-dashboard-head p,
  .candidate-table-head p {
    margin-top: 0.22rem !important;
    color: #687382;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
  }

  .users-page-head > .d-flex,
  .users-page-head > div:last-child,
  .roles-page-head > div:last-child,
  .reports-page-head > div:last-child,
  .profile-head > div:last-child,
  .permission-head > div:last-child,
  .settings-hero > div:last-child,
  .question-bank-head > div:last-child,
  .email-template-hero > div:last-child,
  .old-record-hero > div:last-child,
  .real-dashboard-actions,
  .candidate-table-head > div:last-child {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start !important;
    gap: 0.45rem !important;
    width: 100%;
  }

  .users-count,
  .roles-page .badge,
  .reports-page .badge,
  .permission-count,
  .old-record-range,
  .real-dashboard-actions span,
  .email-template-hero-actions span,
  .badge {
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
  }

  .card,
  .profile-card,
  .settings-card,
  .permission-card,
  .candidate-list-card,
  .candidate-filter-card,
  .email-template-card,
  .old-record-card,
  .old-record-filter,
  .users-table-card,
  .panel-team-table-card,
  .panel-team-queue-card,
  .panel-team-report-card {
    overflow: hidden;
    border: 1px solid #e9eef4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055) !important;
  }

  .card-body {
    padding: 0.82rem !important;
  }

  .btn {
    min-height: 38px;
    border-radius: 13px !important;
    font-weight: 900 !important;
  }

  .btn-sm {
    min-height: 34px;
    padding: 0.36rem 0.58rem;
    font-size: 0.78rem;
  }

  .form-control,
  .form-select {
    min-height: 42px !important;
    border-color: #e2e8f0 !important;
    border-radius: 13px !important;
    background-color: #fff !important;
    font-size: 0.86rem !important;
  }

  .modal-dialog,
  .app-modal-dialog {
    width: min(100%, calc(100vw - 1rem)) !important;
    max-width: calc(100vw - 1rem) !important;
    margin: 0.5rem auto !important;
  }

  .modal-content,
  .app-modal-dialog {
    border-radius: 18px !important;
  }
}

@media (max-width: 576px) {
  .users-page .row {
    --bs-gutter-x: 0;
  }

  .users-page-head {
    grid-template-columns: 1fr !important;
  }

  .users-page-head > div:last-child .btn {
    flex: 1 1 145px;
  }

  .users-table-card .table-responsive,
  .panel-team-table-card .table-responsive,
  .panel-team-queue-card .table-responsive,
  .panel-team-report-card .table-responsive {
    overflow: visible;
  }

  .roles-table-card,
  .panel-team-table-card,
  .panel-team-queue-card,
  .panel-team-report-card {
    overflow: visible !important;
  }

  .users-table-card table,
  .roles-table-card table,
  .panel-team-table-card table,
  .panel-team-queue-card table,
  .panel-team-report-card table,
  .users-table-card thead,
  .roles-table-card thead,
  .panel-team-table-card thead,
  .panel-team-queue-card thead,
  .panel-team-report-card thead,
  .users-table-card tbody,
  .roles-table-card tbody,
  .panel-team-table-card tbody,
  .panel-team-queue-card tbody,
  .panel-team-report-card tbody,
  .users-table-card tr,
  .roles-table-card tr,
  .panel-team-table-card tr,
  .panel-team-queue-card tr,
  .panel-team-report-card tr,
  .users-table-card td {
    display: block;
    width: 100%;
  }

  .roles-table-card td,
  .panel-team-table-card td,
  .panel-team-queue-card td,
  .panel-team-report-card td {
    display: block;
    width: 100%;
  }

  .users-table-card thead,
  .roles-table-card thead,
  .panel-team-table-card thead,
  .panel-team-queue-card thead,
  .panel-team-report-card thead {
    display: none;
  }

  .users-table-card tbody,
  .roles-table-card tbody,
  .panel-team-table-card tbody,
  .panel-team-queue-card tbody,
  .panel-team-report-card tbody {
    display: grid;
    gap: 0.58rem;
    padding: 0.6rem;
  }

  .users-table-card tr,
  .roles-table-card tr,
  .panel-team-table-card tr,
  .panel-team-queue-card tr,
  .panel-team-report-card tr {
    padding: 0.72rem;
    border: 1px solid #edf1f5;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
  }

  .users-table-card td,
  .roles-table-card td,
  .panel-team-table-card td,
  .panel-team-queue-card td,
  .panel-team-report-card td {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    padding: 0.38rem 0 !important;
    border: 0 !important;
    color: #24272b;
    font-size: 0.86rem !important;
  }

  .users-table-card td::before,
  .roles-table-card td::before,
  .panel-team-table-card td::before,
  .panel-team-queue-card td::before,
  .panel-team-report-card td::before {
    color: #8a94a3;
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .users-table-card td:nth-child(1)::before { content: "User"; }
  .users-table-card td:nth-child(2)::before { content: "Role"; }
  .users-table-card td:nth-child(3)::before { content: "Manager"; }
  .users-table-card td:nth-child(4)::before { content: "Status"; }
  .users-table-card td:nth-child(5)::before { content: "Login"; }
  .users-table-card td:nth-child(6)::before { content: "Created"; }
  .users-table-card td:nth-child(7)::before { content: "Action"; }

  .roles-table-card td:nth-child(1)::before { content: "Role"; }
  .roles-table-card td:nth-child(2)::before { content: "Slug"; }
  .roles-table-card td:nth-child(3)::before { content: "Permissions"; }
  .roles-table-card td:nth-child(4)::before { content: "Can create"; }
  .roles-table-card td:nth-child(5)::before { content: "Users"; }
  .roles-table-card td:nth-child(6)::before { content: "Type"; }
  .roles-table-card td:nth-child(7)::before { content: "Action"; }

  .panel-team-table-card td:nth-child(1)::before { content: "Name"; }
  .panel-team-table-card td:nth-child(2)::before { content: "Contact"; }
  .panel-team-table-card td:nth-child(3)::before { content: "Org"; }
  .panel-team-table-card td:nth-child(4)::before { content: "Data"; }
  .panel-team-table-card td:nth-child(5)::before { content: "Status"; }
  .panel-team-table-card td:nth-child(6)::before { content: "Action"; }

  .panel-team-queue-card td:nth-child(1)::before { content: "Profile"; }
  .panel-team-queue-card td:nth-child(2)::before { content: "Ready"; }
  .panel-team-queue-card td:nth-child(3)::before { content: "Status"; }

  .panel-team-report-card td:nth-child(1)::before { content: "Staff"; }
  .panel-team-report-card td:nth-child(2)::before { content: "Agency"; }
  .panel-team-report-card td:nth-child(3)::before { content: "Assigned"; }
  .panel-team-report-card td:nth-child(4)::before { content: "Work"; }
  .panel-team-report-card td:nth-child(5)::before { content: "Present"; }
  .panel-team-report-card td:nth-child(6)::before { content: "Calls"; }
  .panel-team-report-card td:nth-child(7)::before { content: "Connected"; }
  .panel-team-report-card td:nth-child(8)::before { content: "Scheduled"; }
  .panel-team-report-card td:nth-child(9)::before { content: "Results"; }
  .panel-team-report-card td:nth-child(10)::before { content: "Last"; }

  .users-table-card td:first-child,
  .roles-table-card td:first-child,
  .panel-team-table-card td:first-child,
  .panel-team-queue-card td:first-child,
  .panel-team-report-card td:first-child {
    grid-template-columns: 1fr;
    padding-top: 0 !important;
  }

  .users-table-card td:first-child::before,
  .roles-table-card td:first-child::before,
  .panel-team-table-card td:first-child::before,
  .panel-team-queue-card td:first-child::before,
  .panel-team-report-card td:first-child::before {
    content: none;
  }

  .users-table-card td:first-child .fw-semibold,
  .roles-table-card td:first-child .fw-semibold,
  .panel-team-table-card td:first-child .fw-semibold,
  .panel-team-table-card td:first-child .team-name-link,
  .panel-team-queue-card td:first-child strong,
  .panel-team-report-card td:first-child strong,
  .panel-team-report-card td:first-child .team-name-link {
    color: #20252c;
    font-size: 1rem;
    font-weight: 900 !important;
    line-height: 1.18;
  }

  .users-table-card td:first-child .small,
  .roles-table-card td:first-child .small,
  .panel-team-table-card td:first-child .small,
  .panel-team-queue-card td:first-child span,
  .panel-team-report-card td:first-child span {
    font-size: 0.78rem;
    line-height: 1.25;
  }

  .users-table-card td.text-end,
  .roles-table-card td.text-end,
  .panel-team-table-card td.text-end {
    grid-template-columns: 1fr;
    text-align: left !important;
  }

  .users-table-card td.text-end::before,
  .roles-table-card td.text-end::before,
  .panel-team-table-card td.text-end::before {
    content: none;
  }

  .users-table-card td.text-end form,
  .users-table-card td.text-end .btn,
  .roles-table-card td.text-end form,
  .roles-table-card td.text-end .btn,
  .panel-team-table-card td.text-end .btn {
    display: inline-flex !important;
  }

  .users-table-card td.text-end,
  .roles-table-card td.text-end,
  .panel-team-table-card td.text-end {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.38rem;
  }

  .users-table-card td.text-end .btn,
  .roles-table-card td.text-end .btn,
  .panel-team-table-card td.text-end .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .users-page > .card + .card,
  .users-page > .card + .users-table-card {
    margin-top: 0.72rem;
  }

  .reports-page .row {
    --bs-gutter-x: 0.7rem;
    --bs-gutter-y: 0.7rem;
  }

  .reports-page .list-group-item {
    align-items: flex-start !important;
    border-color: #edf1f5;
  }

  .reports-page .list-group-item .d-flex {
    flex-wrap: wrap;
    gap: 0.35rem;
  }

  .reports-page .controls {
    display: grid;
    width: 100%;
    gap: 0.4rem;
  }

  .reports-page #salesChart {
    max-width: 100%;
    min-height: 220px;
    overflow: hidden;
  }

  .role-check-grid {
    grid-template-columns: 1fr !important;
    gap: 0.42rem !important;
  }

  .role-check-grid .form-check {
    min-width: 0;
    padding: 0.58rem 0.62rem;
    border-radius: 12px;
  }

  .users-page .card h2,
  .roles-page .card h2,
  .users-page .card .h2 {
    font-size: 1.08rem !important;
  }

  .users-page .card p {
    font-size: 0.8rem;
    line-height: 1.35;
  }

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

  .table:not(.permission-matrix):not(.question-table):not(.old-candidate-table):not(.candidate-simple-table) {
    min-width: 720px;
  }

  .users-table-card .table {
    min-width: 0 !important;
  }

  .roles-table-card.table-responsive {
    overflow: visible;
  }

  .roles-table-card .table {
    min-width: 0 !important;
  }

  .panel-team-table-card .table,
  .panel-team-queue-card .table,
  .panel-team-report-card .table {
    min-width: 0 !important;
  }

  .panel-team-page .profile-head > .d-flex {
    width: 100%;
  }

  .panel-team-page .profile-head .btn {
    flex: 1 1 145px;
  }

  .performance-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .performance-metric-grid div {
    min-height: 68px;
    padding: 0.68rem;
    border-radius: 12px;
  }

  .performance-metric-grid strong {
    font-size: 1rem;
  }

  .performance-mini-table .table {
    min-width: 560px;
  }

  .profile-manager .row.g-4 {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0.75rem;
  }

  .profile-info-row {
    gap: 0.65rem;
    align-items: flex-start;
  }

  .profile-info-row strong {
    text-align: right;
    overflow-wrap: anywhere;
  }

  .permission-stats,
  .old-record-stats,
  .real-dashboard-kpis,
  .question-bank-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
  }

  .profile-grid,
  .profile-type-grid,
  .permission-grid,
  .question-bank-page .exam-question-list,
  .email-template-list {
    grid-template-columns: 1fr !important;
  }
}

/* Calling staff work page final polish - placed last to win mobile overrides. */
.panel-work-shell .panel-work-view-tabs {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  padding: 0.28rem;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.panel-work-shell .panel-work-view-tabs a {
  flex: 1 1 0;
  min-height: 44px;
  padding: 0.52rem 0.62rem;
  border: 0;
  border-radius: 14px;
  background: transparent;
  box-shadow: none;
}

.panel-work-shell .panel-work-view-tabs a.is-active {
  color: #e66239;
  background: #fff1ec;
  box-shadow: inset 0 0 0 1px rgba(230, 98, 57, 0.16);
}

.panel-work-shell .panel-work-view-tabs a strong {
  min-width: 26px;
  height: 24px;
  background: rgba(230, 98, 57, 0.1);
}

.panel-work-shell .panel-work-priority {
  border: 0;
  background: linear-gradient(180deg, #fff 0%, #fffaf7 100%);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.055);
}

.panel-work-shell .today-interview-card {
  border-color: #edf1f5;
  box-shadow: none;
}

.panel-work-shell .today-interview-card.is-next {
  border-color: rgba(230, 98, 57, 0.44);
  background: linear-gradient(135deg, #fff4ee 0%, #fff 76%);
  box-shadow: inset 4px 0 0 #e66239;
}

.panel-work-shell .mobile-panel-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.panel-work-shell .panel-work-filters {
  border-color: #e8edf3;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

.panel-work-shell .panel-profile-group {
  overflow: hidden;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.panel-work-shell .panel-profile-group-head {
  border-bottom: 1px solid #edf1f5;
  background: #fff;
}

.panel-work-shell .panel-candidate-card {
  border-radius: 0;
  box-shadow: none;
}

.panel-work-shell .work-mobile-schedule {
  background: #f8fafc;
}

@media (max-width: 576px) {
  .panel-work-shell.mobile-panel-shell {
    padding: 0 0.68rem 4.65rem;
    background: #fff;
  }

  .panel-work-shell .mobile-panel-hero {
    margin: 0 -0.68rem 0.52rem;
    padding: 0.72rem 0.78rem;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  }

  .panel-work-shell .mobile-panel-top h1 {
    font-size: 1.12rem;
  }

  .panel-work-shell .mobile-panel-top p {
    display: block;
    max-width: 260px;
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .panel-work-shell .panel-work-view-tabs {
    gap: 0.18rem;
    margin: 0 0 0.55rem;
    padding: 0.22rem;
    border-radius: 16px;
  }

  .panel-work-shell .panel-work-view-tabs a {
    display: flex;
    min-height: 42px;
    gap: 0.2rem;
    justify-content: center;
    padding: 0.36rem 0.14rem;
    font-size: 0.66rem;
    line-height: 1.1;
  }

  .panel-work-shell .panel-work-view-tabs a i {
    display: none;
  }

  .panel-work-shell .panel-work-view-tabs a span {
    max-width: 72px;
  }

  .panel-work-shell .panel-work-view-tabs a strong {
    min-width: 20px;
    height: 20px;
    padding: 0 0.28rem;
    font-size: 0.62rem;
  }

  .panel-work-shell .panel-work-priority {
    gap: 0.52rem;
    margin: 0 0 0.58rem;
    padding: 0.66rem;
    border-radius: 17px;
  }

  .panel-work-shell .panel-work-priority-head {
    display: block;
  }

  .panel-work-shell .panel-work-priority-head h2 {
    font-size: 1rem;
  }

  .panel-work-shell .panel-work-priority-head p {
    display: block;
    margin-top: 0.14rem;
    font-size: 0.68rem;
    line-height: 1.32;
  }

  .panel-work-shell .panel-work-priority-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.28rem;
    margin-top: 0.52rem;
  }

  .panel-work-shell .panel-work-priority-stats span {
    min-width: 0;
    padding: 0.34rem 0.16rem;
    border-radius: 10px;
    font-size: 0.53rem;
  }

  .panel-work-shell .panel-work-priority-stats strong {
    font-size: 0.86rem;
  }

  .panel-work-shell .today-interview-card {
    grid-template-columns: minmax(82px, 0.68fr) minmax(0, 1fr) 18px;
    min-height: 76px;
    padding: 0.56rem;
    border-radius: 14px;
  }

  .panel-work-shell .today-interview-time {
    min-width: 78px;
    padding: 0.42rem 0.34rem;
  }

  .panel-work-shell .today-interview-time strong {
    font-size: 0.72rem;
  }

  .panel-work-shell .today-interview-time span,
  .panel-work-shell .today-interview-main p,
  .panel-work-shell .today-interview-main em {
    font-size: 0.58rem;
  }

  .panel-work-shell .today-interview-main h3 {
    font-size: 0.88rem;
  }

  .panel-work-shell .mobile-panel-card {
    margin-top: 0.58rem;
    padding: 0;
  }

  .panel-work-shell .mobile-section-head {
    align-items: flex-start;
    padding: 0 0.08rem;
  }

  .panel-work-shell .mobile-section-head h2 {
    font-size: 1rem;
  }

  .panel-work-shell .mobile-section-head p {
    display: block;
    margin-top: 0.12rem;
    color: #788391;
    font-size: 0.68rem;
    line-height: 1.28;
  }

  .panel-work-shell .mobile-section-head .btn {
    min-height: 32px;
    border-radius: 999px;
    font-size: 0.62rem;
  }

  .panel-work-shell .panel-work-filters {
    position: sticky;
    top: 0.32rem;
    z-index: 8;
    gap: 0.42rem;
    margin: 0 0 0.52rem;
    padding: 0.46rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
  }

  .panel-work-shell .panel-work-search {
    min-height: 38px;
    border-radius: 12px;
  }

  .panel-work-shell .panel-work-search input {
    font-size: 0.72rem;
  }

  .panel-work-shell .panel-work-filter-chips button {
    min-height: 31px;
    padding: 0 0.62rem;
    font-size: 0.6rem;
  }

  .panel-work-shell .panel-profile-group {
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  }

  .panel-work-shell .panel-profile-group + .panel-profile-group {
    margin-top: 0.58rem;
  }

  .panel-work-shell .panel-profile-group-head {
    padding: 0.58rem 0.66rem;
  }

  .panel-work-shell .panel-profile-group-head strong {
    font-size: 0.94rem;
  }

  .panel-work-shell .panel-profile-group-head span {
    font-size: 0.58rem;
  }

  .panel-work-shell .panel-candidate-card {
    gap: 0.52rem;
    padding: 0.68rem;
  }

  .panel-work-shell .panel-candidate-head h3 {
    font-size: 0.98rem;
  }

  .panel-work-shell .panel-candidate-head p {
    font-size: 0.68rem;
  }

  .panel-work-shell .work-mobile-schedule {
    padding: 0.5rem 0.54rem;
    border-radius: 12px;
  }

  .panel-work-shell .work-mobile-schedule strong {
    font-size: 0.74rem;
  }

  .panel-work-shell .process-chip-row.compact {
    gap: 0.24rem 0.5rem;
    padding-top: 0.42rem;
  }

  .panel-work-shell .process-chip {
    font-size: 0.64rem;
  }

  .panel-work-shell .panel-candidate-actions {
    grid-template-columns: 1fr 1fr;
    gap: 0.34rem;
  }

  .panel-work-shell .panel-candidate-actions .btn:first-child {
    grid-column: 1 / -1;
  }

  .panel-work-shell .panel-candidate-actions .btn {
    min-height: 36px;
    border-radius: 11px;
    font-size: 0.68rem;
  }
}
/* Users page report polish - last loaded rules. */
.users-report-toggle-row { cursor: pointer; transition: background 0.18s ease; }
.users-report-toggle-row:hover,
.users-report-toggle-row.is-open { background: #fff8f5; }
.user-report-pills { display: flex; flex-wrap: wrap; gap: 0.28rem; min-width: 170px; }
.user-report-pills span { display: inline-flex; align-items: center; gap: 0.22rem; min-height: 26px; padding: 0 0.48rem; border: 1px solid #edf1f5; border-radius: 999px; color: #687382; background: #fff; font-size: 0.62rem; font-weight: 850; white-space: nowrap; }
.user-report-pills strong { color: #20252c; font-size: 0.75rem; }
.user-report-row[hidden] { display: none; }
.user-report-row td { padding: 0 !important; background: #fffaf7; }
.user-report-panel { margin: 0.15rem 0.7rem 0.85rem; padding: 0.78rem; border: 1px solid rgba(230, 98, 57, 0.16); border-radius: 15px; background: #fff; }
.user-report-panel-head { display: flex; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.62rem; color: #75808d; font-size: 0.72rem; font-weight: 750; }
.user-report-panel-head div { display: grid; gap: 0.08rem; }

/* Calling staff work desktop/table repair. */
@media (min-width: 900px) {
  .panel-work-shell {
    max-width: none;
  }

  .panel-work-shell .mobile-panel-hero {
    display: none;
  }

  .panel-work-shell .mobile-panel-card {
    padding: 0;
    background: transparent;
  }

  .panel-work-table-wrap {
    display: block;
    overflow: hidden;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.045);
  }

  .panel-work-table {
    width: 100%;
    min-width: 1180px;
    table-layout: fixed;
  }

  .panel-work-table th {
    padding: 0.82rem 1rem;
    color: #5f6977;
    background: #f8fafc;
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: none;
    white-space: nowrap;
  }

  .panel-work-table td {
    padding: 0.95rem 1rem;
    border-color: #edf1f5;
    vertical-align: middle;
  }

  .panel-work-table th:nth-child(1),
  .panel-work-table td:nth-child(1) {
    width: 15%;
  }

  .panel-work-table th:nth-child(2),
  .panel-work-table td:nth-child(2) {
    width: 15%;
  }

  .panel-work-table th:nth-child(3),
  .panel-work-table td:nth-child(3) {
    width: 14%;
  }

  .panel-work-table th:nth-child(4),
  .panel-work-table td:nth-child(4) {
    width: 22%;
  }

  .panel-work-table th:nth-child(5),
  .panel-work-table td:nth-child(5) {
    width: 16%;
  }

  .panel-work-table th:nth-child(6),
  .panel-work-table td:nth-child(6) {
    width: 8%;
  }

  .panel-work-table th:nth-child(7),
  .panel-work-table td:nth-child(7) {
    width: 10%;
  }

  .panel-work-table td strong {
    display: block;
    color: #222831;
    font-size: 0.9rem;
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .panel-work-table td span {
    display: block;
    margin-top: 0.16rem;
    color: #7b8490;
    font-size: 0.76rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .panel-work-table .process-chip-row.compact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.42rem 0.7rem;
    align-items: start;
    max-width: 100%;
  }

  .panel-work-table .process-chip {
    position: relative;
    display: block;
    min-width: 0;
    padding: 0 0 0 0.8rem;
    border: 0;
    border-radius: 0;
    color: #6f7a88;
    background: transparent;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.22;
    white-space: normal;
    overflow-wrap: normal;
  }

  .panel-work-table .process-chip::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.24rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: #cbd5e1;
    box-shadow: 0 0 0 3px rgba(203, 213, 225, 0.24);
  }

  .panel-work-table .process-chip.is-on {
    color: #15845f;
  }

  .panel-work-table .process-chip.is-on::before {
    background: #16a065;
    box-shadow: 0 0 0 3px rgba(22, 160, 101, 0.14);
  }

  .work-schedule-cell {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
  }

  .work-schedule-cell .work-schedule-badge {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
  }

  .work-schedule-cell strong {
    font-size: 0.84rem;
    line-height: 1.3;
  }

  .work-schedule-cell em {
    color: #8a94a3;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 750;
  }

  .work-call-status {
    display: inline-flex !important;
    width: max-content;
    margin: 0 !important;
    padding: 0.34rem 0.6rem;
    border-radius: 999px;
    color: #6b7280 !important;
    background: #f3f6fa;
    font-size: 0.7rem !important;
    font-weight: 850;
    white-space: nowrap;
  }

  .panel-work-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.34rem;
    justify-items: stretch;
    min-width: 0;
  }

  .panel-work-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-height: 34px;
    padding: 0.36rem 0.55rem;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.05;
    white-space: nowrap;
  }

  .panel-work-actions .btn i {
    font-size: 0.9rem;
  }
}
.user-report-panel-head strong { color: #20252c; font-size: 0.92rem; font-weight: 950; }
.user-report-panel-head div span { color: #e66239; }
.user-report-table { overflow: hidden; border: 1px solid #edf1f5; border-radius: 12px; }
.user-report-table th { color: #687382; background: #f7f9fb; font-size: 0.66rem; font-weight: 900; }
.user-report-table td { padding: 0.58rem 0.62rem !important; color: #20252c; background: #fff; font-size: 0.84rem; font-weight: 900; }
@media (max-width: 768px) {
  .users-page .users-table-card { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .users-table-card table,
  .users-table-card tbody,
  .users-table-card tr,
  .users-table-card td { display: block; width: 100%; }
  .users-table-card thead { display: none; }
  .users-table-card tr.users-report-toggle-row { margin-bottom: 0; padding: 0.74rem; border: 1px solid #e8edf3; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04); }
  .users-table-card tr.users-report-toggle-row.is-open { border-color: rgba(230, 98, 57, 0.28); border-radius: 16px 16px 0 0; background: #fff8f5; }
  .users-table-card td { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 0.55rem; align-items: start; padding: 0.34rem 0 !important; border: 0 !important; color: #20252c; }
  .users-table-card td::before { color: #8a94a3; font-size: 0.66rem; font-weight: 900; text-transform: uppercase; }
  .users-table-card td:nth-child(1)::before { content: "User"; }
  .users-table-card td:nth-child(2)::before { content: "Role"; }
  .users-table-card td:nth-child(3)::before { content: "Under"; }
  .users-table-card td:nth-child(4)::before { content: "Report"; }
  .users-table-card td:nth-child(5)::before { content: "Status"; }
  .users-table-card td:nth-child(6)::before { content: "Login"; }
  .users-table-card td:nth-child(7)::before { content: "Created"; }
  .users-table-card td:nth-child(8)::before { content: "Action"; }
  .users-table-card td:first-child { display: block; padding-top: 0 !important; }
  .users-table-card td:first-child::before { content: none; }
  .users-table-card td.text-end { display: flex !important; flex-wrap: wrap; gap: 0.35rem; text-align: left !important; }
  .users-table-card td.text-end::before { width: 100%; }
  .users-table-card td.text-end form,
  .users-table-card td.text-end .btn { flex: 1 1 92px; justify-content: center; }
  .user-report-row { display: block; margin: -0.02rem 0 0.65rem; }
  .user-report-row td { display: block; padding: 0 !important; }
  .user-report-row td::before { content: none !important; }
  .user-report-panel { margin: 0; padding: 0.68rem; border-radius: 0 0 16px 16px; box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04); }
  .user-report-panel-head { display: grid; gap: 0.2rem; font-size: 0.68rem; }
  .user-report-table { min-width: 640px; }
}
.user-report-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 0.58rem;
  border: 1px solid rgba(230, 98, 57, 0.28);
  border-radius: 999px;
  color: #e66239;
  background: #fff8f5;
  font-size: 0.62rem;
  font-weight: 900;
}

.user-report-name-value-table {
  overflow: hidden;
  border: 1px solid #edf1f5;
  border-radius: 12px;
}

.user-report-name-value-table tr + tr {
  border-top: 1px solid #edf1f5;
}

.user-report-name-value-table th,
.user-report-name-value-table td {
  padding: 0.72rem 0.78rem;
  vertical-align: middle;
}

.user-report-name-value-table th {
  width: 62%;
  color: #687382;
  background: #f8fafc;
  font-size: 0.78rem;
  font-weight: 850;
}

.user-report-name-value-table td {
  color: #20252c;
  background: #fff;
  font-size: 0.9rem;
  font-weight: 950;
  text-align: right;
}

@media (max-width: 768px) {
  .user-report-pills {
    align-items: center;
  }

  .user-report-view-btn {
    min-height: 28px;
    padding: 0 0.7rem;
    font-size: 0.64rem;
  }

  .user-report-name-value-table th,
  .user-report-name-value-table td {
    padding: 0.66rem;
  }
}

/* Public website full-width layout and active CTA links. */
body.public-site-body {
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
  background: #ffffff;
}

body.public-site-body .public-nav {
  left: 0;
  right: 0;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding-inline: clamp(1rem, 4vw, 3.75rem) !important;
  border-radius: 0 !important;
}

body.public-site-body .public-site {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff;
}

body.public-site-body .public-hero,
body.public-site-body .public-section,
body.public-site-body .public-why,
body.public-site-body .public-testimonials,
body.public-site-body .public-cta,
body.public-site-body footer.public-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
}

body.public-site-body .public-hero,
body.public-site-body .public-section,
body.public-site-body .public-why,
body.public-site-body .public-testimonials {
  padding-left: clamp(1rem, 5vw, 4.5rem) !important;
  padding-right: clamp(1rem, 5vw, 4.5rem) !important;
}

body.public-site-body .public-hero {
  background:
    radial-gradient(circle at 12% 12%, rgba(37, 99, 235, 0.13), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

body.public-site-body .public-section:nth-of-type(even) {
  background: #f8fbff;
}

body.public-site-body .public-section:nth-of-type(odd) {
  background: #ffffff;
}

body.public-site-body .public-profile-card,
body.public-site-body .public-services-grid > article,
body.public-site-body .public-testimonial-grid article,
body.public-site-body .public-why-card {
  max-width: none;
}

body.public-site-body .public-section-head,
body.public-site-body .public-section-title {
  max-width: none !important;
}

body.public-site-body .public-cta {
  padding-left: clamp(1rem, 5vw, 4.5rem) !important;
  padding-right: clamp(1rem, 5vw, 4.5rem) !important;
}

body.public-site-body .public-cta-primary,
body.public-site-body .public-cta-phone,
body.public-site-body .public-nav a,
body.public-site-body .public-profile-card a,
body.public-site-body footer.public-footer a {
  cursor: pointer;
}

body.public-site-body .public-cta-primary {
  gap: 0.65rem;
}

@media (max-width: 768px) {
  body.public-site-body .public-nav {
    padding-inline: 0.9rem !important;
  }

  body.public-site-body .public-hero,
  body.public-site-body .public-section,
  body.public-site-body .public-why,
  body.public-site-body .public-testimonials {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Calling staff work queue: compact practical layout. */
@media (min-width: 900px) {
  .panel-work-table-wrap {
    border-radius: 14px;
  }

  .panel-work-table {
    min-width: 1120px;
  }

  .panel-work-table th:nth-child(4),
  .panel-work-table td:nth-child(4) {
    width: 18%;
  }

  .panel-work-table th:nth-child(5),
  .panel-work-table td:nth-child(5) {
    width: 18%;
  }

  .panel-work-table th:nth-child(6),
  .panel-work-table td:nth-child(6) {
    width: 12%;
  }

  .panel-work-table th:nth-child(7),
  .panel-work-table td:nth-child(7) {
    width: 8%;
  }

  .panel-work-table td {
    padding-top: 0.74rem;
    padding-bottom: 0.74rem;
  }

  .panel-work-table .process-chip-row.compact {
    grid-template-columns: 1fr;
    gap: 0.24rem;
  }

  .panel-work-table .process-chip {
    font-size: 0.66rem;
    line-height: 1.1;
  }

  .panel-work-table .process-chip::before {
    top: 0.18rem;
    width: 0.36rem;
    height: 0.36rem;
  }
}

.work-call-status {
  display: inline-grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  column-gap: 0.42rem;
  width: 100% !important;
  max-width: 132px;
  margin: 0 !important;
  padding: 0.5rem 0.58rem !important;
  border: 1px solid #e7ecf2;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none;
}

.work-call-status i {
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  color: #64748b;
  background: #f1f5f9;
  font-size: 0.8rem;
}

.work-call-status strong,
.work-call-status em {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-call-status strong {
  color: #20252c;
  font-size: 0.66rem;
  font-weight: 950;
  line-height: 1.05;
}

.work-call-status em {
  margin-top: 0.12rem;
  color: #7b8490;
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.05;
}

.work-call-status.is-no-call {
  border-color: rgba(230, 98, 57, 0.32);
  background: #fff8f5 !important;
}

.work-call-status.is-no-call i {
  color: #e66239;
  background: #ffe8df;
}

.work-call-status.is-no-call strong,
.work-call-status.is-no-call em {
  color: #d9502a;
}

.work-call-status.is-called-good {
  border-color: rgba(22, 160, 101, 0.24);
  background: #f5fff9 !important;
}

.work-call-status.is-called-good i {
  color: #138a5d;
  background: #ddf7e9;
}

.work-call-status.is-called-good strong,
.work-call-status.is-called-good em {
  color: #137f56;
}

.work-call-status.is-called-wait {
  border-color: rgba(245, 158, 11, 0.28);
  background: #fffbeb !important;
}

.work-call-status.is-called-wait i {
  color: #b45309;
  background: #fef3c7;
}

.work-call-status.is-called-wait strong,
.work-call-status.is-called-wait em {
  color: #92400e;
}

.work-call-status.is-called-stop {
  border-color: rgba(148, 163, 184, 0.34);
  background: #f8fafc !important;
}

.work-mobile-call-state {
  display: grid;
  grid-template-columns: 24px minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 0.42rem;
  padding: 0.48rem 0.56rem;
  border: 1px solid #e7ecf2;
  border-radius: 12px;
  background: #fff;
}

.work-mobile-call-state i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #64748b;
  background: #f1f5f9;
}

.work-mobile-call-state span {
  color: #20252c;
  font-size: 0.72rem;
  font-weight: 950;
}

.work-mobile-call-state strong {
  min-width: 0;
  color: #7b8490;
  font-size: 0.68rem;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-mobile-call-state.is-no-call {
  border-color: rgba(230, 98, 57, 0.28);
  background: #fff8f5;
}

.work-mobile-call-state.is-no-call i,
.work-mobile-call-state.is-no-call span,
.work-mobile-call-state.is-no-call strong {
  color: #d9502a;
}

.work-mobile-call-state.is-called-good {
  border-color: rgba(22, 160, 101, 0.22);
  background: #f5fff9;
}

.work-mobile-call-state.is-called-good i,
.work-mobile-call-state.is-called-good span,
.work-mobile-call-state.is-called-good strong {
  color: #137f56;
}

.work-mobile-call-state.is-called-wait {
  border-color: rgba(245, 158, 11, 0.28);
  background: #fffbeb;
}

.work-mobile-call-state.is-called-wait i,
.work-mobile-call-state.is-called-wait span,
.work-mobile-call-state.is-called-wait strong {
  color: #92400e;
}

@media (max-width: 576px) {
  .panel-work-shell .panel-candidate-card {
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
  }

  .panel-work-shell .panel-candidate-status-actions {
    gap: 0.45rem;
  }
}

/* Calling staff work queue: final simple list polish. */
.work-step-summary {
  display: inline-grid;
  gap: 0.08rem;
  min-width: 92px;
  padding: 0.46rem 0.62rem;
  border: 1px solid #e7ecf2;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}

.work-step-summary strong,
.work-step-summary span {
  display: block !important;
  margin: 0 !important;
  white-space: nowrap;
}

.work-step-summary strong {
  color: #20252c !important;
  font-size: 0.78rem !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}

.work-step-summary span {
  color: #7b8490 !important;
  font-size: 0.62rem !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
}

.work-step-summary.is-complete {
  border-color: rgba(22, 160, 101, 0.22);
  background: #f7fff9;
}

.work-step-summary.is-complete strong,
.work-step-summary.is-complete span {
  color: #137f56 !important;
}

.work-step-summary.is-progress {
  background: #f8fafc;
}

.work-step-summary.is-empty {
  border-color: rgba(245, 158, 11, 0.25);
  background: #fffbeb;
}

.work-step-summary.is-empty strong,
.work-step-summary.is-empty span {
  color: #92400e !important;
}

@media (min-width: 900px) {
  .panel-work-shell .mobile-panel-card {
    padding-top: 0;
  }

  .panel-work-shell .mobile-section-head {
    margin-bottom: 0.72rem;
  }

  .panel-work-shell .mobile-section-head h2 {
    font-size: 1.28rem;
    line-height: 1.1;
  }

  .panel-work-shell .mobile-section-head p {
    margin-top: 0.22rem;
    font-size: 0.82rem;
  }

  .panel-work-filters {
    margin-bottom: 0.8rem;
    padding: 0.72rem;
    border-radius: 14px;
    box-shadow: none;
  }

  .panel-work-search {
    min-height: 42px;
  }

  .panel-work-filter-chips button {
    min-height: 40px;
    padding: 0 0.78rem;
    font-size: 0.72rem;
  }

  .panel-work-table-wrap {
    border-radius: 14px;
    box-shadow: none;
  }

  .panel-work-table {
    min-width: 1040px;
  }

  .panel-work-table th {
    padding: 0.68rem 0.82rem;
    font-size: 0.74rem;
  }

  .panel-work-table td {
    padding: 0.82rem;
  }

  .panel-work-table th:nth-child(1),
  .panel-work-table td:nth-child(1) {
    width: 15%;
  }

  .panel-work-table th:nth-child(2),
  .panel-work-table td:nth-child(2) {
    width: 15%;
  }

  .panel-work-table th:nth-child(3),
  .panel-work-table td:nth-child(3) {
    width: 14%;
  }

  .panel-work-table th:nth-child(4),
  .panel-work-table td:nth-child(4) {
    width: 11%;
  }

  .panel-work-table th:nth-child(5),
  .panel-work-table td:nth-child(5) {
    width: 19%;
  }

  .panel-work-table th:nth-child(6),
  .panel-work-table td:nth-child(6) {
    width: 12%;
  }

  .panel-work-table th:nth-child(7),
  .panel-work-table td:nth-child(7) {
    width: 8%;
  }

  .panel-work-table td strong {
    font-size: 0.84rem;
  }

  .panel-work-table td span {
    font-size: 0.72rem;
  }

  .work-schedule-cell .work-schedule-badge {
    padding: 0.16rem 0.48rem;
    font-size: 0.62rem;
  }

  .work-schedule-cell strong {
    font-size: 0.82rem;
  }

  .work-call-status {
    max-width: 124px;
    padding: 0.46rem 0.54rem !important;
  }

  .panel-work-actions .btn {
    min-height: 38px;
    padding-inline: 0.72rem;
    border-radius: 12px;
  }
}

@media (max-width: 576px) {
  .panel-work-shell .panel-candidate-card {
    box-shadow: none;
  }

  .panel-work-shell .panel-candidate-status-actions {
    grid-template-columns: 1fr;
  }

  .panel-work-shell .panel-candidate-actions {
    grid-template-columns: 1fr;
  }

  .panel-work-shell .panel-candidate-actions .btn:first-child {
    grid-column: auto;
  }

  .work-step-summary {
    width: 100%;
    min-width: 0;
    grid-template-columns: auto auto;
    justify-content: space-between;
    align-items: center;
  }
}

/* Calling staff work queue: 5-column simple desktop table. */
@media (min-width: 900px) {
  .panel-work-table {
    min-width: 980px;
  }

  .panel-work-table th:nth-child(1),
  .panel-work-table td:nth-child(1) {
    width: 30%;
  }

  .panel-work-table th:nth-child(2),
  .panel-work-table td:nth-child(2) {
    width: 24%;
  }

  .panel-work-table th:nth-child(3),
  .panel-work-table td:nth-child(3) {
    width: 14%;
  }

  .panel-work-table th:nth-child(4),
  .panel-work-table td:nth-child(4) {
    width: 16%;
  }

  .panel-work-table th:nth-child(5),
  .panel-work-table td:nth-child(5) {
    width: 16%;
  }

  .panel-work-table td:first-child span:nth-of-type(2) {
    display: inline-flex;
    width: max-content;
    margin-top: 0.32rem;
    padding: 0.12rem 0.42rem;
    border-radius: 999px;
    color: #e66239;
    background: #fff1eb;
    font-size: 0.62rem;
    font-weight: 900;
  }

  .panel-work-table td:first-child span:nth-of-type(3) {
    color: #20252c;
    font-weight: 900;
  }

  .panel-work-table td:first-child span:nth-of-type(4) {
    color: #8a94a3;
    font-size: 0.68rem;
  }
}

/* Calling staff process page: reliable mobile responsiveness. */
@media (max-width: 768px) {
  .calling-process-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    padding: 0 0.72rem 5.25rem !important;
    background: #f8fafc;
  }

  .calling-process-page *,
  .calling-process-page *::before,
  .calling-process-page *::after {
    min-width: 0;
    box-sizing: border-box;
  }

  .calling-process-top {
    position: sticky;
    top: 54px;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0 -0.72rem 0.72rem !important;
    padding: 0.58rem 0.72rem !important;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #edf1f5;
    backdrop-filter: blur(12px);
  }

  .calling-process-top .btn {
    justify-content: center;
    min-height: 36px !important;
    padding: 0.42rem 0.5rem !important;
    border-radius: 12px !important;
    font-size: 0.72rem !important;
    line-height: 1.05;
    white-space: nowrap;
  }

  .calling-desk-header,
  .calling-table-card {
    width: 100%;
    max-width: 100%;
    border-radius: 17px !important;
    border-color: #e8edf3 !important;
    box-shadow: none !important;
  }

  .calling-desk-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    align-items: start !important;
    gap: 0.72rem;
    padding: 0.82rem !important;
  }

  .calling-desk-header h1 {
    max-width: none !important;
    overflow: visible !important;
    color: #20252c;
    font-size: 1.08rem !important;
    line-height: 1.14 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .calling-desk-header p {
    max-width: none !important;
    overflow: visible !important;
    margin-top: 0.2rem !important;
    color: #687382;
    font-size: 0.74rem !important;
    line-height: 1.28 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .calling-desk-header span,
  .calling-table-title span {
    margin-bottom: 0.28rem !important;
    padding: 0.18rem 0.48rem !important;
    font-size: 0.62rem !important;
    font-weight: 900;
  }

  .calling-desk-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch !important;
    gap: 0.42rem !important;
    width: 100%;
  }

  .calling-desk-actions form,
  .calling-desk-actions .btn {
    width: 100%;
  }

  .calling-desk-actions .btn {
    justify-content: center;
    min-height: 38px !important;
    padding: 0.44rem 0.5rem !important;
    border-radius: 12px !important;
    font-size: 0.72rem !important;
    white-space: nowrap;
  }

  .calling-table-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.72rem !important;
    width: 100%;
  }

  .calling-table-card {
    padding: 0.82rem !important;
    overflow: hidden;
    background: #fff;
  }

  .calling-table-card:hover {
    transform: none !important;
  }

  .calling-table-title {
    align-items: flex-start !important;
    gap: 0.58rem !important;
    margin-bottom: 0.68rem !important;
  }

  .calling-table-title h2 {
    color: #20252c;
    font-size: 0.96rem !important;
    line-height: 1.16 !important;
  }

  .calling-table-title em {
    flex: 0 0 auto;
    padding: 0.22rem 0.5rem !important;
    font-size: 0.62rem !important;
  }

  .call-attempt-button {
    width: 100%;
    min-height: 46px !important;
    border-radius: 13px !important;
  }

  .call-attempt-button strong {
    font-size: 0.82rem !important;
  }

  .call-attempt-hint {
    max-width: 100%;
    margin: 0.48rem 0 0 !important;
    color: #687382;
    font-size: 0.7rem !important;
    line-height: 1.35 !important;
    white-space: normal;
  }

  .calling-process-page .table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .calling-premium-table,
  .calling-process-status-table,
  .calling-activity-simple-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  .calling-premium-table th,
  .calling-premium-table td,
  .calling-process-status-table th,
  .calling-process-status-table td,
  .calling-activity-simple-table th,
  .calling-activity-simple-table td {
    padding: 0.54rem 0.48rem !important;
    font-size: 0.68rem !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .calling-status-table tbody th {
    width: 38% !important;
    color: #4b5563 !important;
    font-size: 0.68rem !important;
    font-weight: 900;
  }

  .calling-status-table td {
    width: 62% !important;
    color: #20252c !important;
    font-size: 0.72rem !important;
    font-weight: 800;
  }

  .calling-process-status-table th:nth-child(1),
  .calling-process-status-table td:nth-child(1) {
    width: 34%;
  }

  .calling-process-status-table th:nth-child(2),
  .calling-process-status-table td:nth-child(2) {
    width: 30%;
  }

  .calling-process-status-table th:nth-child(3),
  .calling-process-status-table td:nth-child(3) {
    width: 36%;
  }

  .calling-process-status-table .process-chip {
    padding: 0.18rem 0.38rem !important;
    font-size: 0.56rem !important;
    white-space: nowrap;
  }

  .calling-form-grid,
  .interview-result-grid,
  .call-interview-schedule-field {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.62rem !important;
    width: 100%;
  }

  .calling-table-card .form-label {
    font-size: 0.68rem !important;
    font-weight: 900;
  }

  .calling-form-grid .form-control,
  .calling-form-grid .form-select {
    width: 100%;
    min-height: 42px !important;
    border-radius: 12px !important;
    font-size: 0.78rem !important;
  }

  .calling-form-grid textarea.form-control {
    min-height: 88px;
  }

  .calling-disposition-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.48rem !important;
  }

  .calling-disposition-actions .btn {
    width: 100%;
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 0.78rem !important;
  }

  .calling-process-page .mobile-bottom-nav {
    width: min(430px, calc(100vw - 0.8rem)) !important;
  }
}

.call-interview-schedule-field.is-hidden,
.call-interview-result-field.is-hidden,
.call-interview-field.is-hidden {
  display: none !important;
}

@media (max-width: 768px) {
  .call-interview-schedule-field:not(.is-hidden),
  .call-interview-result-field:not(.is-hidden) {
    display: grid !important;
  }
}

@media (max-width: 576px) {
  .candidate-final-social-card {
    padding: 0.82rem;
    border-radius: 15px;
  }

  .candidate-final-social-head {
    align-items: flex-start;
    gap: 0.58rem;
  }

  .candidate-final-social-head > span {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .candidate-final-social-head strong {
    font-size: 0.92rem;
  }

  .candidate-final-social-head em {
    font-size: 0.72rem;
  }

  .candidate-final-social-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .candidate-final-social-grid a {
    min-height: 44px;
    padding: 0.54rem;
    border-radius: 13px;
  }

  .candidate-final-social-grid span {
    font-size: 0.72rem;
  }
}

@media (max-width: 576px) {
  .candidate-result-dashboard {
    padding: 0.78rem;
    border-radius: 16px;
  }

  .candidate-result-dashboard-head {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 0.7rem;
  }

  .candidate-result-dashboard-head h2 {
    font-size: 1.3rem;
  }

  .candidate-result-score-ring {
    width: 82px;
    height: 82px;
  }

  .candidate-result-score-ring strong {
    font-size: 1rem;
  }

  .candidate-result-dashboard-grid {
    grid-template-columns: 1fr;
  }
}
/* Candidate program activation */
.candidate-result-action-panel {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.candidate-result-support-strip,
.candidate-result-join-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
}

.candidate-result-support-strip > div,
.candidate-result-join-card > div {
  flex: 1;
  min-width: 0;
}

.candidate-result-support-strip > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.candidate-result-support-strip span,
.candidate-result-join-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #eef2ff;
  color: #4f46e5;
  font-weight: 900;
}

.candidate-result-join-card span {
  width: auto;
  height: auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff1eb;
  color: #ef5b36;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.candidate-result-support-strip strong,
.candidate-result-support-strip em,
.candidate-result-join-card h3,
.candidate-result-join-card p {
  display: block;
}

.candidate-result-support-strip strong,
.candidate-result-join-card h3 {
  margin: 0;
  color: #1f2937;
  font-weight: 900;
}

.candidate-result-support-strip em,
.candidate-result-join-card p {
  margin: 3px 0 0;
  color: #64748b;
  font-style: normal;
  font-weight: 700;
}

.candidate-result-support-strip a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  color: #1f2937;
  text-decoration: none;
  font-weight: 900;
  background: #f8fafc;
}

.candidate-result-join-card {
  background: linear-gradient(135deg, #111827 0%, #26364f 100%);
  color: #fff;
  border: 0;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
}

.candidate-result-join-card h3,
.candidate-result-join-card p {
  color: #fff;
}

.candidate-result-join-card p {
  color: rgba(255, 255, 255, 0.78);
}

.candidate-program-page {
  min-height: 100vh;
  background: #f6f8fb;
  padding: 42px 18px;
}

.candidate-program-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.candidate-program-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px;
}

.candidate-program-top > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.candidate-program-hero,
.candidate-dashboard-card {
  padding: clamp(24px, 5vw, 52px);
  border-radius: 28px;
  background: linear-gradient(135deg, #151f32 0%, #ef5b36 100%);
  color: #fff;
  box-shadow: 0 24px 55px rgba(15, 23, 42, 0.18);
}

.candidate-program-hero span,
.candidate-dashboard-card > span {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  font-weight: 900;
}

.candidate-program-hero h1,
.candidate-dashboard-card h1 {
  margin: 14px 0 10px;
  font-size: clamp(2rem, 5vw, 4.2rem);
  line-height: 1;
  color: #fff;
}

.candidate-program-hero p,
.candidate-dashboard-card p {
  max-width: 760px;
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.05rem;
  font-weight: 700;
}

.candidate-program-support {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
}

.candidate-program-support > div {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.candidate-program-support span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: #eef2ff;
  color: #4f46e5;
  font-size: 1.2rem;
}

.candidate-program-support strong,
.candidate-program-support em {
  display: block;
}

.candidate-program-support em {
  color: #64748b;
  font-style: normal;
  font-weight: 700;
}

.candidate-program-support a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 14px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  color: #1f2937;
  text-decoration: none;
  font-weight: 900;
}

.candidate-program-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.candidate-program-plan {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 100%;
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.candidate-program-plan.is-featured {
  border-color: rgba(239, 91, 54, 0.35);
  box-shadow: 0 22px 48px rgba(239, 91, 54, 0.12);
}

.candidate-program-plan-head span {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff1eb;
  color: #ef5b36;
  font-weight: 900;
}

.candidate-program-plan h2 {
  margin: 12px 0 6px;
  color: #1f2937;
}

.candidate-program-plan p {
  color: #64748b;
  font-weight: 700;
}

.candidate-program-tax-note {
  display: block;
  margin-top: 8px;
  color: #94a3b8;
  font-style: normal;
  font-weight: 800;
}

.candidate-program-plan ul {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.candidate-program-plan li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #334155;
  font-weight: 800;
}

.candidate-program-plan li i {
  color: #16a34a;
  margin-top: 3px;
}

.candidate-program-details {
  flex: 1;
}

.candidate-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.candidate-dashboard-grid div {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.candidate-dashboard-grid strong,
.candidate-dashboard-grid em {
  display: block;
}

.candidate-dashboard-grid strong {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
}

.candidate-dashboard-grid em {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.72);
  font-style: normal;
  font-weight: 800;
}

.candidate-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

@media (max-width: 900px) {
  .candidate-program-plans,
  .candidate-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .candidate-result-support-strip,
  .candidate-result-join-card,
  .candidate-program-support {
    align-items: stretch;
    flex-direction: column;
  }

  .candidate-result-support-strip a,
  .candidate-program-support a,
  .candidate-result-join-card .btn {
    width: 100%;
  }
}

/* Candidate program page premium polish */
.candidate-program-page {
  background:
    linear-gradient(180deg, #f8fbff 0%, #eef4f8 100%);
  padding: 28px 18px 54px;
}

.candidate-program-shell {
  width: min(1320px, 100%);
}

.candidate-program-top {
  min-height: 60px;
  margin-bottom: 16px;
  padding: 0 4px;
}

.candidate-program-top .auth-brand-logo {
  max-height: 56px;
}

.candidate-program-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 260px;
  padding: clamp(30px, 5vw, 58px);
  overflow: hidden;
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(17, 24, 39, 0.94), rgba(21, 73, 95, 0.9) 48%, rgba(239, 91, 54, 0.96)),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 18px);
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.2);
}

.candidate-program-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -26% 42%;
  height: 70%;
  background:
    linear-gradient(120deg, transparent 0 24%, rgba(255, 255, 255, 0.16) 24% 26%, transparent 26% 48%, rgba(255, 255, 255, 0.1) 48% 50%, transparent 50%);
  transform: skewX(-18deg);
  pointer-events: none;
}

.candidate-program-hero > div,
.candidate-program-hero > a {
  position: relative;
  z-index: 1;
}

.candidate-program-hero span {
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  letter-spacing: 0;
}

.candidate-program-hero h1 {
  max-width: 760px;
  margin-top: 18px;
  font-size: clamp(2.4rem, 5.8vw, 5.7rem);
  letter-spacing: 0;
}

.candidate-program-hero p {
  max-width: 720px;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.7;
}

.candidate-program-hero-meta {
  flex: 0 0 220px;
  display: grid;
  place-items: center;
  padding: 26px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.24);
  text-align: center;
  backdrop-filter: blur(10px);
}

.candidate-program-hero-meta strong,
.candidate-program-hero-meta em,
.candidate-program-hero-meta small {
  display: block;
}

.candidate-program-hero-meta strong {
  color: #fff;
  font-size: 4rem;
  line-height: 0.95;
  font-weight: 900;
}

.candidate-program-hero-meta em {
  margin-top: 8px;
  color: #fff;
  font-style: normal;
  font-weight: 900;
}

.candidate-program-hero-meta small {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.74);
  font-weight: 800;
}

.candidate-program-support {
  margin: 20px 0 22px;
  padding: 16px 18px;
  border-radius: 26px;
  border: 1px solid rgba(203, 213, 225, 0.8);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.candidate-program-support span {
  background: #eef2ff;
  color: #4f46e5;
  box-shadow: inset 0 0 0 1px rgba(79, 70, 229, 0.08);
}

.candidate-program-support a {
  min-width: 138px;
  justify-content: center;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.candidate-program-support a:hover {
  border-color: rgba(239, 91, 54, 0.35);
  color: #ef5b36;
}

.candidate-program-plans {
  align-items: stretch;
  gap: 20px;
}

.candidate-program-plan {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border-radius: 32px;
  border: 1px solid rgba(203, 213, 225, 0.85);
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.08);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.candidate-program-plan::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, #22c55e, #2563eb, #ef5b36);
}

.candidate-program-plan:hover {
  transform: translateY(-4px);
  border-color: rgba(37, 99, 235, 0.22);
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.12);
}

.candidate-program-plan.is-featured {
  border-color: rgba(239, 91, 54, 0.42);
  background:
    linear-gradient(180deg, #fffefd 0%, #fff7f3 100%);
}

.candidate-program-popular {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
}

.candidate-program-plan-head span {
  margin-top: 4px;
  background: #fff1eb;
  box-shadow: inset 0 0 0 1px rgba(239, 91, 54, 0.08);
}

.candidate-program-plan h2 {
  margin-top: 18px;
  font-size: clamp(2rem, 3vw, 3.05rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.candidate-program-plan-head p {
  min-height: 58px;
  margin-bottom: 0;
  color: #607085;
  font-size: 1rem;
  line-height: 1.45;
}

.candidate-program-tax-note,
.candidate-program-duration {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: 12px;
  margin-right: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 900;
}

.candidate-program-duration {
  background: #ecfdf5;
  color: #059669;
}

.candidate-program-plan ul {
  gap: 11px;
  padding: 6px 0 2px;
}

.candidate-program-plan li {
  gap: 10px;
  font-size: 1rem;
  line-height: 1.35;
}

.candidate-program-plan li i {
  display: inline-flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-top: 0;
  border-radius: 50%;
  background: #ecfdf5;
}

.candidate-program-details {
  margin: 2px 0 4px;
  line-height: 1.55;
}

.candidate-program-plan .btn {
  min-height: 56px;
  border-radius: 14px;
  box-shadow: 0 14px 26px rgba(239, 91, 54, 0.22);
}

@media (max-width: 1100px) {
  .candidate-program-plans {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .candidate-program-page {
    padding: 16px 12px 34px;
  }

  .candidate-program-top {
    min-height: 48px;
  }

  .candidate-program-top .auth-brand-logo {
    max-height: 42px;
  }

  .candidate-program-hero {
    display: block;
    min-height: auto;
    padding: 26px 22px;
    border-radius: 26px;
  }

  .candidate-program-hero h1 {
    font-size: 2.7rem;
  }

  .candidate-program-hero-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding: 16px;
    text-align: left;
  }

  .candidate-program-hero-meta strong {
    font-size: 2.4rem;
  }

  .candidate-program-support {
    flex-direction: column;
    align-items: stretch;
  }

  .candidate-program-support a {
    width: 100%;
  }

  .candidate-program-plans {
    grid-template-columns: 1fr;
  }

  .candidate-program-plan {
    padding: 24px;
    border-radius: 26px;
  }

  .candidate-program-plan h2 {
    font-size: 2.1rem;
  }

  .candidate-program-plan-head p {
    min-height: auto;
  }
}

/* Candidate program compact attractive final pass */
.candidate-program-page {
  background:
    radial-gradient(circle at top left, rgba(239, 91, 54, 0.08), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);
}

.candidate-program-hero {
  background:
    linear-gradient(135deg, #ffffff 0%, #f9fbff 55%, #fff3ee 100%);
  border-color: #e4eaf2;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.candidate-program-hero h1 {
  background: linear-gradient(90deg, #111827, #ef5b36);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.candidate-program-hero-meta {
  background: #111827;
  border: 0;
  box-shadow: 0 14px 26px rgba(15, 23, 42, 0.12);
}

.candidate-program-hero-meta strong,
.candidate-program-hero-meta em {
  color: #fff;
}

.candidate-program-hero-meta small {
  color: rgba(255, 255, 255, 0.68);
}

.candidate-program-support {
  background: rgba(255, 255, 255, 0.92);
  border-color: #e4eaf2;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.045);
}

.candidate-program-support a {
  background: #f8fafc;
}

.candidate-program-support a:nth-of-type(2) {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}

.candidate-program-plans {
  align-items: stretch;
}

.candidate-program-plan {
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #e4eaf2;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.candidate-program-plan::before {
  height: 4px;
  background: linear-gradient(90deg, #ef5b36, #ffb454);
}

.candidate-program-plan:nth-child(2)::before {
  background: linear-gradient(90deg, #2563eb, #22c55e);
}

.candidate-program-plan:nth-child(3)::before {
  background: linear-gradient(90deg, #111827, #ef5b36);
}

.candidate-program-plan.is-featured {
  background:
    linear-gradient(180deg, #ffffff 0%, #fff8f5 100%);
  box-shadow: 0 16px 36px rgba(239, 91, 54, 0.1);
}

.candidate-program-plan h2 {
  color: #172033;
}

.candidate-program-plan-head span,
.candidate-program-popular {
  box-shadow: inset 0 0 0 1px rgba(239, 91, 54, 0.08);
}

.candidate-program-duration {
  background: #eff6ff;
  color: #2563eb;
}

.candidate-program-plan li i {
  background: #ecfdf5;
  color: #059669;
}

.candidate-program-plan .btn {
  background: linear-gradient(135deg, #ef5b36, #f97316);
  border: 0;
}

.candidate-program-plan .btn:hover {
  filter: brightness(0.96);
}

/* Candidate premium job dashboard */
.candidate-job-dashboard {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  min-height: 100vh;
  background: #f6f8fb;
}

.candidate-job-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 18px;
  background: #ffffff;
  border-right: 1px solid #e5e7eb;
}

.candidate-job-brand {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
}

.candidate-job-brand img {
  max-width: 160px;
  max-height: 52px;
  object-fit: contain;
}

.candidate-job-profile {
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, #111827, #26364f);
  color: #fff;
}

.candidate-job-profile span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-weight: 900;
  font-size: 1.1rem;
}

.candidate-job-profile strong,
.candidate-job-profile em {
  display: block;
}

.candidate-job-profile strong {
  color: #fff;
  font-weight: 900;
}

.candidate-job-profile em {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.72);
  font-style: normal;
  font-weight: 800;
}

.candidate-job-nav {
  display: grid;
  gap: 8px;
}

.candidate-job-nav a,
.candidate-job-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  color: #475569;
  text-decoration: none;
  font-weight: 900;
}

.candidate-job-nav a i,
.candidate-job-logout i {
  font-size: 1.1rem;
}

.candidate-job-nav a.active,
.candidate-job-nav a:hover {
  background: #fff1eb;
  color: #ef5b36;
}

.candidate-job-logout {
  margin-top: auto;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}

.candidate-job-main {
  min-width: 0;
  padding: 26px;
}

.candidate-job-toast {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 13px 16px;
  border-radius: 16px;
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #bbf7d0;
  font-weight: 900;
}

.candidate-job-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 26px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f9fbff 60%, #fff2ec 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

.candidate-job-hero span,
.candidate-job-card-head span {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff1eb;
  color: #ef5b36;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-job-hero h1 {
  margin: 10px 0 8px;
  color: #172033;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
}

.candidate-job-hero p {
  max-width: 780px;
  margin: 0;
  color: #64748b;
  font-weight: 700;
  line-height: 1.6;
}

.candidate-job-score {
  flex: 0 0 152px;
  display: grid;
  place-items: center;
  min-height: 152px;
  border-radius: 50%;
  background: conic-gradient(#22c55e calc(var(--score, 0) * 1%), #e5e7eb 0);
  position: relative;
}

.candidate-job-score::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: #fff;
}

.candidate-job-score strong,
.candidate-job-score span {
  position: relative;
  z-index: 1;
  display: block;
  color: #172033;
}

.candidate-job-score strong {
  font-size: 2rem;
  font-weight: 900;
}

.candidate-job-score span {
  font-size: 0.82rem;
  font-weight: 900;
  color: #64748b;
}

.candidate-job-score.is-fail {
  background: conic-gradient(#ef4444 calc(var(--score, 0) * 1%), #e5e7eb 0);
}

.candidate-job-score.is-hold {
  background: conic-gradient(#f59e0b calc(var(--score, 0) * 1%), #e5e7eb 0);
}

.candidate-job-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.candidate-job-kpis div,
.candidate-job-card,
.candidate-job-actions a {
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.candidate-job-kpis div {
  padding: 16px;
  border-radius: 18px;
}

.candidate-job-kpis i {
  color: #ef5b36;
  font-size: 1.25rem;
}

.candidate-job-kpis strong,
.candidate-job-kpis span {
  display: block;
}

.candidate-job-kpis strong {
  margin-top: 8px;
  color: #172033;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.candidate-job-kpis span {
  margin-top: 2px;
  color: #94a3b8;
  font-size: 0.82rem;
  font-weight: 900;
}

.candidate-job-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 14px;
  margin-bottom: 14px;
}

.candidate-job-card {
  padding: 18px;
  border-radius: 20px;
}

.candidate-job-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.candidate-job-card-head h2 {
  margin: 8px 0 0;
  color: #172033;
  font-size: 1.35rem;
}

.candidate-job-card-head em {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-style: normal;
  font-weight: 900;
}

.candidate-job-card-head em.is-fail {
  background: #fef2f2;
  color: #dc2626;
}

.candidate-job-card-head em.is-hold {
  background: #fffbeb;
  color: #b45309;
}

.candidate-job-result-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.candidate-job-result-line div {
  padding: 14px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.candidate-job-result-line strong,
.candidate-job-result-line span {
  display: block;
}

.candidate-job-result-line strong {
  color: #172033;
  font-weight: 900;
}

.candidate-job-result-line span {
  margin-top: 4px;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 800;
}

.candidate-job-info-table {
  width: 100%;
  border-collapse: collapse;
}

.candidate-job-info-table td {
  padding: 11px 0;
  border-bottom: 1px solid #eef2f7;
  color: #64748b;
  font-weight: 800;
}

.candidate-job-info-table td:last-child {
  color: #172033;
  text-align: right;
  font-weight: 900;
}

.candidate-job-step-list {
  display: grid;
  gap: 8px;
}

.candidate-job-step-list div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  background: #f8fafc;
}

.candidate-job-step-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #ecfdf5;
  color: #059669;
}

.candidate-job-step-list strong {
  color: #172033;
  font-weight: 900;
}

.candidate-job-step-list em,
.candidate-job-step-list small {
  color: #64748b;
  font-style: normal;
  font-weight: 800;
}

.candidate-job-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.candidate-job-actions a {
  display: grid;
  gap: 4px;
  padding: 16px;
  border-radius: 18px;
  color: #172033;
  text-decoration: none;
}

.candidate-job-actions i {
  color: #ef5b36;
  font-size: 1.35rem;
}

.candidate-job-actions strong,
.candidate-job-actions span {
  display: block;
}

.candidate-job-actions strong {
  font-weight: 900;
}

.candidate-job-actions span {
  color: #64748b;
  font-size: 0.86rem;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .candidate-job-dashboard {
    grid-template-columns: 1fr;
  }

  .candidate-job-sidebar {
    position: static;
    height: auto;
    padding: 14px;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .candidate-job-profile {
    display: none;
  }

  .candidate-job-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .candidate-job-nav a {
    flex: 0 0 auto;
  }

  .candidate-job-logout {
    position: absolute;
    right: 14px;
    top: 16px;
    margin-top: 0;
  }

  .candidate-job-main {
    padding: 16px;
  }
}

@media (max-width: 768px) {
  .candidate-job-sidebar {
    gap: 10px;
  }

  .candidate-job-brand img {
    max-width: 132px;
  }

  .candidate-job-logout {
    min-height: 38px;
    padding: 0 10px;
    font-size: 0.84rem;
  }

  .candidate-job-hero {
    display: block;
    padding: 18px;
    border-radius: 20px;
  }

  .candidate-job-score {
    width: 120px;
    min-height: 120px;
    margin-top: 16px;
  }

  .candidate-job-score strong {
    font-size: 1.5rem;
  }

  .candidate-job-kpis,
  .candidate-job-grid,
  .candidate-job-actions {
    grid-template-columns: 1fr;
  }

  .candidate-job-step-list div {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .candidate-job-step-list em,
  .candidate-job-step-list small {
    grid-column: 2;
  }

  .candidate-job-result-line {
    grid-template-columns: 1fr;
  }
}

/* Candidate dashboard compact premium refinement */
.candidate-job-dashboard {
  position: relative;
  background:
    radial-gradient(circle at 18% 0%, rgba(239, 91, 54, 0.08), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(37, 99, 235, 0.08), transparent 28%),
    #f7f9fc;
}

.candidate-job-sidebar {
  padding: 18px 14px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
}

.candidate-job-profile {
  padding: 14px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, #101827 0%, #172033 55%, #ef5b36 140%);
}

.candidate-job-profile span {
  width: 40px;
  height: 40px;
  margin-bottom: 9px;
  border-radius: 13px;
}

.candidate-job-nav a,
.candidate-job-logout {
  min-height: 42px;
  border-radius: 12px;
  font-size: 0.92rem;
}

.candidate-job-main {
  padding: 20px;
}

.candidate-job-toast {
  max-width: 560px;
  margin-bottom: 12px;
  padding: 11px 14px;
  border-radius: 14px;
  animation: candidateToastIn 520ms ease both;
}

.candidate-job-hero {
  padding: 20px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96)),
    linear-gradient(90deg, rgba(239, 91, 54, 0.1), rgba(37, 99, 235, 0.08));
}

.candidate-job-hero h1 {
  margin: 8px 0 6px;
  font-size: clamp(1.8rem, 3.2vw, 3rem);
}

.candidate-job-hero p {
  font-size: 0.95rem;
  line-height: 1.52;
}

.candidate-job-score {
  flex-basis: 122px;
  min-height: 122px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.candidate-job-score::before {
  inset: 10px;
}

.candidate-job-score strong {
  font-size: 1.7rem;
}

.candidate-job-kpis {
  gap: 10px;
  margin: 12px 0;
}

.candidate-job-kpis div,
.candidate-job-card,
.candidate-job-actions a {
  border-color: #e7edf4;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.candidate-job-kpis div {
  padding: 13px;
  border-radius: 16px;
}

.candidate-job-kpis strong {
  margin-top: 5px;
}

.candidate-job-grid {
  gap: 12px;
  margin-bottom: 12px;
}

.candidate-job-card {
  padding: 15px;
  border-radius: 18px;
}

.candidate-job-card-head {
  margin-bottom: 11px;
}

.candidate-job-card-head h2 {
  margin-top: 6px;
  font-size: 1.18rem;
}

.candidate-job-result-line div {
  padding: 12px;
  border-radius: 14px;
}

.candidate-job-step-list {
  gap: 7px;
}

.candidate-job-step-list div {
  padding: 8px 10px;
  border-radius: 13px;
}

.candidate-job-actions {
  gap: 10px;
  margin-top: 12px;
}

.candidate-job-actions a {
  padding: 13px;
  border-radius: 16px;
}

.candidate-activation-confetti {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}

.candidate-activation-confetti span {
  position: absolute;
  top: -18px;
  left: calc(var(--x) * 1%);
  width: var(--s);
  height: var(--s);
  border-radius: 999px;
  background: #ef5b36;
  box-shadow:
    0 0 0 3px rgba(239, 91, 54, 0.12),
    0 0 24px rgba(239, 91, 54, 0.2);
  animation: candidateParticleFall var(--d) ease-out var(--delay) forwards;
}

.candidate-activation-confetti span:nth-child(3n) {
  background: #2563eb;
  box-shadow:
    0 0 0 3px rgba(37, 99, 235, 0.12),
    0 0 24px rgba(37, 99, 235, 0.18);
}

.candidate-activation-confetti span:nth-child(4n) {
  background: #22c55e;
  border-radius: 4px;
}

.candidate-activation-confetti span:nth-child(5n) {
  background: #f59e0b;
}

@keyframes candidateParticleFall {
  0% {
    opacity: 0;
    transform: translate3d(0, -20px, 0) scale(0.6) rotate(0deg);
  }
  12% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate3d(calc((50 - var(--x)) * 0.45vw), 82vh, 0) scale(1) rotate(240deg);
  }
}

@keyframes candidateToastIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .candidate-activation-confetti,
  .candidate-activation-confetti span {
    display: none;
    animation: none;
  }
}

@media (max-width: 768px) {
  .candidate-job-main {
    padding: 12px;
  }

  .candidate-job-hero {
    padding: 16px;
  }

  .candidate-job-score {
    width: 108px;
    min-height: 108px;
  }
}

/* Candidate dashboard classic compact final */
.candidate-job-dashboard {
  background: #f5f7fa;
}

.candidate-job-sidebar {
  width: 260px;
  padding: 14px 12px;
  background: #fff;
  border-right-color: #e6ebf1;
  box-shadow: 8px 0 28px rgba(15, 23, 42, 0.035);
}

.candidate-job-brand {
  min-height: 42px;
  padding: 0 6px;
}

.candidate-job-brand img {
  max-width: 132px;
  max-height: 42px;
}

.candidate-job-profile {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  column-gap: 10px;
  align-items: center;
  padding: 12px;
  border-radius: 14px;
  background: #172033;
  box-shadow: none;
}

.candidate-job-profile span {
  grid-row: span 2;
  width: 36px;
  height: 36px;
  margin: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  font-size: 0.95rem;
}

.candidate-job-profile strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.candidate-job-profile em {
  margin: 0;
  font-size: 0.78rem;
}

.candidate-job-nav {
  gap: 6px;
}

.candidate-job-nav a,
.candidate-job-logout {
  min-height: 38px;
  padding: 0 11px;
  border-radius: 10px;
  font-size: 0.86rem;
}

.candidate-job-nav a.active,
.candidate-job-nav a:hover {
  background: #f1f5f9;
  color: #172033;
}

.candidate-job-nav a.active {
  box-shadow: inset 3px 0 0 #ef5b36;
}

.candidate-job-support-card {
  margin-top: auto;
  padding: 12px;
  border: 1px solid #e6ebf1;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.candidate-job-support-card > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #eef2ff;
  color: #4f46e5;
}

.candidate-job-support-card strong,
.candidate-job-support-card em {
  display: block;
}

.candidate-job-support-card strong {
  margin-top: 9px;
  color: #172033;
  font-weight: 900;
}

.candidate-job-support-card em {
  margin-top: 2px;
  color: #64748b;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
}

.candidate-job-support-card div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 10px;
}

.candidate-job-support-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e6ebf1;
  color: #172033;
  text-decoration: none;
}

.candidate-job-support-card a:nth-child(2) {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}

.candidate-job-main {
  padding: 14px 16px;
}

.candidate-job-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.candidate-job-topbar span {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-job-topbar a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #e6ebf1;
  border-radius: 10px;
  color: #475569;
  background: #fff;
  text-decoration: none;
  font-weight: 900;
  font-size: 0.84rem;
}

.candidate-job-toast {
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 0.9rem;
}

.candidate-job-hero {
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.candidate-job-hero span,
.candidate-job-card-head span {
  padding: 4px 8px;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.68rem;
}

.candidate-job-hero h1 {
  margin: 7px 0 5px;
  font-size: clamp(1.55rem, 2.6vw, 2.35rem);
}

.candidate-job-hero p {
  font-size: 0.9rem;
  line-height: 1.45;
}

.candidate-job-score {
  flex-basis: 96px;
  min-height: 96px;
  box-shadow: none;
}

.candidate-job-score::before {
  inset: 8px;
}

.candidate-job-score strong {
  font-size: 1.35rem;
}

.candidate-job-score span {
  font-size: 0.72rem;
}

.candidate-job-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.candidate-job-kpis div,
.candidate-job-card,
.candidate-job-actions a {
  border-color: #e6ebf1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.032);
}

.candidate-job-kpis div {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  column-gap: 9px;
  align-items: center;
  padding: 10px;
  border-radius: 14px;
}

.candidate-job-kpis i {
  grid-row: span 2;
  font-size: 1rem;
}

.candidate-job-kpis strong {
  margin: 0;
  font-size: 0.92rem;
}

.candidate-job-kpis span {
  margin: 0;
  font-size: 0.72rem;
}

.candidate-job-grid {
  gap: 10px;
  margin-bottom: 10px;
}

.candidate-job-card {
  padding: 12px;
  border-radius: 16px;
}

.candidate-job-card-head {
  margin-bottom: 9px;
}

.candidate-job-card-head h2 {
  margin-top: 5px;
  font-size: 1.05rem;
}

.candidate-job-card-head em {
  padding: 5px 9px;
  font-size: 0.76rem;
}

.candidate-job-result-line {
  gap: 8px;
}

.candidate-job-result-line div {
  padding: 10px;
  border-radius: 12px;
}

.candidate-job-result-line strong {
  font-size: 0.96rem;
}

.candidate-job-result-line span {
  font-size: 0.74rem;
}

.candidate-job-info-table td {
  padding: 8px 0;
  font-size: 0.88rem;
}

.candidate-job-step-list div {
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  gap: 8px;
  padding: 7px 9px;
  border-radius: 11px;
}

.candidate-job-step-list span {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  font-size: 0.78rem;
}

.candidate-job-step-list strong,
.candidate-job-step-list em,
.candidate-job-step-list small {
  font-size: 0.84rem;
}

.candidate-job-actions {
  gap: 8px;
  margin-top: 10px;
}

.candidate-job-actions a {
  grid-template-columns: 28px minmax(0, 1fr);
  column-gap: 9px;
  align-items: center;
  padding: 10px;
  border-radius: 14px;
}

.candidate-job-actions i {
  grid-row: span 2;
  font-size: 1.05rem;
}

.candidate-job-actions strong {
  font-size: 0.9rem;
}

.candidate-job-actions span {
  font-size: 0.74rem;
}

.candidate-activation-confetti.is-spark-burst::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 28%;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 2px solid rgba(239, 91, 54, 0.24);
  transform: translate(-50%, -50%) scale(0.2);
  animation: candidateSparkRing 1200ms ease-out forwards;
}

.candidate-activation-confetti.is-spark-burst::after {
  content: "Activated";
  position: absolute;
  left: 50%;
  top: 28%;
  transform: translate(-50%, -50%) scale(0.9);
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.92);
  color: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
  font-weight: 900;
  animation: candidateSparkLabel 1550ms ease-out forwards;
}

.candidate-activation-confetti.is-spark-burst span {
  top: calc(var(--y) * 1%);
  left: calc(var(--x) * 1%);
  width: var(--s);
  height: var(--s);
  border-radius: 50%;
  opacity: 0;
  background: #ef5b36;
  box-shadow: 0 0 18px rgba(239, 91, 54, 0.3);
  animation: candidateSparkBurst var(--d) cubic-bezier(.16, .9, .28, 1) var(--delay) forwards;
}

.candidate-activation-confetti.is-spark-burst span:nth-child(3n) {
  background: #2563eb;
  box-shadow: 0 0 18px rgba(37, 99, 235, 0.25);
}

.candidate-activation-confetti.is-spark-burst span:nth-child(4n) {
  background: #22c55e;
  border-radius: 2px;
  box-shadow: 0 0 18px rgba(34, 197, 94, 0.25);
}

.candidate-activation-confetti.is-spark-burst span:nth-child(5n) {
  background: #f59e0b;
  box-shadow: 0 0 18px rgba(245, 158, 11, 0.25);
}

@keyframes candidateSparkBurst {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(0.25) rotate(0deg);
  }
  18% {
    opacity: 1;
  }
  72% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: translate3d(calc((var(--x) - 50) * 0.52vw), calc((var(--y) - 50) * 0.42vh), 0) scale(1.25) rotate(var(--r));
  }
}

@keyframes candidateSparkRing {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.2);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.9);
  }
}

@keyframes candidateSparkLabel {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.78);
  }
  16% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  78% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -68%) scale(0.96);
  }
}

@media (max-width: 1100px) {
  .candidate-job-sidebar {
    width: auto;
  }

  .candidate-job-support-card {
    display: none;
  }
}

/* Candidate simple dashboard */
.candidate-simple-dashboard {
  min-height: 100vh;
  background: #f6f8fb;
  padding: 20px;
}

.candidate-simple-shell {
  width: min(1040px, 100%);
  margin: 0 auto;
}

.candidate-simple-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.candidate-simple-top img {
  max-width: 150px;
  max-height: 52px;
  object-fit: contain;
}

.candidate-simple-top a:last-child {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #475569;
  text-decoration: none;
  font-weight: 900;
}

.candidate-simple-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  padding: 11px 13px;
  border-radius: 14px;
  background: #ecfdf5;
  border: 1px solid #bbf7d0;
  color: #047857;
  font-weight: 900;
}

.candidate-simple-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.candidate-job-dashboard-simple .candidate-simple-card {
  max-width: 980px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.candidate-job-dashboard-simple .candidate-simple-hero {
  background: #fff;
  color: #172033;
  border: 1px solid #eef2f7;
}

.candidate-job-dashboard-simple .candidate-simple-hero span {
  background: #fff1eb;
  color: #ef5b36;
}

.candidate-job-dashboard-simple .candidate-simple-hero p {
  color: #64748b;
}

.candidate-job-dashboard-simple .candidate-simple-plan {
  background: linear-gradient(135deg, #ffffff, #f8fafc);
}

.candidate-simple-hero,
.candidate-simple-plan,
.candidate-simple-support {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.candidate-simple-hero {
  background: linear-gradient(135deg, #111827, #26364f);
  color: #fff;
  border: 0;
}

.candidate-simple-hero span,
.candidate-simple-plan span {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-simple-plan span {
  background: #fff1eb;
  color: #ef5b36;
}

.candidate-simple-hero h1,
.candidate-simple-plan h2 {
  margin: 8px 0 4px;
  color: inherit;
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  line-height: 1.08;
}

.candidate-simple-hero p,
.candidate-simple-plan p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-weight: 800;
}

.candidate-simple-plan p {
  color: #64748b;
}

.candidate-simple-result {
  flex: 0 0 112px;
  display: grid;
  place-items: center;
  min-height: 112px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.candidate-simple-result strong,
.candidate-simple-result em {
  display: block;
  color: #fff;
}

.candidate-simple-result strong {
  font-size: 2rem;
  line-height: 1;
  font-weight: 900;
}

.candidate-simple-result em {
  margin-top: 5px;
  font-style: normal;
  font-weight: 900;
}

.candidate-simple-details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.candidate-simple-details div {
  padding: 12px;
  border-radius: 15px;
  background: #fff;
  border: 1px solid #eef2f7;
}

.candidate-simple-details span,
.candidate-simple-details strong {
  display: block;
}

.candidate-simple-details span {
  color: #94a3b8;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-simple-details strong {
  margin-top: 5px;
  color: #172033;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.candidate-simple-support > div {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.candidate-simple-support > div > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: #eef2ff;
  color: #4f46e5;
}

.candidate-simple-support strong,
.candidate-simple-support em {
  display: block;
}

.candidate-simple-support strong {
  color: #172033;
  font-weight: 900;
}

.candidate-simple-support em {
  color: #64748b;
  font-style: normal;
  font-weight: 800;
}

.candidate-simple-support a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #172033;
  text-decoration: none;
  font-weight: 900;
}

.candidate-simple-support a:nth-of-type(2) {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}

@media (max-width: 768px) {
  .candidate-simple-dashboard {
    padding: 12px;
  }

  .candidate-simple-card {
    padding: 12px;
    border-radius: 18px;
  }

  .candidate-simple-hero,
  .candidate-simple-plan,
  .candidate-simple-support {
    align-items: stretch;
    flex-direction: column;
    padding: 13px;
  }

  .candidate-simple-result {
    flex: none;
    width: 100%;
    min-height: 86px;
    border-radius: 16px;
  }

  .candidate-simple-details {
    grid-template-columns: 1fr;
  }

  .candidate-simple-plan .btn,
  .candidate-simple-support a {
    width: 100%;
  }
}

/* Assignment change page */
.assignment-change-page .page-header h1 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  letter-spacing: 0;
}

.assignment-change-page .page-header {
  padding: 18px 20px;
  border: 1px solid #e7edf4;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.045);
}

.assignment-change-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.assignment-change-actions .btn,
.assignment-change-actions .badge {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 12px;
  font-weight: 900;
}

.assignment-change-filter {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 190px auto;
  gap: 10px;
  padding: 12px;
  margin-bottom: 14px;
  border: 1px solid #e7edf4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.assignment-partner-filter {
  grid-template-columns: minmax(220px, 1fr) 180px minmax(240px, 1fr) auto;
  align-items: end;
}

.assignment-partner-filter .form-label {
  margin-bottom: 6px;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.assignment-bulk-transfer-card {
  display: grid;
  gap: 12px;
}

.assignment-transfer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid #e7edf4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.assignment-transfer-bar span,
.assignment-transfer-bar strong,
.assignment-transfer-bar small {
  display: block;
}

.assignment-transfer-bar span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.assignment-transfer-bar strong {
  color: #172033;
  font-size: 1.05rem;
  font-weight: 900;
}

.assignment-transfer-bar small {
  margin-top: 3px;
  color: #64748b;
  font-weight: 800;
}

.assignment-transfer-bar small b {
  color: #ef5b36;
}

.assignment-transfer-controls {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto;
  gap: 8px;
  min-width: min(100%, 520px);
}

.assignment-transfer-controls .form-select,
.assignment-transfer-controls .btn {
  min-height: 44px;
  border-radius: 12px;
  font-weight: 900;
}

.assignment-change-table-card {
  overflow: hidden;
  border: 1px solid #e7edf4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.assignment-change-table {
  table-layout: fixed;
}

.assignment-change-table th {
  padding: 0.9rem 1rem;
  background: #f8fafc;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.assignment-change-table td {
  padding: 0.95rem 1rem;
  border-color: #eef2f7;
  vertical-align: middle;
}

.assignment-change-table td:first-child strong,
.assignment-change-table td:first-child span,
.assignment-change-table td:first-child em,
.assignment-current-stack span {
  display: block;
}

.assignment-change-table td:first-child strong {
  color: #172033;
  font-weight: 900;
}

.assignment-change-table td:first-child span,
.assignment-change-table td:first-child em {
  color: #64748b;
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 700;
}

.assignment-current-stack {
  display: grid;
  gap: 4px;
  min-width: 190px;
}

.assignment-current-stack span {
  color: #64748b;
  font-size: 0.84rem;
  font-weight: 800;
}

.assignment-current-stack strong {
  color: #172033;
}

.assignment-change-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 8px;
}

.assignment-change-controls:has(.form-select:nth-child(1):last-child) {
  grid-template-columns: minmax(220px, 420px);
}

.assignment-change-controls .form-select,
.assignment-change-filter .form-control,
.assignment-change-filter .form-select {
  min-height: 42px;
  border-radius: 12px;
  border-color: #e1e8f0;
  font-weight: 800;
}

.assignment-change-table .btn {
  min-width: 98px;
  min-height: 40px;
  border-radius: 12px;
  font-weight: 900;
}

.assignment-bulk-table th:first-child,
.assignment-bulk-table td:first-child {
  width: 48px;
  text-align: center;
}

.assignment-bulk-table td strong,
.assignment-bulk-table td span,
.assignment-bulk-table td em {
  display: block;
}

.assignment-bulk-table td em {
  color: #64748b;
  font-size: 0.84rem;
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .assignment-change-filter,
  .assignment-partner-filter {
    grid-template-columns: 1fr;
  }

  .assignment-change-table-card {
    overflow-x: auto;
  }

  .assignment-change-table {
    min-width: 980px;
  }

  .assignment-transfer-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .assignment-transfer-controls {
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .assignment-change-page {
    padding: 0;
  }

  .assignment-change-page .page-header {
    padding: 14px;
    border-radius: 16px;
  }

  .assignment-change-actions {
    width: 100%;
    justify-content: stretch;
  }

  .assignment-change-actions .btn,
  .assignment-change-actions .badge {
    flex: 1 1 auto;
    justify-content: center;
  }

  .assignment-change-table {
    min-width: 900px;
  }

  .assignment-change-controls {
    grid-template-columns: 1fr;
  }

  .assignment-change-filter {
    border-radius: 16px;
  }

  .assignment-transfer-controls {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .candidate-job-main {
    padding: 10px;
  }

  .candidate-job-hero {
    padding: 13px;
    border-radius: 16px;
  }

  .candidate-job-score {
    width: 88px;
    min-height: 88px;
  }

  .candidate-job-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .candidate-job-step-list div {
    grid-template-columns: 26px minmax(0, 1fr);
  }
}

/* Candidate program compact override */
.candidate-program-page {
  background: #f6f8fb;
  padding: 18px;
}

.candidate-program-shell {
  width: min(1180px, 100%);
}

.candidate-program-top {
  min-height: 46px;
  margin-bottom: 12px;
}

.candidate-program-top .auth-brand-logo {
  max-height: 44px;
}

.candidate-program-hero {
  min-height: auto;
  padding: 22px 24px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
  color: #1f2937;
}

.candidate-program-hero::after {
  display: none;
}

.candidate-program-hero span {
  padding: 5px 10px;
  background: #fff1eb;
  border: 0;
  color: #ef5b36;
  font-size: 0.78rem;
}

.candidate-program-hero h1 {
  max-width: none;
  margin: 10px 0 6px;
  color: #1f2937;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.candidate-program-hero p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-size: 0.96rem;
  line-height: 1.55;
}

.candidate-program-hero-meta {
  flex: 0 0 150px;
  padding: 14px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  backdrop-filter: none;
}

.candidate-program-hero-meta strong {
  color: #1f2937;
  font-size: 2rem;
}

.candidate-program-hero-meta em {
  margin-top: 2px;
  color: #334155;
  font-size: 0.86rem;
}

.candidate-program-hero-meta small {
  color: #94a3b8;
  font-size: 0.76rem;
}

.candidate-program-support {
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: 16px;
  box-shadow: none;
}

.candidate-program-support span {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.candidate-program-support strong {
  color: #1f2937;
}

.candidate-program-support em {
  font-size: 0.86rem;
}

.candidate-program-support a {
  min-width: auto;
  padding: 9px 13px;
  border-radius: 12px;
  box-shadow: none;
}

.candidate-program-plans {
  gap: 12px;
}

.candidate-program-plan {
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.candidate-program-plan::before {
  height: 3px;
  background: #ef5b36;
}

.candidate-program-plan:hover {
  transform: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
}

.candidate-program-plan.is-featured {
  background: #fff;
  border-color: rgba(239, 91, 54, 0.35);
}

.candidate-program-popular {
  padding: 5px 9px;
  background: #fff1eb;
  color: #ef5b36;
  font-size: 0.72rem;
}

.candidate-program-plan-head span {
  margin-top: 0;
  padding: 6px 10px;
  font-size: 0.86rem;
}

.candidate-program-plan h2 {
  margin: 10px 0 4px;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
}

.candidate-program-plan-head p {
  min-height: 44px;
  font-size: 0.92rem;
  line-height: 1.45;
}

.candidate-program-tax-note,
.candidate-program-duration {
  margin-top: 8px;
  padding: 5px 8px;
  font-size: 0.74rem;
}

.candidate-program-plan ul {
  gap: 7px;
  padding: 0;
}

.candidate-program-plan li {
  gap: 8px;
  font-size: 0.92rem;
}

.candidate-program-plan li i {
  flex-basis: 18px;
  width: 18px;
  height: 18px;
  font-size: 0.78rem;
}

.candidate-program-details {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
}

.candidate-program-plan .btn {
  min-height: 44px;
  border-radius: 11px;
  box-shadow: none;
}

@media (max-width: 768px) {
  .candidate-program-page {
    padding: 12px;
  }

  .candidate-program-hero {
    padding: 18px;
  }

  .candidate-program-hero h1 {
    font-size: 2rem;
  }

  .candidate-program-hero-meta {
    margin-top: 14px;
  }

  .candidate-program-support {
    gap: 8px;
  }

  .candidate-program-support > div {
    align-items: flex-start;
  }

  .candidate-program-plan {
    padding: 16px;
  }

  .candidate-program-plan h2 {
    font-size: 1.55rem;
  }

  .candidate-program-plan-head p {
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .whatsapp-template-page .whatsapp-template-hero {
    border-color: #cdeed9 !important;
    background: linear-gradient(135deg, rgba(14, 138, 82, 0.96), rgba(23, 104, 73, 0.95)), #0f7a52 !important;
    box-shadow: 0 14px 32px rgba(15, 118, 74, 0.16) !important;
  }

  .whatsapp-template-page .whatsapp-template-hero h1,
  .whatsapp-template-page .whatsapp-template-hero p,
  .whatsapp-template-page .whatsapp-template-hero .permission-eyebrow {
    color: #fff !important;
  }

  .whatsapp-template-page .whatsapp-template-card,
  .whatsapp-template-page .whatsapp-variable-panel {
    border-color: #ddf4e5 !important;
    border-radius: 16px !important;
  }
}

/* Candidate program career landing */
.candidate-program-page {
  min-height: 100vh;
  padding: 0;
  background:
    radial-gradient(circle at 74% 8%, rgba(239, 91, 54, 0.1), transparent 30%),
    radial-gradient(circle at 12% 18%, rgba(37, 99, 235, 0.08), transparent 32%),
    #f7f9fd;
  color: #081538;
}

.candidate-program-shell {
  width: min(100%, 1760px);
  margin: 0 auto;
  padding: 0 34px 38px;
}

.candidate-program-top {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: 66px;
  margin: 0 -34px 18px;
  padding: 0 34px;
  border-bottom: 1px solid #e7edf5;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.candidate-program-top .auth-brand-logo {
  max-height: 44px;
}

.candidate-program-top > div {
  gap: 10px;
}

.candidate-program-nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.6vw, 42px);
  margin: 0 auto;
}

.candidate-program-nav a {
  position: relative;
  color: #071431;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 900;
}

.candidate-program-nav a.active,
.candidate-program-nav a:hover {
  color: #ef5b36;
}

.candidate-program-nav a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 2px;
  border-radius: 999px;
  background: #ef5b36;
}

.candidate-program-call,
.candidate-program-user,
.candidate-program-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid #e3eaf4;
  border-radius: 13px;
  background: #fff;
  color: #081538;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.candidate-program-call {
  gap: 9px;
  padding: 7px 13px;
  font-size: 0.76rem;
  line-height: 1.05;
}

.candidate-program-call i {
  font-size: 1.2rem;
}

.candidate-program-call strong {
  font-size: 0.82rem;
}

.candidate-program-whatsapp {
  width: 44px;
  border-color: #bbf7d0;
  background: #16a34a;
  color: #fff;
  font-size: 1.24rem;
}

.candidate-program-user {
  gap: 9px;
  padding: 7px 10px;
}

.candidate-program-user span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #eaf2ff;
  color: #2563eb;
}

.candidate-program-user strong,
.candidate-program-user em {
  display: block;
}

.candidate-program-user strong {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.82rem;
}

.candidate-program-user em {
  color: #64748b;
  font-size: 0.68rem;
  font-style: normal;
}

.candidate-program-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(500px, 0.88fr);
  align-items: center;
  gap: 28px;
  min-height: 360px;
  padding: clamp(28px, 4vw, 54px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 78% 54%, rgba(239, 91, 54, 0.2), transparent 26%),
    linear-gradient(135deg, #fff 0%, #fff 46%, #fff7fb 100%);
  box-shadow: none;
  color: #081538;
}

.candidate-program-hero::after {
  display: none;
}

.candidate-program-hero-copy,
.candidate-program-hero-art,
.candidate-program-hero > a {
  position: relative;
  z-index: 1;
}

.candidate-program-hero span {
  padding: 7px 14px;
  border: 0;
  background: #fff1eb;
  color: #8b5cf6;
  font-size: 0.86rem;
}

.candidate-program-hero h1 {
  max-width: 660px;
  margin: 14px 0 10px;
  color: #081538;
  font-size: clamp(3.1rem, 5.6vw, 6rem);
  line-height: 0.94;
  letter-spacing: 0;
  background: none;
}

.candidate-program-hero h1 strong {
  display: block;
  background: linear-gradient(90deg, #ff4f1f, #7c3aed);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.candidate-program-hero p {
  max-width: 560px;
  margin: 0;
  color: #34445d;
  font-size: 1.02rem;
  line-height: 1.55;
}

.candidate-program-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  max-width: 680px;
  margin-top: 22px;
}

.candidate-program-hero-stats div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 9px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e4ebf5;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.candidate-program-hero-stats i {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #fff1eb;
  color: #ef5b36;
  font-size: 1.15rem;
}

.candidate-program-hero-stats strong,
.candidate-program-hero-stats small {
  display: block;
}

.candidate-program-hero-stats strong {
  font-size: 1rem;
  line-height: 1;
}

.candidate-program-hero-stats small {
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 800;
}

.candidate-program-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.candidate-program-hero-actions .btn {
  min-height: 44px;
  padding-inline: 22px;
  border-radius: 10px;
}

.candidate-program-hero-actions .btn-primary {
  background: linear-gradient(135deg, #ff4f1f, #ef5b36);
  border: 0;
}

.candidate-program-hero-art {
  min-height: 330px;
}

.candidate-program-student {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: min(42vw, 360px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 22%, #fff 0 6%, transparent 7%),
    linear-gradient(135deg, #1d2d55 0%, #7c3aed 46%, #ff6b35 100%);
  color: #fff;
  box-shadow: 0 28px 70px rgba(91, 33, 182, 0.22);
}

.candidate-program-student::before {
  content: "";
  position: absolute;
  inset: 20%;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.93);
  transform: translateY(28%);
  box-shadow: 0 20px 36px rgba(15, 23, 42, 0.14);
}

.candidate-program-student i {
  position: relative;
  z-index: 1;
  font-size: clamp(6rem, 12vw, 9rem);
  color: #0b193a;
}

.candidate-program-float-card {
  position: absolute;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: center;
  min-width: 205px;
  padding: 14px 16px;
  border: 1px solid #e7edf5;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

.candidate-program-float-card i {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #f3e8ff;
  color: #7c3aed;
  font-size: 1.25rem;
}

.candidate-program-float-card strong,
.candidate-program-float-card small {
  display: block;
}

.candidate-program-float-card strong {
  font-size: 0.82rem;
}

.candidate-program-float-card small {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
}

.candidate-program-float-card.card-one {
  left: 2%;
  top: 7%;
}

.candidate-program-float-card.card-two {
  left: 0;
  top: 36%;
}

.candidate-program-float-card.card-three {
  left: 5%;
  bottom: 10%;
}

.candidate-program-float-card.card-four {
  right: 1%;
  top: 10%;
}

.candidate-program-float-card.card-five {
  right: 0;
  top: 45%;
}

.candidate-program-journey {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) repeat(7, minmax(92px, 1fr));
  align-items: center;
  gap: 12px;
  margin: 16px 0 8px;
  padding: 20px 22px;
  border: 1px solid #e3eaf4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
}

.candidate-program-journey-copy strong,
.candidate-program-journey-copy span,
.candidate-program-journey div strong,
.candidate-program-journey div span {
  display: block;
}

.candidate-program-journey-copy strong {
  font-size: 1rem;
}

.candidate-program-journey-copy span,
.candidate-program-journey div span {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
}

.candidate-program-journey div:not(.candidate-program-journey-copy) {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
}

.candidate-program-journey div:not(.candidate-program-journey-copy)::before {
  content: "";
  position: absolute;
  top: 19px;
  right: calc(50% + 28px);
  width: calc(100% - 34px);
  border-top: 2px dashed #c9d4e4;
}

.candidate-program-journey div:nth-of-type(2)::before {
  display: none;
}

.candidate-program-journey i {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: #f2f6fb;
  color: #738197;
  font-size: 1rem;
}

.candidate-program-journey .done i {
  background: #eafaf3;
  color: #059669;
}

.candidate-program-journey .active i {
  background: linear-gradient(135deg, #ef5b36, #ff7a45);
  color: #fff;
  box-shadow: 0 12px 26px rgba(239, 91, 54, 0.22);
}

.candidate-program-journey .active strong {
  color: #ef5b36;
}

.candidate-program-section-head {
  margin: 14px 0 14px;
  text-align: center;
}

.candidate-program-section-head h2 {
  margin: 0;
  color: #081538;
  font-size: 1.65rem;
}

.candidate-program-section-head p {
  margin: 3px 0 0;
  color: #64748b;
  font-weight: 800;
}

.candidate-program-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.candidate-program-plan {
  position: relative;
  min-height: 100%;
  padding: 22px;
  overflow: hidden;
  border: 1px solid #dbe6f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
}

.candidate-program-plan::before {
  display: none;
}

.candidate-program-plan.is-featured {
  border-color: rgba(124, 58, 237, 0.35);
  background: linear-gradient(180deg, #fff 0%, #fff 70%, #f8f4ff 100%);
}

.candidate-program-plan-visual {
  position: absolute;
  top: 24px;
  right: 28px;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border-radius: 28px;
  background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
  color: #059669;
  font-size: 3.2rem;
  transform: rotate(-8deg);
}

.candidate-program-plan-2 .candidate-program-plan-visual {
  background: linear-gradient(135deg, #fff1eb, #fed7aa);
  color: #ef5b36;
}

.candidate-program-plan-3 .candidate-program-plan-visual {
  background: linear-gradient(135deg, #f3e8ff, #ddd6fe);
  color: #7c3aed;
}

.candidate-program-plan-head {
  padding-right: 118px;
}

.candidate-program-plan-head span {
  margin: 0;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eafaf3;
  color: #059669;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.candidate-program-plan-2 .candidate-program-plan-head span {
  background: #fff1eb;
  color: #ef5b36;
}

.candidate-program-plan-3 .candidate-program-plan-head span {
  background: #ede9fe;
  color: #6d28d9;
}

.candidate-program-plan h2 {
  margin: 12px 0 4px;
  color: #081538;
  font-size: clamp(1.35rem, 1.8vw, 1.95rem);
  line-height: 1.08;
}

.candidate-program-plan-head p {
  min-height: 38px;
  margin: 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.35;
}

.candidate-program-price {
  display: block;
  margin-top: 13px;
  color: #ef5b36;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 900;
}

.candidate-program-duration,
.candidate-program-tax-note {
  display: inline-flex;
  width: fit-content;
  margin: 9px 6px 0 0;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eafaf3;
  color: #059669;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
}

.candidate-program-tax-note {
  background: #f1f5f9;
  color: #64748b;
}

.candidate-program-included {
  margin: 18px 0 9px;
  padding-top: 14px;
  border-top: 1px solid #e8eef6;
  color: #059669;
  font-size: 0.8rem;
  font-weight: 900;
}

.candidate-program-plan ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  margin: 0;
  padding: 0;
}

.candidate-program-plan li {
  gap: 7px;
  color: #1f2a44;
  font-size: 0.82rem;
  line-height: 1.25;
}

.candidate-program-plan li i {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  background: transparent;
  color: #16a34a;
  font-size: 0.82rem;
}

.candidate-program-details {
  min-height: 42px;
  margin: 14px 0 16px;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.38;
}

.candidate-program-plan .btn {
  min-height: 42px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, #ff4f1f, #ef5b36);
  font-size: 0.9rem;
  box-shadow: none;
}

.candidate-program-plan-1 .btn {
  background: linear-gradient(135deg, #16a34a, #059669);
}

.candidate-program-plan-3 .btn {
  background: linear-gradient(135deg, #7c3aed, #5b21b6);
}

.candidate-program-no-card {
  display: block;
  margin-top: 7px;
  color: #64748b;
  text-align: center;
  font-weight: 800;
}

.candidate-program-benefits {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid #e3eaf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.candidate-program-benefits div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 2px 9px;
  align-items: center;
}

.candidate-program-benefits i {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #f3e8ff;
  color: #7c3aed;
}

.candidate-program-benefits strong,
.candidate-program-benefits span {
  display: block;
}

.candidate-program-benefits strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.78rem;
}

.candidate-program-benefits span {
  overflow: hidden;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-program-support {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid #e3eaf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.candidate-program-support span {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f3e8ff;
  color: #7c3aed;
}

.candidate-program-support strong {
  color: #081538;
}

.candidate-program-support a {
  min-width: 126px;
  min-height: 44px;
  border-radius: 10px;
}

.candidate-program-support .candidate-program-counselling {
  min-width: 210px;
  border-color: #ef5b36;
  background: #ef5b36;
  color: #fff;
}

@media (max-width: 1200px) {
  .candidate-program-nav {
    display: none;
  }

  .candidate-program-hero {
    grid-template-columns: 1fr;
  }

  .candidate-program-hero-art {
    min-height: 300px;
  }

  .candidate-program-journey {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .candidate-program-journey-copy {
    grid-column: 1 / -1;
  }

  .candidate-program-journey div:not(.candidate-program-journey-copy)::before {
    display: none;
  }

  .candidate-program-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .candidate-program-shell {
    padding: 0 14px 92px;
  }

  .candidate-program-top {
    margin: 0 -14px 12px;
    padding: 0 14px;
  }

  .candidate-program-call {
    display: none;
  }

  .candidate-program-user strong {
    display: none;
  }

  .candidate-program-hero {
    gap: 18px;
    min-height: auto;
    padding: 22px 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff 0%, #fff7f4 100%);
  }

  .candidate-program-hero h1 {
    font-size: clamp(2.6rem, 15vw, 4.3rem);
  }

  .candidate-program-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .candidate-program-hero-actions .btn {
    width: 100%;
  }

  .candidate-program-hero-art {
    min-height: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .candidate-program-student {
    position: relative;
    left: auto;
    top: auto;
    grid-column: 1 / -1;
    width: 170px;
    margin: 0 auto;
    transform: none;
  }

  .candidate-program-student i {
    font-size: 4rem;
  }

  .candidate-program-float-card {
    position: static;
    min-width: 0;
    padding: 11px;
    grid-template-columns: 34px minmax(0, 1fr);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  }

  .candidate-program-float-card i {
    width: 32px;
    height: 32px;
    border-radius: 10px;
  }

  .candidate-program-journey {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 14px;
  }

  .candidate-program-plans {
    grid-template-columns: 1fr;
  }

  .candidate-program-plan {
    padding: 18px;
    border-radius: 18px;
  }

  .candidate-program-plan-head {
    padding-right: 90px;
  }

  .candidate-program-plan-visual {
    top: 18px;
    right: 18px;
    width: 74px;
    height: 74px;
    border-radius: 22px;
    font-size: 2.5rem;
  }

  .candidate-program-plan ul {
    grid-template-columns: 1fr;
  }

  .candidate-program-benefits {
    grid-template-columns: 1fr 1fr;
  }

  .candidate-program-support {
    align-items: stretch;
    flex-direction: column;
  }

  .candidate-program-support a {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .candidate-program-page {
    background: #f7f9fd;
  }

  .candidate-program-top {
    min-height: 60px;
  }

  .candidate-program-top .auth-brand-logo {
    max-height: 38px;
  }

  .candidate-program-whatsapp,
  .candidate-program-user {
    min-height: 38px;
  }

  .candidate-program-whatsapp {
    width: 38px;
  }

  .candidate-program-user {
    padding: 4px 8px;
  }

  .candidate-program-hero-stats,
  .candidate-program-hero-art,
  .candidate-program-journey,
  .candidate-program-benefits {
    grid-template-columns: 1fr;
  }

  .candidate-program-float-card:nth-of-type(n+4) {
    display: none;
  }

  .candidate-program-section-head h2 {
    font-size: 1.35rem;
  }
}

/* Candidate program plan-card refinement */
.candidate-program-plans {
  gap: 20px;
}

.candidate-program-plan {
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 440px;
  padding: 18px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.92)),
    radial-gradient(circle at 86% 10%, rgba(16, 185, 129, 0.16), transparent 28%);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.candidate-program-plan:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
}

.candidate-program-plan-2 {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 247, 0.94)),
    radial-gradient(circle at 88% 8%, rgba(239, 91, 54, 0.2), transparent 30%);
  border-color: rgba(239, 91, 54, 0.24);
}

.candidate-program-plan-3 {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 245, 255, 0.94)),
    radial-gradient(circle at 88% 8%, rgba(124, 58, 237, 0.2), transparent 30%);
  border-color: rgba(124, 58, 237, 0.26);
}

.candidate-program-plan.is-featured::after {
  content: "Recommended";
  position: absolute;
  top: 0;
  right: 22px;
  z-index: 2;
  padding: 5px 10px;
  border-radius: 0 0 10px 10px;
  background: linear-gradient(135deg, #7c3aed, #5b21b6);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}

.candidate-program-plan-visual {
  z-index: -1;
  top: 16px;
  right: 16px;
  width: 82px;
  height: 82px;
  border-radius: 24px;
  font-size: 2.45rem;
  opacity: 0.72;
}

.candidate-program-plan-head {
  min-height: 158px;
  padding-right: 92px;
}

.candidate-program-plan-head span,
.candidate-program-plan-head small {
  display: inline-flex;
  align-items: center;
  width: fit-content;
}

.candidate-program-plan-head small {
  margin-left: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 700;
}

.candidate-program-plan h2 {
  max-width: 300px;
  margin-top: 10px;
  margin-bottom: 4px;
  font-size: clamp(1.15rem, 1.45vw, 1.55rem);
  font-weight: 700;
}

.candidate-program-plan-head p {
  min-height: 28px;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.3;
}

.candidate-program-price-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.candidate-program-price-row > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.candidate-program-price {
  margin: 0;
  font-size: clamp(1.55rem, 2.3vw, 2.2rem);
  font-weight: 750;
  white-space: nowrap;
}

.candidate-program-duration,
.candidate-program-tax-note {
  margin: 0;
  padding: 4px 8px;
  font-size: 0.68rem;
  font-weight: 700;
}

.candidate-program-included {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 2px;
  padding-top: 10px;
  color: #081538;
  font-size: 0.78rem;
  font-weight: 700;
}

.candidate-program-included i {
  color: #16a34a;
}

.candidate-program-plan ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 12px 0 4px;
  border-top: 1px solid #e8eef6;
  border-bottom: 1px solid #e8eef6;
}

.candidate-program-plan li {
  min-height: 30px;
  padding: 7px 4px;
  border-top: 1px solid #f1f5f9;
  color: #263348;
  font-size: 0.8rem;
  font-weight: 500;
}

.candidate-program-details {
  flex: 1;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8fafc;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
}

.candidate-program-plan .btn {
  margin-top: 2px;
  min-height: 40px;
  border-radius: 9px;
  font-size: 0.82rem;
  font-weight: 700;
}

.candidate-program-no-card {
  min-height: 18px;
  margin-top: 6px;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 500;
}

@media (max-width: 1200px) {
  .candidate-program-plan {
    min-height: auto;
  }
}

@media (max-width: 900px) {
  .candidate-program-plan {
    padding: 18px;
  }

  .candidate-program-plan-head {
    min-height: 170px;
    padding-right: 92px;
  }

  .candidate-program-plan-visual {
    width: 82px;
    height: 82px;
    font-size: 2.6rem;
  }

  .candidate-program-price-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .candidate-program-price-row > div {
    justify-content: flex-start;
  }
}

/* Candidate final activated dashboard */
.candidate-portal-dashboard {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  min-height: 100vh;
  background: #f8fafc;
  color: #071431;
}

.candidate-portal-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px 22px;
  border-right: 1px solid #e6edf5;
  background: #fff;
}

.candidate-portal-brand {
  display: grid;
  gap: 2px;
  width: fit-content;
  text-decoration: none;
}

.candidate-portal-brand img {
  width: 152px;
  max-height: 52px;
  object-fit: contain;
}

.candidate-portal-brand span {
  padding-left: 44px;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 600;
}

.candidate-portal-profile {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 18px;
  gap: 3px 12px;
  align-items: center;
  padding: 15px;
  border-radius: 14px;
  background: linear-gradient(135deg, #08123a, #15246a);
  color: #fff;
  box-shadow: 0 18px 30px rgba(8, 18, 58, 0.16);
}

.candidate-portal-profile > span {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-weight: 700;
}

.candidate-portal-profile strong,
.candidate-portal-profile em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-portal-profile strong {
  color: #fff;
  font-size: 0.86rem;
  font-weight: 700;
}

.candidate-portal-profile em {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 600;
}

.candidate-portal-profile i {
  grid-row: span 2;
  color: rgba(255, 255, 255, 0.72);
}

.candidate-portal-nav {
  display: grid;
  gap: 7px;
}

.candidate-portal-nav a {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 48px;
  padding: 0 15px;
  border-radius: 13px;
  color: #0f1d3d;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 650;
}

.candidate-portal-nav a i {
  color: #64748b;
  font-size: 1.1rem;
}

.candidate-portal-nav a.active {
  background: #eef3ff;
  color: #2563eb;
}

.candidate-portal-nav a.active i {
  color: #2563eb;
}

.candidate-portal-help {
  margin-top: auto;
  padding: 18px;
  border: 1px solid #e6edf5;
  border-radius: 14px;
  background: #fbf9ff;
}

.candidate-portal-help strong,
.candidate-portal-help p,
.candidate-portal-help-contact span {
  display: block;
}

.candidate-portal-help strong {
  font-size: 1rem;
}

.candidate-portal-help p {
  margin: 8px 0 12px;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.45;
}

.candidate-portal-help > a {
  display: flex;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  align-items: center;
  border: 1px solid #dbe5ff;
  border-radius: 10px;
  background: #fff;
  color: #4f46e5;
  text-decoration: none;
  font-weight: 700;
}

.candidate-portal-help-contact {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.candidate-portal-help-contact span {
  color: #64748b;
  font-size: 0.78rem;
}

.candidate-portal-help-contact i {
  margin-right: 7px;
  color: #ef5b36;
}

.candidate-portal-quick-contact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.candidate-portal-quick-contact a {
  display: grid;
  place-items: center;
  min-height: 42px;
  border: 1px solid #e6edf5;
  border-radius: 12px;
  background: #fff;
  color: #0f1d3d;
  text-decoration: none;
}

.candidate-portal-main {
  min-width: 0;
  padding: 0 46px 28px;
}

.candidate-portal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 126px;
  margin: 0 -46px 24px;
  padding: 28px 56px;
  border-bottom: 1px solid #e6edf5;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
}

.candidate-portal-header span,
.candidate-portal-header p {
  color: #64748b;
  font-size: 0.92rem;
  font-weight: 600;
}

.candidate-portal-header h1 {
  margin: 4px 0;
  color: #081538;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 750;
}

.candidate-portal-header h1 small {
  color: #f59e0b;
  font-size: 1.1rem;
}

.candidate-portal-header > div:last-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

.candidate-portal-header button,
.candidate-portal-header a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #e2eaf4;
  border-radius: 12px;
  background: #fff;
  color: #081538;
  text-decoration: none;
  font-weight: 700;
}

.candidate-portal-header button {
  width: 44px;
  padding: 0;
  justify-content: center;
}

.candidate-portal-header button em {
  position: absolute;
  top: -7px;
  right: -5px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ef4444;
  color: #fff;
  font-size: 0.68rem;
  font-style: normal;
}

.candidate-portal-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid #bbf7d0;
  border-radius: 14px;
  background: #ecfdf5;
  color: #047857;
  font-weight: 700;
}

.candidate-portal-info-strip,
.candidate-portal-grid > article,
.candidate-portal-lower-grid > article {
  border: 1px solid #e6edf5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.candidate-portal-info-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) 230px;
  align-items: stretch;
  min-height: 128px;
  margin-bottom: 22px;
  overflow: hidden;
}

.candidate-portal-info-strip div:not(.candidate-portal-illustration) {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 24px 30px;
  border-right: 1px solid #eef2f7;
}

.candidate-portal-info-strip span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.candidate-portal-info-strip strong {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #081538;
  font-size: 0.9rem;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.candidate-portal-illustration {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 40% 40%, #ede9fe 0 32%, transparent 33%),
    linear-gradient(135deg, #f8fafc, #fff);
  color: #4f46e5;
  font-size: 5rem;
}

.candidate-portal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(240px, 0.58fr) minmax(240px, 0.58fr);
  gap: 22px;
  margin-bottom: 22px;
}

.candidate-portal-grid > article,
.candidate-portal-lower-grid > article {
  padding: 24px;
}

.candidate-portal-card-title {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef2f7;
  color: #081538;
  font-size: 0.9rem;
  font-weight: 750;
  text-transform: uppercase;
}

.candidate-portal-card-title i {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #eef2ff;
  color: #4f46e5;
  font-size: 1.15rem;
}

.candidate-portal-card-title em {
  margin-left: auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #d1fae5;
  color: #059669;
  font-size: 0.72rem;
  font-style: normal;
  text-transform: none;
}

.candidate-portal-plan-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 18px;
  align-items: center;
  padding: 22px 0;
}

.candidate-portal-plan-body h2 {
  margin: 0 0 7px;
  color: #081538;
  font-size: clamp(1.65rem, 2vw, 2.15rem);
  font-weight: 750;
}

.candidate-portal-plan-body p {
  margin: 0 0 18px;
  color: #64748b;
  font-size: 0.92rem;
  font-weight: 500;
}

.candidate-portal-progress {
  width: min(100%, 260px);
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9e7ff;
}

.candidate-portal-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4f46e5, #8b5cf6);
}

.candidate-portal-plan-body small {
  display: block;
  margin-top: 9px;
  color: #081538;
  font-weight: 650;
}

.candidate-portal-plan-art,
.candidate-portal-mini-art {
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(135deg, #f3f0ff, #ffffff);
  color: #6d5dfc;
}

.candidate-portal-plan-art {
  min-height: 144px;
  font-size: 5rem;
}

.candidate-portal-plan-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 -24px -24px;
  padding: 18px 24px;
  border-top: 1px solid #eef2f7;
  background: #fbfdff;
}

.candidate-portal-plan-actions a,
.candidate-portal-mini-card a,
.candidate-portal-progress-card button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  border: 1px solid #e2eaf4;
  border-radius: 10px;
  background: #fff;
  color: #4f46e5;
  text-decoration: none;
  font-weight: 700;
}

.candidate-portal-plan-actions a:nth-child(3) {
  background: #ecfdf5;
  color: #059669;
}

.candidate-portal-mini-card {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.candidate-portal-mini-art {
  width: 120px;
  height: 120px;
  margin: 26px auto 18px;
  border-radius: 50%;
  font-size: 4rem;
}

.candidate-portal-mini-art.is-video {
  background: #f3e8ff;
  color: #7c3aed;
}

.candidate-portal-mini-card p {
  margin: 0;
  color: #081538;
  font-weight: 650;
}

.candidate-portal-mini-card small {
  display: block;
  margin: 14px 0 26px;
  color: #64748b;
  font-weight: 500;
}

.candidate-portal-mini-card a {
  width: 136px;
  margin: auto auto 0;
}

.candidate-portal-lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.8fr);
  gap: 22px;
}

.candidate-portal-lower-grid h2 {
  margin: 0 0 20px;
  color: #081538;
  font-size: 1rem;
  font-weight: 750;
  text-transform: uppercase;
}

.candidate-portal-progress-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.candidate-portal-progress-kpis div,
.candidate-portal-shortcuts a {
  padding: 15px;
  border: 1px solid #eef2f7;
  border-radius: 12px;
  background: #fbfdff;
}

.candidate-portal-progress-kpis i,
.candidate-portal-shortcuts i {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #eef2ff;
  color: #4f46e5;
  font-size: 1.15rem;
}

.candidate-portal-progress-kpis span,
.candidate-portal-progress-kpis strong {
  display: block;
}

.candidate-portal-progress-kpis span {
  margin-top: 10px;
  color: #64748b;
  font-size: 0.78rem;
}

.candidate-portal-progress-kpis strong {
  color: #081538;
  font-size: 1.05rem;
  font-weight: 750;
}

.candidate-portal-progress-card h3 {
  margin: 0 0 10px;
  color: #081538;
  font-size: 0.9rem;
}

.candidate-portal-activity {
  display: grid;
  gap: 0;
}

.candidate-portal-activity div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid #eef2f7;
  color: #081538;
  font-size: 0.84rem;
  font-weight: 600;
}

.candidate-portal-activity i {
  color: #6d5dfc;
}

.candidate-portal-activity time {
  color: #64748b;
  white-space: nowrap;
}

.candidate-portal-progress-card button {
  width: min(100%, 260px);
  margin: 22px auto 0;
}

.candidate-portal-shortcuts > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.candidate-portal-shortcuts a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 2px 12px;
  align-items: center;
  color: #081538;
  text-decoration: none;
}

.candidate-portal-shortcuts a strong,
.candidate-portal-shortcuts a span {
  display: block;
}

.candidate-portal-shortcuts a strong {
  font-weight: 700;
}

.candidate-portal-shortcuts a span {
  color: #64748b;
  font-size: 0.78rem;
}

.candidate-portal-shortcuts a i {
  grid-row: span 2;
}

@media (max-width: 1180px) {
  .candidate-portal-dashboard {
    grid-template-columns: 1fr;
  }

  .candidate-portal-sidebar {
    position: static;
    height: auto;
    padding: 14px;
    border-right: 0;
    border-bottom: 1px solid #e6edf5;
  }

  .candidate-portal-brand span,
  .candidate-portal-profile,
  .candidate-portal-help,
  .candidate-portal-quick-contact {
    display: none;
  }

  .candidate-portal-nav {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    scrollbar-width: none;
  }

  .candidate-portal-nav::-webkit-scrollbar {
    display: none;
  }

  .candidate-portal-nav a {
    flex: 0 0 auto;
  }

  .candidate-portal-main {
    padding: 0 16px 22px;
  }

  .candidate-portal-header {
    margin: 0 -16px 16px;
    padding: 18px 16px;
    min-height: 86px;
  }

  .candidate-portal-info-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .candidate-portal-illustration {
    display: none;
  }

  .candidate-portal-grid,
  .candidate-portal-lower-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .candidate-portal-sidebar {
    display: none;
  }

  .candidate-portal-main {
    padding: 0 10px 78px;
  }

  .candidate-portal-header {
    position: sticky;
    top: 0;
    z-index: 20;
    margin: 0 -10px 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.94);
  }

  .candidate-portal-header h1 {
    font-size: 1.05rem;
  }

  .candidate-portal-header span,
  .candidate-portal-header p {
    font-size: 0.72rem;
  }

  .candidate-portal-header button {
    display: none;
  }

  .candidate-portal-header a {
    min-height: 38px;
    padding: 0 11px;
    font-size: 0.78rem;
  }

  .candidate-portal-info-strip {
    display: flex;
    gap: 10px;
    min-height: auto;
    padding: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .candidate-portal-info-strip::-webkit-scrollbar {
    display: none;
  }

  .candidate-portal-info-strip div:not(.candidate-portal-illustration) {
    flex: 0 0 190px;
    padding: 12px;
    border: 1px solid #eef2f7;
    border-radius: 12px;
    scroll-snap-align: start;
  }

  .candidate-portal-grid,
  .candidate-portal-lower-grid {
    gap: 12px;
    margin-bottom: 12px;
  }

  .candidate-portal-grid > article,
  .candidate-portal-lower-grid > article {
    padding: 15px;
    border-radius: 14px;
  }

  .candidate-portal-plan-body {
    grid-template-columns: 1fr;
    padding: 16px 0;
  }

  .candidate-portal-plan-art {
    display: none;
  }

  .candidate-portal-plan-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 -15px -15px;
    padding: 12px 15px;
  }

  .candidate-portal-plan-actions a {
    min-height: 38px;
    font-size: 0.78rem;
  }

  .candidate-portal-mini-art {
    width: 86px;
    height: 86px;
    margin: 18px auto 12px;
    font-size: 3rem;
  }

  .candidate-portal-progress-kpis,
  .candidate-portal-shortcuts > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .candidate-portal-progress-kpis div,
  .candidate-portal-shortcuts a {
    padding: 12px;
  }

  .candidate-portal-activity div {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

@media (max-width: 520px) {
  .candidate-program-plan-head {
    min-height: auto;
    padding-right: 0;
  }

  .candidate-program-plan-visual {
    position: relative;
    top: auto;
    right: auto;
    z-index: 0;
    width: 66px;
    height: 66px;
    margin-bottom: 10px;
    border-radius: 20px;
    font-size: 2.1rem;
    transform: none;
  }

  .candidate-program-plan h2 {
    max-width: none;
  }

  .candidate-program-plan-head small {
    margin: 6px 0 0;
  }
}

/* Candidate program mobile horizontal rails */
@media (max-width: 768px) {
  .candidate-program-shell {
    padding-left: 10px;
    padding-right: 10px;
  }

  .candidate-program-hero {
    padding: 16px;
  }

  .candidate-program-hero h1 {
    font-size: clamp(2.2rem, 13vw, 3.4rem);
  }

  .candidate-program-hero p {
    font-size: 0.9rem;
  }

  .candidate-program-hero-stats,
  .candidate-program-hero-art,
  .candidate-program-journey,
  .candidate-program-plans,
  .candidate-program-benefits {
    display: flex;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .candidate-program-hero-stats::-webkit-scrollbar,
  .candidate-program-hero-art::-webkit-scrollbar,
  .candidate-program-journey::-webkit-scrollbar,
  .candidate-program-plans::-webkit-scrollbar,
  .candidate-program-benefits::-webkit-scrollbar {
    display: none;
  }

  .candidate-program-hero-stats div {
    flex: 0 0 152px;
    scroll-snap-align: start;
  }

  .candidate-program-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .candidate-program-hero-actions .btn {
    width: 100%;
    min-height: 40px;
    padding-inline: 8px;
    font-size: 0.78rem;
  }

  .candidate-program-student {
    display: none;
  }

  .candidate-program-float-card {
    flex: 0 0 190px;
    scroll-snap-align: start;
  }

  .candidate-program-journey {
    align-items: stretch;
    padding: 12px;
  }

  .candidate-program-journey-copy {
    flex: 0 0 190px;
    align-self: center;
  }

  .candidate-program-journey div:not(.candidate-program-journey-copy) {
    flex: 0 0 116px;
    min-height: 112px;
    justify-content: center;
    padding: 10px;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    background: #fff;
    scroll-snap-align: start;
  }

  .candidate-program-journey div:not(.candidate-program-journey-copy)::before {
    display: none;
  }

  .candidate-program-plans {
    padding: 2px 2px 10px;
  }

  .candidate-program-plan {
    flex: 0 0 min(82vw, 340px);
    min-height: auto;
    scroll-snap-align: center;
  }

  .candidate-program-benefits {
    padding: 10px;
  }

  .candidate-program-benefits div {
    flex: 0 0 220px;
    scroll-snap-align: start;
  }
}

@media (max-width: 520px) {
  .candidate-program-hero-art {
    grid-template-columns: none;
  }

  .candidate-program-float-card:nth-of-type(n+4) {
    display: grid;
  }

  .candidate-program-plan {
    flex-basis: 86vw;
  }
}

.candidate-program-page .candidate-program-plan,
.candidate-program-page .candidate-program-plan p,
.candidate-program-page .candidate-program-plan li,
.candidate-program-page .candidate-program-plan small,
.candidate-program-page .candidate-program-plan em {
  letter-spacing: 0;
}

.candidate-program-page .candidate-program-plan li i {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: #ecfdf5;
  font-size: 0.72rem;
}

.candidate-program-page .candidate-program-plan-head span {
  padding: 4px 8px;
  font-size: 0.66rem;
  font-weight: 700;
}

.candidate-program-page .candidate-program-plan-head small {
  font-size: 0.66rem;
}

.candidate-program-page .candidate-program-included {
  border-top: 1px solid #e8eef6;
}

.candidate-program-page .candidate-program-plan ul li:first-child {
  border-top: 0;
}

.candidate-program-page .candidate-program-section-head h2 {
  font-size: 1.35rem;
  font-weight: 700;
}

.candidate-program-page .candidate-program-section-head p {
  font-size: 0.86rem;
  font-weight: 500;
}

@media (max-width: 900px) {
  .candidate-program-plan {
    padding: 16px;
  }

  .candidate-program-plan h2 {
    font-size: 1.28rem;
  }

  .candidate-program-plan-head p,
  .candidate-program-details,
  .candidate-program-plan li {
    font-size: 0.78rem;
  }
}

.whatsapp-template-page .whatsapp-template-hero {
  min-height: auto;
  padding: 0.85rem 1rem;
  border-radius: 12px;
}

.whatsapp-template-page .whatsapp-template-hero h1 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.15;
}

.whatsapp-template-page .whatsapp-template-hero p {
  max-width: 760px;
  font-size: 0.82rem;
  line-height: 1.35;
}

.whatsapp-template-page .whatsapp-template-hero-actions span {
  min-width: 64px;
  padding: 0.34rem 0.54rem;
  border-radius: 10px;
  font-size: 0.66rem;
  line-height: 1.2;
}

.whatsapp-template-page .whatsapp-template-hero-actions strong {
  font-size: 0.92rem;
}

.whatsapp-template-page .whatsapp-template-hero-actions .btn {
  min-height: 34px;
  padding: 0.36rem 0.68rem;
  border-radius: 10px;
  font-size: 0.78rem;
}

.whatsapp-template-page .whatsapp-template-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 0.75rem;
}

.whatsapp-template-page .whatsapp-template-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.58rem;
}

.whatsapp-template-page .whatsapp-template-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.42rem 0.65rem;
  min-height: auto;
  padding: 0.72rem;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.whatsapp-template-page .whatsapp-template-card:hover {
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.whatsapp-template-page .whatsapp-template-phone {
  display: none;
}

.whatsapp-template-page .whatsapp-template-card-head {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
}

.whatsapp-template-page .whatsapp-template-card h2 {
  overflow: hidden;
  font-size: 0.9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whatsapp-template-page .whatsapp-template-card code {
  width: max-content;
  max-width: 100%;
  padding: 0.18rem 0.4rem;
  border-radius: 999px;
  font-size: 0.61rem;
  line-height: 1.25;
}

.whatsapp-template-page .whatsapp-template-status {
  padding: 0.18rem 0.44rem;
  font-size: 0.61rem;
  line-height: 1.25;
}

.whatsapp-template-page .whatsapp-template-card p {
  grid-column: 1;
  margin: 0;
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1.38;
  -webkit-line-clamp: 2;
}

.whatsapp-template-page .whatsapp-template-actions {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  justify-content: flex-end;
}

.whatsapp-template-page .whatsapp-template-actions .btn {
  min-height: 30px;
  padding: 0.26rem 0.52rem;
  border-radius: 9px;
  font-size: 0.68rem;
  line-height: 1.2;
}

.whatsapp-template-page .whatsapp-variable-panel {
  top: 76px;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.whatsapp-template-page .whatsapp-variable-panel .card-header {
  gap: 0.55rem;
  padding: 0.72rem;
}

.whatsapp-template-page .whatsapp-variable-panel .card-header > span {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  font-size: 1rem;
}

.whatsapp-template-page .whatsapp-variable-panel h2 {
  font-size: 0.92rem;
}

.whatsapp-template-page .whatsapp-variable-panel p {
  font-size: 0.72rem;
}

.whatsapp-template-page .whatsapp-variable-panel .card-body {
  padding: 0.72rem;
}

.whatsapp-template-page .whatsapp-variable-grid {
  gap: 0.32rem;
}

.whatsapp-template-page .whatsapp-variable-grid span {
  padding: 0.2rem 0.38rem;
  font-size: 0.58rem;
}

.profile-request-page {
  gap: 1rem;
}

.profile-request-hero {
  border: 1px solid #e8edf3;
  border-radius: 16px;
  background: #fff;
}

.profile-request-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.profile-request-stats span {
  display: inline-grid;
  min-width: 86px;
  padding: 0.45rem 0.7rem;
  border-radius: 12px;
  color: #64748b;
  background: #f8fafc;
  font-size: 0.74rem;
  font-weight: 800;
  text-align: center;
}

.profile-request-stats strong {
  color: #20252c;
  font-size: 1rem;
  line-height: 1;
}

.profile-request-list {
  display: grid;
  gap: 0.65rem;
}

.profile-request-card {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(240px, 1fr) minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.82rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

.profile-request-card.is-pending {
  border-left: 4px solid #2563eb;
}

.profile-request-card.is-approved {
  border-left: 4px solid #16a065;
}

.profile-request-card.is-rejected {
  border-left: 4px solid #dc2626;
}

.profile-request-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.profile-request-main > span {
  display: inline-grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #e66239;
  background: #fff0ea;
  font-weight: 850;
}

.profile-request-main strong,
.profile-request-main em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-request-main strong {
  color: #20252c;
  font-size: 0.88rem;
  font-weight: 850;
}

.profile-request-main em {
  color: #7a8491;
  font-size: 0.68rem;
  font-style: normal;
}

.profile-request-flow {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.profile-request-flow span,
.profile-request-flow strong {
  overflow: hidden;
  padding: 0.3rem 0.5rem;
  border-radius: 999px;
  font-size: 0.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-request-flow span {
  color: #64748b;
  background: #f1f5f9;
}

.profile-request-flow strong {
  color: #0f7a52;
  background: #dcfce7;
}

.profile-request-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #64748b;
  font-size: 0.76rem;
  line-height: 1.38;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.profile-request-status {
  justify-self: end;
  padding: 0.25rem 0.52rem;
  border-radius: 999px;
  color: #126b8f;
  background: #e5f4fb;
  font-size: 0.68rem;
  font-weight: 850;
}

.profile-request-card.is-approved .profile-request-status {
  color: #0f7a52;
  background: #dcfce7;
}

.profile-request-card.is-rejected .profile-request-status {
  color: #b91c1c;
  background: #fee2e2;
}

.profile-request-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 0.9fr) auto auto;
  gap: 0.5rem;
}

.profile-request-actions .form-select,
.profile-request-actions .form-control,
.profile-request-actions .btn {
  min-height: 36px;
  border-radius: 9px;
  font-size: 0.76rem;
}

.profile-request-card blockquote {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0.55rem 0.7rem;
  border-left: 3px solid #cbd5e1;
  border-radius: 8px;
  color: #64748b;
  background: #f8fafc;
  font-size: 0.76rem;
}

@media (max-width: 1180px) {
  .whatsapp-template-page .whatsapp-template-layout,
  .whatsapp-template-page .whatsapp-template-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .whatsapp-template-page .whatsapp-template-hero {
    padding: 0.78rem !important;
    border-radius: 14px !important;
  }

  .whatsapp-template-page .whatsapp-template-hero h1 {
    font-size: 1.1rem !important;
  }

  .whatsapp-template-page .whatsapp-template-card {
    grid-template-columns: minmax(0, 1fr);
    padding: 0.66rem;
  }

  .whatsapp-template-page .whatsapp-template-actions {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
  }

  .candidate-profile-change-card {
    grid-template-columns: 1fr;
    padding: 0.72rem;
    border-radius: 16px;
  }

  .candidate-profile-change-open {
    width: 100%;
  }

  .candidate-profile-change-modal-grid {
    grid-template-columns: 1fr;
  }

  .candidate-profile-change-form {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .profile-request-card,
  .profile-request-actions {
    grid-template-columns: 1fr;
  }

  .profile-request-status {
    justify-self: start;
  }

  .profile-request-flow {
    flex-wrap: wrap;
  }
}

/* Candidate activated dashboard compact premium override */
body:has(.candidate-portal-dashboard) {
  background: #f7f9fc !important;
}

.candidate-portal-dashboard {
  grid-template-columns: 248px minmax(0, 1fr) !important;
  background: #f7f9fc !important;
}

.candidate-portal-sidebar {
  width: auto !important;
  gap: 13px !important;
  padding: 18px 16px !important;
  background: #fff !important;
}

.candidate-portal-brand {
  margin-bottom: 8px !important;
}

.candidate-portal-brand img {
  width: 128px !important;
  max-height: 44px !important;
}

.candidate-portal-brand span {
  padding-left: 28px !important;
  font-size: 0.68rem !important;
}

.candidate-portal-profile {
  grid-template-columns: 36px minmax(0, 1fr) 18px !important;
  gap: 2px 10px !important;
  padding: 12px !important;
  border-radius: 12px !important;
}

.candidate-portal-profile > span {
  width: 34px !important;
  height: 34px !important;
  font-size: 0.8rem !important;
}

.candidate-portal-profile strong {
  grid-column: 2;
  grid-row: 1;
  font-size: 0.78rem !important;
  line-height: 1.15 !important;
}

.candidate-portal-profile em {
  grid-column: 2;
  grid-row: 2;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 0.66rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.candidate-portal-profile i {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
}

.candidate-portal-nav {
  gap: 3px !important;
}

.candidate-portal-nav a {
  min-height: 38px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  gap: 9px !important;
  font-size: 0.78rem !important;
  font-weight: 650 !important;
}

.candidate-portal-nav a i {
  font-size: 0.98rem !important;
}

.candidate-portal-help {
  padding: 12px !important;
  border-radius: 12px !important;
}

.candidate-portal-help strong {
  font-size: 0.85rem !important;
}

.candidate-portal-help p {
  margin: 5px 0 10px !important;
  font-size: 0.72rem !important;
}

.candidate-portal-help > a,
.candidate-portal-quick-contact a {
  min-height: 34px !important;
  border-radius: 9px !important;
  font-size: 0.72rem !important;
}

.candidate-portal-help-contact span {
  font-size: 0.68rem !important;
}

.candidate-portal-main {
  padding: 0 22px 22px !important;
}

.candidate-portal-header {
  min-height: 76px !important;
  margin: 0 -22px 16px !important;
  padding: 14px 24px !important;
}

.candidate-portal-header h1 {
  margin: 2px 0 !important;
  font-size: 1.34rem !important;
  line-height: 1.08 !important;
}

.candidate-portal-header h1 small {
  font-size: 0.82rem !important;
}

.candidate-portal-header span,
.candidate-portal-header p {
  font-size: 0.76rem !important;
}

.candidate-portal-header button,
.candidate-portal-header a {
  min-height: 38px !important;
  border-radius: 11px !important;
  font-size: 0.78rem !important;
}

.candidate-portal-header button {
  width: 38px !important;
}

.candidate-portal-alert {
  margin-bottom: 12px !important;
  padding: 10px 13px !important;
  border-radius: 12px !important;
  font-size: 0.82rem !important;
}

.candidate-portal-info-strip {
  grid-template-columns: 1.05fr 0.86fr 1.36fr 0.92fr 132px !important;
  min-height: 86px !important;
  margin-bottom: 16px !important;
  border-radius: 14px !important;
}

.candidate-portal-info-strip div:not(.candidate-portal-illustration) {
  gap: 6px !important;
  padding: 15px 18px !important;
}

.candidate-portal-info-strip span {
  font-size: 0.66rem !important;
}

.candidate-portal-info-strip strong {
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.candidate-portal-illustration {
  font-size: 3.15rem !important;
}

.candidate-portal-grid {
  grid-template-columns: minmax(0, 1.26fr) minmax(200px, 0.52fr) minmax(200px, 0.52fr) !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

.candidate-portal-lower-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(270px, 0.72fr) !important;
  gap: 14px !important;
}

.candidate-portal-grid > article,
.candidate-portal-lower-grid > article {
  padding: 16px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.035) !important;
}

.candidate-portal-card-title {
  gap: 9px !important;
  padding-bottom: 11px !important;
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
}

.candidate-portal-mini-card .candidate-portal-card-title {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  text-align: left !important;
}

.candidate-portal-mini-card .candidate-portal-card-title span {
  align-self: center !important;
  max-width: 100% !important;
}

.candidate-portal-card-title i {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  font-size: 0.96rem !important;
}

.candidate-portal-card-title em {
  padding: 4px 7px !important;
  font-size: 0.66rem !important;
}

.candidate-portal-plan-body {
  grid-template-columns: minmax(0, 1fr) 104px !important;
  gap: 14px !important;
  padding: 14px 0 !important;
}

.candidate-portal-plan-body h2 {
  margin-bottom: 5px !important;
  font-size: 1.38rem !important;
}

.candidate-portal-plan-body p {
  max-width: 320px !important;
  margin-bottom: 12px !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}

.candidate-portal-progress {
  max-width: 230px !important;
  height: 7px !important;
}

.candidate-portal-plan-body small {
  margin-top: 7px !important;
  font-size: 0.72rem !important;
}

.candidate-portal-plan-art {
  min-height: 92px !important;
  border-radius: 18px !important;
  font-size: 3.05rem !important;
}

.candidate-portal-plan-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 -16px -16px !important;
  padding: 12px 16px !important;
}

.candidate-portal-plan-actions a,
.candidate-portal-mini-card a,
.candidate-portal-progress-card button {
  min-height: 34px !important;
  border-radius: 9px !important;
  font-size: 0.72rem !important;
}

.candidate-portal-mini-art {
  width: 74px !important;
  height: 74px !important;
  margin: 16px auto 10px !important;
  font-size: 2.45rem !important;
}

.candidate-portal-mini-card p {
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
}

.candidate-portal-mini-card small {
  margin: 7px 0 14px !important;
  font-size: 0.7rem !important;
  line-height: 1.35 !important;
}

.candidate-portal-mini-card a {
  width: min(100%, 126px) !important;
}

.candidate-portal-lower-grid h2 {
  margin-bottom: 13px !important;
  font-size: 0.82rem !important;
}

.candidate-portal-progress-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin-bottom: 15px !important;
}

.candidate-portal-progress-kpis div,
.candidate-portal-shortcuts a {
  padding: 11px !important;
  border-radius: 10px !important;
}

.candidate-portal-progress-kpis i,
.candidate-portal-shortcuts i {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  font-size: 0.96rem !important;
}

.candidate-portal-progress-kpis span,
.candidate-portal-shortcuts a span {
  font-size: 0.66rem !important;
}

.candidate-portal-progress-kpis strong {
  font-size: 0.86rem !important;
}

.candidate-portal-progress-card h3,
.candidate-portal-activity div,
.candidate-portal-shortcuts a strong {
  font-size: 0.76rem !important;
}

.candidate-portal-activity div {
  padding: 7px 0 !important;
}

.candidate-portal-shortcuts > div {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

.candidate-portal-shortcuts a {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 1px 9px !important;
  min-height: 62px !important;
}

@media (max-width: 1180px) {
  .candidate-portal-dashboard {
    grid-template-columns: 1fr !important;
  }

  .candidate-portal-sidebar {
    display: none !important;
  }

  .candidate-portal-main {
    padding: 0 12px 20px !important;
  }

  .candidate-portal-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    min-height: 64px !important;
    margin: 0 -12px 12px !important;
    padding: 10px 12px !important;
  }

  .candidate-portal-header > div:first-child span,
  .candidate-portal-header > div:first-child p {
    display: none !important;
  }

  .candidate-portal-header h1 {
    max-width: 190px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 0.98rem !important;
  }

  .candidate-portal-info-strip,
  .candidate-portal-grid,
  .candidate-portal-lower-grid {
    grid-template-columns: 1fr !important;
  }

  .candidate-portal-info-strip {
    display: grid !important;
    gap: 8px !important;
    min-height: auto !important;
    padding: 10px !important;
  }

  .candidate-portal-info-strip div:not(.candidate-portal-illustration) {
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
  }

  .candidate-portal-illustration,
  .candidate-portal-plan-art {
    display: none !important;
  }

  .candidate-portal-plan-body {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .candidate-portal-main {
    padding: 0 10px 18px !important;
  }

  .candidate-portal-header {
    margin: 0 -10px 10px !important;
  }

  .candidate-portal-header button,
  .candidate-portal-header h1 small {
    display: none !important;
  }

  .candidate-portal-grid > article,
  .candidate-portal-lower-grid > article {
    padding: 13px !important;
  }

  .candidate-portal-plan-actions,
  .candidate-portal-progress-kpis,
  .candidate-portal-shortcuts > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .candidate-portal-plan-actions {
    margin: 0 -13px -13px !important;
    padding: 10px 13px !important;
  }

  .candidate-portal-activity div {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }
}

/* Candidate activated dashboard - final portal layout */
body:has(.candidate-portal-dashboard) {
  background: #f7f9fc !important;
  overflow-x: hidden;
}

.candidate-portal-dashboard {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  background: #f7f9fc;
}

.candidate-portal-sidebar {
  width: 292px;
  padding: 26px 20px 16px;
}

.candidate-portal-main {
  width: 100%;
  max-width: none;
  padding: 0 28px 28px;
}

.candidate-portal-header {
  min-height: 96px;
  margin: 0 -28px 22px;
  padding: 20px 32px;
}

.candidate-portal-info-strip {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) 220px;
  min-height: 116px;
}

.candidate-portal-info-strip div:not(.candidate-portal-illustration) {
  padding: 20px 24px;
}

.candidate-portal-grid {
  grid-template-columns: minmax(420px, 1.15fr) minmax(250px, 0.55fr) minmax(250px, 0.55fr);
  gap: 18px;
}

.candidate-portal-lower-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(350px, 0.7fr);
  gap: 18px;
}

.candidate-portal-grid > article,
.candidate-portal-lower-grid > article {
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.04);
}

.candidate-portal-progress-kpis {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
}

@media (min-width: 1440px) {
  .candidate-portal-main {
    padding-right: 42px;
    padding-left: 42px;
  }

  .candidate-portal-header {
    margin-right: -42px;
    margin-left: -42px;
    padding-right: 46px;
    padding-left: 46px;
  }
}

@media (max-width: 1100px) {
  .candidate-portal-dashboard {
    grid-template-columns: 1fr;
  }

  .candidate-portal-sidebar {
    display: none;
  }

  .candidate-portal-main {
    padding: 0 14px 24px;
  }

  .candidate-portal-header {
    position: sticky;
    top: 0;
    z-index: 30;
    min-height: 72px;
    margin: 0 -14px 14px;
    padding: 10px 14px;
  }

  .candidate-portal-header > div:first-child span,
  .candidate-portal-header > div:first-child p {
    display: none;
  }

  .candidate-portal-header h1 {
    max-width: 210px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.05rem;
  }

  .candidate-portal-header button {
    width: 40px;
    min-height: 40px;
  }

  .candidate-portal-header a {
    min-height: 40px;
    padding: 0 12px;
    font-size: 0.8rem;
  }

  .candidate-portal-info-strip,
  .candidate-portal-grid,
  .candidate-portal-lower-grid {
    grid-template-columns: 1fr;
  }

  .candidate-portal-info-strip {
    display: grid;
    gap: 10px;
    padding: 12px;
  }

  .candidate-portal-info-strip div:not(.candidate-portal-illustration) {
    padding: 12px 14px;
    border: 1px solid #edf2f7;
    border-radius: 13px;
  }

  .candidate-portal-illustration {
    display: none;
  }

  .candidate-portal-plan-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .candidate-portal-plan-art {
    display: none;
  }
}

@media (max-width: 560px) {
  .candidate-portal-main {
    padding: 0 10px 20px;
  }

  .candidate-portal-header {
    margin: 0 -10px 10px;
  }

  .candidate-portal-header h1 small,
  .candidate-portal-header button {
    display: none;
  }

  .candidate-portal-header a {
    padding: 0 10px;
  }

  .candidate-portal-grid,
  .candidate-portal-lower-grid {
    gap: 12px;
  }

  .candidate-portal-grid > article,
  .candidate-portal-lower-grid > article {
    padding: 16px;
    border-radius: 16px;
  }

  .candidate-portal-plan-actions,
  .candidate-portal-progress-kpis,
  .candidate-portal-shortcuts > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .candidate-portal-plan-actions {
    margin: 0 -16px -16px;
    padding: 12px 16px;
  }

  .candidate-portal-card-title {
    align-items: flex-start;
    font-size: 0.82rem;
  }

  .candidate-portal-mini-art {
    width: 84px;
    height: 84px;
    margin: 18px auto 12px;
    font-size: 2.7rem;
  }

  .candidate-portal-progress-kpis div,
  .candidate-portal-shortcuts a {
    padding: 12px;
  }

  .candidate-portal-activity div {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* Candidate dashboard mobile app shell */
.candidate-portal-bottom-nav {
  display: none;
}

.candidate-portal-admin-return {
  border-color: rgba(245, 158, 11, 0.35) !important;
  background: #ffc107 !important;
  color: #111827 !important;
}

@media (max-width: 820px) {
  body:has(.candidate-portal-dashboard) {
    background: #eef3f8 !important;
  }

  .candidate-portal-dashboard {
    display: block !important;
    min-height: 100dvh !important;
    background: #eef3f8 !important;
  }

  .candidate-portal-sidebar {
    display: none !important;
  }

  .candidate-portal-main {
    width: 100% !important;
    padding: 0 12px 94px !important;
  }

  .candidate-portal-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 70 !important;
    min-height: 66px !important;
    margin: 0 -12px 12px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: blur(16px);
  }

  .candidate-portal-header > div:first-child span,
  .candidate-portal-header > div:first-child p {
    display: none !important;
  }

  .candidate-portal-header > div:last-child {
    gap: 7px !important;
  }

  .candidate-portal-header h1 {
    max-width: 170px !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 1.04rem !important;
    line-height: 1.1 !important;
  }

  .candidate-portal-header button {
    display: inline-grid !important;
    width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    place-items: center !important;
    border-radius: 15px !important;
  }

  .candidate-portal-header a {
    min-height: 40px !important;
    padding: 0 12px !important;
    border-radius: 15px !important;
    font-size: 0.78rem !important;
  }

  .candidate-portal-header .candidate-portal-admin-return {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    background: #ffc107 !important;
    color: #111827 !important;
    box-shadow: 0 10px 22px rgba(245, 158, 11, 0.22) !important;
  }

  .candidate-portal-alert {
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border-radius: 18px !important;
    font-size: 0.88rem !important;
  }

  .candidate-portal-info-strip {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    min-height: auto !important;
    margin-bottom: 12px !important;
    padding: 10px !important;
    overflow-x: auto !important;
    border-radius: 20px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .candidate-portal-info-strip::-webkit-scrollbar {
    display: none;
  }

  .candidate-portal-info-strip div:not(.candidate-portal-illustration) {
    flex: 0 0 172px !important;
    min-height: 78px !important;
    padding: 12px !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 16px !important;
    background: #fff !important;
    scroll-snap-align: start;
  }

  .candidate-portal-info-strip strong {
    font-size: 0.86rem !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  .candidate-portal-illustration {
    display: none !important;
  }

  .candidate-portal-grid,
  .candidate-portal-lower-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .candidate-portal-grid > article,
  .candidate-portal-lower-grid > article {
    padding: 15px !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07) !important;
  }

  .candidate-portal-plan-body {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .candidate-portal-plan-body h2 {
    font-size: 1.45rem !important;
  }

  .candidate-portal-plan-art {
    display: none !important;
  }

  .candidate-portal-plan-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 -15px -15px !important;
    padding: 10px 15px !important;
  }

  .candidate-portal-plan-actions a,
  .candidate-portal-mini-card a,
  .candidate-portal-progress-card button {
    min-height: 42px !important;
    border-radius: 14px !important;
    font-size: 0.78rem !important;
  }

  .candidate-portal-card-title {
    gap: 10px !important;
    font-size: 0.82rem !important;
  }

  .candidate-portal-mini-card {
    min-height: auto !important;
  }

  .candidate-portal-mini-art {
    width: 76px !important;
    height: 76px !important;
    margin: 16px auto 10px !important;
    font-size: 2.25rem !important;
  }

  .candidate-portal-progress-kpis,
  .candidate-portal-shortcuts > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .candidate-portal-progress-kpis div,
  .candidate-portal-shortcuts a {
    min-height: 92px !important;
    padding: 12px !important;
    border-radius: 17px !important;
  }

  .candidate-portal-activity div {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  .candidate-portal-help-contact span {
    word-break: break-word;
  }

  .candidate-portal-bottom-nav {
    position: fixed;
    right: 12px;
    bottom: 10px;
    left: 12px;
    z-index: 90;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 7px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.18);
    backdrop-filter: blur(18px);
  }

  .candidate-portal-bottom-nav a {
    display: grid;
    min-height: 54px;
    align-content: center;
    justify-items: center;
    gap: 4px;
    border-radius: 18px;
    color: #64748b;
    text-decoration: none;
    font-size: 0.68rem;
    font-weight: 800;
  }

  .candidate-portal-bottom-nav i {
    font-size: 1.18rem;
  }

  .candidate-portal-bottom-nav a.active {
    color: #2563eb;
    background: #eef4ff;
  }
}

@media (max-width: 420px) {
  .candidate-portal-main {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .candidate-portal-header {
    margin-right: -10px !important;
    margin-left: -10px !important;
  }

  .candidate-portal-header h1 {
    max-width: 132px !important;
    font-size: 0.98rem !important;
  }

  .candidate-portal-header a {
    padding: 0 10px !important;
  }

  .candidate-portal-header .candidate-portal-admin-return {
    max-width: 118px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .candidate-portal-header a:not(.candidate-portal-admin-return) {
    width: 40px !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: transparent !important;
  }

  .candidate-portal-header a:not(.candidate-portal-admin-return) i {
    color: #0f172a !important;
  }

  .candidate-portal-progress-kpis,
  .candidate-portal-shortcuts > div {
    grid-template-columns: 1fr !important;
  }
}
