/* Banco de Documentos — reusa as variáveis/paleta de ../styles.css (dark premium). */

.doc-wrap { max-width: 640px; padding-bottom: 40px; }

/* ---------- hero ---------- */
.doc-hero { text-align: center; padding: 40px 0 26px; }
.doc-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 62px; height: 62px; margin-bottom: 16px; border-radius: 18px;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.doc-badge svg { width: 30px; height: 30px; }
.doc-hero h1 { margin: 0 0 8px; font-size: 1.75rem; font-weight: 700; letter-spacing: -.02em; }
.doc-hero .subtitle { margin: 0 auto; max-width: 42ch; color: var(--muted); font-size: 1rem; }

/* ---------- toolbar ---------- */
.doc-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 8px 2px 14px;
}
.doc-selectall { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font-size: .9rem; font-weight: 600; color: var(--text); }
.doc-selectall input { width: 18px; height: 18px; accent-color: var(--accent); cursor: pointer; }
.doc-counter { white-space: nowrap; }

/* ---------- lista de documentos ---------- */
.doc-list { display: grid; gap: 10px; }
.doc-item {
  display: flex; align-items: center; gap: 13px;
  padding: 15px 16px; cursor: pointer;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  transition: border-color .15s, background .15s, transform .05s;
}
.doc-item:hover { border-color: var(--accent-line); }
.doc-item:active { transform: scale(.996); }
.doc-item.is-selected { border-color: var(--accent); background: color-mix(in srgb, var(--accent-soft) 60%, var(--surface)); }

.doc-check { width: 19px; height: 19px; flex: 0 0 auto; accent-color: var(--accent); cursor: pointer; }
.doc-icon { display: inline-flex; color: var(--muted); flex: 0 0 auto; }
.doc-icon svg { width: 22px; height: 22px; display: block; }
.doc-item.is-selected .doc-icon { color: var(--accent); }
.doc-name { flex: 1 1 auto; font-size: .98rem; font-weight: 500; color: var(--text); }
.doc-ext {
  flex: 0 0 auto; font-size: .64rem; font-weight: 700; letter-spacing: .06em;
  color: var(--muted); background: var(--surface-2); border: 1px solid var(--border);
  border-radius: 6px; padding: 3px 7px;
}
.doc-item.is-selected .doc-ext { color: var(--accent); border-color: var(--accent-line); }

/* ---------- botão de download ---------- */
.doc-download { margin-top: 20px; padding: 14px 18px; font-size: .98rem; }

@media (max-width: 640px) {
  .doc-hero { padding: 28px 0 20px; }
  .doc-hero h1 { font-size: 1.5rem; }
  .doc-download {
    position: sticky; bottom: 12px; margin-top: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
  }
}
