/* SchoolDay v270.38: Clubs -- Club Attendees' calculated columns (the ƒ in
   the heading, the cells, the Ifs dialog) and "Last updated from".
   Loaded after admin-clubs-v27037.css and before admin-function-shell-v2365.css.
   No !important. */

/* ------------------------------------------------- the sheet */
#tab-clubs .clubs-db-calcmark-v27038 { margin-right: .25rem; font-style: italic; font-weight: 700; color: #7c3aed; }
#tab-clubs .clubs-db-v27012 td.is-calc-v27038 { background: #faf5ff; }
#tab-clubs .clubs-db-calcbtns-v27038 { display: inline-flex; gap: .3rem; flex: 0 0 auto; }
#tab-clubs .clubs-db-coledit-v27038 {
  padding: .1rem .5rem; font-size: .75rem; border: 1px solid #cbd5e1; border-radius: .4rem; background: #fff; color: #1e293b; cursor: pointer;
}
#tab-clubs .clubs-db-coledit-v27038:hover { background: #f1f5f9; }

/* ------------------------------------------------- the Ifs dialog */
#tab-clubs .clubs-calc-card-v27038 { width: min(52rem, 100%); }
#tab-clubs .clubs-calc-rules-v27038 { display: grid; gap: .6rem; margin: .7rem 0 .5rem; }
#tab-clubs .clubs-calc-rule-v27038 {
  display: grid; gap: .4rem; margin: 0; padding: .55rem .7rem .65rem; border: 1px solid #ddd6fe; border-radius: .6rem; background: #faf5ff;
}
#tab-clubs .clubs-calc-rule-v27038 > legend { padding: 0 .35rem; font-weight: 700; color: #5b21b6; }
#tab-clubs .clubs-calc-match-v27038 { display: flex; align-items: center; gap: .4rem; font-size: .85rem; white-space: nowrap; }
#tab-clubs .clubs-calc-match-v27038 > select { width: auto; min-width: 0; flex: 0 1 auto; }
#tab-clubs .clubs-calc-cond-v27038 { display: grid; grid-template-columns: 2.2rem minmax(9rem, 1.2fr) minmax(8rem, 1fr) minmax(8rem, 1.2fr) 1.8rem; align-items: center; gap: .35rem; }
#tab-clubs .clubs-calc-cond-v27038:first-of-type { padding-left: 2.55rem; grid-template-columns: minmax(9rem, 1.2fr) minmax(8rem, 1fr) minmax(8rem, 1.2fr) 1.8rem; }
#tab-clubs .clubs-calc-join-v27038 { font-size: .78rem; color: #6b7280; text-align: right; }
#tab-clubs .clubs-calc-cond-v27038 select,
#tab-clubs .clubs-calc-cond-v27038 input { width: 100%; min-width: 0; }
#tab-clubs .clubs-calc-x-v27038 {
  width: 1.8rem; height: 1.8rem; padding: 0; border: 1px solid #e5e7eb; border-radius: .4rem; background: #fff; color: #6b7280; cursor: pointer; font-size: 1rem; line-height: 1;
}
#tab-clubs .clubs-calc-x-v27038:hover { color: #b91c1c; border-color: #fca5a5; }
#tab-clubs .clubs-calc-rule-v27038 > [data-calc-add-cond-v27038] { justify-self: start; margin-left: 2.55rem; }
#tab-clubs .clubs-calc-then-v27038 { display: flex; align-items: center; gap: .5rem; font-weight: 600; }
#tab-clubs .clubs-calc-then-v27038 > input { flex: 1 1 auto; max-width: 22rem; }
#tab-clubs .clubs-calc-droprule-v27038 {
  justify-self: end; padding: 0; border: 0; background: none; color: #b91c1c; font-size: .8rem; text-decoration: underline; cursor: pointer;
}
#tab-clubs .clubs-calc-otherwise-v27038 { margin-top: .7rem; }
#tab-clubs .clubs-calc-preview-v27038 { margin: .5rem 0 0; }
#tab-clubs .clubs-calc-delete-v27038 { margin-left: auto; padding: .35rem .8rem; font-size: .85rem; }

