/* SchoolDay v270.17: Clubs -- Club Attendees' columns (rename, move, add,
   hide, delete) and the Dashboard's rows (weekly summary, capacity, meal
   summary) and child search.
   Loaded after admin-clubs-v27016.css and before admin-function-shell-v2365.css.
   No !important. */

/* ------------------------------------------------- Club Attendees */
/* The line above the table: the words on the left, "+ Add column" and the
   Columns menu on the right, in line with them. */
#tab-clubs .clubs-db-note-row-v27017 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1rem; margin: .4rem 0 .5rem; }
#tab-clubs .clubs-db-note-row-v27017 > p { flex: 1 1 22rem; margin: 0; }
#tab-clubs .clubs-db-colmenu-v27017 { position: relative; display: inline-flex; align-items: center; gap: .4rem; margin-left: auto; }
#tab-clubs .clubs-db-colpanel-v27017[hidden] { display: none; }
#tab-clubs .clubs-db-colpanel-v27017 {
  position: absolute; top: calc(100% + .3rem); right: 0; z-index: 20; width: min(22rem, 90vw); max-height: min(28rem, 70vh); overflow: auto;
  padding: .6rem .7rem; border: 1px solid #cbd5e1; border-radius: .6rem; background: #fff; box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
}
#tab-clubs .clubs-db-colpanel-v27017 > p { margin: 0 0 .4rem; font-size: .8rem; }
#tab-clubs .clubs-db-colpanel-v27017 ul { list-style: none; margin: 0; padding: 0; }
#tab-clubs .clubs-db-colpanel-v27017 li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .2rem 0; border-top: 1px solid #f1f5f9; }
#tab-clubs .clubs-db-colshow-v27017 { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; cursor: pointer; min-width: 0; }
#tab-clubs .clubs-db-colshow-v27017 > input { margin: 0; flex: 0 0 auto; }
#tab-clubs .clubs-db-colfixed-v27017 { font-size: .72rem; white-space: nowrap; }
#tab-clubs .clubs-db-coldelete-v27017 {
  flex: 0 0 auto; padding: .1rem .5rem; font-size: .75rem; border: 1px solid #fca5a5; border-radius: .4rem; background: #fff; color: #b91c1c; cursor: pointer;
}
#tab-clubs .clubs-db-coldelete-v27017:hover { background: #fef2f2; }

/* A heading being renamed, and a heading being dragged onto another: a bar
   on the side it will land. */
#tab-clubs .clubs-db-v27012 th.is-renaming-v27017 input { width: 100%; min-width: 8rem; font-size: .85rem; padding: .15rem .3rem; }
#tab-clubs .clubs-db-v27012 th[draggable="true"] { cursor: grab; }
#tab-clubs .clubs-db-v27012 th.is-dragging-v27017 { opacity: .45; }
#tab-clubs .clubs-db-v27012 th.is-drop-before-v27017 { box-shadow: inset 3px 0 0 #2563eb; }
#tab-clubs .clubs-db-v27012 th.is-drop-after-v27017 { box-shadow: inset -3px 0 0 #2563eb; }
/* Name moved away from the front: nothing is pinned to the left. */
#tab-clubs .clubs-db-v27012.is-unpinned-v27017 tbody th,
#tab-clubs .clubs-db-v27012.is-unpinned-v27017 thead tr th:first-child { left: auto; position: static; }
#tab-clubs .clubs-db-v27012.is-unpinned-v27017 thead tr:first-child th:first-child { position: sticky; top: 0; }
#tab-clubs .clubs-db-v27012.is-unpinned-v27017 thead .clubs-db-filters-v27012 th:first-child { position: sticky; top: 1.95rem; }

/* ------------------------------------------------- the Dashboard */
/* The tickboxes: a row under the filters. */
#tab-clubs .clubs-grid-views-v27017 { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; margin: 0 0 .45rem; }
#tab-clubs .clubs-grid-view-v27017 { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; font-weight: 600; color: #334155; cursor: pointer; }
#tab-clubs .clubs-grid-view-v27017 > input { margin: 0; }
#tab-clubs .clubs-grid-view-v27017:has(> input:disabled) { color: #94a3b8; cursor: default; }
#tab-clubs .clubs-grid-meal-from-v27017 select { max-width: 14rem; }
#tab-clubs .clubs-grid-child-v27017 input { width: 13rem; }
#tab-clubs .clubs-grid-child-found-v27017 { font-size: .8rem; max-width: 28rem; }

/* The rows under a club: their name in the first column, small and grey,
   with the club's colour down the side so it reads as that club's. */
#tab-clubs .clubs-grid-table-v27012 th.clubs-grid-subname-v27017 {
  position: sticky; left: 0; z-index: 1; background: #f8fafc; text-align: left; white-space: nowrap;
  padding: .15rem .6rem .15rem 1.1rem; min-width: 9rem; border-right: 2px solid #dbe4ee;
  font-size: .75rem; font-weight: 700; color: #475569; box-shadow: inset 4px 0 0 var(--club-colour-v27017, #94a3b8);
}
#tab-clubs .clubs-grid-sub-v27017 td { font-size: .8rem; font-weight: 700; color: #334155; padding: .2rem 0; }
#tab-clubs .clubs-grid-capacity-v27017 td { color: #0f3d6b; }
#tab-clubs .clubs-grid-capacity-v27017 td.is-noratio-v27017 { color: #94a3b8; font-weight: 600; }
/* More booked than the staff allow: dark text on pale orange, and bold, so
   it does not rest on colour alone. */
#tab-clubs .clubs-grid-capacity-v27017 td.is-over-v27017 { background: #ffedd5; color: #7c2d12; font-weight: 900; text-decoration: underline; }
#tab-clubs .clubs-grid-meal-v27017 td { color: #14532d; }
