.excel-viewer {
  border: 1px solid #ddd;
  padding: 12px;
  border-radius: 10px;
}

body.page-two-column:not(.archive) #primary .entry-content:has(.excel-viewer) {
  width: 100%;
}

.excel-viewer {
  width: 100%;
  max-width: 100%;
}

.excel-viewer__status {
  margin-bottom: 10px;
  font-size: 14px;
  opacity: 0.85;
}

.excel-viewer__controls {
  margin: 10px 0;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.excel-viewer__label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.excel-viewer__sheet {
  padding: 6px 8px;
}

.excel-viewer__toggle {
  padding: 7px 10px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 8px;
  cursor: pointer;
}

.excel-viewer__viewport {
  overflow: hidden;
  max-height: var(--excel-preview-height, 260px);
  transition: max-height 280ms ease;
  cursor: pointer;
  width: 100%;
  border: 1px solid #eee;
  border-radius: 10px;
}

.excel-viewer__canvas {
  transform: scale(var(--excel-preview-scale, 0.55));
  transform-origin: top left;
  width: max-content;
}

/* Expanded state */
.excel-viewer.is-expanded .excel-viewer__viewport {
  max-height: var(--excel-expanded-height, 75vh);
  overflow: auto;
  cursor: default;
}

.excel-viewer.is-expanded .excel-viewer__canvas {
  transform: scale(1);
}

.excel-viewer__table {
  overflow: visible;
  max-width: 100%;
}

/* Table styling */
.excel-viewer__grid {
  border-collapse: collapse;
  width: max-content;
  min-width: 100%;
}

.excel-viewer__grid td {
  border: 1px solid #eee;
  padding: 6px 8px;
  white-space: nowrap;
  font-size: 13px;
}

/* Download area always below */
.excel-viewer__download {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.excel-viewer__downloadLink {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 10px;
  text-decoration: none;
}

.excel-viewer__downloadMeta {
  font-size: 12px;
  opacity: 0.7;
  word-break: break-all;
}
