.kids-list-page { --kids-surface: var(--ictus-surface); --kids-soft: var(--ictus-screen); --kids-line: var(--ictus-border); --kids-ink: var(--ictus-blue); --kids-muted: var(--ictus-lead); --kids-row-bg: var(--ictus-white); }
body.theme-dark .kids-list-page { --kids-surface: var(--ictus-dark-surface); --kids-soft: var(--ictus-midnight); --kids-line: var(--ictus-dark-border); --kids-ink: var(--ictus-white); --kids-muted: var(--ictus-dark-muted); --kids-row-bg: var(--ictus-dark-surface); }

.kids-tabs-toolbar { display: flex; align-items: center; gap: 12px; min-width: 0; border-bottom: 1px solid var(--kids-line); background: var(--kids-surface); }
.kids-tabs-toolbar > .visitors-list-page__tabs { flex: 1; min-width: 0; border-bottom: 0; overflow-x: auto; }
.kids-tabs-toolbar .visitors-list-page__tab { flex-shrink: 0; white-space: nowrap; }
.kids-tab-icon { display: none; }
#main.kids-list-page .kids-mobile-action { display: none; }

.kids-children { width: 100%; }
.kids-child-row__identity { gap: 12px; }
.kids-child-row__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: var(--kids-soft); color: var(--kids-muted); font-size: 20px; }
.kids-child-row__avatar img { width: 100%; height: 100%; object-fit: cover; }
/* Rodada 29: a criança em check-in mostra, sobreposto à foto, o responsável que
   a trouxe, para identificar as duas fotos já na listagem. */
.kids-child-row__pair { position: relative; display: inline-flex; align-items: center; flex: 0 0 auto; }
.kids-child-row__pair.is-checked-in { padding-right: 10px; }
.kids-child-row__responsible { position: absolute; right: 0; bottom: -2px; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; overflow: hidden; border: 2px solid var(--kids-row-bg); background: var(--ictus-cyan); color: var(--ictus-white); font-size: 9px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.kids-child-row__responsible img { width: 100%; height: 100%; object-fit: cover; }
.kids-child-row__status { justify-self: start; }

/* Subheader mobile contínuo, no mesmo padrão de Voluntários e Eventos. */
@media (max-width: 767.98px) {
  #main.kids-list-page .page-heading.fixed-top { height: 60px; padding: 10px 20px; border-bottom: 0; }
  #main.kids-list-page .visitors-list-page__title-row { gap: 6px; }
  #main.kids-list-page .visitors-list-page__title-copy { min-width: 0; gap: 6px; }
  #main.kids-list-page .visitors-list-page__header-actions { display: flex; flex-direction: row; gap: 0; margin: 0; }
  #main.kids-list-page .visitors-list-page__header-actions > .mobile-header__icon-button,
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown,
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > button {
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
  }
  #main.kids-list-page .visitors-list-page__header-actions > .mobile-header__icon-button > i,
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > button > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin: 0;
    font-size: 20px;
    line-height: 1;
  }
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown { background: transparent; border: 0; box-shadow: none; }
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu { background-color: var(--ictus-white); color: var(--ictus-graphite); }
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item { color: var(--ictus-graphite); }
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item:is(:hover, :focus) { background-color: var(--ictus-cyan-mist); color: var(--ictus-blue); }
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item:is(:active, .active) { background-color: var(--ictus-blue); color: var(--ictus-white); }
  #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item i { color: inherit; }
  body.theme-dark #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu { background-color: var(--ictus-dark-surface); color: var(--ictus-screen); }
  body.theme-dark #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item { color: var(--ictus-screen); }
  body.theme-dark #main.kids-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item:is(:hover, :focus, :active, .active) { background-color: var(--ictus-dark-surface-hover); color: var(--ictus-cyan-light); }
  #main.kids-list-page .kids-mobile-action { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; text-decoration: none; }
  #main.kids-list-page .kids-notifications { position: relative; }
  #main.kids-list-page .kids-notifications .badge { position: absolute; top: 1px; right: 1px; margin: 0; font-size: 10px; border-radius: 50%; border: 1px solid var(--ictus-white); padding: 2px 4px; }
  #main.kids-list-page #kids-search-panel { display: none; }
  #main.kids-list-page #kids-search-panel.is-open { display: flex; }

  #main.kids-list-page .page-heading.fixed-top { z-index: 990; box-shadow: none !important; }
  #main.kids-list-page .page-content { margin-top: 120px; padding-top: 12px; }
  #main.kids-list-page .kids-tabs-toolbar { border: 0; background: transparent; }
  #main.kids-list-page .kids-tabs-toolbar > .visitors-list-page__tabs {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    z-index: 989;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    height: 60px;
    min-height: 60px;
    gap: 0;
    margin: 0;
    padding: 0 4px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background: var(--ictus-blue);
    border: 0;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(var(--ictus-midnight-rgb), .12);
  }
  body.theme-dark #main.kids-list-page .kids-tabs-toolbar > .visitors-list-page__tabs { background: var(--ictus-midnight); }
  #main.kids-list-page .visitors-list-page__tabs::-webkit-scrollbar { display: none; }
  #main.kids-list-page .visitors-list-page__tabs > .visitors-list-page__tab {
    display: flex;
    flex: 1 0 60px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    height: 60px;
    min-height: 60px;
    margin: 0;
    padding: 6px 5px;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    box-shadow: none;
    color: var(--ictus-white);
    opacity: .78;
  }
  #main.kids-list-page .visitors-list-page__tab .kids-tab-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 19px; line-height: 1; margin: 0; color: inherit; }
  #main.kids-list-page .kids-tab-icon::before { line-height: 1; vertical-align: 0; }
  #main.kids-list-page .visitors-list-page__tabs > .visitors-list-page__tab > span { font-size: 10px; font-weight: 400; line-height: 1.2; white-space: nowrap; color: inherit; }
  #main.kids-list-page .visitors-list-page__tabs > .visitors-list-page__tab::after { content: none; display: none; box-shadow: none; }
  #main.kids-list-page .visitors-list-page__tabs > .visitors-list-page__tab.is-active { opacity: 1; border-bottom-color: var(--ictus-cyan-light); }
  #main.kids-list-page .visitors-list-page__tabs > .visitors-list-page__tab:not(.is-active):hover { opacity: 1; }
  #main.kids-list-page .visitors-list-page__tabs > .visitors-list-page__tab:focus-visible { outline: 2px solid var(--ictus-cyan-light); outline-offset: -4px; }
}

