.frequency-page .page-content {
  padding-bottom: 2rem;
}

.frequency-dashboard__period {
  color: var(--ictus-lead);
  font-size: .82rem;
  font-weight: 700;
  margin: .2rem 0 0;
}

.frequency-dashboard__chart--line {
  min-height: 286px;
}

.frequency-dashboard__bars {
  display: grid;
  gap: .65rem;
  padding-top: .35rem;
}

.frequency-dashboard__bar-row {
  align-items: center;
  display: grid;
  gap: .55rem;
  grid-template-columns: 92px minmax(0, 1fr) 54px;
}

.frequency-dashboard__bar-row span,
.frequency-dashboard__bar-row strong {
  color: var(--ictus-lead);
  font-size: .74rem;
  font-weight: 900;
}

.frequency-dashboard__bar-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.frequency-dashboard__bar-row strong {
  color: var(--ictus-graphite);
  text-align: right;
}

.frequency-dashboard__bar-row div {
  background: #f1f4f9;
  border-radius: 999px;
  height: 16px;
  overflow: hidden;
}

.frequency-dashboard__bar-row i {
  border-radius: inherit;
  display: block;
  height: 100%;
  min-width: 0;
}

.entity-list--frequency {
  border-color: var(--ictus-border);
  box-shadow: 0 3px 12px rgba(31, 45, 61, .04);
  container: frequency-list / inline-size;
}

/* Let the input use the remaining space instead of wrapping at its preferred width. */
@media (min-width: 768px) {
  .frequency-page #frequency-search-panel {
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: .75rem;
  }

  .frequency-page #frequency-search-panel > .visitors-list-page__toolbar-filters {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    width: auto;
  }

  .frequency-page #frequency-search-panel > .entity-list__search {
    flex: 1 1 0;
    flex-wrap: nowrap;
    min-width: 0;
    width: auto;
  }

  .frequency-page .frequency-search-submit { flex-shrink: 0; }

  /* Based on the card's width: also works with the desktop sidebar and zoom. */
  @container frequency-list (max-width: 60rem) {
    .frequency-page #frequency-search-panel .entity-list__filter-control > .btn {
      justify-content: center;
      padding: 0;
      position: relative;
      height: 42px;
      width: 42px;
    }

    .frequency-page #frequency-search-panel .entity-list__filter-control > .btn > span:not(.badge),
    .frequency-page #frequency-search-panel .entity-list__filter-control > .btn::after { display: none; }

    .frequency-page #frequency-search-panel .entity-list__filter-control .badge {
      align-items: center;
      border: 2px solid var(--ictus-white);
      border-radius: 999px;
      display: inline-flex;
      font-size: .59rem;
      height: 19px;
      justify-content: center;
      min-width: 19px;
      padding: 0 3px;
      position: absolute;
      right: -5px;
      top: -5px;
    }
  }
}

