
  html { scrollbar-gutter:stable; }
  #tc-app { --ink:#1f2a44; --muted:#6c6c6c; --line:#e6e3ec; --soft:#f6f4f9; --accent:#12266e; --blue:#24963f; --lime:#c4e62a; --sun:#f9b200;
            --ok:#e3f3fb; --ok-ink:#00669a;
            --red:#fde2e2; --red-ink:#8a1c1c; --amber:#fff3c4; --amber-ink:#7a5200; --wash:#c8102e;
            font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--ink);
            max-width:640px; margin:0 auto; padding:24px 16px 16px; box-sizing:border-box; line-height:1.4; -webkit-font-smoothing:antialiased; }
  #tc-app *, #tc-app *::before, #tc-app *::after { box-sizing:border-box; }
  #tc-app, #tc-app * { cursor:auto !important; }
  #tc-app button, #tc-app button *, #tc-app select, #tc-app label, #tc-app a, #tc-app a *, #tc-app .tc-link { cursor:pointer !important; }
  /* Whole buttons and labels show the hand, including their text and the boxes inside them (1.54.7) */
  #tc-app label *, #tc-app .tc-btn, #tc-app .tc-btn *, #tc-app input[type="checkbox"], #tc-app input[type="radio"], #tc-app input[type="file"], #tc-app summary { cursor:pointer !important; }
  #tc-app label.tc-btn { user-select:none; -webkit-user-select:none; }
  #tc-app input[type="text"], #tc-app input[type="email"], #tc-app input[type="password"], #tc-app input[type="number"], #tc-app input[type="url"], #tc-app input[type="search"], #tc-app input[type="tel"], #tc-app input:not([type]), #tc-app textarea { cursor:text !important; }
  #tc-app .tc-sticky { position:sticky; top:0; z-index:50; background:#f6f7fb; margin:0 -4px 14px; padding:4px 4px 0; border-bottom:1px solid var(--line); }
  #tc-app .tc-head { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:16px; }
  #tc-app .tc-brand { display:flex; align-items:flex-end; gap:12px; min-width:0; }
  #tc-app .tc-title { margin:0; line-height:0; }
  #tc-app .tc-logo { height:84px; width:auto; display:block; }
  /* Club name: same type as the cardio board */
  #tc-app .tc-club { margin:0 0 -3px; line-height:1; white-space:nowrap; font-size:15px; font-weight:700; letter-spacing:0; color:var(--blue); }
  @media (min-width:600px) { #tc-app .tc-club { font-size:18px; } }
  @media (max-width:479px) { #tc-app .tc-logo { height:58px; } #tc-app .tc-club { margin-bottom:-2px; } #tc-app .tc-brand { gap:8px; } }
  @media (max-width:369px) { #tc-app .tc-club { font-size:14px; } }
  @media (max-width:339px) { #tc-app .tc-club { font-size:13px; } }
  @media (max-width:359px) { #tc-app .tc-logo { height:50px; } }
  @media (max-width:599px) { #tc-app { padding-top:24px; } }
  #tc-app .tc-who { text-align:right; font-size:14px; white-space:nowrap; margin-bottom:8px; line-height:1.35; }
  @media (max-width:479px) { #tc-app .tc-who { margin-bottom:5px; font-size:13px; } }
  @media (max-width:479px) { #tc-app .tc-who-fam { display:none; } }
  @media (max-width:339px) { #tc-app .tc-who { font-size:12px; } }
  #tc-app .tc-who b { font-weight:700; }
  #tc-app .tc-bell { background:none; border:0; padding:2px 4px; margin-right:4px; color:var(--muted); vertical-align:-3px; line-height:0; }
  #tc-app .tc-bell svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  #tc-app .tc-bell.on { color:var(--accent); }
  #tc-app .tc-bell.on svg { fill:currentColor; }
  #tc-app .tc-more { margin:2px 0 16px; text-align:left; }
  #tc-app .tc-more button { font:inherit; font-size:14px; font-weight:400; background:none; border:0; padding:8px 0; color:inherit; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
  #tc-app .tc-link { background:none; border:0; padding:0; font:inherit; color:inherit; text-decoration:underline; text-underline-offset:2px; }
  #tc-app .tc-quiet { color:var(--muted); }
  #tc-app .tc-adminbar { display:flex; flex-wrap:wrap; align-items:center; gap:6px; border:1.5px solid #12266e; border-radius:6px; padding:8px 10px; margin:0 0 10px; }   /* the app's own colour (1.64.0) */
  #tc-app .tc-adminbar[hidden] { display:none; }
  #tc-app .tc-adminbar .tc-btn[hidden] { display:none; }
  #tc-app .tc-adminbar.tc-coach .tc-btn { grid-column:1 / -1; }
  #tc-app .tc-adminbar .tc-btn { font-size:13px; padding:7px 10px; flex:1 1 auto; }
  #tc-app .tc-admin-tag { font-size:11px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:#1b7a33; margin-right:4px; }
  @media (max-width:479px) { #tc-app .tc-adminbar:not([hidden]) { display:grid; grid-template-columns:1fr 1fr; } #tc-app .tc-admin-tag, #tc-app .tc-wash-btn { grid-column:1 / -1; } }
  #tc-app .tc-btn { font:inherit; font-size:14px; font-weight:600; padding:9px 14px; border-radius:6px; border:1px solid var(--line); background:#fff; color:var(--ink); white-space:nowrap; }
  #tc-app .tc-btn:disabled { opacity:0.6; }
  #tc-app .tc-btn-primary { background:var(--accent); border-color:var(--accent); color:#fff; }
  #tc-app .tc-btn-danger { color:var(--red-ink); border-color:#f0c4c4; }
  #tc-app .tc-btn-sm { font-size:13px; padding:6px 10px; }
  #tc-app .tc-wash-btn.on { background:var(--wash); border-color:var(--wash); color:#fff; }
  #tc-app .tc-status { width:auto; max-width:100%; border-radius:6px; padding:8px 12px; font-size:14px; margin:0 0 12px; }
  #tc-app .tc-status[hidden] { display:none; }
  #tc-app .tc-status.ok { background:var(--ok); color:var(--ok-ink); }
  #tc-app .tc-status.err { background:var(--red); color:var(--red-ink); }
  #tc-app .tc-alert { display:flex; gap:12px; align-items:flex-start; background:var(--wash); color:#fff; border-radius:8px; padding:14px 16px; margin:0 0 14px; }
  #tc-app .tc-alert[hidden] { display:none; }
  #tc-app .tc-alert svg { flex:0 0 26px; width:26px; height:26px; }
  #tc-app .tc-alert p { margin:0; color:#fff; font-size:15px; line-height:1.4; }
  #tc-app .tc-alert .t { font-size:16px; font-weight:800; margin-bottom:2px; }
  #tc-app .tc-alert .u { font-size:12px; opacity:.85; margin-top:4px; }
  #tc-app .tc-alert .tc-btn { background:#fff; color:var(--wash); border-color:#fff; font-size:13px; padding:6px 10px; align-self:center; }
  #tc-app .tc-alert div { flex:1; }
  #tc-app .tc-prompt { display:flex; gap:12px; align-items:center; background:var(--amber); color:var(--amber-ink); border-radius:8px; padding:12px 14px; margin:0 0 14px; font-size:14px; }
  #tc-app .tc-prompt[hidden] { display:none; }
  #tc-app .tc-prompt p { margin:0; flex:1; }
  #tc-app .tc-x2 { background:none; border:0; font-size:20px; line-height:1; color:inherit; padding:0 2px; }
  #tc-app h2.tc-sec { font-size:17px; margin:18px 0 8px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
  #tc-app h2.tc-sec small { font-size:13px; font-weight:500; color:var(--muted); }
  #tc-app .tc-card { border:1px solid var(--line); border-radius:6px; margin-bottom:10px; overflow:hidden; background:#fff; }
  #tc-app .tc-card-head { display:flex; justify-content:space-between; align-items:center; padding:7px 14px; color:#fff; font-size:13px; font-weight:700; background:var(--blue); }
  #tc-app .tc-card-head .k { font-size:11px; text-transform:uppercase; letter-spacing:0.06em; opacity:.95; }
  #tc-app .lv-Blue .tc-card-head { background:#1F5FD1; }
  #tc-app .lv-Red .tc-card-head { background:#C62828; }
  #tc-app .lv-Orange .tc-card-head { background:#B45309; }
  #tc-app .lv-Green .tc-card-head { background:#2E7D32; }
  #tc-app .lv-Yellow .tc-card-head { background:#f2c200; color:#3a3000; }
  #tc-app .tc-card-body { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; padding:12px 14px; }
  /* Card bodies tinted by ball stage, like the cardio board */
  #tc-app .lv-Blue .tc-card-body { background:#eaf1fc; }
  #tc-app .lv-Red .tc-card-body { background:#fdecec; }
  #tc-app .lv-Orange .tc-card-body { background:#fff2df; }
  #tc-app .lv-Green .tc-card-body { background:#f1f8e2; }
  #tc-app .lv-Yellow .tc-card-body { background:#fffbdc; }
  #tc-app .tc-card-body .tc-btn:not(.tc-btn-primary):not(.on) { background:#fff; }
  /* Filters: same chips as the cardio board */
  /* Filters on the left, the family name on the right, bottoms lined up */
  #tc-app .tc-bar { display:flex; justify-content:space-between; align-items:flex-end; gap:6px 12px; margin:0 0 10px; }
  #tc-app .tc-filter { display:flex; flex-wrap:wrap; gap:4px; align-items:center; flex:1 1 auto; min-width:0; }
  #tc-app .tc-bar .tc-who { margin:0; flex:0 0 auto; }
  /* phones: like the cardio board, family name top right beside the logo, filters full width below */
  @media (max-width:599px) {
    #tc-app .tc-sticky { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; }
    #tc-app .tc-head { grid-column:1 / -1; grid-row:1; margin-bottom:14px; }
    #tc-app .tc-bar { display:contents; }
    #tc-app .tc-bar .tc-who { grid-column:2; grid-row:1; align-self:start; justify-self:end; margin:-8px 0 0; position:relative; z-index:1; }
    #tc-app .tc-filter { grid-column:1 / -1; grid-row:2; margin:0 0 10px; }
    #tc-app .tc-adminbar { grid-column:1 / -1; grid-row:3; } }
  #tc-app .tc-chip { font:inherit; font-size:11px; font-weight:700; padding:2px 6px; border-radius:6px; border:1px solid var(--line); background:var(--soft); color:var(--muted); line-height:1.5; white-space:nowrap; display:inline-flex; align-items:center; gap:4px; }
  #tc-app .tc-chip.on { background:var(--accent); border-color:var(--accent); color:#fff; }
  #tc-app .tc-chip .tc-ballbtn { width:11px; height:11px; }
  #tc-app .tc-chip .tc-ballbtn::before, #tc-app .tc-chip .tc-ballbtn::after { border-width:1px; }
  @media (max-width:374px) { #tc-app .tc-filter { gap:3px; } #tc-app .tc-chip { padding:2px 4px; font-size:10.5px; } }
  /* Rain over the right half of a washed-out card */
  #tc-app .tc-card.washed .tc-card-body { position:relative; }
  #tc-app .tc-card.washed .tc-card-body > * { position:relative; z-index:1; }
  #tc-app .tc-card.washed .tc-card-body::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
    background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cg%20stroke%3D%22%237b8ea8%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.3%22%3E%3Cpath%20d%3D%22M8%202l-3%209%22/%3E%3Cpath%20d%3D%22M26%206l-3%209%22/%3E%3Cpath%20d%3D%22M17%2017l-3%209%22/%3E%3Cpath%20d%3D%22M33%2022l-3%209%22/%3E%3Cpath%20d%3D%22M6%2025l-3%209%22/%3E%3C/g%3E%3C/svg%3E") repeat; background-size:36px 36px;
    -webkit-mask-image:linear-gradient(to left, #000 0, #000 30%, transparent 55%); mask-image:linear-gradient(to left, #000 0, #000 30%, transparent 55%); }
  #tc-app .tc-card.washed .tc-card-head { background:var(--wash) !important; color:#fff; }
  #tc-app .tc-card.washed .tc-card-body { background:#f1f1f1 !important; }
  #tc-app .tc-card.washed .tc-card-body > div:first-child { opacity:.7; }
  /* Suspended venue */
  #tc-app .tc-subbar { border-radius:8px; padding:10px 14px; margin:0 0 14px; font-size:14px; line-height:1.4; border:1px solid; }
  #tc-app .tc-subbar[hidden] { display:none; }
  #tc-app .tc-subbar a { color:inherit; }
  #tc-app .tc-sub-trial { background:#e8f3ff; border-color:#b9dbfb; color:#0b4f8a; }
  #tc-app .tc-sub-grace { background:#fff6e0; border-color:#f3d27a; color:#5c3d00; }
  #tc-app .tc-sub-paused { background:#fde2e2; border-color:#f0c4c4; color:#8a1c1c; }
  #tc-app .tc-closures { margin:0 0 14px; }
  #tc-app .tc-closures[hidden] { display:none; }
  #tc-app .tc-term { border:1px solid #c9d6e8; background:#f2f6fb; color:#23344d; border-radius:8px; padding:10px 14px; margin:0 0 14px; font-size:14px; line-height:1.45; }
  #tc-app .tc-term[hidden] { display:none; }
  #tc-app .tc-term p { margin:0; } #tc-app .tc-term p + p { margin-top:4px; }
  #tc-app .tc-trow { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid #eee; font-size:14px; }
  #tc-app .tc-trow > div { flex:1; min-width:0; } #tc-app .tc-trow small { display:block; color:#6b7280; }
  #tc-app .tc-trow .tc-btn { font-size:13px; padding:6px 10px; }
  #tc-app .tc-trow.tc-runs > div { opacity:.55; text-decoration:line-through; }
  #tc-app .tc-tsec { margin:18px 0 6px; font-size:15px; }
  #tc-app .tc-chips { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; } #tc-app .tc-chips .tc-btn { font-size:13px; padding:7px 10px; }
  #tc-app .tc-tblwrap { overflow-x:auto; margin:8px 0; } #tc-app .tc-tbl { width:100%; border-collapse:collapse; font-size:14px; }
  #tc-app .tc-tbl th, #tc-app .tc-tbl td { text-align:left; padding:6px 8px; border-bottom:1px solid #eee; } #tc-app .tc-tbl th { font-size:12px; color:#6b7280; font-weight:600; }
  #tc-app .tc-tbl .n { text-align:right; white-space:nowrap; } #tc-app .tc-tbl td:first-child { min-width:120px; }
  @media (max-width:480px) { #tc-app .tc-tbl .pc { display:none; } #tc-app .tc-tbl th, #tc-app .tc-tbl td { padding:6px 5px; } #tc-app .tc-tbl td:first-child { min-width:96px; } }
  #tc-app .tc-big { font-size:15px; margin:8px 0; }
  #tc-app .tc-impbox { border:1px solid #e3e0ea; border-radius:8px; padding:10px 12px; margin:10px 0; font-size:14px; } #tc-app .tc-impbox ul { margin:4px 0 10px 18px; padding:0; }
  #tc-app input[type=file].tc-input { padding:6px 10px; min-height:0; }
  #tc-app .tc-cedit { outline:1.5px solid var(--blue); outline-offset:-1.5px; border-radius:8px; }
  #tc-app .tc-ehead { margin:0 0 8px; font-size:15px; }
  #tc-app .tc-notebody { font-size:16px; line-height:1.5; margin:14px 0; }
  #tc-app .tc-fee { margin:-4px 0 8px; font-size:14px; } #tc-app .tc-fee .paid { color:#1f7a3a; } #tc-app .tc-fee .due { color:#b42318; }
  #tc-app .tc-notes { background:#fffbea; border:1px solid #f1e3a6; border-radius:8px; padding:10px 12px; margin:0 0 10px; font-size:14px; }
  #tc-app .tc-notes p { margin:4px 0 0; } #tc-app .tc-notes small { color:#7a6a2a; }
  #tc-app .tc-re { border:1.5px solid var(--blue); border-radius:8px; padding:10px 12px; margin:0 0 12px; font-size:14px; }
  #tc-app .tc-re-row { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:8px; }
  #tc-app .tc-re-row small { color:#6b7280; } #tc-app .tc-re-btns { display:flex; gap:6px; }
  #tc-app .tc-re .tc-btn.on { background:var(--blue); border-color:var(--blue); color:#fff; }
  #tc-app .tc-rec { border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:10px 0; }
  #tc-app .tc-rec-h { display:flex; align-items:center; justify-content:space-between; gap:8px; } #tc-app .tc-rec-h span { font-size:13px; display:flex; align-items:center; gap:6px; }
  #tc-app .tc-rec p { margin:6px 0 0; } #tc-app .tc-input.tc-cap { width:70px; min-height:36px; padding:4px 8px; }
  #tc-app .tc-input.tc-amt { width:84px; min-height:36px; padding:4px 8px; flex:0 0 auto; }
  #tc-app a[href^="tel:"], #tc-app a[href^="mailto:"] { color:inherit; text-decoration:underline; text-decoration-color:var(--line); }
  #tc-app .tc-tag { display:inline-block; font-size:12px; padding:2px 8px; border-radius:10px; background:#eef1f6; margin:2px 2px 0 0; }
  #tc-app .tc-tag.ok { background:#e3f4e8; color:#1f7a3a; } #tc-app .tc-tag.no { background:#fde8e8; color:#b42318; }
  #tc-app .tc-pushrow { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:12px 0 14px; font-size:14px; }
  #tc-app .tc-pushrow > div { flex:1; min-width:0; } #tc-app .tc-pushrow small { display:block; color:#6b7280; margin-top:2px; line-height:1.35; }
  #tc-app .tc-pushrow .tc-btn { font-size:13px; padding:7px 12px; white-space:nowrap; }
  #tc-app .tc-closure { display:flex; gap:10px; align-items:flex-start; background:#fff6e0; border:1px solid #f3d27a; border-radius:8px; padding:10px 14px; margin-bottom:8px; font-size:14px; line-height:1.4; }
  #tc-app .tc-closure svg { flex:0 0 20px; width:20px; height:20px; margin-top:1px; fill:none; stroke:#b07400; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  #tc-app .tc-closure p { margin:0; color:#5c3d00; }
  #tc-app .tc-card.closed .tc-card-head { background:#5b6070 !important; color:#fff; }
  #tc-app .tc-card.closed .tc-card-body { background:repeating-linear-gradient(-45deg,#f3f3f5 0 10px,#ebebef 10px 20px) !important; }
  #tc-app .tc-card.closed .tc-card-body > div:first-child { opacity:.75; }
  #tc-app .tc-pill.closed { background:#5b6070; color:#fff; }
  #tc-app .tc-meta.closednote { color:#5c3d00; font-weight:600; }
  #tc-app .tc-cls { margin:0 0 3px; font-size:15px; font-weight:700; display:flex; flex-wrap:wrap; align-items:center; gap:2px 10px; }
  #tc-app .tc-cls .tc-coach { font-size:13px; font-weight:400; color:var(--muted); white-space:nowrap; }
  #tc-app .tc-meta { margin:0; font-size:13px; color:var(--muted); }
  #tc-app .tc-meta + .tc-meta { margin-top:3px; }
  #tc-app .tc-side { display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex:0 0 auto; }
  #tc-app .tc-pill { font-size:12px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--ok); color:var(--ok-ink); }
  #tc-app .tc-pill.away { background:#eceff4; color:var(--muted); }
  #tc-app .tc-pill.wash { background:var(--wash); color:#fff; }
  #tc-app .tc-cal { font-size:13px; margin:6px 0 0; }
  #tc-app .tc-cal a { display:inline-flex; gap:5px; align-items:center; color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
  #tc-app .tc-cal a svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  #tc-app .tc-kidtag { display:inline-block; font-size:12px; font-weight:700; padding:1px 8px; border-radius:999px; background:#fff; border:1px solid var(--line); }
  #tc-app h2.tc-sec { color:var(--accent); }
  #tc-app .tc-empty { text-align:center; color:var(--muted); padding:20px 10px; font-size:14px; }
  #tc-app .tc-codebox { border:2px solid var(--lime); border-radius:10px; padding:18px; background:#fbfce6; margin-bottom:16px; }
  #tc-app .tc-codebox h2 { margin:0 0 4px; font-size:18px; }
  #tc-app .tc-codebox p { margin:0 0 10px; color:var(--muted); font-size:14px; }
  #tc-app .tc-row2 { display:flex; gap:8px; }
  #tc-app .tc-row2 .tc-input { flex:1; min-width:0; }
  #tc-app .tc-input, #tc-app .tc-select { width:100%; font:inherit; font-size:16px; padding:10px 12px; min-height:44px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
  #tc-app .tc-select { -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235b6375' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:12px 8px; padding-right:36px; }
  #tc-app .tc-select { -webkit-appearance:none; appearance:none; padding-right:30px; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%235f6b80' stroke-width='1.6'/></svg>"); background-repeat:no-repeat; background-position:right 10px center; }
  #tc-app .tc-code { text-transform:uppercase; letter-spacing:0.15em; font-weight:700; }
  #tc-app .tc-code::placeholder { text-transform:none; letter-spacing:normal; font-weight:400; }
  #tc-app .tc-label { display:block; font-size:12px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:0.04em; margin:12px 0 4px; }
  #tc-app .tc-hint { font-size:12px; color:var(--muted); margin:6px 0 0; }
  #tc-app .tc-check { display:flex; align-items:flex-start; gap:10px; font-size:15px; font-weight:500; margin:10px 0 0; }
  #tc-app .tc-check input { width:20px; height:20px; accent-color:#12266e; margin:0; }
  #tc-app .tc-two { display:grid; grid-template-columns:1fr 1fr; gap:0 10px; }
  #tc-app [hidden] { display:none !important; }
  #tc-app .tc-tsec-sub { font-weight:500; color:#5b6375; }
  #tc-app .tc-sc { border:1px solid #d5d9e2; border-radius:10px; padding:4px 12px 10px; margin:0 0 12px; }
  #tc-app .tc-sc-row { display:grid; grid-template-columns:minmax(0,1fr) 72px 72px; gap:8px; align-items:center; padding:6px 0; border-bottom:1px solid #eceef3; }
  #tc-app .tc-sc-head { font-size:12px; font-weight:700; color:#5b6375; text-align:center; text-transform:uppercase; letter-spacing:.04em; }
  #tc-app .tc-sc-head small { display:block; font-weight:500; text-transform:none; letter-spacing:0; line-height:1.2; overflow-wrap:anywhere; }
  #tc-app .tc-sc-l b { display:block; font-size:15px; }
  #tc-app .tc-sc-l small { display:block; font-size:12px; color:#5b6375; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tc-app .tc-sc-in { margin:0; text-align:center; padding:8px 4px; font-size:17px; font-weight:600; -moz-appearance:textfield; appearance:textfield; }
  #tc-app .tc-sc-in::-webkit-outer-spin-button, #tc-app .tc-sc-in::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
  #tc-app .tc-sc-tot { border-bottom:0; padding:4px 0; }
  #tc-app .tc-sc-tot span:not(.tc-sc-l) { text-align:center; font-weight:700; font-size:16px; }
  #tc-app .tc-sc-tot:first-of-type, #tc-app .tc-sc-row + .tc-sc-tot { border-top:1px solid #d5d9e2; }
  #tc-app .tc-sc-tot + .tc-sc-tot { border-top:0; }
  #tc-app .tc-sc-subrow .tc-sc-l small { white-space:normal; }
  #tc-app .tc-sc-row:has(+ .tc-sc-subrow) { border-bottom-style:dashed; }
  #tc-app .tc-sc-dec { background:#f6f8fc; }
  #tc-app .tc-elig { display:block; color:#b42318; font-size:12px; font-weight:600; }
  #tc-app .tc-sc-dec .tc-sc-l small { white-space:normal; }
  #tc-app .tc-sc .tc-check { margin-top:10px; font-weight:400; font-size:15px; }
  #tc-app .tc-sc-res { margin:8px 0 0; font-weight:700; min-height:1.4em; }
  #tc-app .tc-sc-hint { font-weight:400; text-transform:none; letter-spacing:0; }
  #tc-app .tc-two > div { min-width:0; }
  /* iPhone time and date fields: keep them inside their column, the same height as the dropdowns, text on the left */
  #tc-app input[type="time"].tc-input, #tc-app input[type="date"].tc-input { -webkit-appearance:none; appearance:none; display:block; min-width:0; max-width:100%; height:44px; text-align:left; }
  #tc-app input[type="time"].tc-input::-webkit-date-and-time-value, #tc-app input[type="date"].tc-input::-webkit-date-and-time-value { text-align:left; min-height:1.4em; }
  #tc-app .tc-foot { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted); margin-top:18px; gap:10px; flex-wrap:wrap; }
  #tc-app .tc-foot-links { display:flex; gap:14px; align-items:center; }
  #tc-app .tc-foot-links a, #tc-app .tc-foot-links button { font-size:13px; }
  #tc-app .tc-modal { position:fixed; inset:0; background:rgba(0,0,0,0.45); display:flex; align-items:center; justify-content:center; z-index:9999; padding:16px; }
  #tc-app .tc-modal[hidden] { display:none; }
  #tc-app .tc-modal-card { position:relative; background:#fff; width:100%; max-width:640px; border-radius:6px; padding:18px 18px 22px; max-height:92vh; overflow:auto; scrollbar-gutter:stable; overscroll-behavior:contain; }
  #tc-app .tc-modal-card h2 { font-size:18px; margin:0 0 2px; padding-right:36px; }
  #tc-app .tc-plans-frame { display:block; width:100%; min-height:360px; border:0; margin:12px 0 0; background:transparent; }
  #tc-app .tc-sub { margin:0 0 6px; font-size:13px; color:var(--muted); }
  #tc-app .tc-x { position:absolute; top:12px; right:8px; width:36px; height:36px; border:0; background:none; font-size:26px; line-height:1; color:var(--muted); }
  #tc-app .tc-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:16px; }
  #tc-app .tc-rows { margin-top:8px; }
  #tc-app .tc-r { display:flex; align-items:center; gap:8px; padding:9px 0; border-bottom:1px solid var(--line); font-size:14px; flex-wrap:wrap; }
  #tc-app .tc-r .m { flex:1 1 auto; min-width:0; }
  #tc-app .tc-r .m small { display:block; color:var(--muted); font-size:12px; }
  #tc-app .tc-r.off .m b { text-decoration:line-through; color:var(--muted); }
  #tc-app .tc-fam { border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:10px 0; }
  /* Alternate tints so each family stands apart */
  /* Class rows tinted by ball stage */
  #tc-app .tc-crow { border:1px solid transparent; border-radius:8px; padding:9px 10px; margin-bottom:6px; }
  #tc-app .tc-crow.lvr-Blue { background:#eaf1fc; border-color:#cddcf6; }
  #tc-app .tc-crow.lvr-Red { background:#fdecec; border-color:#f7cfcf; }
  #tc-app .tc-crow.lvr-Orange { background:#fff2df; border-color:#fbdcae; }
  #tc-app .tc-crow.lvr-Green { background:#f1f8e2; border-color:#d9ecb4; }
  #tc-app .tc-crow.lvr-Yellow { background:#fffbdc; border-color:#f4e79a; }
  #tc-app .tc-crow.off { background:#f3f3f3; border-color:#e3e3e3; }
  #tc-app .tc-crow .tc-select, #tc-app .tc-crow .tc-btn:not(.tc-btn-primary) { background-color:#fff; }
  #tc-app .tc-fam { background:#eef7fc; border-color:#cfe6f4; }
  #tc-app .tc-fam.alt { background:#fdf0f6; border-color:#f5d3e4; }
  #tc-app .tc-fam .tc-input, #tc-app .tc-fam .tc-enrol label, #tc-app .tc-fam .tc-codechip { background:#fff; }
  #tc-app .tc-fam .tc-kid { border-top-color:rgba(0,0,0,.12); }
  #tc-app .tc-fam-h { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  #tc-app .tc-fam-h b { font-size:16px; }
  #tc-app .tc-codechip { font-family:ui-monospace, Menlo, Consolas, monospace; font-size:13px; font-weight:700; letter-spacing:0.1em; background:var(--soft); border:1px solid var(--line); border-radius:6px; padding:2px 8px; }
  #tc-app .tc-kid { border-top:1px dashed var(--line); margin-top:8px; padding-top:8px; }
  #tc-app .tc-kid-h { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
  #tc-app .tc-kid-h .tc-select { width:auto; min-height:36px; padding:4px 26px 4px 8px; font-size:16px; }
  /* Stage picker: the child's ball; tap it to show the other balls to the right */
  #tc-app .tc-bp { display:inline-flex; align-items:center; gap:6px; vertical-align:middle; }
  #tc-app .tc-bp-opts { display:inline-flex; align-items:center; gap:5px; padding:3px 6px; border:1px solid var(--line); border-radius:999px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.08); }
  #tc-app .tc-bp-opts[hidden] { display:none; }
  #tc-app .tc-ballbtn { width:18px; height:18px; border-radius:50%; border:0; padding:0; background:var(--c, #fff); position:relative; flex:0 0 auto;
                        box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); overflow:hidden; }
  #tc-app .tc-ballbtn::before, #tc-app .tc-ballbtn::after { content:""; position:absolute; top:-10%; width:70%; height:120%; border:1.5px solid rgba(255,255,255,.85); border-radius:50%; }
  #tc-app .tc-ballbtn::before { left:-48%; } #tc-app .tc-ballbtn::after { right:-48%; }
  #tc-app .tc-ballbtn.none { background:#fff; box-shadow:inset 0 0 0 2px #c9c4d4; }
  #tc-app .tc-ballbtn.none::before, #tc-app .tc-ballbtn.none::after { display:none; }
  #tc-app .tc-bp-opts .tc-ballbtn { width:17px; height:17px; }
  #tc-app .tc-bp-opts .tc-ballbtn.on { outline:2px solid var(--ink); outline-offset:2px; }
  #tc-app .tc-balldot { display:inline-block; align-self:center; }
  #tc-app .tc-enrol { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
  #tc-app .tc-enrol label { display:inline-flex; align-items:center; gap:5px; font-size:13px; border:1px solid var(--line); border-radius:6px; padding:4px 8px; }
  #tc-app .tc-enrol input { margin:0; accent-color:#12266e; }
  #tc-app .tc-credits { display:inline-flex; align-items:center; gap:4px; font-size:12px; color:var(--muted); }
  #tc-app .tc-credits button { width:30px; height:30px; border-radius:6px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:18px; line-height:1; padding:0; }
  #tc-app .tc-credits b { min-width:16px; text-align:center; font-size:15px; color:var(--ink); }
  #tc-app .tc-addrow { display:flex; gap:6px; margin-top:8px; }
  #tc-app .tc-addrow .tc-input { min-height:38px; padding:6px 10px; flex:1; min-width:0; }
  #tc-app .tc-addrow .tc-select { min-height:38px; padding:6px 26px 6px 8px; width:auto; }
  #tc-app .tc-log { max-height:60vh; overflow:auto; }
  #tc-app .tc-steps { margin:6px 0 0 18px; padding:0; font-size:14px; }
  @media (max-width:479px) { #tc-app .tc-addrow { flex-wrap:wrap; } #tc-app .tc-addrow .tc-input { flex:1 1 100%; } #tc-app .tc-addrow .tc-select { flex:1 1 auto; } }
  /* Tennis Comp */
  #tc-app .tc-logo { height:72px; }
  #tc-app .tc-title { display:flex; align-items:center; gap:10px; line-height:1; }
  #tc-app .tc-name { font-size:22px; font-weight:800; color:#12266e; letter-spacing:-0.01em; white-space:nowrap; }
  @media (max-width:479px) { #tc-app .tc-name { font-size:18px; } }
  @media (max-width:479px) { #tc-app .tc-logo { height:52px; } }
  #tc-app .tc-card.home .tc-card-head { background:#12266e; }
  #tc-app .tc-card.awayt .tc-card-head { background:#1E7A34; }
  #tc-app .tc-card.home .tc-card-body { background:#eef1fa; } #tc-app .tc-card.awayt .tc-card-body { background:#eef8f0; }
  #tc-app .tc-btns { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
  #tc-app .tc-btns .on, #tc-app .tc-btn.on { background:#1E7A34; border-color:#1E7A34; color:#fff; }
  #tc-app .tc-pill.no { background:#fde8e8; color:#b42318; }
  #tc-app .tc-pill.res { background:#eef0f4; color:#23344d; } #tc-app .tc-pill.res.W { background:#e3f4e8; color:#1f7a3a; } #tc-app .tc-pill.res.L { background:#fde8e8; color:#b42318; }
  #tc-app .tc-ask { margin:6px 0 0; font-size:14px; }
  #tc-app .tc-duty { margin:8px 0 0; font-size:13px; background:#fff8e1; border:1px solid #f1dc93; border-radius:6px; padding:12px; line-height:1.5; grid-column:1 / -1; }
  #tc-app .tc-duty .tc-btn { display:block; width:max-content; margin-top:8px; }
  #tc-app .tc-tm, #tc-app .tc-team { border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:0 0 10px; background:#fff; }
  #tc-app .tc-tm { border-left:4px solid var(--accent); }
  #tc-app .tc-tm-h, #tc-app .tc-team-h { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  #tc-app .tc-tm-h { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; } #tc-app .tc-tm-h .tc-btn { grid-column:2; grid-row:1 / span 2; align-self:center; }
  #tc-app .tc-tm-h b, #tc-app .tc-team-h b { font-size:15px; } #tc-app .tc-tm-h small, #tc-app .tc-team-h small { color:var(--muted); flex:1; min-width:160px; }
  #tc-app .tc-tm-r { padding:6px 0 0; margin-top:6px; border-top:1px solid #eef0f4; font-size:14px; }
  #tc-app .tc-tm-r small { display:block; color:var(--muted); }
  #tc-app .tc-links { font-size:13px; color:var(--muted); margin:0 0 12px; } #tc-app .tc-links a { color:var(--accent); font-weight:600; }
  #tc-app .tc-rd { border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:10px 0; }
  #tc-app .tc-rd.wash { background:#f6f6f6; }
  #tc-app .tc-rd-h { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; font-size:14px; }
  #tc-app .tc-rd .tc-meta { margin-top:4px; }
  #tc-app .tc-rd-btns { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
  #tc-app .tc-pick { border:1px solid var(--line); border-radius:8px; margin-top:8px; }
  #tc-app .tc-pickrow { display:flex; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid #eef0f4; font-size:15px; flex-wrap:wrap; }
  #tc-app .tc-pickrow:last-child { border-bottom:0; }
  #tc-app .tc-pickrow input { width:20px; height:20px; margin:0; accent-color:#12266e; }
  #tc-app .tc-pickrow > span > small { display:block; font-size:13px; color:#5b6375; } #tc-app .tc-pickrow > span:not(.tc-tag) { flex:1 1 auto; min-width:0; } #tc-app .tc-pickrow > .tc-tag { flex:0 0 auto; }
  #tc-app .tc-pickrow span { flex:1; min-width:120px; } #tc-app .tc-pickrow small { color:var(--muted); }
  #tc-app .tc-card-list { padding-left:22px; font-size:15px; } #tc-app .tc-card-list li { margin:6px 0; } #tc-app .tc-card-list small { color:var(--muted); }
  #tc-app .tc-guide { font-size:15px; line-height:1.5; margin:12px 0; }
  #tc-app .tc-fed { margin-top:8px; }
  #tc-app .tc-kid { border-top:1px dashed var(--line); margin-top:10px; padding-top:6px; }
  #tc-app .tc-codebox { border-color:#24963f; background:#f1f9f3; }
  #tc-app .tc-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; margin:10px 0; }
  #tc-app .tc-photos figure { margin:0; } #tc-app .tc-photos img { width:100%; height:160px; object-fit:cover; border-radius:6px; border:1px solid var(--line); display:block; }
  #tc-app .tc-photos figcaption { font-size:12px; color:var(--muted); margin-top:4px; }
  #tc-app .tc-upl { display:inline-block; margin-top:6px; }
  #tc-app .tc-photos-sm { grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); margin:4px 0 8px; } #tc-app .tc-photos-sm img { height:110px; }
  #tc-app #tr-phwrap[hidden] { display:none; }
  /* Events and invitations */
  #tc-app .tc-ev-empty { margin:4px 0 6px; padding:18px 14px; border:1px dashed #d9dce6; border-radius:8px; text-align:center; color:#6b7280; font-size:14px; }
  #tc-app .tc-ev-sec { font-size:18px; margin:6px 0 10px; }
  #tc-app .tc-ev { border:1px solid #d9dce6; border-radius:8px; background:#fff; margin:0 0 12px; overflow:hidden; }
  #tc-app .tc-ev.cancelled { opacity:.7; }
  #tc-app .tc-ev-head { display:flex; justify-content:space-between; gap:10px; padding:7px 14px; background:#12266e; color:#fff; font-size:13px; font-weight:700; }
  #tc-app .tc-ev-kind { text-transform:uppercase; letter-spacing:.06em; font-size:11px; opacity:.95; }
  #tc-app .tc-ev-body { padding:10px 14px 12px; }
  #tc-app .tc-ev-title { font-size:16px; font-weight:700; margin:0 0 4px; }
  #tc-app .tc-ev-meta { font-size:13px; color:#5b6070; margin:2px 0 0; }
  #tc-app .tc-ev-details { font-size:14px; margin:8px 0 4px; line-height:1.45; }
  #tc-app .tc-ev-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:8px 0 0; margin-top:8px; border-top:1px solid #eceef3; font-size:14px; }
  #tc-app .tc-ev-btns { display:flex; gap:6px; margin-left:auto; }
  #tc-app label input[type=checkbox], #tc-app label input[type=radio] { flex-shrink:0; }
  #tc-app input[type=file]::file-selector-button { font:inherit; font-size:14px; padding:6px 12px; margin-right:10px; border:1px solid #c9cfdb; border-radius:6px; background:#f3f5f9; color:#1b2433; cursor:pointer; }
  #tc-app .tc-check input { margin-top:2px; flex-shrink:0; }
  #tc-app .tc-hint + .tc-label { margin-top:14px; } #tc-app .tc-hint + .tc-input, #tc-app .tc-hint + .tc-trow, #tc-app .tc-hint + .tc-select { margin-top:10px; }
  #tc-app .tc-ev-row select, #tc-app .tc-trow select { min-height:36px; padding-top:6px; padding-bottom:6px; font-size:15px; }
  #tc-app .tc-chip { font-size:12px; }
  @media (max-width:479px) { #tc-app .tc-trow:has(> .tc-btn ~ .tc-btn ~ .tc-btn), #tc-app .tc-trow:has(> select) { flex-wrap:wrap; } #tc-app .tc-trow:has(> .tc-btn ~ .tc-btn ~ .tc-btn) > div, #tc-app .tc-trow:has(> select) > div { flex:1 1 100%; } }
  #tc-app .tc-ev-st { font-size:12px; font-weight:700; padding:3px 8px; border-radius:6px; background:#eef0f4; color:#5b6070; }
  #tc-app .tc-ev-st.yes { background:#e3f4e8; color:#1f7a3a; } #tc-app .tc-ev-st.wait { background:#fff4d6; color:#8a5a00; } #tc-app .tc-ev-st.no { background:#fde8e8; color:#b42318; }
  #tc-app .tc-ev-cal { margin:10px 0 0; font-size:13px; } #tc-app .tc-ev-cal a { color:inherit; font-weight:600; }
  #tc-app .tc-ev-pick { max-height:260px; overflow:auto; border:1px solid #d9dce6; border-radius:8px; margin-top:8px; }
  #tc-app .tc-ev-pick[hidden] { display:none; }
  #tc-app .tc-ev-pick label { display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid #eceef3; font-size:15px; font-weight:600; margin:0; }
  #tc-app .tc-ev-pick input { width:20px; height:20px; flex:0 0 auto; }
  /* Club documents */
  #tc-app a.tc-btn { text-decoration:none; display:inline-block; color:inherit; }
  #tc-app .tc-docs { margin:18px 0 6px; }
  #tc-app .tc-docs-h { font-size:16px; margin:0 0 8px; }
  #tc-app .tc-docs-sub { font-size:15px; margin:18px 0 4px; }
  #tc-app a.tc-doc { display:flex; gap:10px; align-items:center; padding:9px 12px; border:1px solid #d9dce6; border-radius:8px; background:#fff; margin:0 0 6px; color:inherit; text-decoration:none; }
  #tc-app a.tc-doc b { font-size:14px; } #tc-app a.tc-doc small { display:block; color:#6b7280; font-size:12px; }
  #tc-app .tc-doc-k { flex:0 0 auto; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:#12266e; border-radius:4px; padding:3px 6px; min-width:38px; text-align:center; }
  #tc-app .tc-doc-i.tc-doc-ia { width:24px; margin:0 10px 0 2px; align-self:center; }
  #tc-app .tc-ca { margin-top:14px; } #tc-app .tc-ca-row { margin:0 0 12px; } #tc-app .tc-ca-row .tc-label { display:flex; align-items:center; gap:8px; text-transform:none; letter-spacing:0; font-size:14px; font-weight:700; margin:0 0 6px; }
  #tc-app .tc-ca-in { display:flex; gap:8px; align-items:center; } #tc-app .tc-ca-in .tc-input { flex:1; min-width:0; }
  #tc-app .tc-doc-svg { display:block; } #tc-app .tc-doc-pg { fill:#fff; } html.th-dark #tc-app .tc-doc-pg { fill:#232733; }
  #tc-app .tc-mystats { font-size:13px; color:#5b6070; margin:0 0 10px; }
  #tc-app .tc-kstats { display:block; margin-top:2px; font-size:13px; font-weight:500; color:#5b6070; }
  /* Accessibility (v1.22.7): visible keyboard focus, 24px+ targets on chips, bell and footer links, reduced motion */
  #tc-app :focus-visible { outline:2px solid #2457D6; outline-offset:2px; }
  #tc-app .tc-chip { min-height:30px; padding-top:6px; padding-bottom:6px; }
  #tc-app .tc-bell { min-width:32px; min-height:32px; padding:6px; }
  #tc-app .tc-foot-links a, #tc-app .tc-foot-links button { display:inline-block; padding:6px 0; }
  #tc-app .tc-club { color:#1E7A34; }
  #tc-app .tc-cal a, #tc-app .tc-link { padding-top:4px; padding-bottom:4px; }
  @media (prefers-reduced-motion: reduce) { #tc-app * { animation-duration:1ms !important; transition-duration:1ms !important; scroll-behavior:auto !important; } }

  /* Admin: This week and the grouped menu */
  #tc-app .tc-adminbar:not([hidden]) { display:block; }
  #tc-app .tc-atop { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
  #tc-app .tc-atop .tc-admin-tag { flex:1 1 auto; }
  #tc-app .tc-adminbar .tc-atop .tc-btn { flex:0 0 auto; }
  #tc-app .tc-adminbar .tc-amore { display:none; }
  #tc-app .tc-week { margin:0 0 14px; }
  #tc-app .tc-week[hidden] { display:none; }
  #tc-app .tc-week-h { font-size:13px; font-weight:700; margin:0 0 6px; color:#1B2233; }
  #tc-app .tc-week-h span { font-weight:400; color:#5F6678; }
  #tc-app .tc-wlist { display:grid; gap:6px; }
  #tc-app .tc-wcard { display:flex; align-items:center; gap:10px; border:1px solid #D9DDE6; border-left:4px solid #2457D6; border-radius:6px; padding:8px 10px; background:#fff; text-align:left; }
  #tc-app .tc-wcard.tc-w-no { border-left-color:#C62828; }
  #tc-app .tc-wcard.tc-w-warn { border-left-color:#B45309; }
  #tc-app .tc-wcard.tc-w-ok { border-left-color:#2E7D32; }
  #tc-app .tc-wtxt { flex:1; min-width:0; }
  #tc-app .tc-wtxt b { display:block; font-size:14px; line-height:1.3; color:#1B2233; }
  #tc-app .tc-wtxt small { white-space:pre-line; display:block; font-size:13px; line-height:1.35; color:#4A5163; margin-top:2px; }
  #tc-app .tc-wcard .tc-btn { flex:0 0 auto; font-size:13px; padding:7px 12px; }
  #tc-app .tc-week-more { font-size:13px; color:#5F6678; margin:6px 0 0; }
  #tc-app .tc-amenu { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:10px; }
  #tc-app .tc-agroup { flex:0 1 auto; min-width:0; }
  #tc-app .tc-agroup[hidden] { display:none; }
  #tc-app .tc-aglabel { display:block; font-size:12px; font-weight:700; color:#5F6678; margin:0 0 4px; }
  #tc-app .tc-agbtns { display:flex; flex-wrap:wrap; gap:6px; }
  @media (max-width:599px) {
    #tc-app .tc-adminbar .tc-amore { display:inline-block; }
    #tc-app .tc-amenu { display:none; }
    #tc-app .tc-adminbar.tc-menu-open .tc-amenu { display:block; }
    #tc-app .tc-agroup { margin-top:8px; }
    #tc-app .tc-agbtns { display:grid; grid-template-columns:1fr 1fr; }
  }
  #tc-app .tc-next { border:1.5px solid var(--blue); border-radius:8px; padding:10px 12px; margin:6px 0 12px; background:#fff; }
  #tc-app .tc-next h3 { font-size:14px; margin:0 0 6px; }
  #tc-app .tc-next ul { list-style:none; margin:0; padding:0; }
  #tc-app .tc-next li { display:flex; align-items:center; gap:8px; padding:5px 0; font-size:14px; line-height:1.35; }
  #tc-app .tc-next li + li { border-top:1px solid #EEF0F4; }
  #tc-app .tc-next li.tc-nx-h { font-weight:700; font-size:13px; color:#4A5163; padding-top:8px; }
  #tc-app .tc-nx-t { flex:1; min-width:0; }
  #tc-app .tc-chk { flex:0 0 22px; width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; background:#B45309; }
  #tc-app .tc-next li.ok .tc-chk { background:#2E7D32; }
  #tc-app .tc-next .tc-btn { flex:0 0 auto; }
  #tc-app .tc-viewbar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; border:1.5px dashed #8A93A6; border-radius:6px; padding:8px 12px; margin:0 0 14px; font-size:14px; color:#1B2233; background:#fff; }
  #tc-app .tc-viewbar[hidden] { display:none; }
  #tc-app .tc-drow { border:1px solid #D9DDE6; border-radius:6px; padding:8px 10px; margin:0 0 8px; }
  #tc-app .tc-drow-h b { display:block; font-size:14px; }
  #tc-app .tc-drow-h small { display:block; font-size:13px; color:#4A5163; margin:2px 0 6px; }
  #tc-app .tc-dmatches { margin-top:6px; font-size:13px; }
  #tc-app .tc-dmatches summary { cursor:pointer; color:#2457D6; padding:4px 0; }
  #tc-app .tc-dmatches ul { margin:4px 0 0; padding-left:18px; line-height:1.5; }
  #tc-app .tc-plan-btn { margin-left:8px; font-size:13px; padding:6px 12px; vertical-align:middle; }

  /* Tabs: bottom bar on phones and tablets, rail on the left on desktop */
  /* Room for the fixed tab bar goes below the page footer, not between the theme switch and the footer (1.54.2) */
  #tc-app.tc-tabbed { padding-bottom:16px; }
  @media (max-width:999px) { body:has(#tc-app.tc-tabbed) { padding-bottom:calc(64px + env(safe-area-inset-bottom)); } }
  #tc-app .tc-tabs { position:fixed; left:0; right:0; bottom:0; z-index:80; display:flex; gap:2px; background:#fff; border-top:1px solid #D9DDE6; padding:4px 6px calc(4px + env(safe-area-inset-bottom)); box-shadow:0 -2px 10px rgba(20,24,40,.06); }
  #tc-app .tc-tab { flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:54px; padding:4px 2px; border:0; border-radius:10px; background:none; color:#4A5163; font:600 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; cursor:pointer !important; }
  #tc-app .tc-tab svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
  #tc-app .tc-tab span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  #tc-app .tc-tab.on { color:#12266e; background:#e7ebf6; }
  #tc-app .tc-tab:focus-visible { outline:2px solid #2457D6; outline-offset:-2px; }
  #tc-app .tc-modal { z-index:1000; }
  @media (min-width:1000px) {
    #tc-app.tc-tabbed { padding-bottom:16px; }
    #tc-app .tc-tabs { top:110px; bottom:auto; right:auto; left:max(12px, calc(50% - 320px - 200px)); width:180px; flex-direction:column; border:1px solid #D9DDE6; border-radius:14px; padding:6px; box-shadow:none; }
    #tc-app .tc-tab { flex:0 0 auto; flex-direction:row; justify-content:flex-start; gap:10px; min-height:44px; padding:0 12px; font-size:15px; }
  }
  @media print { #tc-app .tc-tabs { display:none; } }
  /* What each tab shows */
  #tc-app.tc-tabbed .tc-amore { display:none !important; }
  #tc-app.tc-tabbed .tc-amenu { display:flex !important; }
  @media (max-width:599px) { #tc-app.tc-tabbed .tc-amenu { display:block !important; } }
  #tc-app.tc-tabbed:not([data-tab="admin"]) .tc-adminbar { display:none !important; }
  #tc-app.tc-tabbed[data-tab="admin"] .tc-sticky { position:relative; }
  #tc-app.tc-tabbed:not([data-tab="week"]) .tc-week,
  #tc-app.tc-tabbed:not([data-tab="week"]) .tc-alert, #tc-app.tc-tabbed:not([data-tab="week"]) .tc-subbar, #tc-app.tc-tabbed:not([data-tab="week"]) .tc-closures,
  #tc-app.tc-tabbed:not([data-tab="week"]) .tc-prompt { display:none !important; }
  #tc-app.tc-tabbed:not([data-tab="matches"]) .tc-filter { display:none !important; }
  #tc-app.tc-tabbed:not([data-tab="club"]) #tc-docs { display:none !important; }
  #tc-app.tc-tabbed[data-tab="admin"] #tc-main, #tc-app.tc-tabbed[data-tab="admin"] #tc-list, #tc-app.tc-tabbed[data-tab="admin"] .tc-views { display:none !important; }
  /* Filters keep their place on wider screens so the header doesn't jump between tabs */
  @media (min-width:600px) { #tc-app.tc-tabbed:not([data-tab="matches"]) .tc-filter { display:flex !important; visibility:hidden; } }
  /* Your week shows the family's filters: their players' names and team ball colours (1.55.2) */
  #tc-app.tc-tabbed[data-tab="week"] .tc-filter.tc-fshow { display:flex !important; visibility:visible; }
  /* Two panes on wide screens: in the Admin tab, the menu stays on the left and each tool opens beside it */
  @media (min-width:1360px) {
    #tc-app.tc-tabbed[data-tab="admin"].tc-paneopen { margin-left:212px; }
    /* the footer under the page moves left with it, so the open tool doesn't cover it */
    body:has(#tc-app.tc-tabbed[data-tab="admin"].tc-paneopen) .ct-powered { max-width:640px; margin-left:212px; margin-right:auto; }
    #tc-app.tc-tabbed[data-tab="admin"].tc-paneopen .tc-tabs { left:12px; }
    #tc-app.tc-tabbed[data-tab="admin"] #tc-modal { left:auto; right:0; width:calc(100vw - 212px - 640px - 28px); background:transparent; pointer-events:none; padding:0; align-items:stretch; justify-content:stretch; }
    #tc-app.tc-tabbed[data-tab="admin"] #tc-modal > * { pointer-events:auto; max-width:none; width:100%; height:100vh; max-height:none; border-radius:0; border-top:0; border-right:0; border-bottom:0; border-left:1px solid #D9DDE6; box-shadow:-8px 0 24px rgba(20,24,40,.08); padding:24px 24px 32px; }
  }

  #tc-app .tc-club { white-space:normal; overflow-wrap:anywhere; }

  /* Touch screens: every chip answers a 44px-tall tap without changing how it looks */
  @media (pointer:coarse) { #tc-app .tc-chip { position:relative; } #tc-app .tc-chip::after { content:""; position:absolute; left:-2px; right:-2px; top:50%; height:44px; transform:translateY(-50%); } }

    /* App header: icon tile on the left, app name over club name beside it, controls on the right at the same height */
  #tc-app .tc-head { display:flex; align-items:stretch; justify-content:space-between; gap:12px; --tc-hd:64px; }
  #tc-app .tc-brand { display:flex; flex-direction:row; align-items:stretch; gap:12px; min-width:0; flex:1 1 auto; margin:0; }
  #tc-app .tc-mark { display:block; flex:0 0 auto; width:var(--tc-hd); height:var(--tc-hd); line-height:0; }
  #tc-app .tc-markimg { width:100%; height:100%; display:block; }
  #tc-app .tc-brandtext { display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:4px 0 6px; }
  #tc-app .tc-brandtext h1 { display:block; margin:0; padding:0; line-height:1.1; font-size:inherit; white-space:nowrap; }
  #tc-app .tc-name { display:block; font-size:22px; font-weight:800; letter-spacing:-.01em; line-height:1.1; color:#12266e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tc-app .tc-brandtext .tc-club, #tc-app .tc-brandtext .tc-section { margin:0; font-size:14px; font-weight:500; letter-spacing:0; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tc-app .tc-head-right { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; flex:0 0 auto; height:var(--tc-hd); }
  @media (max-width:479px) { #tc-app .tc-head { --tc-hd:58px; gap:10px; } #tc-app .tc-brand { gap:10px; } #tc-app .tc-name { font-size:19px; } #tc-app .tc-brandtext .tc-club, #tc-app .tc-brandtext .tc-section { font-size:13px; } }
  #tc-app .tc-head { margin-bottom:14px; }
  #tc-app .tc-who { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; height:100%; margin:0; text-align:right; font-size:14px; line-height:24px; white-space:nowrap; }
  #tc-app .tc-who:empty { display:none; }
  #tc-app .tc-who-top { display:block; }
  #tc-app .tc-head-right:has(.tc-who:empty) { display:none; }
  @media (max-width:479px) { #tc-app .tc-who { font-size:13px; } }

  /* Appearance switch under the footer: Auto follows the device, or Light, or Dark (set in the page head) */
  #tc-app .tc-themes { display:flex; justify-content:center; align-items:center; gap:8px; margin:50px 0 0; font-size:12px; color:var(--muted); }
  #tc-app .tc-thseg { display:inline-flex; border:1px solid var(--line); border-radius:999px; padding:2px; }
  #tc-app .tc-thseg button { font:inherit; font-size:12px; font-weight:600; border:0; background:none; color:var(--muted); padding:5px 12px; border-radius:999px; cursor:pointer; min-height:0; }
  #tc-app .tc-thseg button[aria-pressed="true"] { background:#12266e; color:#ffffff; }

  /* detail pass 1.40.2 */
  #tc-app p, #tc-app small, #tc-app li, #tc-app h2, #tc-app h3, #tc-app .tc-hint { text-wrap:pretty; }
  #tc-app .tc-filter { gap:8px; }
  #tc-app .tc-chip { min-height:34px; padding-left:11px; padding-right:11px; font-size:12.5px; color:var(--ink); background:#fff; }
  #tc-app .tc-fsel-l { display:inline-flex; min-width:0; max-width:100%; }
  #tc-app .tc-fsel { -webkit-appearance:none; appearance:none; font:inherit; font-size:12.5px; font-weight:700; min-height:34px; max-width:100%; padding:0 30px 0 11px; border:1px solid var(--line); border-radius:6px; color:var(--ink); cursor:pointer;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235f6b80' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 11px center; text-overflow:ellipsis; }
  #tc-app .tc-fsel:focus-visible { outline:2px solid #2457D6; outline-offset:2px; }
  html:not(.th-dark) #tc-app .tc-fsel { background-color:#f1f3fa; border-color:#e0e5f4; }
  html.th-dark #tc-app .tc-fsel { background-color:#131313; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23b2bedc' stroke-width='1.6'/%3E%3C/svg%3E"); }
  #tc-app .tc-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  #tc-app .tc-foot .tc-link.tc-quiet { color:inherit; }
  #tc-app .tc-foot-links { display:inline-flex; flex-wrap:wrap; gap:6px 18px; }
  #tc-app .tc-sticky { border-bottom-color:transparent; }
  #tc-app .tc-sticky::after { content:""; position:absolute; left:4px; right:4px; bottom:-1px; height:1px; background:var(--line); pointer-events:none; }
  /* Locked (no code yet): just the header and the code box (1.60.2) */
  #tc-app.tc-locked .tc-sticky::after, #tc-app.tc-locked #tc-filter, #tc-app.tc-locked .tc-foot { display:none !important; }
  #tc-app.tc-locked .tc-head { margin-bottom:0 !important; }
  #tc-app.tc-locked #tc-tabs { display:none !important; }
  #tc-app.tc-locked .tc-bar { margin:0 !important; }
  #tc-app.tc-locked .tc-sticky { margin-bottom:24px !important; padding-bottom:0 !important; }
  #tc-app .tc-codeadmin { margin:16px 0 0 !important; padding-top:14px; border-top:1px solid rgba(127,127,127,.3); font-size:14px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  #tc-app .tc-codeadmin button { font:inherit; font-weight:700; background:none; border:1.5px solid currentColor; border-radius:999px; padding:8px 16px; color:inherit; cursor:pointer; }
  #tc-app .tc-plan-btn { display:block; width:max-content; margin:10px 0 0; font-size:14px; font-weight:600; }
  #tc-app .tc-subbtns { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 0; }
  #tc-app .tc-subbtns .tc-plan-btn { margin:0; }
  #tc-app input[type=checkbox], #tc-app input[type=radio] { accent-color:var(--accent); }
  #tc-app .tc-trow .tc-btn, #tc-app .tc-ev-row .tc-btn { min-height:36px; }
  #tc-app .tc-trow .tc-input, #tc-app .tc-trow select { min-height:36px; }
  #tc-app a.tc-btn { text-decoration:none; }
  #tc-app .tc-nb { white-space:nowrap; }
  #tc-app .tc-x { width:40px; height:40px; }
  #tc-app textarea { resize:vertical; }
  @media (max-width:479px) { #tc-app .tc-card-body { flex-direction:column; align-items:stretch; gap:10px; } #tc-app .tc-side { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; } }

    /* one size for small buttons everywhere (1.40.12) */
  #tc-app .tc-btn { min-height:40px; }
  #tc-app .tc-btn-sm, #tc-app .tc-btn.tc-btn-sm, #tc-app .tc-side .tc-btn, #tc-app .tc-side .tc-btn.tc-manage, #tc-app .tc-mrow .tc-btn, #tc-app .tc-trow .tc-btn, #tc-app .tc-row .tc-btn, #tc-app .tc-pushrow .tc-btn, #tc-app .tc-wcard .tc-btn, #tc-app .tc-chips .tc-btn, #tc-app .tc-prompt .tc-btn, #tc-app .tc-adminbar .tc-btn, #tc-app .tc-alert .tc-btn, #tc-app .tc-ev-btns .tc-btn, #tc-app .tc-ev-row .tc-btn, #tc-app .tc-addrow .tc-btn, #tc-app .tc-plan-btn, #tc-app .tc-rmark .tc-btn, #tc-app .tc-fam-h .tc-btn, #tc-app .tc-r .tc-btn { font-size:13px; padding:8px 12px; min-height:36px; line-height:1.2; }
  #tc-app .tc-credits button { width:36px; height:36px; }
  #tc-app .tc-input + .tc-hint, #tc-app .tc-select + .tc-hint, #tc-app .tc-input + .tc-sub, #tc-app .tc-select + .tc-sub, #tc-app .tc-two + .tc-hint, #tc-app .tc-two + .tc-sub { margin-top:6px; }
  #tc-app #tc-a-rolls { margin-top:16px; }

    #tc-app .tc-doc-go { margin-left:auto; flex:0 0 auto; font-size:13px; font-weight:600; text-decoration:underline; }
  #tc-app .tc-doc-k.tc-doc-wa { background:#0e6b37; }
  #tc-app .tc-clubhint { margin:18px 0 0; font-size:13px; }

    #tc-app .tc-doc-k { min-width:56px; box-sizing:border-box; text-align:center; }
    #tc-app .tc-doc-i { flex:0 0 auto; width:56px; display:flex; justify-content:center; }

    /* room for descenders (p, g, y) in clipped one-line text (1.41.5) */
  #tc-app .tc-name, #tc-app .tc-brandtext .tc-club, #tc-app .tc-brandtext .tc-section { padding-bottom:.24em; margin-bottom:-.24em; }

    #tc-app .tc-steplink { margin:8px 0 0; display:block; width:max-content; background:#fff; }
    /* admin menu: setup order, clearer labels, a rain-blue Washout (1.43.0) */
  #tc-app .tc-admin-tag { text-transform:none; letter-spacing:0; font-size:16px; font-weight:800; color:#12266e; }
  #tc-app .tc-aglabel { font-size:15px; font-weight:700; margin:16px 0 8px; }
  #tc-app .tc-agroup:first-child .tc-aglabel { margin-top:6px; }
  #tc-app .tc-amenu .tc-agroup { flex:0 0 100%; }
  @media (min-width:480px) { #tc-app .tc-agbtns .tc-btn { flex:0 0 auto; } }
  #tc-app .tc-adminbar .tc-btn.tc-wash-btn { background:#1565c0; border-color:#1565c0; color:#fff; }
  #tc-app .tc-adminbar .tc-btn.tc-wash-btn.on { background:var(--wash); border-color:var(--wash); }

    #tc-app .tc-again { margin-top:28px; padding-top:6px; border-top:1px solid #f0c4c4; }
  #tc-app .tc-againask { margin:14px 0 8px; }
  #tc-app .tc-againscope { display:flex; flex-direction:column; gap:8px; margin:12px 0 4px; }

  #tc-app.tc-tabbed[data-tab="admin"] .tc-sticky::after { display:none; }  /* the admin box has its own border: no extra line under it */

  /* Light mode: secondary buttons and chips take a soft tint of the app colour (1.46.0). Primary, danger, selected and buttons on coloured boxes are unchanged */
  html:not(.th-dark) #tc-app :is(.tc-btn, .tc-chip):not(.tc-btn-primary):not(.tc-btn-danger):not(.tc-wash-btn):not(.tc-wash-on):not(.on):not(.tc-on):not([aria-pressed="true"]):not(:is(.tc-alert, .tc-closure, .tc-status, .tc-sub-trial, .tc-sub-grace, .tc-sub-paused) *) { background:#f1f3fa; border-color:#e0e5f4; }
  @media (hover:hover) { html:not(.th-dark) #tc-app :is(.tc-btn, .tc-chip):not(.tc-btn-primary):not(.tc-btn-danger):not(.tc-wash-btn):not(.tc-wash-on):not(.on):not(.tc-on):not([aria-pressed="true"]):not(:is(.tc-alert, .tc-closure, .tc-status, .tc-sub-trial, .tc-sub-grace, .tc-sub-paused) *):hover:not(:disabled) { background:#e7ebf6; } }

  #tc-app .tc-tourbtn .tc-tl { display:none; }
  @media (max-width:479px) { #tc-app .tc-tourbtn .tc-tf { display:none; } #tc-app .tc-tourbtn .tc-tl { display:inline; } }

  /* Cards in every tab carry a colour line down its left edge, in its header's colour (1.51.0) */
  #tc-app .tc-ev { border-left:4px solid #12266e; }
  #tc-app .tc-ev.cancelled { border-left-color:#8a8f9c; }
  #tc-app .tc-card { border-left:4px solid #1F5FD1; }
  #tc-app .tc-card.home { border-left-color:#12266e; } #tc-app .tc-card.awayt { border-left-color:#1E7A34; }
  #tc-app .tc-card.lv-Blue { border-left-color:#1F5FD1; } #tc-app .tc-card.lv-Red { border-left-color:#C62828; } #tc-app .tc-card.lv-Orange { border-left-color:#B45309; }
  #tc-app .tc-card.lv-Green { border-left-color:#2E7D32; } #tc-app .tc-card.lv-Yellow { border-left-color:#f2c200; }
  #tc-app .tc-card.washed { border-left-color:var(--wash); } #tc-app .tc-card.closed { border-left-color:#5b6070; }

  #tc-app .tc-wx { display:flex; flex-wrap:wrap; column-gap:10px; row-gap:2px; }
  #tc-app .tc-wpart { display:inline-flex; align-items:baseline; white-space:nowrap; min-width:0; }
  #tc-app .tc-wpart:first-child { white-space:normal; }
  #tc-app .tc-wpart > svg { flex:0 0 auto; align-self:center; }

  #tc-app .tc-clubhead { margin:0 0 14px; } #tc-app .tc-clubhead:empty { display:none; } #tc-app .tc-clubhead h2.tc-sec { margin-top:4px; margin-bottom:0; }
  #tc-app .tc-term { border:1px solid #c9d6e8; background:#f2f6fb; color:#23344d; border-radius:8px; padding:10px 14px; margin:0 0 14px; font-size:14px; line-height:1.45; }
  #tc-app .tc-term[hidden] { display:none; } #tc-app .tc-term p { margin:0; }
  #tc-app.tc-tabbed:not([data-tab="club"]) #tc-clubhead, #tc-app.tc-tabbed:not([data-tab="club"]) #tc-term { display:none !important; }

  /* Drag to reorder (1.54.1) */
  #tc-app .tc-grip { flex:0 0 auto; width:28px; min-height:40px; padding:0; margin:0 -2px 0 -4px; display:inline-flex; align-items:center; justify-content:center; border:0; background:none; color:#9aa1ad; cursor:grab !important; touch-action:none; border-radius:6px; }
  #tc-app .tc-grip:hover, #tc-app .tc-grip:focus-visible { color:#4a5163; background:#f1f2f6; }
  @media (max-width:479px) { #tc-app .tc-drow { position:relative; padding-left:66px; min-height:40px; } #tc-app .tc-drow > .tc-grip { position:absolute; left:0; top:6px; margin:0; } #tc-app .tc-drow > .tc-doc-ia { position:absolute; left:32px; top:8px; margin:0; } }   /* the type icon sits beside the title on phones (1.81.2) */
  #tc-app .tc-sorting, #tc-app .tc-sorting * { cursor:grabbing !important; user-select:none; -webkit-user-select:none; }
  #tc-app .tc-drow.tc-dragging { background:#fff; box-shadow:0 6px 18px rgba(20,24,40,.14); border-radius:8px; position:relative; z-index:2; }

  /* Attendance words and colours, the same in every app (1.55.0): Coming green, Can't make it red, Waitlist amber, No reply / Absent / Rostered off grey, Playing navy */
  #tc-app .tc-ans { display:inline-flex; gap:6px; flex:0 0 auto; }
  #tc-app .tc-ans .tc-btn.on[data-ans="yes"], #tc-app .tc-ev-btns .on { background:#1f7a3a; border-color:#1f7a3a; color:#fff; }
  #tc-app .tc-ans .tc-btn.on[data-ans="no"], #tc-app .tc-ev-btns .on[data-evr="no"] { background:#b42318; border-color:#b42318; color:#fff; }
  #tc-app .tc-ev-st { white-space:nowrap; }
  #tc-app .tc-evnudge { margin:0 0 14px; }
  /* A card on its own runs the full width; two or more sit side by side on wider screens (1.56.1) */
  #tc-app .tc-wlist > .tc-wcard:only-child { grid-column:1 / -1; }
  @media (max-width:479px) { #tc-app .tc-card-body:has(.tc-ans) { flex-wrap:wrap; } #tc-app .tc-card-body > .tc-side:has(.tc-ans) { flex:1 1 100%; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; } #tc-app .tc-mrow:has(> .tc-ans) { flex-wrap:wrap; } #tc-app .tc-mrow > .tc-ans { flex:1 1 100%; } }
  #tc-app .tc-ev-st.pick { background:#e6eaf7; color:#12266e; }
  html.th-dark #tc-app .tc-ans .tc-btn.on[data-ans="yes"], html.th-dark #tc-app .tc-ev-btns .on { background:#1f7a3a; border-color:#1f7a3a; color:#fff; }
  html.th-dark #tc-app .tc-ans .tc-btn.on[data-ans="no"], html.th-dark #tc-app .tc-ev-btns .on[data-evr="no"] { background:#b42318; border-color:#b42318; color:#fff; }

  #tc-app .tc-modal-card { border:1px solid #d9dce6; box-shadow:0 10px 30px rgba(0,0,0,.18); }   /* thin border on every overlay, like the guided tours (1.61.8) */
  /* Overlays in the app's own style: a colour band along the top, rounder corners, the heading in the app colour (1.76.0). Side panels on wide screens keep their plain edge. */
  html #tc-app .tc-modal-card { border-top:4px solid #2457D6; border-radius:12px; }
  html #tc-app .tc-modal-card h2 { color:#12266e; }
  html.th-dark body #tc-app .tc-modal-card { border-top:4px solid #2457D6; }
  html.th-dark body #tc-app .tc-modal-card h2 { color:#b9c8ff; }

  /* Documents list rows like Cardio and Juniors: lines between rows, not a box round each (1.64.0) */
  #tc-app #dc-list .tc-drow { border:0; border-radius:0; margin:0; padding-left:0; padding-right:0; }
  html.th-dark #tc-app #dc-list .tc-drow { border:0; }
  /* Families: Edit on the right, like Tennis Juniors */
  #tc-app .tc-fam-h > button[data-fedit] { margin-left:auto; }
  #tc-app textarea.tc-input { min-height:120px; resize:vertical; font:inherit; }   /* message boxes the same height in every app (1.64.0) */

  /* In-app confirm and prompt pop-ups (1.66.0) */
  #tc-app .tc-ask { z-index:2147483000; }
  #tc-app .tc-ask .tc-modal-card { max-width:440px; }
  #tc-app .tc-ask-msg { margin:0; font-size:16px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; }
  #tc-app .tc-ask-in { margin-top:12px; }
  #tc-app .tc-ask button { cursor:pointer !important; }


  /* Cards (1.82.0): every ball stage gets the app's own header and a plain body, with a ball-colour dot by the stage name and the stage colour down the left edge, so a red header no longer reads as an alert */
  #tc-app .tc-card[class*="lv-"] .tc-card-head { background:#12266e; color:#fff; }
  #tc-app .tc-card[class*="lv-"] .tc-card-body { background:#f3f6fd; }
  #tc-app .tc-card[class*="lv-"] .tc-card-head .k::before { content:""; display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:-1px; background:currentColor; box-shadow:0 0 0 1.5px rgba(255,255,255,.85); }
  #tc-app .tc-card.lv-Blue .tc-card-head .k::before { background:#2b6cd8; }
  #tc-app .tc-card.lv-Red .tc-card-head .k::before { background:#e03131; }
  #tc-app .tc-card.lv-Orange .tc-card-head .k::before { background:#f7a600; }
  #tc-app .tc-card.lv-Green .tc-card-head .k::before { background:#9ccc2e; }
  #tc-app .tc-card.lv-Yellow .tc-card-head .k::before { background:#f2d000; }
  html.th-dark #tc-app .tc-card[class*="lv-"] .tc-card-head { background:#1d3a9c !important; }
  html.th-dark #tc-app .tc-card[class*="lv-"] .tc-card-body { background:#11141d !important; }
  /* Answers and chips (1.82.0): unchosen answers are outlined, the chosen one is filled with a tick. Selected chips are filled with a tick. Court chips sit apart from the week chips. */
  #tc-app :is(.tc-ans, .tc-ev-btns, .tc-rmark) .tc-btn:not(.on):not(.tc-on) { background:transparent !important; border:1.5px solid var(--line) !important; }
  #tc-app :is(.tc-ans, .tc-ev-btns, .tc-rmark) .tc-btn:is(.on, .tc-on)::before, #tc-app .tc-filter .tc-chip.on::before { content:"\2713"; order:2; margin-left:5px; font-weight:800; }
  #tc-app :is(.tc-ans, .tc-ev-btns, .tc-rmark) .tc-btn:is(.on, .tc-on), #tc-app .tc-filter .tc-chip.on { display:inline-flex; align-items:center; justify-content:center; }
  #tc-app .tc-filter .tc-chip.on { box-shadow:0 1px 3px rgba(0,0,0,.18); }
  #tc-app .tc-filter [data-venue] + :not([data-venue]) { margin-left:12px; }
  /* Washout (1.82.0): one storm-grey weather button in every app, red while a washout is on */
  #tc-app .tc-adminbar .tc-btn.tc-wash-btn { background:#3f4f5c !important; border-color:#3f4f5c !important; color:#fff !important; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
  #tc-app .tc-adminbar .tc-btn.tc-wash-btn::before { content:""; width:16px; height:16px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 15a4 4 0 1 1 1-7.9A5 5 0 0 1 18 9a3.5 3.5 0 0 1-.5 7H7z'/%3E%3Cpath d='M9 19l-1 2M13 19l-1 2M17 19l-1 2'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 15a4 4 0 1 1 1-7.9A5 5 0 0 1 18 9a3.5 3.5 0 0 1-.5 7H7z'/%3E%3Cpath d='M9 19l-1 2M13 19l-1 2M17 19l-1 2'/%3E%3C/svg%3E") center/contain no-repeat; }
  #tc-app .tc-adminbar .tc-btn.tc-wash-btn.on { background:#c8102e !important; border-color:#c8102e !important; }
  html.th-dark #tc-app .tc-adminbar .tc-btn.tc-wash-btn:not(.on) { background:#4a5c6a !important; border-color:#5d707e !important; }
  /* Comp fixtures (1.82.0): results look settled, a short empty line under a player with no team */
  #tc-app .tc-card.result .tc-card-head { background:#5b6478 !important; }
  #tc-app .tc-card.result .tc-card-body { background:#f6f7f9 !important; }
  #tc-app .tc-card.result { border-left-color:#5b6478 !important; }
  html.th-dark #tc-app .tc-card.result .tc-card-head { background:#3a4150 !important; }
  html.th-dark #tc-app .tc-card.result .tc-card-body { background:#16181d !important; }
  #tc-app .tc-sec + .tc-empty { text-align:left; padding:2px 0 10px; }
  #tc-app .tc-ca-row { display:grid; gap:6px; margin:0 0 14px; }
  #tc-app .tc-ca-new .tc-btn { justify-self:start; }
  html.th-dark #tc-app .tc-filter .tc-chip.on { background:#2f4fb8 !important; border-color:#2f4fb8 !important; color:#fff !important; }
  #tc-app .tc-codereg { margin-top:6px; }
  #tc-app .tc-regkid { border:1px solid var(--line); border-radius:8px; padding:8px 12px 10px; margin:12px 0; }
  #tc-app .tc-regkid legend { font-weight:700; padding:0 4px; }
  #tc-app .tc-regh { margin:16px 0 4px; font-size:15px; }
  #tc-app .tc-reg { border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin:0 0 10px; }
  #tc-app .tc-reg.done { opacity:.7; }
  #tc-app .tc-reg p { margin:4px 0; }
  #tc-app .tc-reg-h { display:flex; justify-content:space-between; gap:8px; }
  #tc-app .tc-med { color:#b42318; font-weight:600; }
  html.th-dark #tc-app .tc-med { color:#f08a80 !important; }
  #tc-app .tc-feed { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; padding:12px; margin:18px 0; }
  #tc-app .tc-feed small { display:block; color:var(--muted); }
  #tc-app .tc-feedbtns { display:flex; flex-wrap:wrap; gap:8px; }
  #tc-app .tc-feedbtns .tc-btn { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
  #tc-app [data-admin="regs"][data-count]:not([data-count=""])::after { content:attr(data-count); display:inline-block; min-width:18px; margin-left:6px; padding:0 5px; border-radius:9px; background:#b42318; color:#fff; font-size:11px; line-height:18px; }
  #tc-app .tc-carenudge { display:flex; justify-content:space-between; align-items:center; gap:10px; border:1px dashed var(--line); border-radius:10px; padding:10px 12px; margin:6px 0 10px; }
  #tc-app .tc-carenudge small { display:block; color:var(--muted); }
  #tc-app .tc-careline { font-size:13px; color:var(--muted); margin:2px 0 10px; }
  #tc-app .tc-seg2 { display:flex; flex-wrap:wrap; gap:4px 18px; }
  #tc-app .tc-careadm { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; border:1px solid var(--line); border-radius:8px; padding:8px 10px; margin:8px 0; }
  #tc-app .tc-careadm small { display:block; color:var(--muted); line-height:1.5; }
  #tc-app .tc-ro-need { background:#fff4f2; }
  html.th-dark #tc-app .tc-ro-need { background:#2a1715 !important; }
  #tc-app .tc-ro-flag { color:#b42318; font-weight:700; }
  #tc-app .tc-ro-pick { max-width:150px; }
  #tc-app .tc-ww { border:1px solid var(--line); border-radius:8px; padding:8px 10px; margin:0 0 8px; }
  #tc-app .tc-ww-h { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
  #tc-app .tc-ww-h small { color:var(--muted); }
  #tc-app .tc-ww-in { display:grid; grid-template-columns:1fr 1fr auto; gap:6px; margin-top:6px; }
  #tc-app .tc-ww-st { margin-left:auto; font-size:12px; font-weight:700; padding:2px 8px; border-radius:10px; }
  #tc-app .tc-ww-st.ok { background:#e3f4e8; color:#1f7a3a; } #tc-app .tc-ww-st.warn { background:#fff4d6; color:#8a5a00; } #tc-app .tc-ww-st.bad { background:#fde8e8; color:#b42318; } #tc-app .tc-ww-st.miss { background:#eef0f4; color:#5b6070; }
  html.th-dark #tc-app .tc-ww-st { background:#1b1d20 !important; }
  #tc-app .tc-ml { border-top:1px solid var(--line); padding:8px 0; }
  #tc-app .tc-ml small { display:block; color:var(--muted); }
  #tc-app .tc-ml p { margin:4px 0 0; font-size:13.5px; }
  #tc-app .tc-ml-miss { color:#8a5a00; }
  html.th-dark #tc-app .tc-ml-miss { color:#e3a046 !important; }
  #tc-app .tc-le-add { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:6px 10px; }
  @media (max-width:479px) { #tc-app .tc-ww-in { grid-template-columns:1fr 1fr; } #tc-app .tc-ww-in [data-wn] { grid-column:1 / -1; } }
  /* White boxes on the light grey page (1.86.8) */
  #tc-app .tc-feed, #tc-app .tc-carenudge { background:#fff; }
  html.th-dark #tc-app .tc-feed, html.th-dark #tc-app .tc-carenudge { background:transparent; }
  #tc-app .tc-modal[data-wait] { opacity:0; }
  /* Until the first data arrives, the footer, theme switcher and "Made by" line stay hidden and the page keeps its height, so nothing jumps when switching apps (1.86.15) */
  #tc-app.tc-boot { min-height:100vh; }
  #tc-app.tc-boot .tc-foot, #tc-app.tc-boot [data-themes] { visibility:hidden; }
  body:has(#tc-app.tc-boot) .ct-powered { visibility:hidden; }
  /* Quick fade (1.86.16): a new tab's content and every window fade in over 0.15s, like switching apps. Off for people who ask for less motion */
  @keyframes tc-fadein { from { opacity:0; } }
  @keyframes tc-cardin { from { opacity:0; transform:translateY(6px); } }
  @keyframes tc-dimin { from { background-color:transparent; } }
  #tc-app.tc-fade > :not(.tc-sticky):not(.tc-tabs):not(.tc-modal):not(.tc-status):not(header) { animation:tc-fadein .15s ease-out; }
  #tc-app .tc-modal:not([hidden]) { animation:tc-dimin .15s ease-out; }
  #tc-app .tc-modal:not([hidden]) > .tc-modal-card { animation:tc-cardin .15s ease-out; }
  @media (prefers-reduced-motion:reduce) { #tc-app.tc-fade > *, #tc-app .tc-modal, #tc-app .tc-modal > .tc-modal-card { animation:none !important; } }
  /* dark:start */
  html.th-dark #tc-app { --ink:#cfd6e9; --muted:#bdbdbd; --line:#43404a; --soft:#19161d; --ok:#15232a; --ok-ink:#70cfff; --red:#2b1313; --red-ink:#e78888; --amber:#3c3417; --amber-ink:#eddfc2; color:#b2bedc; }
  html.th-dark #tc-app .tc-sticky { background:#131313; }
  html.th-dark #tc-app .tc-club { color:#a5e9b5; }
  html.th-dark #tc-app .tc-bell { color:#c7c7c7; }
  html.th-dark #tc-app .tc-bell.on { color:#9fb0ef; }
  html.th-dark #tc-app .tc-quiet { color:#c7c7c7; }
  html.th-dark #tc-app .tc-admin-tag { color:#bbebc7; }
  html.th-dark #tc-app .tc-btn { background:#131313; color:#b2bedc; }
  html.th-dark #tc-app .tc-btn-danger { color:#eca2a2; border-color:#553434; }
  html.th-dark #tc-app .tc-status.ok { color:#8fd9ff; }
  html.th-dark #tc-app .tc-status.err { color:#eca2a2; }
  html.th-dark #tc-app .tc-alert .tc-btn { background:#131313; color:#f797a7; border-color:#454545; }
  html.th-dark #tc-app .tc-prompt { color:#ffda8f; }
  html.th-dark #tc-app h2.tc-sec small { color:#c7c7c7; }
  html.th-dark #tc-app .tc-card { background:#131313; }
  html.th-dark #tc-app .lv-Blue .tc-card-body { background:#131a26; }
  html.th-dark #tc-app .lv-Red .tc-card-body { background:#251111; }
  html.th-dark #tc-app .lv-Orange .tc-card-body { background:#2d2211; }
  html.th-dark #tc-app .lv-Green .tc-card-body { background:#242a18; }
  html.th-dark #tc-app .lv-Yellow .tc-card-body { background:#2f2b12; }
  html.th-dark #tc-app .tc-card-body .tc-btn:not(.tc-btn-primary):not(.on) { background:#131313; }
  html.th-dark #tc-app .tc-chip { color:#c7c7c7; }
  html.th-dark #tc-app .tc-card.washed .tc-card-body { background:#1e1e1e !important; }
  html.th-dark #tc-app .tc-sub-trial { background:#0f1b28; border-color:#2c465d; color:#bbd5eb; }
  html.th-dark #tc-app .tc-sub-grace { background:#2d2511; border-color:#5c4f2e; color:#f0e3ca; }
  html.th-dark #tc-app .tc-sub-paused { background:#2b1313; border-color:#553434; color:#e78888; }
  html.th-dark #tc-app .tc-term { border:1px solid #3a4350; background:#131920; color:#ccd7e8; }
  html.th-dark #tc-app .tc-trow { border-bottom:1px solid #454545; }
  html.th-dark #tc-app .tc-trow small { color:#b9bcc0; }
  html.th-dark #tc-app .tc-tbl th, html.th-dark #tc-app .tc-tbl td { border-bottom:1px solid #454545; }
  html.th-dark #tc-app .tc-tbl th { color:#b9bcc0; }
  html.th-dark #tc-app .tc-impbox { border:1px solid #43404a; }
  html.th-dark #tc-app .tc-fee .paid { color:#8de2a6; }
  html.th-dark #tc-app .tc-fee .due { color:#ee8981; }
  html.th-dark #tc-app .tc-notes { background:#27230f; border:1px solid #595131; }
  html.th-dark #tc-app .tc-notes small { color:#dacc95; }
  html.th-dark #tc-app .tc-re-row small { color:#b9bcc0; }
  html.th-dark #tc-app .tc-tag { background:#191c21; }
  html.th-dark #tc-app .tc-tag.ok { background:#1b281f; color:#8de2a6; }
  html.th-dark #tc-app .tc-tag.no { background:#271212; color:#ee8981; }
  html.th-dark #tc-app .tc-pushrow small { color:#b9bcc0; }
  html.th-dark #tc-app .tc-closure { background:#2d2511; border:1px solid #5c4f2e; }
  html.th-dark #tc-app .tc-closure svg { stroke:#ffce70; }
  html.th-dark #tc-app .tc-closure p { color:#f0e3ca; }
  html.th-dark #tc-app .tc-card.closed .tc-card-head { background:#35373b !important; }
  html.th-dark #tc-app .tc-card.closed .tc-card-body { background:repeating-linear-gradient(-45deg,#1a1a1c 0 10px,#1f1f22 10px 20px) !important; }
  html.th-dark #tc-app .tc-pill.closed { background:#35373b; }
  html.th-dark #tc-app .tc-meta.closednote { color:#f0e3ca; }
  html.th-dark #tc-app .tc-cls .tc-coach { color:#c7c7c7; }
  html.th-dark #tc-app .tc-meta { color:#c7c7c7; }
  html.th-dark #tc-app .tc-pill { color:#8fd9ff; }
  html.th-dark #tc-app .tc-pill.away { background:#1b1d22; color:#c7c7c7; }
  html.th-dark #tc-app .tc-cal a { color:#b2bedc; }
  html.th-dark #tc-app .tc-kidtag { background:#131313; }
  html.th-dark #tc-app h2.tc-sec { color:#9fb0ef; }
  html.th-dark #tc-app .tc-empty { color:#c7c7c7; }
  html.th-dark #tc-app .tc-codebox { background:#272813; }
  html.th-dark #tc-app .tc-codebox p { color:#c7c7c7; }
  html.th-dark #tc-app .tc-input, html.th-dark #tc-app .tc-select { background:#131313; color:#b2bedc; }
  html.th-dark #tc-app .tc-label { color:#c7c7c7; }
  html.th-dark #tc-app .tc-hint { color:#c7c7c7; }
  html.th-dark #tc-app .tc-check input { accent-color:#c1caed; }
  html.th-dark #tc-app .tc-tsec-sub { color:#b8bbc2; }
  html.th-dark #tc-app .tc-sc { border:1px solid #40434a; }
  html.th-dark #tc-app .tc-sc-row { border-bottom:1px solid #3f424b; }
  html.th-dark #tc-app .tc-sc-head { color:#b8bbc2; }
  html.th-dark #tc-app .tc-sc-l small { color:#b8bbc2; }
  html.th-dark #tc-app .tc-sc-tot:first-of-type, html.th-dark #tc-app .tc-sc-row + .tc-sc-tot { border-top:1px solid #40434a; }
  html.th-dark #tc-app .tc-sc-dec { background:#12161d; }
  html.th-dark #tc-app .tc-elig { color:#ee8981; }
  html.th-dark #tc-app .tc-foot { color:#c7c7c7; }
  html.th-dark #tc-app .tc-modal-card { background:#131313; }
  html.th-dark #tc-app .tc-sub { color:#c7c7c7; }
  html.th-dark #tc-app .tc-x { color:#c7c7c7; }
  html.th-dark #tc-app .tc-r .m small { color:#c7c7c7; }
  html.th-dark #tc-app .tc-r.off .m b { color:#c7c7c7; }
  html.th-dark #tc-app .tc-crow.lvr-Blue { background:#131a26; border-color:#324058; }
  html.th-dark #tc-app .tc-crow.lvr-Red { background:#251111; border-color:#593131; }
  html.th-dark #tc-app .tc-crow.lvr-Orange { background:#2d2211; border-color:#5e4a2c; }
  html.th-dark #tc-app .tc-crow.lvr-Green { background:#242a18; border-color:#4a5534; }
  html.th-dark #tc-app .tc-crow.lvr-Yellow { background:#2f2b12; border-color:#5b552f; }
  html.th-dark #tc-app .tc-crow.off { background:#1c1c1c; border-color:#454545; }
  html.th-dark #tc-app .tc-crow .tc-select, html.th-dark #tc-app .tc-crow .tc-btn:not(.tc-btn-primary) { background-color:#131313; }
  html.th-dark #tc-app .tc-fam { background:#121d23; border-color:#344956; }
  html.th-dark #tc-app .tc-fam.alt { background:#221119; border-color:#563445; }
  html.th-dark #tc-app .tc-fam .tc-input, html.th-dark #tc-app .tc-fam .tc-enrol label, html.th-dark #tc-app .tc-fam .tc-codechip { background:#131313; }
  html.th-dark #tc-app .tc-fam .tc-kid { border-top-color:rgba(102,102,102,0.12); }
  html.th-dark #tc-app .tc-bp-opts { background:#131313; }
  html.th-dark #tc-app .tc-ballbtn { background:var(--c, #131313); }
  html.th-dark #tc-app .tc-ballbtn::before, html.th-dark #tc-app .tc-ballbtn::after { border:1.5px solid rgba(69,69,69,0.85); }
  html.th-dark #tc-app .tc-ballbtn.none { background:#131313; }
  html.th-dark #tc-app .tc-enrol input { accent-color:#c1caed; }
  html.th-dark #tc-app .tc-credits { color:#c7c7c7; }
  html.th-dark #tc-app .tc-credits button { background:#131313; color:#b2bedc; }
  html.th-dark #tc-app .tc-credits b { color:#b2bedc; }
  html.th-dark #tc-app .tc-name { color:#c1caed; }
  html.th-dark #tc-app .tc-card.home .tc-card-body { background:#151822; }
  html.th-dark #tc-app .tc-card.awayt .tc-card-body { background:#172119; }
  html.th-dark #tc-app .tc-pill.no { background:#271212; color:#ee8981; }
  html.th-dark #tc-app .tc-pill.res { background:#1b1d20; color:#ccd7e8; }
  html.th-dark #tc-app .tc-pill.res.W { background:#1b281f; color:#8de2a6; }
  html.th-dark #tc-app .tc-pill.res.L { background:#271212; color:#ee8981; }
  html.th-dark #tc-app .tc-duty { background:#2c2611; border:1px solid #5a5130; }
  html.th-dark #tc-app .tc-tm, html.th-dark #tc-app .tc-team { background:#131313; }
  html.th-dark #tc-app .tc-tm-h small, html.th-dark #tc-app .tc-team-h small { color:#c7c7c7; }
  html.th-dark #tc-app .tc-tm-r { border-top:1px solid #3f434b; }
  html.th-dark #tc-app .tc-tm-r small { color:#c7c7c7; }
  html.th-dark #tc-app .tc-links { color:#c7c7c7; }
  html.th-dark #tc-app .tc-links a { color:#9fb0ef; }
  html.th-dark #tc-app .tc-rd.wash { background:#1a1a1a; }
  html.th-dark #tc-app .tc-pickrow { border-bottom:1px solid #3f434b; }
  html.th-dark #tc-app .tc-pickrow input { accent-color:#c1caed; }
  html.th-dark #tc-app .tc-pickrow > span > small { color:#b8bbc2; }
  html.th-dark #tc-app .tc-pickrow small { color:#c7c7c7; }
  html.th-dark #tc-app .tc-card-list small { color:#c7c7c7; }
  html.th-dark #tc-app .tc-codebox { background:#161f18; }
  html.th-dark #tc-app .tc-photos figcaption { color:#c7c7c7; }
  html.th-dark #tc-app .tc-ev-empty { border:1px dashed #3f424b; color:#b9bcc0; }
  html.th-dark #tc-app .tc-ev { border:1px solid #3f424b; background:#131313; }
  html.th-dark #tc-app .tc-ev-meta { color:#b9bbc1; }
  html.th-dark #tc-app .tc-ev-row { border-top:1px solid #3f424b; }
  html.th-dark #tc-app input[type=file]::file-selector-button { border:1px solid #3f434a; background:#16191e; color:#d6dde9; }
  html.th-dark #tc-app .tc-ev-st { background:#1b1d20; color:#b9bbc1; }
  html.th-dark #tc-app .tc-ev-st.yes { background:#1b281f; color:#8de2a6; }
  html.th-dark #tc-app .tc-ev-st.wait { background:#322a13; color:#ecdcbe; }
  html.th-dark #tc-app .tc-ev-st.no { background:#271212; color:#ee8981; }
  html.th-dark #tc-app .tc-ev-pick { border:1px solid #3f424b; }
  html.th-dark #tc-app .tc-ev-pick label { border-bottom:1px solid #3f424b; }
  html.th-dark #tc-app a.tc-doc { border:1px solid #3f424b; background:#131313; }
  html.th-dark #tc-app a.tc-doc small { color:#b9bcc0; }
  html.th-dark #tc-app .tc-mystats { color:#b9bbc1; }
  html.th-dark #tc-app .tc-kstats { color:#b9bbc1; }
  html.th-dark #tc-app .tc-club { color:#baebc6; }
  html.th-dark #tc-app .tc-week-h { color:#d6dbe9; }
  html.th-dark #tc-app .tc-week-h span { color:#b8bbc1; }
  html.th-dark #tc-app .tc-wcard { border:1px solid #3f434b; background:#131313; }
  html.th-dark #tc-app .tc-wtxt b { color:#d6dbe9; }
  html.th-dark #tc-app .tc-wtxt small { color:#b7bac2; }
  html.th-dark #tc-app .tc-week-more { color:#b8bbc1; }
  html.th-dark #tc-app .tc-aglabel { color:#b8bbc1; }
  html.th-dark #tc-app .tc-next { background:#131313; }
  html.th-dark #tc-app .tc-next li + li { border-top:1px solid #3f434b; }
  html.th-dark #tc-app .tc-next li.tc-nx-h { color:#b7bac2; }
  html.th-dark #tc-app .tc-viewbar { border:1.5px dashed #5f646d; color:#d6dbe9; background:#131313; }
  html.th-dark #tc-app .tc-drow { border:1px solid #3f434b; }
  html.th-dark #tc-app .tc-drow-h small { color:#b7bac2; }
  html.th-dark #tc-app .tc-dmatches summary { color:#85a2ea; }
  html.th-dark #tc-app .tc-tabs { background:#131313; border-top:1px solid #3f434b; }
  html.th-dark #tc-app .tc-tab { color:#b7bac2; }
  html.th-dark #tc-app .tc-tab.on { color:#c1caed; background:#191c26; }
  @media (min-width:1000px) { html.th-dark #tc-app .tc-tabs { border:1px solid #3f434b; } }
  @media (min-width:1360px) { html.th-dark #tc-app.tc-tabbed[data-tab="admin"] #tc-modal > * { border-left:1px solid #3f434b; } }
  html.th-dark #tc-app .tc-name { color:#c1caed; }
  html.th-dark #tc-app .tc-themes { color:#c7c7c7; }
  html.th-dark #tc-app .tc-thseg button { color:#c7c7c7; }
  html.th-dark #tc-app .tc-chip { color:#b2bedc; background:#131313; }
  html.th-dark #tc-app .tc-fsel { color:#b2bedc; }
  html.th-dark #tc-app input[type=checkbox], html.th-dark #tc-app input[type=radio] { accent-color:#9fb0ef; }
  html.th-dark #tc-app .tc-steplink { background:#131313; }
  html.th-dark #tc-app .tc-admin-tag { color:#c1caed; }
  html.th-dark #tc-app .tc-again { border-top:1px solid #553434; }
  html.th-dark #tc-app .tc-ev.cancelled { border-left-color:#62646a; }
  html.th-dark #tc-app .tc-card.closed { border-left-color:#61636b; }
  html.th-dark #tc-app .tc-term { border:1px solid #3a4350; background:#131920; color:#ccd7e8; }
  html.th-dark #tc-app .tc-grip { color:#b9bcc1; }
  html.th-dark #tc-app .tc-grip:hover, html.th-dark #tc-app .tc-grip:focus-visible { color:#b7bac2; background:#191a1e; }
  html.th-dark #tc-app .tc-drow.tc-dragging { background:#131313; }
  html.th-dark #tc-app .tc-ev-st.pick { background:#181c27; color:#c1caed; }
  html.th-dark #tc-app .tc-modal-card { border:1px solid #3f424b; }
  html.th-dark #tc-app .tc-adminbar { border-color:#3d5bd9; }
  html.th-dark #tc-app .tc-admin-tag { color:#9fb0ff; }
  html.th-dark #tc-app .tc-modal-card { border-color:#2c313c; }
  html.th-dark #tc-app { color-scheme:dark; }
  html.th-dark #tc-app .tc-tabs { background:#121520; }
  html.th-dark #tc-app .tc-sticky { background:#101217; }
  html.th-dark #tc-app .tc-tab.on { background:#1e2a4d; color:#b9c8ff; }
  html.th-dark #tc-app .tc-tab { color:#b3b8c7; }
  html.th-dark #tc-app .tc-tabs { border-color:#2a2f3d; box-shadow:none; }
  html.th-dark #tc-app .tc-btn-primary { background:#2f55c9; border-color:#2f55c9; color:#fff; }
  html.th-dark #tc-app .tc-btn.on { background:#1E7A34; border-color:#1E7A34; color:#fff; }
  html.th-dark #tc-app .tc-ev-btns .on { background:#1f7a3a; border-color:#1f7a3a; color:#fff; }
  html.th-dark #tc-app .tc-ev-btns .on[data-evr="no"] { background:#b42318; border-color:#b42318; color:#fff; }
  html.th-dark #tc-app input[type=checkbox], html.th-dark #tc-app input[type=radio] { accent-color:#6ea8ff; }
  html.th-dark #tc-app .tc-elig { color:#ff8a80; }
  html.th-dark #tc-app input[type=file]::file-selector-button { background:#262626; color:#eee; border-color:#4a4a4a; }
  html.th-dark #tc-app .tc-select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23aab0bf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:12px 8px; }
  html.th-dark #tc-app .tc-tm { border-left:4px solid #6f8fe8; }
  html.th-dark #tc-app .tc-wcard { border-left:4px solid #6f9bf5; }
  html.th-dark #tc-app .tc-wcard.tc-w-no { border-left-color:#ef6b6b; }
  html.th-dark #tc-app .tc-wcard.tc-w-warn { border-left-color:#e3a046; }
  html.th-dark #tc-app .tc-wcard.tc-w-ok { border-left-color:#5cbf6a; }
  /* dark:end */
