/* Official Lucide SVGs, vendored with their license in assets/lucide/. */
.dtsc-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: none;
  background-color: currentColor;
  mask: var(--dtsc-icon) center / contain no-repeat;
  vertical-align: middle;
  pointer-events: none;
}
.dtsc-icon--x { --dtsc-icon: url('lucide/x.svg'); }
.dtsc-icon--arrow-left { --dtsc-icon: url('lucide/arrow-left.svg'); }
.dtsc-icon--arrow-right { --dtsc-icon: url('lucide/arrow-right.svg'); }

.record-trophy { display: inline-flex; width: 1em; height: 1em; flex: none; vertical-align: middle; color: #b88a23; }
.record-trophy svg { display: block; width: 100%; height: 100%; }
.record-trophy:empty::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: currentColor;
  mask: url('lucide/trophy.svg') center / contain no-repeat;
}
.swim-splits-icon > svg { display: block; width: 18px; height: 18px; flex: none; }

.meet-document-link { display: inline-flex; align-items: center; gap: 10px; }
.meet-document-link::before {
  content: '';
  display: block;
  width: 20px;
  height: 22px;
  flex: none;
  border: 0;
  border-radius: 0;
  background: #4d96ff;
  mask: url('lucide/file-text.svg') center / contain no-repeat;
}
@media (max-width: 820px) {
  .meet-attachment-link.meet-document-link { display: grid; grid-template-columns: 22px minmax(0, 1fr); }
}

.dtsc-search-field { position: relative; display: block; width: 100%; min-width: 0; }
.dtsc-search-field::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  background-color: currentColor;
  color: #627b9b;
  mask: url('lucide/search.svg') center / contain no-repeat;
  pointer-events: none;
}
.dtsc-search-field > input[type='search'] { box-sizing: border-box; width: 100%; padding-left: 36px !important; }
.dtsc-select__popup > .dtsc-search-field { flex: none; margin-bottom: 6px; }
.dtsc-search-field > .dtsc-select__search { margin-bottom: 0; }
html[data-theme='dark'] .dtsc-search-field::before { color: #b3c8e2; }

.dropdown-caret { display: inline-flex; vertical-align: middle; transform: none; }
.dropdown-caret svg { display: block; width: 14px; height: 14px; }
.dropdown.open .dropdown-caret,
.drawer-details[open] .dropdown-caret { transform: rotate(180deg); }
.swimmer-button .arrow { transform: rotate(-90deg); }
.swimmer-button .arrow svg { display: block; width: 14px; height: 14px; }
.swimmer-button.open .arrow { transform: none; }

.dtsc-select__chevron,
.meet-event-overview-event__chevron,
.event-card-chevron {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 0;
  background-color: currentColor;
  mask: url('lucide/chevron-down.svg') center / contain no-repeat;
  transform: none;
}
.dtsc-select.is-open .dtsc-select__chevron,
.meet-event-overview-event[open] .meet-event-overview-event__chevron { transform: rotate(180deg); }
.event-card-chevron { transform: rotate(-90deg); }
.event-card-head.open .event-card-chevron { transform: none; }
.meet-personal-inspect::after {
  width: 14px;
  height: 14px;
  border: 0;
  background-color: currentColor;
  mask: url('lucide/chevron-down.svg') center / contain no-repeat;
  transform: none;
  margin: 0;
}
.meet-personal-inspect[aria-expanded='true']::after { transform: rotate(180deg); margin: 0; }

.app-nav-sheet__close svg,
.dtsc-login-close svg,
.meet-mc-qt-panel__close svg { display: block; width: 20px; height: 20px; margin: auto; }

/* Keep native details semantics while replacing browser-specific markers. */
summary.dtsc-disclosure { position: relative; list-style: none; padding-left: 22px !important; }
summary.dtsc-disclosure::-webkit-details-marker { display: none; }
summary.dtsc-disclosure::marker { content: ''; }
summary.dtsc-disclosure::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  mask: url('lucide/chevron-down.svg') center / contain no-repeat;
  transform: translateY(-50%) rotate(-90deg);
  transition: transform 120ms ease;
}
details[open] > summary.dtsc-disclosure::before { transform: translateY(-50%); }
.calendar-agenda-arrow svg { display: block; width: 18px; height: 18px; }
.jx-info-link svg { width: 16px; height: 16px; flex: none; vertical-align: middle; }
.page-hero__back-link svg { display: block; width: 20px; height: 20px; flex: none; }

/* Resolve local SVGs from assets/, including pages that load root styles.css. */
.report-table th.sortable .sort-indicator::before { mask: url('lucide/minus.svg') center / contain no-repeat; }
.report-table th.sortable.asc .sort-indicator::before { mask-image: url('lucide/arrow-up.svg'); }
.report-table th.sortable.desc .sort-indicator::before { mask-image: url('lucide/arrow-down.svg'); }