.entity-list__table-wrap--frequency {
  border: 0;
  border-radius: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.entity-list__columns--frequency,
.entity-list__row--frequency,
.entity-list__skeleton-row--frequency {
  display: grid;
  grid-template-columns: 112px 190px 106px 116px 116px 118px 106px 122px 190px 118px;
  min-width: 1294px;
  gap: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
}

.frequency-page .visitors-list-page__tab-panel--visitors { padding: 0; border-radius: 0 0 10px 10px; overflow: hidden; }
.frequency-presence-body > nav { padding: 0 1rem; }
.frequency-presence-body > .alert { margin: .75rem 1rem; }
.frequency-date-block { min-width: 1294px; }
.frequency-date-group { background: var(--ictus-cyan-mist); color: var(--ictus-ocean); border-bottom: 1px solid var(--ictus-cyan-light); padding: .7rem .85rem; min-height: 58px; }
.frequency-date-group > span { display: flex; flex-direction: column; gap: .18rem; }
.frequency-date-group strong { font-size: .85rem; }
.frequency-date-group small { font-size: .72rem; color: var(--ictus-lead); }
.frequency-date-group__weekday { font-weight: 500; }
.frequency-list__sort { display: inline-flex; align-items: center; gap: .4rem; background: none; border: 0; padding: 0; text-align: left; font: inherit; color: inherit; text-transform: inherit; }
.frequency-list__sort i { flex-shrink: 0; font-size: .8rem; }
.frequency-list__sort.is-active { color: var(--ictus-ocean); }
.frequency-list__sort:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: 3px; }
.frequency-list__sort:disabled { cursor: wait; opacity: .65; }
.frequency-list__celebration { color: var(--ictus-ocean); background: var(--ictus-cyan-mist); border: 1px solid var(--ictus-cyan-light); border-radius: 20px; padding: .25rem .55rem; font-size: .75rem; }
.frequency-list__count { background: var(--ictus-screen); color: var(--ictus-lead); border-radius: 6px; padding: .2rem .5rem; min-width: 30px; text-align: center; }
.frequency-list__total { color: var(--ictus-ocean); font-size: .9rem; }
#main.frequency-page .entity-list__columns--frequency { display: grid; }
.entity-list__columns--frequency > span:nth-child(n+3):nth-child(-n+8), .entity-list__row--frequency > span:nth-child(n+3):nth-child(-n+8) { justify-content: flex-end; font-variant-numeric: tabular-nums; }
.entity-list__columns--frequency > span:last-child, .entity-list__row--frequency > span:last-child { justify-content: flex-end; }
.frequency-records__table { width: 100%; border-collapse: collapse; background: var(--ictus-white); color: var(--ictus-graphite); font-size: .8rem; }
.frequency-records__table th { background: var(--ictus-screen); color: var(--ictus-lead); text-transform: uppercase; font-size: .68rem; }
.frequency-records__table th, .frequency-records__table td { padding: .7rem .8rem; border-bottom: 1px solid var(--ictus-border); }
.frequency-records__table .frequency-records__actions { justify-content: flex-end; }
.frequency-records__person { display: inline-flex; align-items: center; gap: .55rem; }
.frequency-records__person img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.frequency-records__person strong, .frequency-records__person small { display: block; }
.frequency-records__person small { color: var(--ictus-lead); font-size: .7rem; margin-top: .15rem; }
.frequency-records__notes { max-width: 320px; white-space: pre-wrap; overflow-wrap: anywhere; }
body.theme-dark .frequency-date-group { background: rgba(var(--ictus-cyan-rgb), .14); color: var(--ictus-cyan-light); border-color: var(--ictus-dark-border); }
body.theme-dark .frequency-date-group small, body.theme-dark .frequency-records__person small { color: var(--ictus-dark-muted); }
body.theme-dark .frequency-list__sort.is-active, body.theme-dark .frequency-list__total { color: var(--ictus-cyan-light); }
body.theme-dark .frequency-list__celebration { background: rgba(var(--ictus-cyan-rgb), .12); color: var(--ictus-cyan-light); border-color: var(--ictus-dark-border); }
body.theme-dark .frequency-list__count, body.theme-dark .frequency-records__table th { background: var(--ictus-dark-surface-hover); color: var(--ictus-dark-muted); }
body.theme-dark .frequency-records__table { background: var(--ictus-dark-surface); color: var(--ictus-white); }
body.theme-dark .frequency-records__table th, body.theme-dark .frequency-records__table td { border-color: var(--ictus-dark-border); }

.entity-list__columns--frequency {
  background: #f7f8fb;
  border-bottom: 1px solid var(--ictus-border);
  color: var(--ictus-lead);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  position: sticky;
  text-transform: uppercase;
  top: 0;
  z-index: 3;
}

.entity-list__columns--frequency > span,
.entity-list__row--frequency > span,
.entity-list__skeleton-row--frequency > span {
  align-items: center;
  border-right: 1px solid #edf0f5;
  display: flex;
  min-width: 0;
  overflow: hidden;
  padding: .65rem .75rem;
}

