/* Kho tài liệu và trình xem tài liệu (hạng mục B13b) */
.doc-shelf {
  margin-top: var(--space-6);
}

.doc-shelf__title,
.doc-head__title {
  font-family: var(--font-heading);
}

.doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: var(--space-4);
  padding: 0;
  list-style: none;
}

.doc-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  height: 100%;
  padding: var(--space-4);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  color: var(--color-text);
  text-decoration: none;
  transition:
    transform var(--duration-fast) var(--ease-pop),
    box-shadow var(--duration-fast);
}

.doc-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lift);
}

.doc-card__icon {
  font-size: var(--font-size-2xl);
}

.doc-card__title {
  font-family: var(--font-heading);
  overflow-wrap: anywhere;
}

.doc-card__desc,
.doc-card__meta,
.doc-head__meta,
.doc-note {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.doc-card__meta {
  margin-top: auto;
}

.upload-progress {
  width: 100%;
}

/* Trình xem */
.doc-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

.doc-toolbar__zoom {
  min-width: 3.5em;
  font-weight: 800;
  text-align: center;
}

.doc-toolbar__pages input {
  width: 4.5em;
  min-height: var(--touch-target);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  text-align: center;
}

.doc-viewer__status {
  margin: var(--space-2) 0;
  color: var(--color-text-muted);
}

.doc-viewer__scroll {
  position: relative;
  height: 72vh;
  min-height: 420px;
  overflow: auto;
  border: 2px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface-muted);
  user-select: none;
  -webkit-user-select: none;
}

.doc-viewer__content {
  position: relative;
  min-width: max-content;
}

.doc-viewer__stage {
  display: grid;
  justify-items: center;
  gap: var(--space-4);
  padding: var(--space-4);
}

.doc-page {
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.doc-page canvas,
.doc-image {
  display: block;
  max-width: none;
  pointer-events: none;
}

.doc-html {
  background: #fff;
  color: #1e2a3b;
}

/* Lớp chữ chìm trên Word/PowerPoint: phủ cả vùng cuộn, không chặn thao tác cuộn. */
.doc-viewer__mark {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: repeat;
}

.doc-viewer__mark[hidden] {
  display: none;
}

/* Không in được tài liệu */
@media print {
  .doc-viewer,
  .doc-head,
  .doc-note {
    display: none !important;
  }

  main::after {
    content: 'Tài liệu này chỉ để xem trên website, không in được.';
  }
}
