/* CBF Championships – public styles. Everything is scoped under .cbfc so the theme is untouched. */
.cbfc{--cbfc-red:#a80f16;--cbfc-red2:#d71920;--cbfc-ink:#242424;--cbfc-mute:#666;--cbfc-line:#e4e0d7;--cbfc-line2:#eeeae0;--cbfc-cream:#fbf8f1;--cbfc-gold:#a4740b;
  color:var(--cbfc-ink);font-size:15px;line-height:1.45;max-width:1080px;margin:0 auto;padding:28px 0 36px}
.cbfc *{box-sizing:border-box}
.cbfc button{font-family:inherit;margin:0}
.cbfc a{color:#0b4f91}
.cbfc table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.cbfc th{font-size:11px;letter-spacing:1px;color:#777;text-align:left;padding:7px 10px;border-bottom:2px solid var(--cbfc-line);text-transform:uppercase;background:none}
.cbfc td{padding:7px 10px;border-bottom:1px solid var(--cbfc-line2);background:none}
.cbfc .cbfc-r{text-align:right}
.cbfc .cbfc-nowrap{white-space:nowrap}
.cbfc .cbfc-win{font-weight:800}
.cbfc .cbfc-tbd{color:#999}
.cbfc .cbfc-vs{color:#999;font-size:12px}
.cbfc .cbfc-scroll{overflow-x:auto}

/* Event tabs */
.cbfc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.cbfc-tab{border:1px solid #d8d2c4;background:#fff;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer;color:#444;line-height:1.2}
.cbfc-tab small{display:block;font-size:11px;font-weight:600;color:#888;letter-spacing:.4px}
.cbfc-tab.on{background:var(--cbfc-red);border-color:var(--cbfc-red);color:#fff}
.cbfc-tab.on small{color:#ffd7d7}

.cbfc-panel{background:#fff;border:1px solid var(--cbfc-line);border-radius:12px;padding:22px 24px}
@media(max-width:600px){.cbfc-panel{padding:16px 14px}}
.cbfc-evhead{display:flex;align-items:baseline;gap:6px 16px;flex-wrap:wrap;border-bottom:3px solid var(--cbfc-red2);padding-bottom:10px;margin-bottom:14px}
.cbfc-evhead h2{margin:0;font-size:24px;font-weight:900;line-height:1.2}
.cbfc-evhead h2 span{font-weight:600;color:var(--cbfc-mute);font-size:17px}
.cbfc-dates{font-size:13.5px;color:var(--cbfc-mute);font-weight:600}

/* Section nav */
.cbfc-secnav{display:flex;gap:10px;margin:0 0 14px}
.cbfc-pg{flex:1;border:2px solid var(--cbfc-ink);background:#fff;border-radius:10px;padding:10px 8px;font-size:16px;font-weight:800;cursor:pointer;color:var(--cbfc-ink);line-height:1.2}
.cbfc-pg small{display:block;font-size:11.5px;font-weight:600;color:#777;margin-top:2px}
.cbfc-pg.on{background:var(--cbfc-ink);color:#fff}
.cbfc-pg.on small{color:#ccc}
@media(max-width:520px){.cbfc-pg{font-size:14px;padding:9px 4px}.cbfc-pg small{font-size:10.5px}}

.cbfc-vtoggle{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.cbfc-vt{border:1px solid #d8d2c4;background:#fff;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--cbfc-ink)}
.cbfc-vt.on{background:var(--cbfc-ink);color:#fff;border-color:var(--cbfc-ink)}

h3.cbfc-sec{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--cbfc-red);margin:22px 0 10px}
.cbfc-empty{font-size:14px;color:#888;border:1px dashed #d8d2c4;border-radius:10px;padding:14px 16px;margin:0}
.cbfc-note{font-size:13.5px;color:var(--cbfc-mute);margin:0 0 12px}

.cbfc-panel>h3.cbfc-sec:first-of-type{margin-top:4px}

/* Results layout */
.cbfc-resgrid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}
@media(max-width:900px){.cbfc-resgrid{grid-template-columns:minmax(0,1fr)}}

.cbfc-rnav{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.cbfc-rbtn{width:38px;height:38px;flex:none;border-radius:8px;border:1px solid #d8d2c4;background:#fff;font-size:20px;font-weight:800;cursor:pointer;color:var(--cbfc-ink)}
.cbfc-rbtn:disabled{opacity:.35;cursor:default}
.cbfc-rlabel{font-size:17px;font-weight:900;flex:1;text-align:center;line-height:1.2}
.cbfc-rlabel small{display:block;font-size:13px;font-weight:600;color:var(--cbfc-mute)}
.cbfc-rchips{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 14px;justify-content:center}
.cbfc-rchip{width:30px;height:30px;border-radius:999px;border:1px solid #d8d2c4;background:#fff;font-weight:700;font-size:12.5px;cursor:pointer;color:#888;padding:0}
.cbfc-rchip.done{color:var(--cbfc-ink);background:var(--cbfc-cream)}
.cbfc-rchip.cur{box-shadow:0 0 0 2px var(--cbfc-gold)}
.cbfc-rchip.on{background:var(--cbfc-red);border-color:var(--cbfc-red);color:#fff}

.cbfc-mgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
@media(max-width:720px){.cbfc-mgrid{grid-template-columns:minmax(0,1fr)}}
.cbfc-mcard{border:1px solid var(--cbfc-line);border-radius:10px;padding:9px 14px 8px}
.cbfc-mhead{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:1px;color:#888;border-bottom:1px solid var(--cbfc-line2);padding-bottom:5px;margin-bottom:4px;text-transform:uppercase}
.cbfc-mhead a{font-size:12px;letter-spacing:0;text-transform:none}
.cbfc-mrow{display:grid;grid-template-columns:1fr 44px 56px;align-items:baseline;padding:3px 0;font-size:14.5px}
.cbfc-msc{text-align:right;color:#444}
.cbfc-mvp{text-align:right;font-weight:600}
.cbfc-mrow.cbfc-mlabels{font-size:10px;letter-spacing:1px;color:#aaa;padding:0}
.cbfc-mlabels span{text-align:right}

/* Full schedule accordion */
.cbfc-day{border:1px solid var(--cbfc-line);border-radius:10px;margin:0 0 10px;overflow:hidden}
.cbfc-day>summary,.cbfc-team>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 16px;position:relative}
.cbfc-day>summary::-webkit-details-marker,.cbfc-team>summary::-webkit-details-marker{display:none}
.cbfc-day>summary::after,.cbfc-team>summary::after{content:"";width:8px;height:8px;border-right:2px solid #888;border-bottom:2px solid #888;transform:rotate(45deg);margin-left:8px;transition:transform .15s;flex:none}
.cbfc-day[open]>summary::after,.cbfc-team[open]>summary::after{transform:rotate(-135deg)}
.cbfc-day>summary{background:var(--cbfc-cream)}
.cbfc-dlabel{font-weight:900;font-size:15.5px}
.cbfc-dmeta{margin-left:auto;font-size:13px;color:var(--cbfc-mute);font-weight:600;text-align:right}
.cbfc .cbfc-dtime{color:var(--cbfc-ink);font-weight:700}
@media(max-width:520px){.cbfc-dmeta{display:none}.cbfc .cbfc-dtime{display:block;font-size:12px}}
.cbfc-sched td{font-size:14px}
.cbfc-sched tr.cbfc-round td{background:#f6f1e6;font-weight:800;font-size:13px;border-top:1px solid var(--cbfc-line)}
.cbfc-sched tr.cbfc-round a{font-size:12.5px;font-weight:700}
.cbfc-sched td a{font-size:12px;margin-left:4px}
.cbfc-now{color:var(--cbfc-gold);font-size:11px}

/* Standings */
.cbfc-aside{border:1px solid var(--cbfc-line);border-radius:10px;padding:12px 14px}
.cbfc-ahead{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--cbfc-red);margin-bottom:6px}
.cbfc-srow{display:grid;grid-template-columns:26px 1fr 46px 56px;align-items:baseline;padding:4px 0;border-bottom:1px solid #f2efe7;font-size:13.5px}
.cbfc-pos{font-weight:900;color:var(--cbfc-red)}
.cbfc-stn{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbfc-sdiff{text-align:right;color:#999;font-size:12px}
.cbfc-svp{text-align:right;font-weight:800}
.cbfc-anote{font-size:12px;color:#888;margin-top:8px;line-height:17px}

.cbfc-butler .cbfc-dim td,.cbfc-dim td{color:#aaa}

/* Teams accordion */
.cbfc-ttools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.cbfc-search{flex:1;min-width:180px;border:1px solid #d8d2c4;border-radius:999px;padding:8px 14px;font-size:14px}
.cbfc-count{font-size:13px;font-weight:700;background:var(--cbfc-cream);border:1px solid var(--cbfc-line);border-radius:999px;padding:6px 12px}
.cbfc-team{border:1px solid var(--cbfc-line);border-radius:10px;margin:0 0 8px}
.cbfc-team[open]{border-color:#cfc6b3}
.cbfc-tn{font-size:15.5px;font-weight:900}
.cbfc-tcap{font-size:13px;color:var(--cbfc-mute)}
.cbfc-team .cbfc-chip{margin-left:auto}
.cbfc-tbody{padding:0 16px 14px}
.cbfc-pll{font-size:13.5px;line-height:20px;color:#555}
.cbfc-pll b{color:var(--cbfc-ink)}
.cbfc-cards{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.cbfc a.cbfc-ccbtn{display:inline-block;background:var(--cbfc-red);color:#fff;font-size:13px;font-weight:700;border-radius:6px;padding:6px 11px;text-decoration:none}
.cbfc a.cbfc-ccbtn:hover{background:#8a0c12}
.cbfc-notes{font-size:13px;font-weight:700}
.cbfc a.cbfc-ccbtn.alt{background:#fff;color:var(--cbfc-red);border:1px solid var(--cbfc-red)}

/* Pair cards, as on the Team League page */
.cbfc-ccrows{margin-top:10px;border-top:1px solid var(--cbfc-line2)}
.cbfc-ccrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--cbfc-line2);font-size:14px}
.cbfc-ccrow .cbfc-ccbtn{flex:none;font-size:12px;padding:5px 10px}

/* Submit CC */
.cbfc-submit{margin-top:10px;background:#fffaf0;border:1px solid #f0e3c6;border-radius:8px}
.cbfc-submit>summary{cursor:pointer;padding:8px 12px;font-size:13px;font-weight:800;color:var(--cbfc-red);list-style:none}
.cbfc-submit>summary::-webkit-details-marker{display:none}
.cbfc-ccform{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding:4px 12px 12px}
@media(max-width:560px){.cbfc-ccform{grid-template-columns:minmax(0,1fr)}}
.cbfc-ccform label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#555}
.cbfc-ccform input,.cbfc-ccform select{font:inherit;font-size:14px;font-weight:400;padding:7px 9px;border:1px solid #d8d2c4;border-radius:6px;background:#fff;width:100%;color:var(--cbfc-ink)}
.cbfc-ccform input[name=code]{text-transform:uppercase;letter-spacing:2px}
.cbfc-ccact{grid-column:1/-1}
.cbfc-upbtn{background:#2e7d32;color:#fff;border:0;border-radius:6px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer}
.cbfc-upbtn:disabled{opacity:.6;cursor:default}
.cbfc-ccmsg{grid-column:1/-1;font-size:13.5px;font-weight:700}
.cbfc-ccmsg:empty{display:none}
.cbfc-ccmsg.ok{color:#226622}
.cbfc-ccmsg.err{color:var(--cbfc-red)}
.cbfc-cchelp{grid-column:1/-1;margin:0;font-size:12px;color:#888}
.cbfc-chip{font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap;background:#eee;color:#555}
.cbfc-chip.pend{background:#fdf3e0;color:#8a5a00}
.cbfc-chip.ok,.cbfc-chip.final{background:#e6f2e6;color:#226622}
.cbfc-chip.live{background:#fde8e8;color:var(--cbfc-red)}
@media(max-width:520px){.cbfc-tcap{display:none}}

/* Playoffs */
.cbfc-pogrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cbfc-pogrid.one{grid-template-columns:minmax(0,1fr)}
@media(max-width:720px){.cbfc-pogrid{grid-template-columns:minmax(0,1fr)}}
.cbfc-pobox{border:1px solid var(--cbfc-line);border-radius:10px;padding:12px 14px;min-width:0}
.cbfc-pohead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cbfc-k{font-size:11.5px;font-weight:800;letter-spacing:1.5px;color:var(--cbfc-red)}
.cbfc-d{font-size:13px;color:var(--cbfc-mute);margin-top:3px}
.cbfc-potable{margin-top:6px}
.cbfc-potable th{white-space:nowrap;padding:7px 8px}
.cbfc-potable td{font-size:14.5px}

/* Team links and team page */
.cbfc a.cbfc-tlink{color:inherit;text-decoration:none;border-bottom:1px dotted #b8b0a0}
.cbfc a.cbfc-tlink:hover{color:var(--cbfc-red);border-bottom-color:var(--cbfc-red)}
.cbfc .cbfc-srow a.cbfc-tlink{border-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbfc a.cbfc-tsched-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:700}
.cbfc a.cbfc-back{display:inline-block;font-size:13.5px;font-weight:700;text-decoration:none;margin-bottom:10px}
.cbfc-thead{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.cbfc-thead h3{margin:0;font-size:22px;font-weight:900;line-height:1.2}
.cbfc-stats{display:flex;gap:8px;flex-wrap:wrap}
.cbfc-stats>div{border:1px solid var(--cbfc-line);background:var(--cbfc-cream);border-radius:10px;padding:6px 12px;min-width:74px}
.cbfc-stats span{display:block;font-size:10.5px;font-weight:700;letter-spacing:1px;color:#888;text-transform:uppercase}
.cbfc-stats b{font-size:18px;font-weight:900}
.cbfc-stats small{font-size:12px;color:#888;font-weight:600}
.cbfc-tsched tr.cbfc-round td{background:#f6f1e6;font-weight:800;font-size:13px}
.cbfc-tsched td.cbfc-when b{display:inline-block;min-width:22px}
.cbfc-tsched td.cbfc-when small{color:var(--cbfc-mute);font-size:12px;margin-left:6px;white-space:nowrap}
.cbfc-tsched tr.cbfc-curow td{background:#fdf8ea}
.cbfc-tsched tr.cbfc-curow td:first-child{box-shadow:inset 3px 0 0 var(--cbfc-gold)}
.cbfc .cbfc-w{color:#226622}
.cbfc .cbfc-l{color:var(--cbfc-red)}
@media(max-width:520px){
  .cbfc-tsched td.cbfc-when small{display:block;margin:0;white-space:normal;font-size:11px}
  .cbfc-tsched th{letter-spacing:0;font-size:10px}
  .cbfc-tsched th,.cbfc-tsched td{padding:6px 5px;font-size:13px}
  .cbfc-tsched td small.cbfc-tbd{display:none}
  .cbfc-stats>div{min-width:0;padding:5px 10px}
}

/* Scorecard modal */
.cbfc-modal{position:fixed;inset:0;background:rgba(20,20,20,.55);z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.cbfc-mbox{background:#fff;border-radius:12px;max-width:720px;width:100%;padding:20px 22px;position:relative;color:#242424;font-size:14px}
.cbfc-mbox h3{margin:0 30px 8px 0;font-size:19px;font-weight:900}
.cbfc-pairs{font-size:13px;color:#555;margin-bottom:10px;line-height:19px}
.cbfc-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#666}
.cbfc-mbox table{width:100%;border-collapse:collapse}
.cbfc-mbox th{font-size:11px;letter-spacing:1px;color:#777;text-align:left;padding:6px 8px;border-bottom:2px solid #e4e0d7}
.cbfc-mbox td{padding:5px 8px;border-bottom:1px solid #eeeae0}
.cbfc-mbox .cbfc-r{text-align:right}
.cbfc-mbox .cbfc-tot td{font-weight:800;border-top:2px solid #e4e0d7}