.entity-list__columns--frequency > span:last-child,
.entity-list__row--frequency > span:last-child,
.entity-list__skeleton-row--frequency > span:last-child {
  border-right: 0;
}

.entity-list__row--frequency {
  background: #fff;
  border-bottom: 1px solid #edf0f5;
  color: var(--ictus-graphite);
  font-size: .78rem;
  font-weight: 700;
  min-height: 58px;
  transition: background-color .15s ease;
}

.entity-list__row--frequency:hover {
  background: #f9faff;
}

.entity-list__row--frequency.is-expandable {
  cursor: pointer;
}

.entity-list__row--frequency > span {
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entity-list__row--frequency strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entity-list__skeleton-row--frequency {
  background: #fff;
  border-bottom: 1px solid #edf0f5;
  min-height: 58px;
}

.entity-list__skeleton-row--frequency > span {
  min-height: 58px;
  position: relative;
}

.entity-list__skeleton-row--frequency > span::before {
  animation: visitor-dashboard-loading 1.1s ease-in-out infinite;
  background: #e9edf4;
  border-radius: 999px;
  content: '';
  display: block;
  height: 14px;
  width: 78%;
}

.frequency-list__actions,
.frequency-records__actions {
  align-items: center;
  display: flex;
  gap: .4rem;
}

.frequency-list__actions .btn,
.frequency-records__actions .btn {
  align-items: center;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}

.frequency-records {
  background: #fbfcff;
  border-bottom: 1px solid #edf0f5;
  display: grid;
  gap: .75rem;
  padding: .85rem 1rem 1rem;
}

.frequency-records__header {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .75rem;
  justify-content: space-between;
}

.frequency-records__header strong {
  color: var(--ictus-graphite);
  font-size: .86rem;
  font-weight: 900;
}

.frequency-records__header small {
  color: var(--ictus-lead);
  font-size: .74rem;
  font-weight: 700;
}

.frequency-records__item {
  align-items: center;
  background: #fff;
  border: 1px solid var(--ictus-border);
  border-radius: 8px;
  display: grid;
  gap: .8rem;
  grid-template-columns: minmax(190px, 1fr) minmax(240px, 1.1fr) minmax(140px, .9fr) auto;
  padding: .75rem .85rem;
}

.frequency-records__item > div:first-child {
  min-width: 0;
}

.frequency-records__item span,
.frequency-records__item small {
  color: var(--ictus-lead);
  display: block;
  font-size: .72rem;
  font-weight: 800;
}

.frequency-records__item strong {
  color: var(--ictus-graphite);
  display: block;
  font-size: .92rem;
  font-weight: 900;
  margin: .12rem 0;
}

.frequency-records__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.frequency-records__metrics span {
  background: #f6f8fc;
  border: 1px solid var(--ictus-border);
  border-radius: 999px;
  display: inline-flex;
  gap: .3rem;
  min-height: 26px;
  padding: .3rem .6rem;
}

.frequency-records__metrics strong {
  display: inline;
  font-size: inherit;
  margin: 0;
}

.frequency-records__item p {
  color: #4f5d75;
  font-size: .78rem;
  font-weight: 700;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entity-list__state--compact {
  border: 0;
  font-size: .78rem;
  margin: 0 .75rem .4rem;
  min-height: auto;
  padding: .4rem 0;
  text-align: left;
}

.frequency-counter-page {
  background: #f5f7fb;
  min-height: 100vh;
}

.frequency-counter-shell {
  align-content: start;
  box-sizing: border-box;
  display: grid;
  gap: 1rem;
  margin: 0 auto;
  max-width: 520px;
  min-height: 100vh;
  padding: 1rem;
  width: 100%;
}

.frequency-counter-header {
  align-items: center;
  display: flex;
  gap: .8rem;
  padding: .4rem 0 .2rem;
  position: relative;
}

.frequency-counter-header--authenticated {
  align-items: flex-start;
}

.frequency-counter-header--login {
  display: grid;
  gap: .9rem;
  justify-items: center;
  padding: 1.2rem 0 .6rem;
  text-align: center;
}

.frequency-counter-login-logo {
  align-items: center;
  background: #fff;
  border: 1px solid var(--ictus-border);
  border-radius: 8px;
  display: inline-flex;
  flex: 0 0 64px;
  height: 48px;
  justify-content: center;
  padding: .35rem;
  width: 64px;
}

.frequency-counter-header--login .frequency-counter-login-logo {
  flex: none;
  height: 100px;
  max-width: 58vw;
  padding: .75rem 1rem;
  width: 152px;
}

.frequency-counter-login-logo img {
  display: block;
  max-height: 38px;
  max-width: 100%;
  object-fit: contain;
}

.frequency-counter-menu-button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--ictus-border);
  border-radius: 8px;
  color: var(--ictus-graphite);
  display: inline-flex;
  flex: 0 0 44px;
  font-size: 1.35rem;
  height: 44px;
  justify-content: center;
  padding: 0;
  width: 44px;
}