@media (max-width: 359.98px) {
  #main.kids-list-page .page-heading.fixed-top { padding-left: 12px; padding-right: 12px; }
}

/* Modal premium de perfil da criança (INF-13) */
.kids-profile { border: 0; border-radius: 18px; overflow: hidden; }
.kids-profile__hero {
  position: relative;
  padding: 22px 20px 20px;
  background: linear-gradient(135deg, #002a5c 0%, #00527f 62%, #158fba 100%);
  color: var(--ictus-white);
}
/* Rodada 31: o header do perfil acompanha o gênero — rosa para menina, azul
   (padrão acima) para menino. Arquivada sempre em cinza, sobrepondo o gênero. */
.kids-profile__hero.is-girl { background: linear-gradient(135deg, #7a1e4d 0%, #b5346e 60%, #f07fb0 100%); }
.kids-profile__hero.is-archived { background: linear-gradient(135deg, #3f4a5a 0%, #6b7787 100%); }
body.theme-dark .kids-profile__hero { background: linear-gradient(135deg, #001a38 0%, #00385f 60%, #0a6f95 100%); }
body.theme-dark .kids-profile__hero.is-girl { background: linear-gradient(135deg, #2f0f24 0%, #5a1b41 60%, #942f66 100%); }
body.theme-dark .kids-profile__hero.is-archived { background: linear-gradient(135deg, #3f4a5a 0%, #6b7787 100%); }
.kids-profile__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  color: var(--ictus-white);
  font-size: 16px;
  transition: background .15s ease;
}
.kids-profile__close:is(:hover, :focus-visible) { background: rgba(255, 255, 255, .3); }
.kids-profile__identity { display: flex; align-items: center; gap: 16px; padding-right: 38px; min-width: 0; }
.kids-profile__avatar { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 84px; width: 84px; height: 84px; }
.kids-profile__avatar > img,
.kids-profile__avatar > i { display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 50%; }
.kids-profile__avatar > img { object-fit: cover; border: 3px solid rgba(255, 255, 255, .85); }
.kids-profile__avatar > i { background: rgba(255, 255, 255, .16); color: var(--ictus-white); font-size: 36px; }
.kids-profile__avatar-action {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 2px solid #002a5c;
  border-radius: 50%;
  background: var(--ictus-cyan);
  color: #002a5c;
  font-size: 14px;
  cursor: pointer;
}
.kids-profile__headline { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
/* No PC prevalece o seletor de arquivo; no mobile entram "Tirar foto" e "Galeria". */
.kids-profile__photo-actions { display: none; }
.kids-profile__eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
#modalKidsChild .kids-profile__name { margin: 0; font-size: 1.35rem; font-weight: 700; color: var(--ictus-white); overflow-wrap: anywhere; }
.kids-profile__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.kids-profile__chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .12); color: var(--ictus-white); font-size: 12px; font-weight: 500; }
.kids-profile__chip i { font-size: 13px; opacity: .95; }
.kids-profile__status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px 4px 9px; border-radius: 999px; background: rgba(255, 255, 255, .18); color: var(--ictus-white); font-size: 12px; font-weight: 700; letter-spacing: .01em; }
.kids-profile__status-dot { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74, 222, 128, .28); }
.kids-profile__status.is-archived .kids-profile__status-dot { background: #cbd5e1; box-shadow: 0 0 0 3px rgba(203, 213, 225, .24); }
.kids-profile__photo-remove { align-self: flex-start; padding: 0; color: rgba(255, 255, 255, .85); font-size: 12px; text-decoration: underline; }
.kids-profile__photo-remove:is(:hover, :focus-visible) { color: var(--ictus-white); }
.kids-profile .modal-body { display: flex; flex-direction: column; gap: 18px; padding: 18px 20px 4px; }
.kids-profile__section { display: flex; flex-direction: column; gap: 10px; }
.kids-profile__section + .kids-profile__section { padding-top: 16px; border-top: 1px solid var(--kids-line); }
.kids-profile__section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kids-profile__section-head small { display: block; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--kids-muted); }
.kids-profile__section-head h5 { margin: 2px 0 0; font-size: 1rem; font-weight: 700; color: var(--kids-ink); }
.kids-profile__count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--ictus-cyan-mist); color: var(--ictus-blue); font-size: 12px; font-weight: 700; }
body.theme-dark .kids-profile__count { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }
.kids-profile__relatives { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.kids-profile__relative { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border: 1px solid var(--kids-line); border-radius: 12px; background: var(--kids-soft); color: var(--kids-ink); text-align: left; transition: border-color .15s ease, background .15s ease; }
.kids-profile__relative:not(.is-static):is(:hover, :focus-visible) { border-color: var(--ictus-cyan); background: var(--kids-surface); }
.kids-profile__relative.is-static { cursor: default; opacity: .92; }
.kids-profile__relative-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; overflow: hidden; border-radius: 50%; background: var(--ictus-blue); color: var(--ictus-white); font-size: 13px; font-weight: 700; }
.kids-profile__relative-avatar img { width: 100%; height: 100%; object-fit: cover; }
.kids-profile__relative-copy { display: flex; flex-direction: column; min-width: 0; }
.kids-profile__relative-copy strong { font-size: .92rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kids-profile__relative-copy small { color: var(--kids-muted); font-size: .78rem; }
.kids-profile__relative-link { margin-left: auto; color: var(--kids-muted); font-size: 13px; }
.kids-profile__empty { display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px; border: 1px dashed var(--kids-line); border-radius: 12px; color: var(--kids-muted); font-size: .85rem; }
.kids-profile__empty i { font-size: 18px; }
.kids-child-form__fields { display: flex; flex-direction: column; gap: 2px; }
.kids-profile__section .form-group { margin-bottom: 10px; }
.kids-profile__section .form-group:last-child { margin-bottom: 0; }

@media (max-width: 820px) {
  .kids-profile__avatar-action { display: none; }
  .kids-profile__photo-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
  .kids-profile__photo-action { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 999px; background: rgba(255, 255, 255, .16); color: var(--ictus-white); font-size: .82rem; font-weight: 600; cursor: pointer; }
  .kids-profile__photo-action:is(:hover, :focus-visible) { background: rgba(255, 255, 255, .28); }
  .kids-profile__photo-action.is-disabled { opacity: .6; cursor: wait; }
}

@media (max-width: 575.98px) {
  .kids-profile__hero { padding: 18px 16px 16px; }
  /* No celular, foto e nome continuam lado a lado, mas os indicadores usam
     toda a largura do hero. Assim idade, nascimento, situação e gênero não
     viram uma coluna alta e difícil de percorrer. */
  .kids-profile__identity { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 5px 12px; padding-right: 0; }
  .kids-profile__avatar { flex: 0 0 68px; width: 68px; height: 68px; }
  .kids-profile__avatar > img,
  .kids-profile__avatar > i { width: 68px; height: 68px; }
  .kids-profile__avatar > i { font-size: 28px; }
  .kids-profile__headline { display: contents; }
  .kids-profile__avatar { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
  .kids-profile__eyebrow,
  #modalKidsChild .kids-profile__name { grid-column: 2; padding-right: 38px; }
  .kids-profile__eyebrow { align-self: end; }
  #modalKidsChild .kids-profile__name { align-self: start; font-size: 1.2rem; }
  .kids-profile__meta { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; width: 100%; margin-top: 5px; }
  .kids-profile__meta > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .kids-profile__chip,
  .kids-profile__status { justify-content: center; min-width: 0; padding-left: 8px; padding-right: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kids-profile__photo-actions,
  .kids-profile__photo-remove { grid-column: 1 / -1; }
  .kids-profile .modal-body { padding: 16px 16px 4px; }
}

@media (min-width: 768px) {
  #main.kids-list-page .kids-child-row .entity-list__actions,
  #main.kids-list-page .kids-children .entity-list__skeleton--action { grid-column: -2 / -1; }
}

/* Aba Famílias (INF-14) */
.kids-family-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.kids-family-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--kids-line); border-radius: 16px; background: var(--kids-surface); }
.kids-family-card__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--kids-line); background: var(--kids-soft); }
.kids-family-card__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: var(--ictus-blue); color: var(--ictus-white); font-size: 18px; }
.kids-family-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.kids-family-card__identity { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.kids-family-card__identity strong { font-size: .98rem; font-weight: 700; color: var(--kids-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kids-family-card__identity span { color: var(--kids-muted); font-size: .8rem; }
.kids-family-card__profile { margin-left: auto; white-space: nowrap; }
.kids-family-card__children { display: flex; flex-direction: column; margin: 0; padding: 6px 8px 10px; list-style: none; }
.kids-family-child { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border-radius: 12px; }
.kids-family-child + .kids-family-child { border-top: 1px solid var(--kids-line); }
.kids-family-child__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; overflow: hidden; border-radius: 50%; background: var(--ictus-cyan-mist); color: var(--ictus-blue); font-size: 16px; }
.kids-family-child__avatar img { width: 100%; height: 100%; object-fit: cover; }
.kids-family-child__copy { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.kids-family-child__copy strong { font-size: .9rem; font-weight: 600; color: var(--kids-ink); }
.kids-family-child__copy span { color: var(--kids-muted); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kids-family-child__status { flex: 0 0 auto; }
.kids-family-child__open { margin-left: auto; }
body.theme-dark .kids-family-child__avatar { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }

@media (max-width: 767.98px) {
  .kids-family-list { grid-template-columns: 1fr; }
  .kids-family-card__profile span,
  .kids-family-child__open span { display: none; }
}

/* Aba Salas (INF-15) */
.kids-room-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.kids-room-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--kids-line); border-top: 4px solid var(--ictus-cyan); border-radius: 16px; background: var(--kids-surface); cursor: pointer; box-shadow: var(--ictus-shadow-sm); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.kids-room-card:hover, .kids-room-card:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0, 35, 75, .12); border-color: var(--ictus-cyan); }
.kids-room-card:focus-visible { outline: 3px solid var(--ictus-cyan); outline-offset: 3px; }
.kids-room-card.is-archived { opacity: .72; }
@media (prefers-reduced-motion: reduce) { .kids-room-card { transition: none; } .kids-room-card:hover, .kids-room-card:focus-visible { transform: none; } }
.kids-room-card__actions { margin-left: auto; }
.kids-room-hero { position: relative; isolation: isolate; min-height: 152px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 16px 18px; background-color: var(--ictus-cyan); color: #fff; }
.kids-room-hero::before { content: ''; position: absolute; width: 200px; height: 200px; border: 34px solid rgba(255,255,255,.13); border-radius: 50%; right: -50px; top: -80px; z-index: -1; }
.kids-room-hero__image, .kids-room-hero__blend, .kids-room-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; }
.kids-room-hero__image { object-fit: cover; object-position: center; }
.kids-room-hero__blend { opacity: .4; mix-blend-mode: multiply; }
.kids-room-hero__shade { background: linear-gradient(180deg, rgba(0,25,52,.12), rgba(0,25,52,.2) 25%, rgba(0,25,52,.88) 100%); }
.kids-room-hero__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.kids-room-hero__icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 10px; background: rgba(0,25,52,.3); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.kids-room-hero__content { margin-top: 22px; min-width: 0; }
.kids-room-hero__eyebrow { display: block; text-transform: uppercase; letter-spacing: .09em; font-size: .58rem; font-weight: 700; color: rgba(255,255,255,.86); }
.kids-room-hero h4, .kids-room-hero__content > strong { display: block; color: #fff; font-size: 1.18rem; line-height: 1.3; margin: 6px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kids-room-card__capacity { display: flex; align-items: center; gap: 14px; padding: 16px 18px 0; }
.kids-room-card__ring { width: 70px; height: 70px; flex: 0 0 70px; padding: 6px; border-radius: 50%; background: var(--kids-line); }
.kids-room-card__ring > span { border-radius: 50%; display: flex; align-items: baseline; justify-content: center; padding-top: 16px; background: var(--kids-surface); width: 100%; height: 100%; color: var(--kids-ink); }
.kids-room-card__ring strong { font-size: 1.15rem; }
.kids-room-card__ring small { font-size: .62rem; }
.kids-room-card__capacity-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.kids-room-card__capacity-copy > span, .kids-room-card__capacity-copy small { font-size: .66rem; color: var(--kids-muted); }
.kids-room-card__capacity-copy > strong { font-size: .86rem; color: var(--kids-ink); }
.kids-room-card__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 18px; }
.kids-room-card__metrics > div { display: flex; flex-direction: column; text-align: center; gap: 4px; border-right: 1px solid var(--kids-line); }
.kids-room-card__metrics > div:last-child { border: 0; }
.kids-room-card__metrics strong { color: var(--kids-ink); font-size: 1.2rem; }
.kids-room-card__metrics span { color: var(--kids-muted); font-size: .65rem; }
.kids-room-card__footer { display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid var(--kids-line); padding: 12px 18px; }
.kids-room-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--kids-line); border-radius: 999px; background: var(--kids-soft); color: var(--kids-muted); font-size: .78rem; }
.kids-room-chip i { font-size: 14px; }
.kids-room-form__heading { display: flex; flex-direction: column; }
.kids-room-form__eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--kids-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.kids-room-photo-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 22px; border: 1px solid var(--kids-line); padding: 16px; border-radius: 12px; }
.kids-room-hero--preview { min-height: 190px; justify-content: flex-end; border-radius: 10px; }
.kids-room-photo-editor__controls { align-self: center; min-width: 0; color: var(--kids-muted); }
.kids-room-photo-editor__controls > strong { color: var(--kids-ink); }
.kids-room-photo-editor__controls p { font-size: .85rem; margin: 8px 0; }
.kids-room-photo-editor__controls small { font-size: .75rem; }
.kids-room-photo-editor .progress { height: 6px; }

@media (max-width: 767.98px) {
  .kids-room-list { grid-template-columns: 1fr; }
}

/* Aba Check-in (INF-20/INF-21) */
.kids-checkin { display: flex; flex-direction: column; gap: 18px; }
.kids-checkin-date { cursor: pointer; }
.kids-checkin-date__input {
  width: 8.5rem;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  box-shadow: none;
}
.kids-checkin-date__input:focus { outline: 0; box-shadow: none; }
.kids-checkin-date__input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .6; }
.kids-checkin-date:focus-within { outline: 2px solid var(--ictus-cyan-light); outline-offset: 1px; }
body.theme-dark .kids-checkin-date__input::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .8; }
.kids-checkin-form__section { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--kids-line); }
.kids-checkin-form__section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kids-checkin-form__section-head h5 { margin: 0; color: var(--kids-ink); font-size: .95rem; font-weight: 700; }
.kids-checkin__list { display: flex; flex-direction: column; gap: 12px; }
.kids-checkin__list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kids-checkin__list-head small { display: block; color: var(--kids-muted); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.kids-checkin__list-head h5 { margin: 0; color: var(--kids-ink); font-size: 1.05rem; font-weight: 700; }
.kids-checkin__count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--ictus-cyan-mist); color: var(--ictus-blue); font-size: 12px; font-weight: 700; }
.kids-checkin__cards { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.kids-checkin-card { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-surface); cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.kids-checkin-card:hover { border-color: var(--ictus-cyan); box-shadow: 0 6px 16px rgba(23, 43, 77, .08); transform: translateY(-1px); }
.kids-checkin-card:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: 2px; }
.kids-checkin-card__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border-radius: 14px; background: var(--kids-soft); color: var(--kids-muted); font-size: 20px; }
.kids-checkin-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.kids-checkin-card__copy { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.kids-checkin-card__copy strong { overflow: hidden; color: var(--kids-ink); font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.kids-checkin-card__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
/* A celebração usa o mesmo rótulo da Central do visitante; a sala usa a cor
   configurada da sala (aplicada via ng-style no template). */
.kids-checkin-room-pill { border: 1px solid rgba(0, 0, 0, .12); }
.kids-checkin-card__responsible { display: inline-flex; align-items: center; gap: 4px; color: var(--kids-muted); font-size: .8rem; }
.kids-checkin-card__meta { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.kids-checkin-card__time { display: inline-flex; align-items: center; gap: 6px; color: var(--kids-muted); font-size: .82rem; }

.kids-checkin-detail-hero { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-soft); }
.kids-checkin-detail-hero__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 52px; width: 52px; height: 52px; overflow: hidden; border-radius: 16px; background: var(--kids-surface); color: var(--kids-muted); font-size: 24px; }
.kids-checkin-detail-hero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.kids-checkin-detail-hero__copy { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.kids-checkin-detail-hero__copy strong { color: var(--kids-ink); font-size: 1.05rem; }
.kids-checkin-detail-hero__copy span { color: var(--kids-muted); font-size: .82rem; }
.kids-checkin-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; }
.kids-checkin-detail-list__item { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--kids-line); border-radius: 12px; background: var(--kids-surface); }
.kids-checkin-detail-list__item dt { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--kids-muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.kids-checkin-detail-list__item dd { margin: 0; color: var(--kids-ink); font-size: .92rem; }
.kids-checkin-detail-list__item dd small { display: block; color: var(--kids-muted); font-size: .72rem; }
.kids-checkin-detail-checkout { margin-top: 16px; padding: 14px; border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-surface); }
.kids-checkin-detail-checkout__head h5 { margin: 0 0 2px; color: var(--kids-ink); font-size: 1rem; font-weight: 700; }
.kids-checkin-detail-checkout__head p { margin: 0 0 10px; color: var(--kids-muted); font-size: .82rem; }
.kids-checkin-detail-checkout__hint { color: var(--kids-muted); font-size: .78rem; }
.kids-checkin-detail-responsible { margin-top: 16px; }
.kids-checkin-detail-responsible__head h5 { margin: 0 0 2px; color: var(--kids-ink); font-size: 1rem; font-weight: 700; }
.kids-checkin-detail-responsible__head p { margin: 0 0 10px; color: var(--kids-muted); font-size: .82rem; }
.kids-checkin-detail-responsible__whatsapp { display: inline-flex; align-items: center; gap: 6px; }
body.theme-dark .kids-checkin-detail-hero { background: rgba(60, 189, 221, .12); }

