/* Scoped to #exd-app — BIOMED-X exhibitor downloads (Odoo website page) */

#exd-app.exd-app {
  --exd-primary: #074E8C;
  --exd-primary-dark: #131426;
  --exd-primary-light: #113F5C;
  --exd-primary-rgb: 7, 78, 140;
  --exd-bg-light: #f4f7f9;
  --exd-bg-white: #ffffff;
  --exd-text: #1a2332;
  --exd-muted: #6c7a8d;
  --exd-border: #dde3ea;
  --exd-shadow: 0 2px 16px rgba(var(--exd-primary-rgb), 0.08);
  --exd-radius: 10px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem;
  font-family: 'Noto Sans TC', 'Segoe UI', sans-serif;
  color: var(--exd-text);
}

#exd-app .exd-page-header {
  background: linear-gradient(135deg, var(--exd-primary-dark) 0%, var(--exd-primary) 50%, var(--exd-primary-light) 100%);
  color: #fff;
  padding: 2rem 2rem;
  border-radius: var(--exd-radius);
  margin-bottom: 1.25rem;
  box-shadow: var(--exd-shadow);
}

#exd-app .exd-title {
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0;
}

#exd-app .exd-subtitle {
  opacity: 0.85;
  font-size: 0.9rem;
  margin: 0.35rem 0 0;
}

#exd-app .exd-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

#exd-app .exd-btn {
  border: none;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.85rem;
  border-radius: 999px;
  padding: 0.45rem 1.1rem;
  transition: transform 0.15s, box-shadow 0.15s;
}

#exd-app .exd-btn--ghost {
  background: var(--exd-bg-white);
  color: var(--exd-primary);
  border: 2px solid var(--exd-primary);
}

#exd-app .exd-btn--ghost:hover {
  background: var(--exd-primary);
  color: #fff;
}

#exd-app .exd-btn-dl {
  background: linear-gradient(135deg, var(--exd-primary), var(--exd-primary-light));
  color: #fff;
  text-decoration: none;
  display: inline-block;
  font-size: 0.78rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-weight: 600;
}

#exd-app .exd-btn-dl:hover {
  color: #fff;
  box-shadow: 0 4px 16px rgba(var(--exd-primary-rgb), 0.3);
  transform: translateY(-1px);
}

#exd-app .exd-alerts {
  margin-bottom: 1rem;
}

#exd-app .exd-alert {
  padding: 0.75rem 1rem;
  border-radius: var(--exd-radius);
  font-size: 0.88rem;
  margin-bottom: 0.5rem;
  background: #fff3cd;
  border: 1px solid #ffc107;
  color: #664d03;
}

#exd-app .exd-alert--error {
  background: #f8d7da;
  border-color: #f5c2c7;
  color: #842029;
}

#exd-app .exd-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#exd-app .exd-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--exd-radius);
  overflow: hidden;
  box-shadow: var(--exd-shadow);
  background: var(--exd-bg-white);
}

#exd-app .exd-table thead th {
  background: var(--exd-primary);
  color: #fff;
  padding: 0.85rem 1rem;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}

#exd-app .exd-table tbody tr {
  border-bottom: 1px solid var(--exd-border);
  transition: background 0.15s;
}

#exd-app .exd-table tbody tr:nth-child(even) {
  background: rgba(var(--exd-primary-rgb), 0.03);
}

#exd-app .exd-table tbody tr:hover {
  background: rgba(var(--exd-primary-rgb), 0.07);
}

#exd-app .exd-table tbody td {
  padding: 0.8rem 1rem;
  font-size: 0.88rem;
  vertical-align: middle;
}

#exd-app .exd-badge-type {
  font-size: 0.73rem;
  padding: 2px 10px;
  border-radius: 12px;
  font-weight: 600;
  background: rgba(var(--exd-primary-rgb), 0.1);
  color: var(--exd-primary);
  white-space: nowrap;
}

#exd-app .exd-ext {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.82rem;
}

#exd-app .exd-ext-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  display: inline-block;
}

#exd-app .exd-ext-dot.pdf { background: #e74c3c; }
#exd-app .exd-ext-dot.doc,
#exd-app .exd-ext-dot.docx { background: #2980b9; }
#exd-app .exd-ext-dot.xls,
#exd-app .exd-ext-dot.xlsx { background: #27ae60; }
#exd-app .exd-ext-dot.zip { background: #f39c12; }
#exd-app .exd-ext-dot.ai { background: #ff7f00; }
#exd-app .exd-ext-dot.other { background: var(--exd-muted); }

#exd-app .exd-pending {
  color: var(--exd-muted);
  font-size: 0.82rem;
}

#exd-app .exd-state {
  text-align: center;
  color: var(--exd-muted);
  padding: 2rem 1rem !important;
}

#exd-app .exd-state--loading {
  font-style: italic;
}

@media (max-width: 767px) {
  #exd-app.exd-app { padding: 1.25rem 0.75rem 2rem; }
  #exd-app .exd-page-header { padding: 1.5rem 1rem; }
  #exd-app .exd-title { font-size: 1.35rem; }
}