.frequency-counter-menu-button:focus-visible,
.frequency-counter-counter:focus-visible,
.frequency-counter-mode__option:focus-visible,
.frequency-counter-user-menu__logout:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--ictus-cyan-rgb), .3);
  outline: 2px solid var(--ictus-ocean);
  outline-offset: 2px;
}

.frequency-counter-user-menu {
  flex: 0 0 auto;
  position: relative;
  z-index: 10;
}

.frequency-counter-user-menu__panel {
  background: #fff;
  border: 1px solid var(--ictus-border);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(31, 45, 61, .14);
  display: grid;
  gap: .8rem;
  left: 0;
  min-width: 240px;
  padding: .85rem;
  position: absolute;
  top: calc(100% + .55rem);
}

.frequency-counter-user-menu__user {
  display: grid;
  gap: .2rem;
  min-width: 0;
}

.frequency-counter-user-menu__user strong,
.frequency-counter-user-menu__user span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.frequency-counter-user-menu__user strong {
  color: var(--ictus-graphite);
  font-size: .9rem;
  font-weight: 900;
}

.frequency-counter-user-menu__user span {
  color: var(--ictus-lead);
  font-size: .76rem;
  font-weight: 700;
}

.frequency-counter-user-menu__logout {
  align-items: center;
  background: transparent;
  border: 0;
  border-top: 1px solid #edf0f5;
  color: var(--ictus-critical-text);
  display: inline-flex;
  font-size: .86rem;
  font-weight: 900;
  gap: .45rem;
  justify-content: flex-start;
  padding: .75rem 0 0;
  text-align: left;
}

.frequency-counter-title {
  min-width: 0;
}

.frequency-counter-header--login .frequency-counter-title {
  display: grid;
  gap: .25rem;
  justify-items: center;
  width: 100%;
}

