.asteroid-occultations {
  color: var(--text, #203446);
  font: 16px/1.6 var(--body, system-ui, sans-serif);
}
.asteroid-occultations * { box-sizing: border-box; }
.asteroid-occultations .ao-intro,
.asteroid-occultations .ao-help {
  background: var(--panel-light, #edf5f8);
  color: var(--text, #203446);
  border: 1px solid var(--line, #c6d5df);
  border-radius: 12px;
  padding: 18px;
  margin: 16px 0;
}
.asteroid-occultations .ao-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 16px;
  padding: 18px;
  background: var(--panel, #f4f6f8);
  color: var(--text, #203446);
  border: 1px solid var(--line, #c6d5df);
  border-radius: 12px;
  margin-bottom: 16px;
}
.asteroid-occultations label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--text, #203446);
  font-weight: 600;
}
.asteroid-occultations input,
.asteroid-occultations select {
  font: inherit;
  padding: 8px;
  color: var(--text, #203446);
  background: var(--panel, #fff);
  border: 1px solid var(--line, #9baebc);
  border-radius: 6px;
  max-width: 100%;
}
.asteroid-occultations input::placeholder { color: var(--muted, #536678); opacity: 1; }
.asteroid-occultations input[type=range] {
  padding: 0;
  width: 210px;
  border: 0;
  background: transparent;
  accent-color: var(--accent, #075679);
}
.asteroid-occultations .ao-scroll { overflow-x: auto; }
.asteroid-occultations table { border-collapse: collapse; width: 100%; font-size: 14px; color: var(--text, #203446); }
.asteroid-occultations th,
.asteroid-occultations td {
  padding: 12px 10px;
  color: var(--text, #203446);
  border-bottom: 1px solid var(--line, #d4dee4);
  text-align: left;
  vertical-align: top;
}
.asteroid-occultations th { background: var(--panel-light, #e9f1f5); white-space: nowrap; }
.asteroid-occultations small { display: block; color: var(--muted, #536678); }
.asteroid-occultations button {
  font: inherit;
  cursor: pointer;
  color: var(--accent, #075679);
  background: var(--panel-light, #edf7fa);
  border: 1px solid var(--line, #a6c2ce);
  padding: 6px 10px;
  border-radius: 6px;
}
.asteroid-occultations button:hover:not(:disabled) { border-color: var(--accent, #075679); }
.asteroid-occultations button:disabled { color: var(--muted, #536678); opacity: .6; cursor: default; }
.asteroid-occultations :is(button, input, select, summary):focus-visible { outline: 2px solid var(--accent, #075679); outline-offset: 3px; }
.asteroid-occultations summary { cursor: pointer; font-weight: 600; }
.asteroid-occultations .ao-badge {
  display: inline-block;
  background: var(--panel-light, #e4eef4);
  color: var(--text, #203446);
  padding: 2px 6px;
  border-radius: 5px;
  border-left: 3px solid var(--line, #9baebc);
}
.asteroid-occultations .ao-nominal { border-left-color: #39b985; }
.asteroid-occultations .ao-detail { padding: 18px; background: var(--panel, #f4f7f9); color: var(--text, #203446); }
.asteroid-occultations .ao-detail p { margin: 8px 0; }
.asteroid-occultations .ao-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.asteroid-occultations a { color: var(--accent, #075679); text-decoration: underline; text-underline-offset: 3px; }
.content-shell .com-content-article.asteroid-occultations-article { max-width: none; width: 100%; }
@media (max-width: 600px) {
  .asteroid-occultations .ao-controls { padding: 12px; }
  .asteroid-occultations label { width: 100%; }
  .asteroid-occultations th, .asteroid-occultations td { padding: 8px; }
  .asteroid-occultations .ao-intro { padding: 12px; }
}
@media print {
  .asteroid-occultations { --text: #203446; --muted: #536678; --panel: #fff; --panel-light: #edf5f8; --line: #9baebc; --accent: #075679; }
  .asteroid-occultations .ao-controls, .asteroid-occultations button { display: none; }
  .asteroid-occultations .ao-scroll { overflow: visible; }
}