@media (max-width: 640px) {
  #tab-clubs .clubs-calc-cond-v27038,
  #tab-clubs .clubs-calc-cond-v27038:first-of-type { grid-template-columns: 1fr 1.8rem; padding-left: 0; }
  #tab-clubs .clubs-calc-join-v27038 { grid-column: 1 / -1; text-align: left; }
  #tab-clubs .clubs-calc-cond-v27038 > select,
  #tab-clubs .clubs-calc-cond-v27038 > input,
  #tab-clubs .clubs-calc-cond-v27038 > .clubs-calc-novalue-v27038 { grid-column: 1; }
  #tab-clubs .clubs-calc-rule-v27038 > [data-calc-add-cond-v27038] { margin-left: 0; }
}

/* ------------------------------------------------- 📝 and ⭐ in a heading */
/* The heading's words, its padlock and its marks on one line: the words
   give way (to "…") before the marks do. */
/* A narrow column keeps its name: the marks go under it rather than over it. */
#tab-clubs .clubs-db-head-v27038 { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; min-width: 0; }
#tab-clubs .clubs-db-head-v27038 > .clubs-db-sort-v27015 { flex: 1 1 2.5em; min-width: 2.5em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#tab-clubs .clubs-db-marks-v27038 { display: inline-flex; flex: 0 0 auto; gap: .1rem; margin-left: auto; padding-left: .2rem; }
#tab-clubs .clubs-db-mark-v27038 {
  display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; padding: 0; border: 1px solid transparent; border-radius: .35rem;
  background: none; font-size: .78rem; line-height: 1; filter: grayscale(1); opacity: .4; cursor: default;
}
#tab-clubs button.clubs-db-mark-v27038 { cursor: pointer; }
#tab-clubs .clubs-db-mark-v27038[data-mark-v27038="note"]::before { content: "📝"; }
#tab-clubs .clubs-db-mark-v27038[data-mark-v27038="star"]::before { content: "⭐"; }
#tab-clubs button.clubs-db-mark-v27038:hover { opacity: .85; filter: none; border-color: #cbd5e1; background: #fff; }
#tab-clubs .clubs-db-mark-v27038.is-on { filter: none; opacity: 1; border-color: #f59e0b; background: #fef3c7; }

/* ------------------------------------------------- widths and row height */
#tab-clubs .clubs-db-v27012 thead tr:first-child th { overflow: hidden; }
#tab-clubs .clubs-db-colsize-v27038 {
  position: absolute; top: 0; right: 0; bottom: 0; width: 7px; cursor: col-resize; z-index: 2;
}
#tab-clubs .clubs-db-colsize-v27038:hover,
body.is-col-sizing-v27038 #tab-clubs .clubs-db-colsize-v27038:active { background: rgba(37, 99, 235, .35); }
#tab-clubs .clubs-db-v27012 tbody tr > :first-child { overflow: hidden; }
#tab-clubs .clubs-db-v27012.is-unpinned-v27017 tbody tr > :first-child { position: relative; }
#tab-clubs .clubs-db-rowsize-v27038 { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; cursor: row-resize; z-index: 2; }
#tab-clubs .clubs-db-rowsize-v27038:hover { background: rgba(37, 99, 235, .35); }
body.is-col-sizing-v27038, body.is-col-sizing-v27038 * { cursor: col-resize; user-select: none; }
body.is-row-sizing-v27038, body.is-row-sizing-v27038 * { cursor: row-resize; user-select: none; }
/* Taller rows: every cell the same height, its words wrapped to fill it. */
#tab-clubs .clubs-db-v27012.is-tall-v27038 tbody :is(td, th) { height: var(--db-row-h-v27038); white-space: normal; }
#tab-clubs .clubs-db-v27012.is-tall-v27038 tbody :is(.clubs-db-text-v27038, .clubs-db-cell-v27012) {
  display: block; max-height: calc(var(--db-row-h-v27038) - .6rem); overflow: hidden; white-space: normal; overflow-wrap: anywhere;
}
/* A column made narrower than its usual width keeps its words in it. */
#tab-clubs .clubs-db-v27012 .clubs-db-text-v27038 { overflow: hidden; text-overflow: ellipsis; }