.frequency-counter-header span {
  color: var(--ictus-lead);
  display: block;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.frequency-counter-header h1 {
  color: var(--ictus-graphite);
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.15;
  margin: .2rem 0 0;
}

.frequency-counter-header--login .frequency-counter-login-logo img {
  max-height: 78px;
}

.frequency-counter-header--login h1 {
  margin-top: 0;
  max-width: 280px;
}

.frequency-counter-panel,
.frequency-counter-workspace {
  align-self: start;
  background: #fff;
  border: 1px solid var(--ictus-border);
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(31, 45, 61, .06);
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  width: 100%;
}

.frequency-counter-panel > *,
.frequency-counter-workspace > * {
  max-width: 100%;
  min-width: 0;
}

.frequency-counter-panel__heading {
  align-items: center;
  display: flex;
  gap: .85rem;
}

.frequency-counter-panel__heading > i,
.frequency-counter-panel--blocked > i {
  align-items: center;
  background: var(--ictus-cyan-mist);
  border-radius: 8px;
  color: var(--ictus-ocean);
  display: inline-flex;
  flex: 0 0 44px;
  font-size: 1.25rem;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.frequency-counter-panel h2,
.frequency-counter-panel__heading h2 {
  color: var(--ictus-graphite);
  font-size: 1rem;
  font-weight: 900;
  margin: 0;
}

.frequency-counter-panel p,
.frequency-counter-panel__heading p {
  color: var(--ictus-lead);
  font-size: .82rem;
  font-weight: 700;
  margin: .15rem 0 0;
}

.frequency-counter-panel--blocked {
  align-items: start;
  justify-items: start;
}

.frequency-counter-panel--blocked h2,
.frequency-counter-panel--blocked p {
  overflow-wrap: anywhere;
  white-space: normal;
}

.frequency-counter-panel--blocked .btn {
  justify-self: start;
  max-width: 100%;
  white-space: normal;
}

.frequency-counter-input {
  min-height: 48px;
  min-width: 0;
  width: 100%;
}

.frequency-counter-submit,
.frequency-counter-save,
.frequency-counter-reset {
  min-height: 50px;
  width: 100%;
}

.frequency-counter-loading {
  align-items: center;
  color: var(--ictus-lead);
  display: inline-flex;
  font-size: .86rem;
  font-weight: 800;
  gap: .5rem;
}

.frequency-counter-form,
.frequency-counter-form > fieldset {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.frequency-counter-notice {
  padding: .85rem 1rem;
  border: 1px solid var(--ictus-border);
  border-left: 3px solid var(--ictus-cyan, #30bcd5);
  border-radius: 12px;
  font-size: .9rem;
  color: var(--ictus-lead);
}
.frequency-counter-result {
  padding: clamp(1rem, 4vw, 2rem);
  text-align: center;
  border: 0;
  background: transparent;
  color: var(--ictus-lead);
}
.frequency-counter-result__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #e0f4ec;
  color: #157953;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.frequency-counter-result h2 { font-size: 1.4rem; color: var(--ictus-midnight); }
.frequency-counter-result p { margin: .65rem 0 1rem; }
.frequency-counter-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 1.5rem 0; }
.frequency-counter-totals > div { border-radius: 12px; padding: 1rem .25rem; background: var(--ictus-muted-bg, #f2f5f8); }
.frequency-counter-totals strong { display: block; font-size: 1.8rem; color: var(--ictus-midnight); }
.frequency-counter-totals span { font-size: .8rem; }
.frequency-counter-result--review .frequency-counter-result__icon { background: #e0f5fa; color: #04578b; }
.frequency-counter-comparison { width: 100%; margin: 1.5rem 0; border-collapse: collapse; }
.frequency-counter-comparison th, .frequency-counter-comparison td { padding: .8rem .4rem; border-bottom: 1px solid var(--ictus-border); text-align: right; }
.frequency-counter-comparison th:first-child { text-align: left; }
.frequency-counter-comparison tbody tr:last-child { font-weight: 800; }
.frequency-counter-review-actions { display: grid; gap: .75rem; }
.frequency-counter-result .btn { display: inline-flex; gap: .4rem; align-items: center; justify-content: center; }
.frequency-counter-form fieldset:disabled .frequency-counter-counter { opacity: .65; cursor: wait; }
body.theme-dark .frequency-counter-result { color: var(--ictus-dark-muted); }
body.theme-dark .frequency-counter-notice { color: var(--ictus-dark-muted); border-color: var(--ictus-dark-border); border-left-color: var(--ictus-cyan); }
body.theme-dark .frequency-counter-comparison th, body.theme-dark .frequency-counter-comparison td { border-color: var(--ictus-dark-border); }
body.theme-dark .frequency-counter-result h2,
body.theme-dark .frequency-counter-totals strong { color: #e5f4ff; }
body.theme-dark .frequency-counter-totals > div { background: #1e3047; }
body.theme-dark .frequency-counter-result .btn-outline-secondary { color: #d6e6f2; border-color: #72849a; }
body.theme-dark .frequency-counter-result .btn-link { color: var(--ictus-cyan-light); }
@media (prefers-reduced-motion: no-preference) {
  .frequency-counter-result { animation: counter-result-in .22s ease-out; }
  @keyframes counter-result-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
}

.frequency-counter-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.frequency-counter-grid > .form-group {
  min-width: 0;
}

.frequency-counter-grid--date-celebration {
  gap: .65rem;
  grid-template-columns: minmax(124px, .8fr) minmax(0, 1.2fr);
}

.frequency-counter-mode {
  background: #f1f4f9;
  border: 1px solid var(--ictus-border);
  border-radius: 8px;
  display: grid;
  gap: .25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: .25rem;
}

.frequency-counter-mode__option {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--ictus-lead);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 900;
  gap: .4rem;
  justify-content: center;
  min-height: 42px;
  min-width: 0;
  padding: .45rem .55rem;
}

.frequency-counter-mode__option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.frequency-counter-mode__option.is-active {
  background: #fff;
  box-shadow: 0 4px 14px rgba(31, 45, 61, .08);
  color: var(--ictus-graphite);
}

.frequency-counter-counter {
  align-items: center;
  background: var(--ictus-graphite);
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: grid;
  gap: .8rem;
  justify-items: center;
  min-height: 286px;
  padding: 1.8rem 1rem;
  text-align: center;
  touch-action: manipulation;
  user-select: none;
}

.frequency-counter-counter.is-kids {
  background: var(--ictus-blue);
}

.frequency-counter-counter span {
  color: rgba(255, 255, 255, .72);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.frequency-counter-counter strong {
  font-size: 5.4rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
}

.frequency-counter-tap {
  align-items: center;
  background: var(--ictus-healthy-fill);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 2.2rem;
  height: 76px;
  justify-content: center;
  pointer-events: none;
  transition: transform .12s ease, background-color .12s ease;
  width: 76px;
}

.frequency-counter-tap:active {
  transform: scale(.97);
}

.frequency-counter-tap:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.frequency-counter-number-input {
  font-size: 1.15rem;
  font-weight: 900;
  text-align: center;
}

.frequency-counter-actions {
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

body.theme-dark .frequency-dashboard__period,
body.theme-dark .frequency-dashboard__bar-row span {
  color: var(--ictus-dark-muted);
}

body.theme-dark .frequency-dashboard__bar-row strong,
body.theme-dark .frequency-records__header strong,
body.theme-dark .frequency-records__item strong {
  color: var(--ictus-screen);
}

body.theme-dark .frequency-dashboard__bar-row div {
  background: var(--ictus-dark-surface);
}

body.theme-dark .entity-list__table-wrap--frequency,
body.theme-dark .frequency-records__item,
body.theme-dark .frequency-records__metrics span {
  border-color: var(--ictus-dark-border);
}

body.theme-dark .entity-list__columns--frequency {
  background: var(--ictus-midnight);
  border-bottom-color: var(--ictus-dark-border);
  color: var(--ictus-dark-muted);
}

body.theme-dark .entity-list__columns--frequency > span,
body.theme-dark .entity-list__row--frequency > span,
body.theme-dark .entity-list__skeleton-row--frequency > span {
  border-right-color: var(--ictus-dark-border);
}

body.theme-dark .entity-list__row--frequency,
body.theme-dark .entity-list__skeleton-row--frequency,
body.theme-dark .frequency-records__item {
  background: var(--ictus-midnight);
  border-bottom-color: var(--ictus-dark-border);
  color: var(--ictus-screen);
}

body.theme-dark .entity-list__row--frequency:hover {
  background: #232337;
}

body.theme-dark .frequency-records {
  background: var(--ictus-dark-surface-hover);
  border-bottom-color: var(--ictus-dark-border);
}

body.theme-dark .frequency-records__header small,
body.theme-dark .frequency-records__item span,
body.theme-dark .frequency-records__item small,
body.theme-dark .frequency-records__item p {
  color: var(--ictus-dark-muted);
}

body.theme-dark .frequency-records__metrics span {
  background: var(--ictus-midnight);
}

body.theme-dark .frequency-counter-page {
  background: #11111f;
}

body.theme-dark .frequency-counter-back,
body.theme-dark .frequency-counter-login-logo,
body.theme-dark .frequency-counter-menu-button,
body.theme-dark .frequency-counter-user-menu__panel,
body.theme-dark .frequency-counter-panel,
body.theme-dark .frequency-counter-workspace {
  background: var(--ictus-midnight);
  border-color: var(--ictus-dark-border);
  color: var(--ictus-screen);
}

body.theme-dark .frequency-counter-header h1,
body.theme-dark .frequency-counter-user-menu__user strong,
body.theme-dark .frequency-counter-panel h2,
body.theme-dark .frequency-counter-panel__heading h2 {
  color: var(--ictus-screen);
}

body.theme-dark .frequency-counter-header span,
body.theme-dark .frequency-counter-user-menu__user span,
body.theme-dark .frequency-counter-panel p,
body.theme-dark .frequency-counter-panel__heading p,
body.theme-dark .frequency-counter-loading {
  color: var(--ictus-dark-muted);
}

body.theme-dark .frequency-counter-menu-button {
  color: var(--ictus-screen);
}

body.theme-dark .frequency-counter-user-menu__logout {
  border-top-color: var(--ictus-dark-border);
  color: #ff9f9f;
}

body.theme-dark .frequency-counter-mode {
  background: var(--ictus-midnight);
  border-color: var(--ictus-dark-border);
}

body.theme-dark .frequency-counter-mode__option {
  color: var(--ictus-dark-muted);
}

body.theme-dark .frequency-counter-mode__option.is-active {
  background: #2b2b42;
  color: var(--ictus-screen);
}

body.theme-dark .frequency-counter-panel__heading > i,
body.theme-dark .frequency-counter-panel--blocked > i {
  background: var(--ictus-dark-surface);
  color: #dfe4ff;
}

body.theme-dark .frequency-counter-counter {
  background: var(--ictus-midnight);
}

body.theme-dark .frequency-counter-counter.is-kids {
  background: #30365f;
}

@media screen and (max-width: 1199px) {
  .frequency-records__item {
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) auto;
  }

  .frequency-records__item p {
    grid-column: 1 / -1;
    white-space: normal;
  }
}

#main.frequency-page .frequency-mobile-search-toggle,
#main.frequency-page .frequency-mobile-notification { display: none; }
.frequency-page__tab-icon { display: none; }

/* Keep the tablet header on one line so it does not cover the compact toolbar. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #main.frequency-page .visitors-list-page__title-row,
  #main.frequency-page .visitors-list-page__header-actions { align-items: center; flex-direction: row; }
  #main.frequency-page .visitors-list-page__header-actions { flex: 0 0 auto; width: auto; }
  #main.frequency-page .visitors-list-page__header-actions .btn { flex: 0 0 40px; width: 40px; height: 40px; padding: 0; justify-content: center; }
  #main.frequency-page .visitors-list-page__header-actions .btn > span { display: none; }
}

@media screen and (max-width: 767.98px) {
  body #main.frequency-page .page-content { margin-top: 120px; padding-top: 12px; }
  #main.frequency-page .page-heading.fixed-top { padding: 10px 12px; border-bottom: 0; box-shadow: none !important; height: 60px; z-index: 990; }
  #main.frequency-page .frequency-page__tabs {
    background: var(--ictus-blue);
    border: 0;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(var(--ictus-midnight-rgb), .12);
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    height: 60px;
    left: 0;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    padding: 0 4px;
    position: fixed;
    right: 0;
    scrollbar-width: none;
    top: 60px;
    width: 100%;
    z-index: 989;
  }
  body.theme-dark #main.frequency-page .frequency-page__tabs { background: var(--ictus-midnight); }
  #main.frequency-page .frequency-page__tabs::-webkit-scrollbar { display: none; }
  #main.frequency-page .frequency-page__tabs .visitors-list-page__tab {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    box-shadow: none;
    color: var(--ictus-white);
    display: flex;
    flex: 1 0 60px;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    margin: 0;
    min-height: 60px;
    min-width: 0;
    opacity: .78;
    padding: 6px 5px;
    text-decoration: none;
  }
  #main.frequency-page .frequency-page__tab-icon { color: inherit; display: inline-block; font-size: 19px; line-height: 1; margin: 0; }
  #main.frequency-page .frequency-page__tabs .visitors-list-page__tab span { color: inherit; font-size: 10px; line-height: 1.2; white-space: nowrap; }
  #main.frequency-page .frequency-page__tabs .visitors-list-page__tab::after { box-shadow: none; content: none; display: none; }
  #main.frequency-page .frequency-page__tabs .visitors-list-page__tab.is-active { background: transparent; border-bottom-color: var(--ictus-cyan-light); color: var(--ictus-white); opacity: 1; }
  #main.frequency-page .frequency-page__tabs .visitors-list-page__tab:not(.is-active):hover { color: var(--ictus-white); opacity: 1; }
  #main.frequency-page .frequency-page__tabs .visitors-list-page__tab:focus-visible { outline: 2px solid var(--ictus-cyan-light); outline-offset: -4px; }
  #main.frequency-page .visitors-list-page__title-row { gap: 4px; }
  #main.frequency-page .visitors-list-page__title-copy { min-width: 0; gap: 6px; }
  #main.frequency-page .visitors-list-page__title-copy > div { min-width: 0; }
  #main.frequency-page .visitors-list-page__title-copy h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #main.frequency-page .visitors-list-page__header-actions { display: flex; flex-direction: row; flex: 0 0 auto; gap: 0; margin: 0; }
  body #main.frequency-page .page-heading.fixed-top .frequency-mobile-notification { display: flex; position: relative; margin: 0; }
  #main.frequency-page .visitors-list-page__header-actions .mobile-header__icon-button,
  #main.frequency-page .frequency-mobile-notification a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; }
  #main.frequency-page #frequency-search-panel { display: none; }
  #main.frequency-page #frequency-search-panel.is-open { display: flex; }
  #main.frequency-page .frequency-search-submit { min-width: 44px; }

  .frequency-page .visitors-list-page__header-actions {
    width: auto;
  }

  .frequency-page .visitors-list-page__header-actions .btn {
    width: 40px;
  }

  .frequency-records__item {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .frequency-records__actions {
    justify-content: flex-end;
    width: 100%;
  }

  .frequency-dashboard__bar-row {
    grid-template-columns: 82px minmax(0, 1fr) 46px;
  }

  .frequency-counter-shell {
    padding: .85rem;
  }

  .frequency-counter-panel--blocked .btn {
    width: 100%;
  }

  .frequency-counter-grid,
  .frequency-counter-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .frequency-counter-grid--date-celebration {
    gap: .5rem;
    grid-template-columns: minmax(50%, 50%) minmax(0, 1.22fr);
  }

  .frequency-counter-counter {
    min-height: 300px;
    padding: 1.55rem .85rem;
  }

  .frequency-counter-counter strong {
    font-size: 4.7rem;
  }

  .frequency-counter-tap {
    height: 88px;
    width: 88px;
  }
}
