#demo-card { max-width: 800px; margin-top: 0; }
.demo-head { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; margin-bottom: 0.65rem; }
.demo-head .pdfsearch-card-title { margin: 0; }
#demo-add, #demo-signin { margin-top: 1rem; }
.demo-signin {
  background: #1e3a5f; color: #fff; border: none; border-radius: 20px;
  padding: 0.4rem 0.95rem; font-size: 0.85rem; font-family: Arial, sans-serif; cursor: pointer;
}
.demo-signin:hover { background: #16304f; }
.demo-upload-row { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.demo-signout {
  font-size: 0.82rem; padding: 0.35rem 0.9rem; border-radius: 20px; cursor: pointer;
  font-family: Arial, sans-serif; font-weight: 500; border: 1.5px solid #1e3a5f;
  background: transparent; color: #1e3a5f;
}
.demo-signout:hover { background: #1e3a5f; color: #fff; }
#demo-upload-input {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
#demo-upload-btn {
  background: #1e3a5f; color: #fff; border: none; border-radius: 20px;
  padding: 0.4rem 0.95rem; font-size: 0.85rem; font-family: Arial, sans-serif; cursor: pointer;
}
#demo-upload-btn:hover { background: #16304f; }
#demo-upload-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.demo-status { min-height: 1.2em; margin: 0.65rem 0 0; font-size: 0.85rem; color: #64748b; }
.demo-status.is-error { color: #e11d48; font-weight: 600; }
.demo-links {
  list-style: none; padding: 0; margin: 0.85rem 0 0;
  border: 1px solid #d5dde6; border-radius: 8px; background: #f8fafc; overflow: hidden;
}
.demo-links li + li { border-top: 1px solid #e4e8ee; }
.demo-empty { padding: 0.7rem 0.85rem; color: #64748b; font-size: 0.85rem; }
.demo-link {
  display: block; padding: 0.55rem 0.85rem; color: #1e3a5f; font-weight: 600;
  text-decoration: underline; word-break: break-word;
}
.demo-link:hover { background: #e8eef5; }
.demo-link:focus { outline: 2px solid #1e3a5f; outline-offset: -2px; }
.demo-link.is-open { background: #1e3a5f; color: #fff; text-decoration: none; }
.demo-link.is-open:hover { background: #16304f; color: #fff; }
.demo-view { margin-top: 0.85rem; }
.demo-view:empty { display: none; }
.demo-name { margin: 0 0 0.4rem; font-size: 0.9rem; font-weight: 600; color: #1e3a5f; word-break: break-word; }
.demo-frame img, .demo-frame video { max-width: 100%; max-height: 420px; display: block; border-radius: 4px; background: #f4f6f8; }
.demo-pdf { color: #1e3a5f; font-weight: 600; }
