.cpd-dashboard{
  width: 100%;
}

.cpd-dashboard__inner{
  padding: 18px 0;
}

.cpd-dashboard__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom: 14px;
}

.cpd-dashboard__hello{
  font-size: 18px;
  font-weight: 800;
  color:#0f172a;
  margin-bottom: 4px;
}

.cpd-dashboard__breadcrumbs{
  font-size: 12px;
  color:#94a3b8;
}

/* KPI grid */
.cpd-dashboard__cards{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
/* Orders highlight (yellow tint) */
.cpd-orders__item--highlight{
  background: #fffbeb;        /* light yellow */
  border: 1px solid #fde68a;  /* soft yellow border */
  border-radius: 12px;
  padding: 12px 12px;
  margin: 10px 0;
}

/* Remove divider when using highlight cards */
.cpd-orders__item{
  border-bottom: 0 !important;
	padding: 20px !important;
}

@media (max-width: 1100px){
  .cpd-dashboard__cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .cpd-dashboard__cards{ grid-template-columns: 1fr; }
}

/* Card */
.cpd-card{
  background:#fff;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15,23,42,0.04);
  padding: 16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  min-height: 92px;
}

.cpd-card__label{
  font-size: 13px;
  color:#6b7280;
  margin-bottom: 6px;
}

.cpd-card__value{
  font-size: 26px;
  font-weight: 800;
  color:#0f172a;
  line-height: 1.05;
}

.cpd-card__sub{
  margin-top: 6px;
  font-size: 12px;
  color:#64748b;
}

.cpd-card__icon{
  width: 54px;
  height: 54px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.cpd-card__icon span{
  font-size: 22px;
}

/* Pastel icon tones */
.cpd-tone-green{ background: rgba(34,197,94,0.10); color:#16a34a; }
.cpd-tone-pink{ background: rgba(236,72,153,0.10); color:#db2777; }
.cpd-tone-amber{ background: rgba(245,158,11,0.10); color:#d97706; }
.cpd-tone-blue{ background: rgba(59,130,246,0.10); color:#2563eb; }
.cpd-tone-indigo{ background: rgba(99,102,241,0.10); color:#4f46e5; }
.cpd-tone-purple{ background: rgba(168,85,247,0.10); color:#9333ea; }
.cpd-tone-gray{ background: rgba(148,163,184,0.18); color:#64748b; }

/* Activity block */
.cpd-activity{
  margin-top: 18px;
  background:#fff;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15,23,42,0.04);
  padding: 16px;
}

.cpd-activity__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 8px;
}

.cpd-activity__title{
  font-size: 16px;
  font-weight: 800;
  color:#0f172a;
}

.cpd-activity__clear{
  border: 0;
  background: #f1f5f9;
  color:#334155;
  padding: 8px 10px;
  border-radius: 10px;
  font-weight: 700;
  cursor:pointer;
}

.cpd-activity__clear:hover{
  background:#e2e8f0;
}

.cpd-activity__item{
  display:flex;
  align-items:center;
  gap:12px;
  padding: 12px 0;
  border-bottom: 1px solid #f1f5f9;
}

.cpd-activity__item:last-child{
  border-bottom: 0;
}

.cpd-activity__icon{
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.cpd-activity__msg{
  color:#334155;
  font-size: 14px;
}

.cpd-activity__time{
  margin-left:auto;
  font-size: 12px;
  color:#94a3b8;
  white-space: nowrap;
}

.cpd-activity__empty{
  padding: 10px 0;
  color:#64748b;
}

.cpd-activity__pager{
  display:flex;
  justify-content:center;
  gap: 8px;
  margin-top: 12px;
}

.cpd-activity__page{
  border: 0;
  background: transparent;
  padding: 8px 10px;
  border-radius: 10px;
  cursor:pointer;
  color:#64748b;
  font-weight: 700;
}

.cpd-activity__page.is-active{
  background: #16a34a;
  color:#fff;
}
/* Two-up row (Recent updates + Upcoming interviews) */
.cpd-dashboard__row2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
  align-items: stretch;
}

@media (max-width: 1100px){
  .cpd-dashboard__row2{ grid-template-columns: 1fr; }
}

/* Ensure both cards match height and stay neat */
.cpd-activity,
.cpd-upcoming{
  min-height: 420px;
  max-height: 420px;
  display:flex;
  flex-direction: column;
}

.cpd-activity__list,
.cpd-upcoming__body{
  overflow:auto;
}

/* Upcoming interviews block */
.cpd-upcoming{
  background:#fff;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15,23,42,0.04);
  padding: 16px;
}

.cpd-upcoming__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  /* match activity block header spacing */
  padding: 0 0 10px 0;
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 8px;
}


.cpd-upcoming__title{
  font-size: 16px;
  font-weight: 800;
  color:#0f172a;
}

.cpd-upcoming__muted{
  font-size: 12px;
  color:#94a3b8;
  font-weight: 700;
}

/* Table layout */
.cpd-upcoming__thead{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1.4fr;
  gap: 12px;
  padding: 10px 0;
  color:#6b7280;
  font-size: 12px;
  font-weight: 700;
}

.cpd-upcoming__row{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1.4fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #f1f5f9;
}

.cpd-upcoming__row:last-child{
  border-bottom: 0;
}

.cpd-upcoming__date{
  font-weight: 800;
  color:#0f172a;
  margin-bottom: 6px;
}

.cpd-upcoming__time{
  color:#0f172a;
  font-weight: 700;
  margin-bottom: 6px;
}

.cpd-upcoming__tz{
  font-size: 12px;
  color:#94a3b8;
}

.cpd-upcoming__titleline{
  font-weight: 800;
  color:#0f172a;
  margin-bottom: 6px;
}

.cpd-upcoming__meta{
  font-size: 12px;
  color:#6b7280;
  margin-bottom: 8px;
}

.cpd-upcoming__link{
  color: #16a34a;
  font-weight: 800;
  text-decoration: none;
}

.cpd-upcoming__link:hover{
  text-decoration: underline;
}

.cpd-upcoming__empty{
  padding: 12px 0;
  color:#64748b;
}
/* Inline emojis in upcoming interviews */
.cpd-upcoming__emoji{
  display:inline-block;
  margin-right: 6px;
  opacity: 0.9;
}

.cpd-upcoming__label{
  display:flex;
  align-items:center;
  gap:6px;
}

/* Highlight rows with a soft tint like KPI boxes */
.cpd-upcoming__row--highlight{
  background: #f0f9ff;        /* light blue tint */
  border: 1px solid #e0f2fe;  /* subtle border */
  border-radius: 12px;
  padding: 14px 12px;
  margin: 10px 0;
}

/* Because we added padding/margins, remove the old border line divider effect */
.cpd-upcoming__row{
  border-bottom: 0 !important;
}

/* Keep the header row normal (no highlight) */
.cpd-upcoming__thead{
  padding: 10px 0 6px 0;
}

/* Slightly tighten content so it doesn’t look “floaty” */
.cpd-upcoming__date{ margin-bottom: 6px; }
.cpd-upcoming__meta{ margin-bottom: 8px; }

/* Generic card wrapper to match your existing style */

.cpd-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 8px;
}

.cpd-card__title{
  font-size: 16px;
  font-weight: 800;
  color:#0f172a;
}

.cpd-card__muted{
  font-size: 12px;
  color:#94a3b8;
  font-weight: 700;
}

.cpd-card__link{
  font-size: 12px;
  font-weight: 800;
  color:#16a34a;
  text-decoration:none;
}
.cpd-card__link:hover{ text-decoration: underline; }

.cpd-card__body{
  overflow:auto;
  flex: 1;
}



/* Chart card: give canvas height */
.cpd-appsource__body{
  position: relative;
  min-height: 320px;
}

/* Orders list */
.cpd-orders__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f1f5f9;
}
.cpd-orders__item:last-child{ border-bottom: 0; }

.cpd-orders__id{
  font-weight: 900;
  color:#0f172a;
  text-decoration:none;
}
.cpd-orders__id:hover{ text-decoration: underline; }

.cpd-orders__meta{
  font-size: 12px;
  color:#94a3b8;
  margin-top: 3px;
}

.cpd-orders__total{
  font-weight: 900;
  color:#0f172a;
}

/* Empty */
.cpd-empty{
  padding: 12px 0;
  color:#64748b;
}
/* --- Fix: KPI tiles should never inherit big-card height --- */
.cpd-kpis .cpd-kpi,
.cpd-kpi {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  display: block !important;
}

/* If KPI tiles accidentally got .cpd-card styles, neutralise them */
.cpd-kpis .cpd-card {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
}
/* Chart should fill the card */
.cpd-appsource__body {
  position: relative;
  width: 100%;
  height: 320px;          /* choose a steady height */
}

.cpd-appsource__body canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