.kids-history { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.kids-history__item { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-surface); }
.kids-history__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kids-history__head strong { display: inline-flex; align-items: center; gap: 6px; color: var(--kids-ink); font-size: .95rem; }
.kids-history__meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; color: var(--kids-muted); font-size: .82rem; }
.kids-history__meta span, .kids-history__times span, .kids-history__people span { display: inline-flex; align-items: center; gap: 6px; }
.kids-history__times { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--kids-muted); font-size: .82rem; }
.kids-history__times small { color: var(--kids-muted); font-size: .72rem; font-style: italic; }
.kids-history__people { display: flex; flex-direction: column; gap: 4px; color: var(--kids-muted); font-size: .8rem; }
body.theme-dark .kids-checkin__count { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }
body.theme-dark .kids-checkin-card__avatar { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }

.kids-checkin-responsible-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--kids-line);
  border-radius: 14px;
  background: var(--kids-surface);
}
.kids-checkin-responsible-card__media {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--kids-soft);
  color: var(--kids-muted);
  font-size: 20px;
}
.kids-checkin-responsible-card__media img { width: 100%; height: 100%; object-fit: cover; }
.kids-checkin-responsible-card__info { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; gap: 2px; }
.kids-checkin-responsible-card__info strong { color: var(--kids-ink); font-size: .96rem; }
.kids-checkin-responsible-card__info span { display: inline-flex; align-items: center; gap: 6px; color: var(--kids-muted); font-size: .82rem; }
.kids-checkin-responsible-form { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-soft); }
.kids-checkin-responsible-form__actions { display: flex; justify-content: flex-end; gap: 8px; }
.kids-checkin-photo { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.kids-checkin-photo__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--kids-muted); font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
.kids-checkin-photo__preview { position: relative; display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; overflow: hidden; border: 1px dashed var(--kids-line); border-radius: 16px; background: var(--kids-surface); }
.kids-checkin-photo__preview img,
.kids-checkin-photo__preview video { width: 100%; height: 100%; object-fit: cover; }
.kids-checkin-photo__placeholder { color: var(--kids-muted); font-size: 32px; }
.kids-checkin-photo__actions { display: flex; flex-wrap: wrap; gap: 8px; }
body.theme-dark .kids-checkin-responsible-card__media { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }
body.theme-dark .kids-checkin-responsible-form { background: rgba(255, 255, 255, .03); }

