/* Root preview container */
/* Root preview container */
.d5m-preview {
  --d5m-border: 1px solid rgba(0,0,0,.08);
  --d5m-muted: rgba(0,0,0,.55);
  --d5m-surface: #fff;
  --d5m-row: rgba(0,0,0,.02);

  background: var(--d5m-surface);
  border: none;
  border-radius: 0;   /* was 10px */
  padding: 14px;
  box-shadow: none;   /* was 0 2px 10px rgba(0,0,0,.04) */
}


.d5m-preview * { box-sizing: border-box; }

.d5m-heading { margin: 0 0 12px; font-size: 22px; line-height: 1.25; }
.d5m-link { color: #2a69c7; text-decoration: none; }
.d5m-link:hover { text-decoration: underline; }
.d5m-muted { color: var(--d5m-muted); }

.d5m-chip {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef1f6;
  color: #51607a;
  font-size: 12px;
  font-weight: 600;
}

/* ===== TABLE ===== */
.d5m-table {
  width: 100%;
  border: var(--d5m-border);
  border-radius: 0;
  overflow: hidden;
  min-width: 900px;
}

/* Header row */
.d5m-thead .d5m-tr {
  background: #f6f8fb;
  border-bottom: var(--d5m-border);
}

/* Each row uses the same grid columns (injected via --d5m-cols) */
.d5m-tr {
  display: grid;
  grid-template-columns: var(--d5m-cols, 2fr 1.2fr .9fr 1.2fr .9fr 1.6fr .9fr .9fr);
  align-items: flex-start;         /* top-align content across columns */
  gap: 0;
}

/* Cells */
.d5m-th,
.d5m-td {
  padding: 16px 16px;
  font-size: 14px;
  display: flex;
  align-items: flex-start;         /* top align */
  line-height: 1.35;
  text-align: left;
  min-width: 0;
}

.d5m-th { font-weight: 700; color: #2b2b2b; }

/* Row-level background + separators for a continuous look */
.d5m-tbody .d5m-tr {
  background: #fff;
  border-top: var(--d5m-border);
}
.d5m-tbody .d5m-tr:first-child { border-top: 0; }         /* avoid double line after header */
.d5m-tbody .d5m-tr:nth-child(even) { background: var(--d5m-row); }

/* Cells are transparent so the row background is continuous */
.d5m-td { background: transparent; }

/* Long text (e.g., Location) wraps without shifting baselines */
.d5m-td { word-break: break-word; overflow-wrap: anywhere; }

.col-title { grid-column: 1; }

/* Time cells should never wrap (e.g., "10:55 PM") */
.d5m-th.is-time,
.d5m-td.is-time { white-space: nowrap; }

.d5m-time { opacity: .8; }

/* Title over category chip in table view */
.col-title .d5m-title-stack{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;                         /* compact spacing between title and chip */
  line-height: 1.25;
  padding-top: 2px;                 /* aligns title baseline with dates */
}
.col-title .d5m-title-stack .d5m-chip { margin-top: 0; }
.col-title .d5m-title-stack .d5m-link {
  line-height: 1.25;
  display: inline-block;
  word-break: break-word;
}

/* ========== LIST VIEW – Neat card UI ========== */
.d5m-list{
  list-style: none !important;   /* unordered */
  margin: 0 0 0 1.25rem;
  padding: 0;
}
.d5m-list-item{
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.d5m-title{ margin: 0 0 .35rem; font-size: 1rem; line-height: 1.25; font-weight: 700; }
.d5m-category{ color: var(--d5m-muted); font-weight: 400; }

.d5m-meta{
  list-style: none;              /* detail lines are not bulleted */
  margin: .25rem 0 0;
  padding-left: 1rem;
}

.d5m-ul{
  margin: 0;
  padding: 0;
  list-style: none; 
}

.d5m-li{
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 10px;
  padding: 16px 18px;
}

.d5m-li + .d5m-li{ margin-top: 12px; }

/* Title row */
.d5m-title-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 8px;
}
.d5m-title-line .d5m-link {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  word-break: break-word;
}
.d5m-title-line .d5m-chip {
  margin-top: 0;                 /* keep chip inline with title */
  padding: 6px 10px;
}

/* Details grid (Start / End / Location / Agenda / Minutes) */
.d5m-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;                         /* kill extra top margin */
  gap: 12px 24px;                    /* row / column gaps */
  align-items: start;
}

.d5m-meta-item {
  display: flex;
  align-items: baseline;         /* labels line up with values */
  min-width: 0;                  /* allow text wrap */
}

.d5m-meta-item strong {
  color: #2b2b2b;
  font-weight: 700;
  margin-right: 8px;
  flex: 0 0 auto;
}

/* Long values (e.g., Locations) wrap nicely without pushing layout */
.d5m-meta-item span,
.d5m-meta-item a,
.d5m-meta-item .d5m-time {
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Lighten the muted em dash placeholders */
.d5m-meta-item .d5m-time,
.d5m-meta-item .d5m-muted { opacity: .8; }

/* Responsive columns */
@media (max-width: 980px) {
  .d5m-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .d5m-meta { grid-template-columns: 1fr; }
  .d5m-list-item { padding: 14px 14px; }
}

/* Pagination */
.d5m-pager {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.d5m-btn {
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.2;
}
.d5m-btn:hover { box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.d5m-btn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.d5m-page-indicator { margin: 0 6px; }


/* Simple bordered list – one box per meeting */
ul.d5m-list {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
ul.d5m-list > li.d5m-list-item {
  /* keep the card look */
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 10px;
  padding: 18px 18px 0;
  background: #fff;
  /* remove any marker positioning */
  list-style-position: outside;
}

/* extra safety in some themes */
ul.d5m-list > li::marker { content: ""; }
ul.d5m-list > li.d5m-list-item + li.d5m-list-item { margin-top: 12px; }
.d5m-list > li.d5m-list-item > :first-child{ margin-top: 0; }
.d5m-list > li.d5m-list-item > :last-child{  margin-bottom: 0; }

/* Visually hidden utility for a11y */
.d5m-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* Horizontal scroll wrapper for the table */
.d5m-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* smooth on iOS */
}
