/* Club Check-In. Navy, ivory and gold with bright accents. Big text, big buttons, one column on a phone. */
.club{ --navy:#0E2B3E; --navy2:#153A52; --ivory:#FBF7EA; --gold:#E8A43D; --coral:#FF6B5B; --teal:#1BB5A6; --sun:#FFC83D; --blue:#2D7FF9; --violet:#9B5DE5; max-width:680px; margin:0 auto; padding:0 0 40px; color:var(--navy); font-size:18px; }
.club *{ box-sizing:border-box; }
.club-head{ background:var(--navy); color:#fff; border-radius:0 0 22px 22px; padding:14px 18px 20px; text-align:center; border-bottom:6px solid var(--gold); box-shadow:0 8px 0 -2px var(--teal); margin:0 0 22px; }
.club-brand{ display:flex; justify-content:center; } .club-logo{ height:84px; width:auto; max-width:60%; background:#fff; border-radius:14px; padding:4px 10px; }
.club-head h1{ font-family:var(--display); font-size:30px; line-height:1.1; margin:6px 0 6px; color:#fff; }
.club-lede{ font-size:19px; line-height:1.35; margin:0 auto 12px; max-width:30em; color:#FFF3D0; font-weight:600; }
.club-chip{ display:inline-flex; flex-wrap:wrap; justify-content:center; gap:4px 12px; align-items:baseline; background:var(--sun); color:var(--navy); border-radius:999px; padding:8px 18px; font-size:18px; }
.club-chip b{ font-size:20px; } .club-kiosk-note{ margin:10px 0 0; font-size:14px; opacity:.8; }
.club-body{ padding:0 12px; }
.club-card{ background:var(--ivory); border:2px solid var(--navy); border-radius:18px; padding:16px 16px 14px; margin:0 0 14px; box-shadow:0 4px 0 var(--navy); position:relative; }
.club-card h2{ font-family:var(--display); font-size:22px; margin:0 0 10px; color:var(--navy); }
.club-card h3{ margin:0 0 6px; font-size:19px; }
.club-big{ font-size:20px; font-weight:700; margin:4px 0 12px; } .club-big-p{ font-size:20px; }
.club label{ display:block; font-weight:700; font-size:16px; margin:0 0 10px; }
.club-in{ display:block; width:100%; min-height:52px; margin-top:4px; padding:10px 12px; font:inherit; font-size:18px; font-weight:500; color:var(--navy); background:#fff; border:2px solid var(--navy2); border-radius:12px; }
.club-in:focus{ outline:3px solid var(--blue); outline-offset:1px; }
.club-in.code{ text-align:center; letter-spacing:.18em; font-size:26px; font-weight:800; text-transform:uppercase; }
.club-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; } .club-age{ max-width:200px; }
.club-q{ font-weight:800; font-size:16px; margin:8px 0 6px; }
.club-hint{ font-size:15px; color:#3d5566; margin:0 0 8px; }
.club-chips{ display:flex; flex-wrap:wrap; gap:8px; } .club-chips.heard{ display:grid; grid-template-columns:repeat(3,1fr); } .club-chips.who{ display:grid; grid-template-columns:1fr; }
.club-big-chips{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.club-chip-btn{ min-height:52px; padding:10px 14px; font:inherit; font-size:17px; font-weight:800; color:var(--navy); background:#fff; border:3px solid var(--navy2); border-radius:14px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:4px; text-align:center; }
.club-chip-btn.big{ min-height:64px; font-size:20px; }
.club-chip-btn.on{ background:var(--gold); border-color:var(--navy); box-shadow:inset 0 0 0 2px #fff; }
.club-chip-btn i{ font-style:normal; font-weight:900; }
.club-chip-btn.who{ flex-direction:column; align-items:flex-start; text-align:left; border-left:10px solid var(--accent,var(--teal)); width:100%; } .club-chip-btn.who small{ font-weight:600; font-size:14px; }
.club-chip-btn.who.did{ background:#E5F4EA; border-color:#2f7d54; } .club-chip-btn:disabled{ opacity:.85; cursor:default; }
.club-chip-btn:focus-visible,.club-btn:focus-visible,.club-link:focus-visible,.club-check input:focus-visible{ outline:3px solid var(--blue); outline-offset:2px; }
.club-player{ border:0; border-left:10px solid var(--accent,var(--teal)); background:#fff; border-radius:14px; padding:10px 12px 12px; margin:0 0 12px; border-top:2px solid #e2dcc7; border-right:2px solid #e2dcc7; border-bottom:2px solid #e2dcc7; }
.club-player legend{ font-weight:900; font-size:17px; padding:0 6px; background:var(--accent,var(--teal)); color:#fff; border-radius:8px; }
.club-add{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 4px; }
.club-btn{ min-height:56px; padding:12px 22px; font:inherit; font-size:19px; font-weight:900; color:var(--navy); background:var(--gold); border:3px solid var(--navy); border-radius:16px; cursor:pointer; box-shadow:0 4px 0 var(--navy); }
.club-btn:active{ transform:translateY(2px); box-shadow:0 2px 0 var(--navy); }
.club-btn.light{ background:#fff; font-size:17px; min-height:52px; } .club-btn.small{ min-height:48px; font-size:17px; }
.club-btn.go{ width:100%; background:var(--coral); color:#fff; font-size:23px; min-height:66px; text-shadow:0 1px 0 rgba(0,0,0,.25); margin:8px 0 4px; }
.club-btn.small.go{ width:auto; } .club-btn:disabled{ opacity:.6; cursor:wait; }
.club-link{ background:none; border:0; padding:10px 4px; min-height:44px; font:inherit; font-size:16px; font-weight:800; color:var(--blue); text-decoration:underline; cursor:pointer; }
.club-check{ display:flex; gap:12px; align-items:flex-start; font-weight:600; font-size:17px; margin:0 0 12px; cursor:pointer; }
.club-check input{ width:28px; height:28px; flex:0 0 28px; margin-top:2px; accent-color:var(--navy); } .club-check small{ display:block; font-weight:500; color:#3d5566; font-size:14px; }
.club-card.checks{ background:#FFF7DD; }
.club-trap{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.club-err{ color:#8b182b; background:#FFF3F1; border:2px solid #A3302F; border-radius:10px; padding:8px 12px; font-weight:700; font-size:16px; margin:8px 0; } .club-err:empty{ display:none; }
.club-errs{ color:#8b182b; font-weight:800; font-size:17px; margin:8px 2px; } .club-errs:empty{ display:none; }
.club-notice{ background:#E8F0FF; border:2px solid var(--blue); border-radius:10px; padding:8px 12px; font-weight:700; font-size:16px; margin:0 0 12px; }
.club-switch{ text-align:center; margin:6px 0 0; }
.club-panel{ background:#fff; border:2px dashed var(--navy2); border-radius:14px; padding:12px; margin:10px 0; }
.club-card.done{ text-align:center; border-color:#1f7a54; box-shadow:0 4px 0 #1f7a54; }
.club-tick{ width:84px; height:84px; margin:0 auto 6px; border-radius:50%; background:var(--teal); color:#fff; font-size:54px; line-height:84px; font-weight:900; }
.club-done{ font-size:27px!important; }
.club-names{ list-style:none; padding:0; margin:8px 0 14px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; } .club-names li{ background:var(--sun); border:2px solid var(--navy); border-radius:999px; padding:6px 16px; font-weight:800; }
.club-code{ background:#fff; border:3px dashed var(--navy); border-radius:14px; padding:10px; margin:0 0 14px; } .club-code span{ display:block; font-weight:700; } .club-code b{ display:block; font-size:34px; letter-spacing:.14em; font-family:ui-monospace,Menlo,monospace; } .club-code small{ display:block; font-size:14px; }
.club-list{ display:grid; gap:12px; } .club-pick{ display:block; text-decoration:none; color:var(--navy); background:#fff; border:3px solid var(--navy); border-left:14px solid var(--accent); border-radius:14px; padding:14px 16px; } .club-pick b{ display:block; font-size:21px; } .club-pick span{ font-size:16px; }
.club-foot{ text-align:center; padding:6px 12px; font-size:15px; } .club-foot a{ color:var(--blue); font-weight:700; margin:0 10px; }
@media (max-width:560px){
  .club{ font-size:17px; } .club-head h1{ font-size:25px; } .club-lede{ font-size:17px; } .club-logo{ height:68px; }
  .club-row{ grid-template-columns:1fr; gap:0; } .club-chips.heard{ grid-template-columns:repeat(3,1fr); } .club-chip-btn{ padding:8px 6px; font-size:16px; } .club-big-chips{ gap:8px; }
  .club-body{ padding:0 8px; } .club-card{ padding:14px 12px 12px; }
}
@media (prefers-reduced-motion: reduce){ .club *{ transition:none!important; animation:none!important; } }

/* ---------------- Owner page ---------------- */
.co{ --navy:#0E2B3E; --navy2:#153A52; --ivory:#FBF7EA; --gold:#E8A43D; --coral:#FF6B5B; --teal:#1BB5A6; --sun:#FFC83D; --blue:#2D7FF9; max-width:980px; font-size:17px; color:var(--navy); }
.co h1{ margin-top:0; } .co-lede{ font-size:17px; }
.co-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 10px; }
.co-tab{ min-height:48px; padding:8px 18px; font:inherit; font-weight:800; font-size:17px; color:var(--navy); background:#fff; border:3px solid var(--navy); border-radius:14px; cursor:pointer; }
.co-tab.on{ background:var(--navy); color:#fff; box-shadow:0 4px 0 var(--gold); }
.co-note{ min-height:1.4em; font-weight:700; margin:4px 2px 10px; } .co-note.ok{ color:#12402b; background:#E5F4EA; border:2px solid #2f7d54; border-radius:10px; padding:8px 12px; } .co-note.bad{ color:#8b182b; background:#FFF3F1; border:2px solid #A3302F; border-radius:10px; padding:8px 12px; } .co-note:empty{ display:none; }
.co-kiosk{ background:#FFF7DD; border:2px solid var(--gold); border-radius:12px; padding:8px 12px; font-weight:700; }
.co-clubs{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 10px; }
.co-club{ text-align:left; min-height:64px; padding:10px 14px; font:inherit; color:var(--navy); background:#fff; border:3px solid var(--navy); border-left:14px solid var(--accent); border-radius:14px; cursor:pointer; } .co-club b{ display:block; font-size:18px; } .co-club small{ font-size:14px; font-weight:700; } .co-club.on{ background:var(--sun); box-shadow:0 4px 0 var(--navy); }
.co-date{ display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin:0 0 12px; } .co-date label{ font-weight:700; font-size:15px; }
.co-in{ min-height:48px; padding:8px 12px; font:inherit; font-size:17px; color:var(--navy); background:#fff; border:2px solid var(--navy2); border-radius:10px; width:100%; } textarea.co-in{ min-height:110px; } .co-date .co-in{ width:auto; }
.co-chip{ min-height:44px; padding:6px 14px; font:inherit; font-weight:700; font-size:16px; color:var(--navy); background:#fff; border:2px solid var(--navy2); border-radius:999px; cursor:pointer; } .co-chip.on{ background:var(--gold); border-color:var(--navy); } .co-chip.static{ cursor:default; background:#F2EEDD; min-height:34px; font-size:14px; }
.co-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:4px 0; }
.co-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:0 0 12px; }
.co-stat{ background:var(--navy); color:#fff; border-radius:14px; padding:10px; text-align:center; border-bottom:6px solid var(--teal); } .co-stat b{ display:block; font-size:34px; line-height:1.1; } .co-stat span{ font-size:14px; font-weight:700; color:#FFF3D0; } .co-stat.need{ border-bottom-color:var(--coral); }
.co-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; }
.co-btn{ min-height:50px; padding:10px 20px; font:inherit; font-size:17px; font-weight:800; color:var(--navy); background:#fff; border:3px solid var(--navy); border-radius:14px; cursor:pointer; box-shadow:0 3px 0 var(--navy); text-decoration:none; display:inline-flex; align-items:center; }
.co-btn.go{ background:var(--gold); } .co-btn.danger{ background:#A3302F; color:#fff; } .co-btn.small{ min-height:44px; padding:6px 14px; font-size:15px; } .co-btn:disabled{ opacity:.5; }
.co-btn:focus-visible,.co-tab:focus-visible,.co-chip:focus-visible,.co-club:focus-visible{ outline:3px solid var(--blue); outline-offset:2px; }
.co-link{ background:none; border:0; color:var(--blue); font:inherit; font-weight:800; text-decoration:underline; cursor:pointer; padding:6px 2px; min-height:40px; }
.co-h{ font-size:21px; margin:16px 0 8px; } .co-empty{ color:#3d5566; font-style:italic; } .co-count{ font-weight:700; }
.co-list{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.co-row{ background:#fff; border:2px solid var(--navy2); border-left:10px solid var(--teal); border-radius:14px; padding:10px 12px; display:grid; grid-template-columns:1fr auto; gap:6px 12px; } .co-row.need{ border-left-color:var(--coral); background:#FFF7F4; } .co-row.contact{ border-left-color:var(--blue); }
.co-main small{ display:block; font-size:14px; color:#2c4558; } .co-main small.muted,.muted{ color:#5a6f7e; }
.co-rowbtns{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; } [data-slot]{ grid-column:1 / -1; }
.co-badge{ display:inline-block; font-size:13px; font-weight:900; padding:3px 10px; border-radius:999px; margin-left:6px; vertical-align:middle; } .co-badge.need{ background:var(--coral); color:#fff; } .co-badge.first{ background:#CFF2D8; color:#12402b; border:2px solid #2f7d54; } .co-badge.again{ background:#DCE8FF; color:#12315f; border:2px solid var(--blue); }
.need-text{ color:#A3302F; font-weight:800; }
.co-panel{ background:#FFF9E8; border:2px dashed var(--navy2); border-radius:14px; padding:12px 14px; margin:8px 0; } .co-panel h3{ margin:0 0 6px; }
.co-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; } .co-grid label{ font-weight:700; font-size:15px; } .co-q{ font-weight:800; margin:10px 0 4px; font-size:15px; } .co-check{ display:flex; gap:10px; align-items:center; font-weight:600; margin:8px 0; } .co-check input{ width:24px; height:24px; }
.co-confirm{ background:#FFF3F1; border:2px solid #A3302F; border-radius:12px; padding:10px 12px; margin:6px 0; } .co-confirm.danger p{ margin-top:0; } .co-code{ font-family:ui-monospace,Menlo,monospace; font-size:30px; font-weight:900; letter-spacing:.14em; margin:4px 0; }
.co-search{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 8px; } .co-search .co-in{ flex:1 1 240px; width:auto; }
.co-two{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0; } .co-card{ background:var(--ivory); border:2px solid var(--navy2); border-radius:14px; padding:12px 14px; margin:0 0 12px; border-left:10px solid var(--accent,var(--gold)); } .co-card h3{ margin:0 0 8px; font-size:18px; }
.co-bar{ display:grid; grid-template-columns:130px 1fr 34px; gap:8px; align-items:center; margin:4px 0; font-size:15px; font-weight:600; } .co-bar i{ display:block; height:14px; background:linear-gradient(90deg,var(--teal),var(--blue)); border-radius:8px; } .co-bar b{ text-align:right; }
.co-past{ list-style:none; padding:0; margin:0; display:grid; gap:2px; } .co-link-line code,.co-card code{ word-break:break-all; font-size:14px; background:#fff; padding:2px 6px; border-radius:6px; } .co-ok{ font-weight:700; color:#12402b; } .co-next{ font-size:15px; }
.co-player{ background:#fff; border:2px solid #e2dcc7; border-radius:10px; padding:8px 10px; margin:8px 0; }
@media (max-width:640px){ .co-clubs{ grid-template-columns:1fr; } .co-stats{ grid-template-columns:repeat(2,1fr); } .co-two{ grid-template-columns:1fr; } .co-row{ grid-template-columns:1fr; } .co-rowbtns{ justify-content:flex-start; } .co-bar{ grid-template-columns:100px 1fr 30px; } }

.club label.club-check{ display:flex; }
body.door-mode:has(.club) .sitebar{ display:none!important; }

/* waiting list (public check-in) */
.club-full{ background:#FFF1D6; border-color:var(--gold, #E8A43D); }
.club-tick.wait{ background:#FFC83D; color:#0E2B3E; }
.club-wait{ background:#FFF1D6; border:2px solid #E8A43D; border-radius:12px; padding:10px 14px; margin:12px 0; text-align:left; }
.club-wait h3{ margin:0 0 4px; font-size:18px; }
.club-wait p{ margin:6px 0 0; font-weight:600; }

/* Chess Clubs dashboards */
.co-stats{ grid-template-columns:repeat(auto-fit,minmax(112px,1fr)); }
.co-stat.wait{ border-bottom-color:var(--gold); }
.co-badge.wait{ background:#FFE9B8; color:#5a3b00; }
.co-pill{ display:inline-block; font-size:13px; font-weight:900; padding:3px 12px; border-radius:999px; background:#E8EEF3; color:var(--navy); border:2px solid var(--navy2); margin-right:4px; }
.co-pill.pending{ background:#FFE9B8; border-color:#B9791A; color:#5a3b00; } .co-pill.approved{ background:#DDF3E6; border-color:#2f7d54; color:#12402b; } .co-pill.suspended{ background:#FBDCD9; border-color:#A3302F; color:#6d1b1a; } .co-pill.role{ background:#E7EEFF; border-color:var(--blue); color:#12356f; }
.co-banner{ border-radius:12px; padding:10px 14px; font-weight:600; margin:8px 0 12px; border:2px solid var(--gold); background:#FFF5DB; } .co-banner.wait{ background:#FFF5DB; border-color:#B9791A; } .co-banner.bad{ background:#FBDCD9; border-color:#A3302F; }
.co-ok{ background:#E5F4EA; border:2px solid #2f7d54; border-radius:10px; padding:8px 12px; font-weight:700; margin:6px 0 10px; }
.co-hint{ color:#3d5566; font-size:15px; margin:6px 0; } .co-small{ font-size:15px; line-height:1.5; }
.co-titlebar{ display:flex; gap:14px; align-items:center; margin:4px 0 6px; } .co-titlebar h1{ margin:0; } .co-titlebar p{ margin:4px 0 0; }
.co-logo{ height:72px; width:72px; object-fit:contain; background:#fff; border:2px solid var(--navy2); border-radius:16px; padding:4px; } .co-logo.sm{ height:56px; width:56px; } .co-logo.big{ height:110px; width:110px; }
.co-logo.empty{ display:flex; align-items:center; justify-content:center; font-size:56px; color:var(--navy2); background:#F4EEDA; } .co-logorow{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.co-clubgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; margin:14px 0; }
.co-clubcard{ border-left:14px solid var(--accent, var(--teal)); margin:0; } .co-clubcard h3{ margin:0 0 6px; }
.co-cap{ background:#E5F4EA; border:2px solid #2f7d54; border-radius:12px; padding:8px 14px; margin:0 0 10px; font-weight:700; } .co-cap.full{ background:#FFF1D6; border-color:#B9791A; }
.co-fullbox{ border-color:#B9791A; background:#FFF5DB; } .co-waitcard{ border-color:#B9791A; background:#FFF9EA; }
.co-table{ width:100%; border-collapse:collapse; margin:10px 0 0; font-size:15px; } .co-table th,.co-table td{ text-align:left; padding:6px 10px; border-bottom:1px solid #d9d2bb; } .co-table th{ font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:#3d5566; }
.co-perms{ display:grid; gap:2px; margin:8px 0; } .co-check{ display:flex; gap:8px; align-items:center; font-weight:600; min-height:40px; } .co-check input{ width:22px; height:22px; flex:none; }
.co-report h4{ margin:10px 0 4px; } .co-dash > .crumbs{ margin-bottom:4px; }
.co-card label{ display:block; font-weight:700; font-size:15px; margin:6px 0; } .co-card label.co-check{ display:flex; }
@media (max-width:640px){ .co-two{ grid-template-columns:1fr; } .co-titlebar{ flex-wrap:wrap; } }