/* Rodada 45: modal de check-in do operador mais curto e tocável. Cabeçalho
   enxuto, resumo recolhível de data/celebração, passos numerados, criança em
   cartões e ações destacadas para uso na fila (principalmente no celular). */
.kids-checkin-modal .modal-header { align-items: flex-start; }
.kids-checkin-modal__heading { display: flex; flex-direction: column; gap: 2px; }
.kids-checkin-modal__heading .modal-title { display: inline-flex; align-items: center; gap: 8px; }
.kids-checkin-modal__subtitle { color: var(--kids-muted); font-size: .8rem; }
.kids-checkin-form__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  border-radius: 999px;
  background: var(--ictus-cyan-mist);
  color: var(--ictus-blue);
  font-size: .72rem;
  font-weight: 700;
}
.kids-checkin-when { border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-soft); overflow: hidden; }
.kids-checkin-when__summary { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; background: transparent; text-align: left; }
.kids-checkin-when__summary:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: -2px; }
.kids-checkin-when__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 12px; background: var(--kids-surface); color: var(--ictus-blue); font-size: 18px; }
.kids-checkin-when__text { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.kids-checkin-when__text strong { overflow: hidden; color: var(--kids-ink); font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.kids-checkin-when__text small { color: var(--kids-muted); font-size: .78rem; }
.kids-checkin-when__edit { display: inline-flex; align-items: center; gap: 4px; color: var(--ictus-blue); font-size: .78rem; }
.kids-checkin-when__edit em { font-style: normal; font-weight: 600; }
.kids-checkin-when__fields { display: flex; flex-direction: column; gap: 10px; padding: 0 14px 14px; }
.kids-checkin-when__fields .form-group { margin: 0; }
.kids-checkin-help { display: block; margin-top: 4px; }
.kids-checkin-responsible-card__actions { display: inline-flex; flex: 0 0 auto; gap: 6px; }
.kids-checkin-child-options { display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }
.kids-checkin-child-option { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border: 1px solid var(--kids-line); border-radius: 14px; background: var(--kids-surface); text-align: left; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.kids-checkin-child-option:hover { border-color: var(--ictus-cyan); box-shadow: 0 6px 16px rgba(23, 43, 77, .08); }
.kids-checkin-child-option:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: 2px; }
.kids-checkin-child-option.is-selected { border-color: var(--ictus-cyan); background: var(--ictus-cyan-mist); }
.kids-checkin-child-option__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border-radius: 14px; background: var(--kids-soft); color: var(--kids-muted); font-size: 18px; font-weight: 700; }
.kids-checkin-child-option__avatar img { width: 100%; height: 100%; object-fit: cover; }
.kids-checkin-child-option__copy { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.kids-checkin-child-option__copy strong { overflow: hidden; color: var(--kids-ink); font-size: .96rem; text-overflow: ellipsis; white-space: nowrap; }
.kids-checkin-child-option__copy small { color: var(--kids-muted); font-size: .78rem; }
.kids-checkin-child-option > .bi { color: var(--ictus-cyan); font-size: 20px; }
.kids-checkin-child-option:not(.is-selected) > .bi { color: var(--kids-line); }
.kids-checkin-child-empty { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border: 1px dashed var(--kids-line); border-radius: 14px; color: var(--kids-muted); font-size: .84rem; }
.kids-checkin-photo { border-top: 1px solid var(--kids-line); padding-top: 12px; }
.kids-checkin-photo__toggle { display: flex; align-items: center; gap: 8px; width: 100%; padding: 0; border: 0; background: transparent; color: var(--kids-muted); font-size: .84rem; text-align: left; }
.kids-checkin-photo__toggle .bi:last-child { margin-left: auto; }
.kids-checkin-photo__body { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.kids-checkin-modal .modal-footer .btn { flex: 0 1 auto; }
.kids-checkin-tag-read { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 20px 8px 12px; text-align: center; }
.kids-checkin-tag-read__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 88px; height: 88px; border: 1px solid rgba(60, 189, 221, .45); border-radius: 28px; background: var(--ictus-cyan-mist); color: var(--ictus-blue); font-size: 38px; }
.kids-checkin-tag-read__icon.is-reading::after { content: ''; position: absolute; inset: -8px; border: 2px solid rgba(60, 189, 221, .4); border-radius: 34px; animation: kids-tag-reading 1.25s ease-out infinite; }
@keyframes kids-tag-reading { 0% { opacity: .8; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.18); } }
.kids-checkin-tag-read__copy h5 { margin: 4px 0 4px; color: var(--kids-ink); font-size: 1.2rem; font-weight: 800; }
.kids-checkin-tag-read__copy p { max-width: 390px; margin: 0; color: var(--kids-muted); font-size: .88rem; }
.kids-checkin-tag-read__status { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; padding: 10px 12px; border-radius: 12px; background: var(--kids-soft); color: var(--kids-muted); font-size: .84rem; }
.kids-checkin-tag-read__status.is-error { color: var(--bs-danger); }
.kids-checkin-tag-read__usb { width: 100%; text-align: left; }
.kids-checkin-tag-read__usb label { margin-bottom: 6px; color: var(--kids-ink); font-size: .82rem; font-weight: 700; }
.kids-checkin-tag-read__usb small { display: block; margin-top: 5px; color: var(--kids-muted); font-size: .75rem; }
.kids-checkin-tag-search-trigger { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; }
.kids-checkin-tag-search-trigger.is-active { border-color: var(--ictus-blue); background: var(--ictus-blue); color: #fff; }
.kids-checkin-tag-filter { display: flex; align-items: center; gap: 9px; margin: 0 1.25rem 12px; padding: 9px 12px; border: 1px solid rgba(60, 189, 221, .38); border-radius: 12px; background: var(--ictus-cyan-mist); color: var(--kids-ink); font-size: .84rem; }
.kids-checkin-tag-filter > span:nth-child(2) { flex: 1 1 auto; min-width: 0; }
.kids-checkin-tag-filter small { color: var(--kids-muted); }
.kids-checkin-tag-filter__color { flex: 0 0 12px; width: 12px; height: 12px; border: 1px solid rgba(0, 0, 0, .18); border-radius: 999px; }
.kids-checkin-tag-filter .btn-close { flex: 0 0 auto; padding: .45rem; font-size: .65rem; }
body.theme-dark .kids-checkin-tag-read__icon { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }
body.theme-dark .kids-checkin-tag-filter { background: rgba(60, 189, 221, .12); color: var(--kids-ink); }
body.theme-dark .kids-checkin-child-option.is-selected { background: rgba(60, 189, 221, .16); }
body.theme-dark .kids-checkin-form__step { background: rgba(60, 189, 221, .16); color: var(--ictus-cyan-light); }
body.theme-dark .kids-checkin-when__icon { background: rgba(255, 255, 255, .06); color: var(--ictus-cyan-light); }

@media (max-width: 767.98px) {
  .kids-checkin-tag-filter { margin: 0 .75rem 10px; }
  .kids-checkin-form__section-head { flex-direction: column; align-items: flex-start; }
  /* Rodada 41: no mobile os filtros de check-in deixam de ser botões só de
     ícone herdados da listagem de visitantes. Vira um grid de 2 colunas com
     data + sala na primeira linha e celebração ocupando a linha inteira,
     mantendo os rótulos legíveis. */
  .visitors-list-page__toolbar-filters.kids-checkin-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
  }
  .visitors-list-page__toolbar-filters.kids-checkin-filters > .entity-list__filter-control {
    display: block;
    grid-column: auto;
    min-width: 0;
    width: 100%;
  }
  .visitors-list-page__toolbar-filters.kids-checkin-filters > .kids-checkin-date-control { grid-column: 1 / 2; }
  .visitors-list-page__toolbar-filters.kids-checkin-filters > .kids-checkin-room-control { grid-column: 2 / 3; }
  .visitors-list-page__toolbar-filters.kids-checkin-filters > .kids-checkin-celebration-control { grid-column: 1 / -1; }
  .visitors-list-page__toolbar-filters.kids-checkin-filters .entity-list__filter-control > .btn {
    gap: .4rem;
    justify-content: flex-start;
    overflow: hidden;
    padding: 0 .75rem;
  }
  .visitors-list-page__toolbar-filters.kids-checkin-filters .entity-list__filter-control > .btn > span:not(.badge),
  .visitors-list-page__toolbar-filters.kids-checkin-filters .entity-list__filter-control.dropdown > .btn > span:not(.badge) {
    display: inline;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .visitors-list-page__toolbar-filters.kids-checkin-filters .entity-list__filter-control > .btn.dropdown-toggle::after {
    display: inline-block;
    margin-left: auto;
  }
  .visitors-list-page__toolbar-filters.kids-checkin-filters .kids-checkin-date__input { flex: 1 1 auto; width: auto; }
  /* Rodada 40: no mobile o cartão de check-in vira avatar + dados na primeira
     linha e horário/status em uma faixa própria, evitando o nome espremido e a
     quebra irregular do flex-wrap. */
  .kids-checkin-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas: "avatar copy" "meta meta";
    align-items: center;
    gap: 10px 12px;
    padding: 12px 14px;
  }
  .kids-checkin-card__avatar { grid-area: avatar; flex-basis: 48px; width: 48px; height: 48px; border-radius: 16px; }
  .kids-checkin-card__copy { grid-area: copy; gap: 2px; }
  .kids-checkin-card__copy strong { font-size: 1rem; }
  .kids-checkin-card__tags { line-height: 1.35; }
  .kids-checkin-card__meta { grid-area: meta; justify-content: space-between; gap: 8px; margin-left: 0; padding-top: 10px; border-top: 1px solid var(--kids-line); }
  .kids-checkin-card__time { font-variant-numeric: tabular-nums; }
  .kids-checkin-detail-list { grid-template-columns: 1fr; }
  .kids-checkin-responsible-card { flex-wrap: wrap; }
  /* Rodada 45: no celular o ícone já comunica "alterar"; a criança ganha
     cartões mais altos para toque e as ações do responsável vão para a base. */
  .kids-checkin-when__edit em { display: none; }
  .kids-checkin-child-option { padding: 12px; }
  .kids-checkin-responsible-card__actions { width: 100%; justify-content: flex-end; }
  .kids-checkin-modal .modal-footer .btn { flex: 1 1 0; }
  .kids-checkin-detail-modal .modal-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .kids-checkin-detail-modal .modal-footer .alert,
  .kids-checkin-detail-modal .modal-footer .btn-outline-danger { grid-column: 1 / -1; width: 100%; }
  .kids-checkin-detail-modal .modal-footer .btn { margin: 0 !important; }
}
