
.challenge-description > td { padding-top: 7px; padding-bottom: 12px; color: var(--muted); font-size: 13px; background: #f5f1e9; border-bottom: 2px solid var(--line); }
.challenge-description > td > span { color: var(--ink); font-weight: 750; }
.challenge-description[hidden] { display: none; }
.challenge-calendar-table .challenge-calendar-covered span[aria-hidden] { display: inline-grid; place-items: center; width: 18px; height: 18px; margin: auto; border-radius: 50%; background: #397fa7; color: #fff; font-size: 13px; font-weight: 900; line-height: 1; }
.challenge-calendar-table .challenge-calendar-missing { background: #fff0ed; color: #b42318; font-size: 13px; font-weight: 900; }
.challenge-calendar-table .challenge-calendar-na { background: #f0ebe3; color: #9a9288; font-weight: 700; }
.challenge-calendar-candidate { display: inline-grid; place-items: center; width: 24px; height: 24px; margin: auto; padding: 0; border: 1px solid #d55b4d; border-radius: 50%; appearance: none; -webkit-appearance: none; background: #fff; color: #b42318; font: inherit; font-weight: 900; line-height: 1; text-align: center; cursor: pointer; }
.challenge-calendar-candidate:hover, .challenge-calendar-candidate:focus-visible { background: #b42318; color: #fff; outline: none; }
.challenge-calendar-candidate:focus-visible { box-shadow: 0 0 0 3px #b4231838; }
.challenge-calendar-dialog { width: min(94vw, 700px); }
.challenge-calendar-cache-list li { grid-template-columns: 92px minmax(0, 1fr) auto; }
.challenge-calendar-cache-list div { display: grid; gap: 3px; min-width: 0; }
.challenge-calendar-cache-list span { font-weight: 700; }
.challenge-calendar-cache-list small { color: var(--muted); line-height: 1.35; }
.challenge-calendar-cache-list .status { white-space: nowrap; }
.challenge-toolbar { margin-bottom: 18px; }
.challenge-toolbar h2 { margin: 0; }
.challenge-toggle-cell { width: 38px; padding-left: 6px; padding-right: 3px; text-align: center; }
.challenge-detail-toggle { display: inline-grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--accent); cursor: pointer; }
.challenge-detail-toggle::before { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .16s ease; }
.challenge-detail-toggle:hover, .challenge-detail-toggle:focus-visible { background: #e2f1eb; outline: none; }
.challenge-detail-toggle:focus-visible { box-shadow: 0 0 0 2px #24745c45; }
.challenge-detail-toggle[aria-expanded="true"]::before { transform: rotate(45deg); }
.challenge-progress { width: 110px; height: 9px; overflow: hidden; border-radius: 999px; background: var(--soft); }
.challenge-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #4aa888); }
.challenge-progress-label { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.challenge-suggestions-toggle { display: block; margin-top: 10px; padding: 7px 11px; border: 1px solid var(--accent); border-radius: 7px; background: #fff; color: var(--accent); font: inherit; font-weight: 750; cursor: pointer; }
.challenge-suggestions-toggle:hover, .challenge-suggestions-toggle:focus-visible { background: #e2f1eb; outline: none; }
.challenge-suggestions { margin-top: 10px; contain: paint; }
.challenge-suggestions[hidden] { display: none; }
.challenge-suggestions table { min-width: 720px; }
.challenge-suggestions .data-table tbody tr:hover { background: transparent; }
.challenge-suggestions .data-table tbody tr:nth-child(even):hover { background: #faf7f1; }
.challenge-suggestions .data-table tbody tr.challenge-suggestion-found,
.challenge-suggestions .data-table tbody tr.challenge-suggestion-found:hover { background: #e2f1eb; }
.challenge-suggestion-found td:first-child { border-left: 4px solid var(--accent); padding-left: 7px; }
.challenge-suggestion-found td:nth-child(6) { color: var(--accent); font-weight: 800; }
.challenge-suggestions .table-primary a { color: inherit; }
.challenge-type-table { min-width:650px !important; }
.challenge-type-presence { text-align:center; }
.challenge-type-presence .cache-type-icon { display:block; margin:auto; }
.challenge-social-country-table { min-width: 320px !important; }
.challenge-decathlon-summary { margin: 0 0 9px; color: var(--muted); }
.challenge-decathlon-summary strong { color: var(--ink); }
.challenge-decathlon-legend { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; color: var(--muted); font-size: 12px; }
.challenge-decathlon-legend span { display: inline-grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 900; }
.challenge-decathlon-table { width: 100%; min-width: 0 !important; }
.challenge-decathlon-table th, .challenge-decathlon-table td { width: 41px; min-width: 41px; padding: 5px; text-align: center; vertical-align: middle; }
.challenge-decathlon-table th:first-child { position: sticky; left: 0; z-index: 2; width: 112px; min-width: 112px; text-align: left; background: var(--paper); box-shadow: 1px 0 0 var(--line); }
.challenge-decathlon-table thead th:first-child { z-index: 3; background: var(--accent); color: #fff; }
.challenge-decathlon-type { display: grid; place-items: center; }
.challenge-decathlon-type .cache-type-icon { width: 27px; height: 27px; }
.challenge-decathlon-type-counted .cache-type-icon { border-radius: 50%; box-shadow: 0 0 0 3px #f2c14e; }
.challenge-decathlon-table th.challenge-decathlon-country-counted { padding-left: 11px; box-shadow: inset 4px 0 0 var(--accent), 1px 0 0 var(--line); }
.challenge-decathlon-hit { background: #e2f1eb; font-size: 18px; font-weight: 900; }
.challenge-decathlon-counted { background: #c7e7da; }
.challenge-decathlon-counted span[aria-hidden="true"] { display: inline-grid; place-items: center; width: 27px; height: 27px; margin: auto; border-radius: 50%; background: var(--accent); color: #fff; }
.challenge-decathlon-empty { color: #aaa198; }
@media (max-width: 750px) {
    .challenge-suggestions { width: calc(100vw - 52px); }
    .challenge-calendar-cache-list li { grid-template-columns: 82px minmax(0, 1fr); }
    .challenge-calendar-cache-list .status { grid-column: 2; justify-self: start; }
}
.challenge-found,
.challenge-qualified-unfound,
.challenge-pending { grid-column: 1 / -1; }
.challenge-found h3,
.challenge-qualified-unfound h3,
.challenge-pending h3 { margin-bottom: 10px; }