/* ------------------------------------------------- 📝 in a child's Notes */
#tab-clubs .clubs-note-marked-v27038 { list-style: none; margin: 0 0 .6rem; padding: .45rem .6rem; border: 1px solid #fde68a; border-radius: .5rem; background: #fffbeb; display: grid; gap: .25rem; }
#tab-clubs .clubs-note-marked-v27038 li { display: flex; gap: .5rem; align-items: baseline; }
#tab-clubs .clubs-note-marked-v27038 li > b { flex: 0 0 auto; color: #92400e; }
#tab-clubs .clubs-note-marked-v27038 li > span { white-space: pre-wrap; overflow-wrap: anywhere; }

/* ------------------------------------------------- ⭐ on a register */
#tab-clubs .clubs-req-chip-v2690.is-star-v27038 { background: #fef3c7; box-shadow: inset 0 0 0 1px #f59e0b; color: #78350f; }
#tab-clubs .clubs-req-chip-v2690.is-star-v27038 > b { font-weight: 700; }

/* ------------------------------------------------- the Dashboard: Show, Clubs */
#tab-clubs .clubs-grid-tools-v27012 #clubsGridTestV27038 { max-width: 12rem; }
#tab-clubs .clubs-grid-tools-v27012 #clubsGridHasV27038 { width: 12rem; }
#tab-clubs .clubs-ticks-v27038 { position: relative; display: inline-block; }
#tab-clubs .clubs-ticks-btn-v27038 { max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#tab-clubs .clubs-ticks-panel-v27038[hidden] { display: none; }
#tab-clubs .clubs-ticks-panel-v27038 {
  position: absolute; top: calc(100% + .3rem); left: 0; z-index: 30; display: grid; gap: .4rem; width: max-content; min-width: 13rem; max-width: min(22rem, 90vw);
  padding: .55rem .65rem; border: 1px solid #cbd5e1; border-radius: .6rem; background: #fff; box-shadow: 0 12px 28px rgba(15, 23, 42, .18); font-weight: 400;
}
#tab-clubs .clubs-ticks-all-v27038 { display: flex; gap: .35rem; }
#tab-clubs .clubs-ticks-all-v27038 > button { margin: 0; }
#tab-clubs .clubs-ticks-list-v27038 { display: grid; gap: .1rem; max-height: min(18rem, 50vh); overflow: auto; }
#tab-clubs .clubs-ticks-item-v27038 { display: flex; align-items: center; gap: .45rem; padding: .2rem .15rem; border-radius: .35rem; font-size: .9rem; cursor: pointer; }
#tab-clubs .clubs-ticks-item-v27038:hover { background: #f1f5f9; }
#tab-clubs .clubs-ticks-item-v27038 > input { margin: 0; flex: 0 0 auto; }
#tab-clubs .clubs-ticks-item-v27038 > .clubs-swatch-v2690 { flex: 0 0 auto; }
#tab-clubs .clubs-ticks-empty-v27038 { font-size: .85rem; }
#tab-clubs .clubs-grid-clubs-v27038 { display: inline-flex; align-items: center; gap: .4rem; }
#tab-clubs .clubs-grid-noclubs-v27038 { padding: 1rem; text-align: center; }

/* The warnings under the table open their list. */
#tab-clubs .clubs-ratio-notice-v27016[data-grid-notice-v27038] { cursor: pointer; }
#tab-clubs .clubs-ratio-notice-v27016[data-grid-notice-v27038]:hover { filter: brightness(.97); text-decoration: underline; }
#tab-clubs .clubs-ratio-notice-v27016[data-grid-notice-v27038]:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
#tab-clubs .clubs-short-list-v27038 { max-height: min(24rem, 55vh); overflow: auto; }
/* v270.39: a heading per club, its dates under it, one column. */
#tab-clubs .clubs-short-club-v27039 + .clubs-short-club-v27039 { margin-top: .75rem; }
#tab-clubs .clubs-short-club-v27039 h5 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .3rem; font-size: 1rem; }
#tab-clubs .clubs-short-club-v27039 h5 .muted { font-weight: 400; font-size: .9rem; }
#tab-clubs .clubs-short-club-v27039 ul { margin: 0 0 0 1.6rem; padding: 0; columns: auto; }
#tab-clubs .clubs-short-club-v27039 li { margin: .15rem 0; }
