/* BLUE MEMBERSHIP attendance-matrix compact preview */
.member-usage-view-toggle-v230{display:inline-flex;align-items:center;gap:2px;padding:2px;background:#e9eef5;border-radius:8px;margin-right:2px}
.member-usage-view-toggle-v230 .btn{padding:5px 9px;border:0;background:transparent;box-shadow:none;color:#52627a;font-size:10px;line-height:1.1}
.member-usage-view-toggle-v230 .btn.active{background:#fff;color:#183b70;box-shadow:0 1px 4px rgba(23,50,85,.12)}
.member-attendance-matrix-v230{display:none;background:#fff;border:1px solid #d7e0ea;border-radius:9px;overflow:hidden}
.member-attendance-matrix-v230.show{display:block}
.member-attendance-matrix-note-v230{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;border-bottom:1px solid #e1e7ee;background:#f8fafc;color:#64748b;font-size:9px;line-height:1.1}
.member-attendance-matrix-note-v230 b{color:#183b70}
.member-attendance-actions-v230{display:flex;align-items:center;gap:8px;white-space:nowrap}
.member-attendance-actions-v230 .btn{padding:4px 7px;font-size:9px;line-height:1}
.member-attendance-scroll-v230{overflow:auto;max-height:calc(100vh - 205px);position:relative}
.member-attendance-table-v230{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:max-content;width:max-content;background:#fff;font-size:8.7px;line-height:1.05;letter-spacing:-.25px;color:#183152}
.member-attendance-table-v230 th,.member-attendance-table-v230 td{height:27px;padding:2px 3px;border-right:1px solid #d7e0ea;border-bottom:1px solid #d7e0ea;text-align:center;vertical-align:middle;background:#fff;white-space:nowrap}
.member-attendance-table-v230 thead th{position:sticky;top:0;z-index:12;height:30px;background:#e8f0fa;color:#243d61;font-weight:800;line-height:1.05;font-size:8.4px;letter-spacing:-.35px}
.member-attendance-table-v230 thead th small{display:block;margin-top:2px;color:#7b8ba0;font-size:7.3px;font-weight:700;letter-spacing:-.25px}
.member-attendance-table-v230 tbody tr:hover td{background:#f8fbff}
.member-attendance-table-v230 .left{text-align:left}
.member-attendance-table-v230 .member-link-v230{border:0;background:transparent;color:#153c76;font-weight:800;padding:0;cursor:pointer;text-decoration:none;font-size:8.8px;letter-spacing:-.3px}
.member-attendance-table-v230 .member-link-v230:hover{text-decoration:underline}
.member-attendance-table-v230 .invite-info-v230{padding:0;overflow:hidden}
.member-attendance-table-v230 .invite-grid-v230{display:grid;grid-template-columns:repeat(5,45px);width:225px;height:100%}
.member-attendance-table-v230 .invite-slot-v230{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;border-right:1px solid #e0e6ee;height:26px;overflow:hidden}
.member-attendance-table-v230 .invite-slot-v230:last-child{border-right:0}
.member-attendance-table-v230 .invite-slot-v230 small{display:block;font-size:7.2px;line-height:1;color:#69788c;font-weight:700;letter-spacing:-.25px}
.member-attendance-table-v230 .invite-slot-v230 b{display:block;max-width:43px;overflow:hidden;text-overflow:ellipsis;font-size:8px;line-height:1.05;color:#263f62;font-weight:800;letter-spacing:-.3px}
.member-attendance-table-v230 .invite-slot-v230.locked{background:repeating-linear-gradient(135deg,#f0f2f5 0,#f0f2f5 4px,#e3e7ec 4px,#e3e7ec 5px)}
.member-attendance-table-v230 .invite-slot-v230.empty{background:#fff}
.member-attendance-table-v230 .attend-mark-v230{font-size:12px;line-height:1;font-weight:900;color:#1d5790}
.member-attendance-table-v230 .event-col-v230{width:46px;min-width:46px;max-width:46px;padding-left:2px;padding-right:2px}
.member-attendance-table-v230 .latest-event-v230{background:#efffe3!important}
.member-attendance-table-v230 .fixed-v230{position:sticky;z-index:8;background:#fff}
.member-attendance-table-v230 thead .fixed-v230{z-index:16;background:#dfeafa}
.member-attendance-table-v230 tbody tr:hover .fixed-v230{background:#f8fbff}
.member-attendance-table-v230 .fixed-edge-v230{box-shadow:none}
.member-attendance-table-v230 .c1{left:0;width:28px;min-width:28px;max-width:28px}
.member-attendance-table-v230 .c2{left:28px;width:78px;min-width:78px;max-width:78px}
.member-attendance-table-v230 .c3{left:106px;width:70px;min-width:70px;max-width:70px}
.member-attendance-table-v230 .c4{left:176px;width:74px;min-width:74px;max-width:74px}
.member-attendance-table-v230 .c5{left:250px;width:74px;min-width:74px;max-width:74px}
.member-attendance-table-v230 .c6{left:324px;width:48px;min-width:48px;max-width:48px}
.member-attendance-table-v230 .c7{left:372px;width:48px;min-width:48px;max-width:48px}
.member-attendance-table-v230 .c8{left:420px;width:48px;min-width:48px;max-width:48px}
.member-attendance-table-v230 .c9{left:468px;width:48px;min-width:48px;max-width:48px}
.member-attendance-table-v230 .c10{left:516px;width:225px;min-width:225px;max-width:225px}
.member-attendance-empty-v230{padding:36px 20px;text-align:center;color:#7a8797;background:#fff;font-size:10px}
@media(max-width:900px){
 .member-attendance-scroll-v230{max-height:calc(100vh - 190px)}
 .member-attendance-table-v230{font-size:8px}
}

/* dense fixed-info text: match member name size */
.member-attendance-table-v230 tbody .c2,
.member-attendance-table-v230 tbody .c3,
.member-attendance-table-v230 tbody .c4,
.member-attendance-table-v230 tbody .c5,
.member-attendance-table-v230 tbody .c6,
.member-attendance-table-v230 tbody .c7,
.member-attendance-table-v230 tbody .c8,
.member-attendance-table-v230 tbody .c9{font-size:8px!important;line-height:1!important;letter-spacing:-.3px!important}
.member-attendance-table-v230 .member-link-v230{font-size:8px!important;line-height:1!important}
.member-attendance-table-v230 tbody .c6 b,
.member-attendance-table-v230 tbody .c7 b,
.member-attendance-table-v230 tbody .c9 b{font-size:inherit!important;line-height:inherit!important}
.member-attendance-excel-v230{display:none!important;background:#eef8f1!important;color:#217346!important;border:1px solid #cde7d4!important}
.member-attendance-excel-v230.show{display:inline-flex!important;align-items:center;justify-content:center}


/* SCREEN FIX3: requested compact alignment / attendance count */
.member-attendance-table-v230{font-size:8.2px!important;letter-spacing:-.28px!important}
.member-attendance-table-v230 th,.member-attendance-table-v230 td{
  padding-top:2px!important;
  padding-bottom:2px!important;
  padding-left:1px!important;
  padding-right:1px!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.member-attendance-table-v230 tbody td,
.member-attendance-table-v230 tbody .c1,
.member-attendance-table-v230 tbody .c2,
.member-attendance-table-v230 tbody .c3,
.member-attendance-table-v230 tbody .c4,
.member-attendance-table-v230 tbody .c5,
.member-attendance-table-v230 tbody .c6,
.member-attendance-table-v230 tbody .c7,
.member-attendance-table-v230 tbody .c8,
.member-attendance-table-v230 tbody .c9,
.member-attendance-table-v230 tbody .c10{
  font-size:8.2px!important;
  line-height:1!important;
  letter-spacing:-.28px!important;
  text-align:center!important;
}
.member-attendance-table-v230 .left{text-align:center!important}
.member-attendance-table-v230 .member-link-v230{
  display:inline-block!important;
  margin:0 auto!important;
  font-size:8.2px!important;
  line-height:1!important;
  letter-spacing:-.28px!important;
  text-align:center!important;
}
.member-attendance-table-v230 .invite-slot-v230 small,
.member-attendance-table-v230 .invite-slot-v230 b{
  font-size:8.2px!important;
  line-height:1!important;
  letter-spacing:-.28px!important;
  text-align:center!important;
}
.member-attendance-table-v230 .attend-mark-v230{font-size:10px!important;line-height:1!important}
.member-attendance-table-v230 .latest-event-v230{background:#e7f1ff!important}
.member-attendance-table-v230 thead .latest-event-v230{background:#d8e9ff!important}
.member-attendance-table-v230 thead th small.event-meta-v230{
  display:block!important;
  margin-top:2px!important;
  color:#607894!important;
  font-size:7.1px!important;
  font-weight:700!important;
  letter-spacing:-.3px!important;
  white-space:nowrap!important;
}


/* SCREEN FIX4: member-name scale / row+column hover / merged no-deduction events */
.member-attendance-table-v230 .member-link-v230{
  font-size:6.2px!important;
  line-height:1!important;
  letter-spacing:-.3px!important;
}
.member-attendance-table-v230 td.hover-col-v230,
.member-attendance-table-v230 th.hover-col-v230{
  background:#f0f6ff!important;
}
.member-attendance-table-v230 tbody tr:hover td.hover-col-v230{
  background:#dceaff!important;
}
.member-attendance-table-v230 .special-event-head-v230{
  background:#e5edf7!important;
  color:#35506f!important;
}
.member-attendance-table-v230 .special-event-head-v230 small{
  color:#617792!important;
}
.member-attendance-table-v230 .special-event-cell-v230{
  background:#f3f6fa!important;
  color:#4d627c!important;
  font-weight:800!important;
  text-align:center!important;
  vertical-align:middle!important;
  padding:0!important;
}
.member-attendance-table-v230 .special-event-cell-v230 .special-event-label-v230{
  display:flex;
  min-height:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  font-size:7.4px;
  line-height:1.15;
  letter-spacing:-.35px;
  white-space:normal;
  padding:4px 1px;
  box-sizing:border-box;
}
.member-attendance-table-v230 .special-event-cell-v230 .special-event-label-v230 small{
  font-size:6.8px;
  line-height:1.1;
  color:#73849a;
  font-weight:700;
}
.member-attendance-table-v230 tbody tr:hover .special-event-cell-v230{
  background:#edf3fb!important;
}
.member-attendance-table-v230 .special-event-cell-v230.hover-col-v230{
  background:#dceaff!important;
}


/* SCREEN FIX5: member column width / three-line event header / clean special events */
.member-attendance-table-v230 .member-link-v230{
  font-size:8.2px!important;
  line-height:1!important;
  letter-spacing:-.28px!important;
}
.member-attendance-table-v230 .c2{left:28px!important;width:59px!important;min-width:59px!important;max-width:59px!important}
.member-attendance-table-v230 .c3{left:87px!important}
.member-attendance-table-v230 .c4{left:157px!important}
.member-attendance-table-v230 .c5{left:231px!important}
.member-attendance-table-v230 .c6{left:305px!important}
.member-attendance-table-v230 .c7{left:353px!important}
.member-attendance-table-v230 .c8{left:401px!important}
.member-attendance-table-v230 .c9{left:449px!important}
.member-attendance-table-v230 .c10{left:497px!important}
.member-attendance-table-v230 thead th.event-col-v230{
  height:38px!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  line-height:1!important;
}
.member-attendance-table-v230 .event-round-v230,
.member-attendance-table-v230 .event-date-v230,
.member-attendance-table-v230 .event-count-v230{
  display:block!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.member-attendance-table-v230 .event-round-v230{font-size:8.2px!important;font-weight:800!important;color:#243d61!important}
.member-attendance-table-v230 .event-date-v230{margin-top:2px!important;font-size:7.1px!important;font-weight:700!important;color:#607894!important}
.member-attendance-table-v230 .event-count-v230{margin-top:2px!important;font-size:7.1px!important;font-weight:800!important;color:#345f94!important}
.member-attendance-table-v230 .special-event-head-v230{background:#fff!important;color:#35506f!important}
.member-attendance-table-v230 thead .special-event-head-v230{background:#e8f0fa!important}
.member-attendance-table-v230 .special-event-cell-v230,
.member-attendance-table-v230 tbody tr:hover .special-event-cell-v230{background:#fff!important}
.member-attendance-table-v230 .special-event-cell-v230.hover-col-v230{background:#f0f6ff!important}
.member-attendance-table-v230 .special-event-cell-v230 .special-event-label-v230{
  gap:0!important;
  background:transparent!important;
  color:#4d627c!important;
}


/* SCREEN FIX6: tighter column widths / two-line fixed headers / unified row+column hover */
.member-attendance-table-v230 .c1{left:0!important;width:22px!important;min-width:22px!important;max-width:22px!important}
.member-attendance-table-v230 .c2{left:22px!important;width:44px!important;min-width:44px!important;max-width:44px!important}
.member-attendance-table-v230 .c3{left:66px!important;width:54px!important;min-width:54px!important;max-width:54px!important}
.member-attendance-table-v230 .c4{left:120px!important;width:58px!important;min-width:58px!important;max-width:58px!important}
.member-attendance-table-v230 .c5{left:178px!important;width:58px!important;min-width:58px!important;max-width:58px!important}
.member-attendance-table-v230 .c6{left:236px!important;width:32px!important;min-width:32px!important;max-width:32px!important}
.member-attendance-table-v230 .c7{left:268px!important;width:32px!important;min-width:32px!important;max-width:32px!important}
.member-attendance-table-v230 .c8{left:300px!important;width:34px!important;min-width:34px!important;max-width:34px!important}
.member-attendance-table-v230 .c9{left:334px!important;width:32px!important;min-width:32px!important;max-width:32px!important}
.member-attendance-table-v230 .c10{left:366px!important;width:200px!important;min-width:200px!important;max-width:200px!important}
.member-attendance-table-v230 .invite-grid-v230{grid-template-columns:repeat(5,40px)!important;width:200px!important}
.member-attendance-table-v230 .invite-slot-v230 b{max-width:38px!important}
.member-attendance-table-v230 .event-col-v230{width:42px!important;min-width:42px!important;max-width:42px!important}
.member-attendance-table-v230 thead .fixed-v230{white-space:normal!important;line-height:1.05!important}

/* use the vertical-hover shade for both axes */
.member-attendance-table-v230 tbody tr:hover td,
.member-attendance-table-v230 tbody tr:hover .fixed-v230,
.member-attendance-table-v230 td.hover-col-v230,
.member-attendance-table-v230 th.hover-col-v230,
.member-attendance-table-v230 tbody tr:hover td.hover-col-v230,
.member-attendance-table-v230 .special-event-cell-v230.hover-col-v230,
.member-attendance-table-v230 tbody tr:hover .special-event-cell-v230{
  background:#f0f6ff!important;
}


/* EXPIRED MEMBER FIX: expired members stay at the bottom and use muted text only */
.member-attendance-table-v230 tbody tr.expired-member-v230 td,
.member-attendance-table-v230 tbody tr.expired-member-v230 .member-link-v230,
.member-attendance-table-v230 tbody tr.expired-member-v230 .invite-slot-v230 small,
.member-attendance-table-v230 tbody tr.expired-member-v230 .invite-slot-v230 b,
.member-attendance-table-v230 tbody tr.expired-member-v230 .attend-mark-v230{
  color:#9aa3ad!important;
}
.member-attendance-table-v230 tbody tr.expired-member-v230 .member-link-v230{
  text-decoration-color:#b8c0c8!important;
}

/* YEARLY SEASON ARCHIVE V2.31 */
.member-attendance-season-v231{display:none;align-items:center;gap:5px;height:34px;padding:0 8px;border:1px solid #cfdbe8;border-radius:8px;background:#f8fbff;color:#65758a;font-size:9px;font-weight:800;white-space:nowrap}
.member-attendance-season-v231.show{display:inline-flex}
.member-attendance-season-v231 select{height:26px;min-width:76px;padding:0 22px 0 7px;border:0;border-radius:6px;background:#fff;color:#183b70;font-size:10px;font-weight:800;outline:none;cursor:pointer}
.member-attendance-season-note-v231{display:inline-block;margin-right:1px;color:#1b4b80!important;font-size:9px!important;font-weight:900!important;letter-spacing:-.2px}
@media(max-width:900px){.member-attendance-season-v231{height:30px;padding:0 6px}.member-attendance-season-v231 span{display:none}.member-attendance-season-v231 select{min-width:70px;height:24px}}
