/* SBC Seminar Bids: the member page. SBC teal; red / yellow / green only on the submit button. */
.sbc-sb { --sb-ink: #0e1a2b; --sb-muted: #5b6676; --sb-line: #d6dde4; --sb-soft: #f3f7f9; --sb-teal: #1d6680; --sb-teal-d: #164e63;
	--sb-red: #b42318; --sb-yellow: #b7791f; --sb-green: #1f7a3a; --sb-gray: #6b7280;
	color: var(--sb-ink); font-size: 15px; line-height: 1.5; max-width: 980px; margin: 0 auto 40px; }
.sbc-sb *, .sbc-sb *::before, .sbc-sb *::after { box-sizing: border-box; }
.sbc-sb-title { font-size: 26px; margin: 0 0 14px; }
.sbc-sb-title span { font-size: 16px; font-weight: 600; color: var(--sb-muted); margin-left: 6px; }
.sbc-sb-note { border: 1px solid var(--sb-line); border-radius: 8px; padding: 14px 16px; background: #fff; }
.sbc-sb-note--warn { border-left: 4px solid var(--sb-yellow); }
.sbc-sb-note p { margin: 0 0 8px; }
.sbc-sb-note a { color: var(--sb-teal); }
.sbc-sb-btn { display: inline-block; padding: 8px 16px; border: 1px solid var(--sb-teal); border-radius: 999px; background: #fff; color: var(--sb-teal); font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }
.sbc-sb-btn:hover { background: var(--sb-soft); }
.sbc-sb-btn--primary { background: var(--sb-teal); color: #fff; }
.sbc-sb-btn--primary:hover { background: var(--sb-teal-d); }
.sbc-sb-btn:disabled { opacity: .6; cursor: wait; }
.sbc-sb-loading { color: var(--sb-muted); }

/* Header: countdown and the submit button, kept in view while scrolling */
.sbc-sb-head { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 18px; padding: 12px 16px; margin: 0 0 14px; background: #fff; border: 1px solid var(--sb-line); border-radius: 10px; box-shadow: 0 2px 8px rgba( 14, 26, 43, .06 ); }
.sbc-sb-clock { text-align: right; } /* 0.1.6 (John): countdown right next to the button */
.sbc-sb-clock-l { font-size: 13px; color: var(--sb-muted); }
.sbc-sb-clock-t { font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.sbc-sb-clock-t span { display: inline-block; text-align: center; } /* 0.1.16: fixed cells, so the digits never shift */
.sbc-sb-clock-t .is-d { width: .64em; }
.sbc-sb-clock-t .is-c { width: .34em; }
.sbc-sb-clock-t .is-x { min-width: .3em; }
.sbc-sb-go { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; min-width: 240px; }
.sbc-sb-go-msg { font-size: 13px; color: var(--sb-muted); text-align: right; max-width: 360px; }
.sbc-sb-submit { min-width: 240px; padding: 12px 20px; border: 0; border-radius: 999px; font: inherit; font-size: 16px; font-weight: 700; color: #fff; cursor: not-allowed; }
.sbc-sb-submit.is-red { background: var(--sb-red); }
.sbc-sb-submit.is-yellow { background: #f2c94c; color: #3b2f05; }
.sbc-sb-submit.is-green { background: var(--sb-green); cursor: pointer; box-shadow: 0 0 0 3px rgba( 31, 122, 58, .25 ); }
.sbc-sb-submit.is-green:hover { background: #18602e; }
.sbc-sb-submit.is-gray { background: #e5e7eb; color: #374151; }
.sbc-sb-submit:focus-visible { outline: 3px solid var(--sb-teal); outline-offset: 2px; }

.sbc-sb-notice { margin: 0 0 12px; padding: 10px 14px; border: 1px solid #f5c2c0; background: #fef3f2; border-radius: 8px; color: #7a271a; }
.sbc-sb-banner { margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--sb-line); border-left: 4px solid var(--sb-teal); background: var(--sb-soft); border-radius: 8px; }

.sbc-sb-sec { background: #fff; border: 1px solid var(--sb-line); border-radius: 10px; padding: 16px 18px; margin: 0 0 14px; }
.sbc-sb-sec h3 { font-size: 18px; margin: 0 0 8px; }
.sbc-sb-sec h4 { font-size: 15px; margin: 14px 0 6px; color: var(--sb-teal-d); }
.sbc-sb-drag-hint { margin: 0 0 4px; color: #c00000; font-weight: 600; } /* 0.1.4 (John) */
.sbc-sb-help { font-size: 13px; color: var(--sb-muted); margin: 0 0 8px; }
.sbc-sb-grid { display: grid; grid-template-columns: repeat( auto-fit, minmax( 220px, 1fr ) ); gap: 12px 18px; }
.sbc-sb-grid > div, .sbc-sb-grid > label { display: flex; flex-direction: column; gap: 3px; }
.sbc-sb-k { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--sb-muted); }
.sbc-sb input[type=text], .sbc-sb input[type=tel] { width: 100%; padding: 8px 10px; border: 1px solid #a9b4bf; border-radius: 6px; font: inherit; background: #fff; color: var(--sb-ink); }
.sbc-sb input:disabled { background: #f1f3f5; color: #4b5563; }
.sbc-sb input:focus-visible { outline: 2px solid var(--sb-teal); outline-offset: 1px; }
.sbc-sb-money { display: flex; align-items: center; gap: 4px; font-weight: 700; }

/* Cities */
.sbc-sb-cities { border: 1px solid var(--sb-line); border-radius: 8px; overflow: hidden; }
.sbc-sb-city { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-between; gap: 0 12px; padding: 0 12px; border-top: 1px solid var(--sb-line); }
.sbc-sb-city:first-child { border-top: 0; }
.sbc-sb-city:nth-child(even) { background: #fafbfc; }
.sbc-sb-city-name { font-weight: 600; align-self: center; padding: 8px 0; }
.sbc-sb-city-name span { display: block; font-size: 12px; font-weight: 400; color: var(--sb-muted); }
.sbc-sb-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.sbc-sb-pill { position: relative; display: inline-flex; }
.sbc-sb-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sbc-sb-pill span { padding: 5px 12px; border: 1px solid #a9b4bf; border-radius: 999px; font-size: 13px; font-weight: 600; color: #374151; background: #fff; cursor: pointer; user-select: none; }
.sbc-sb-pill.is-on span { background: var(--sb-teal); border-color: var(--sb-teal); color: #fff; }
.sbc-sb-pill.is-none.is-on span { background: #e5e7eb; border-color: #c4cbd3; color: #4b5563; } /* Not interested stays quiet */
.sbc-sb-pill input:focus-visible + span { outline: 2px solid var(--sb-teal); outline-offset: 2px; }
.sbc-sb-pill input:disabled + span { cursor: default; opacity: .75; }
/* 0.1.8 (John): the two fallback questions between ruled lines, Yes / No lined up, red note beside them */
.sbc-sb-qs { display: grid; grid-template-columns: minmax( 0, 1fr ) minmax( 200px, 280px ); align-items: center; gap: 12px 28px; margin: 18px 0 22px; padding: 16px 0; border-top: 1px solid #b9c3cc; border-bottom: 1px solid #b9c3cc; }
.sbc-sb-q-list { display: grid; grid-template-columns: minmax( 0, max-content ) max-content; align-items: center; gap: 12px 16px; }
.sbc-sb-q { display: contents; }
.sbc-sb-q-t { font-weight: 600; }
.sbc-sb-q-note { margin: 0; color: #c00000; font-weight: 700; font-size: 14px; line-height: 1.4; }

/* Rankings */
.sbc-sb-ranks { max-width: 640px; } /* 0.1.21: one list */
/* 0.1.22 (John): group | city | level | LS columns */
.sbc-sb-rank-grp { flex: none; width: 104px; font-size: 13px; color: var(--sb-muted); }
.sbc-sb-rank-lvl { flex: none; width: 40px; font-size: 13px; font-weight: 700; color: var(--sb-teal); }
.sbc-sb-rank-ls { flex: none; width: 28px; font-size: 13px; font-weight: 700; color: #c00000; }
.sbc-sb-rank-sub { display: none; }
@media ( max-width: 640px ) { .sbc-sb-rank-grp { display: none; } .sbc-sb-rank-sub { display: block; font-size: 12px; color: var(--sb-muted); } }
.sbc-sb-rank ol { list-style: none; margin: 0; padding: 0; }
.sbc-sb-rank li { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #edf0f3; }
.sbc-sb-rank-n { width: 26px; height: 26px; flex: none; border-radius: 50%; background: var(--sb-soft); color: var(--sb-teal-d); font-weight: 700; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.sbc-sb-rank-name { flex: 1; min-width: 0; }
.sbc-sb-rank-name em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--sb-teal); margin-left: 4px; }
.sbc-sb-rank li.sbc-sb-drag { cursor: grab; touch-action: none; user-select: none; background: #fff; border: 1px solid var(--sb-line); border-radius: 8px; padding: 6px 10px; margin: 0 0 6px; position: relative; }
.sbc-sb-rank li.sbc-sb-drag:hover { border-color: var(--sb-teal); }
.sbc-sb-rank li.sbc-sb-drag:focus-visible { outline: 2px solid var(--sb-teal); outline-offset: 1px; }
.sbc-sb-rank li.is-dragging { cursor: grabbing; z-index: 5; box-shadow: 0 6px 16px rgba( 14, 26, 43, .18 ); border-color: var(--sb-teal); }
.sbc-sb-grip { color: #9aa3ad; font-size: 14px; letter-spacing: -2px; line-height: 1; }

/* Budget */
.sbc-sb-bullets { margin: 0 0 12px 18px; padding: 0; }
.sbc-sb-bullets li { margin: 0 0 6px; }
.sbc-sb-bullets ul { list-style: circle; margin: 4px 0 0 20px; padding: 0; }
.sbc-sb-bullets ul li { margin: 0 0 2px; }
.sbc-sb-prices { border-collapse: collapse; margin: 0 0 14px; font-size: 14px; font-variant-numeric: tabular-nums; }
.sbc-sb-prices th, .sbc-sb-prices td { padding: 5px 10px; border: 1px solid var(--sb-line); text-align: left; }
.sbc-sb-prices thead th { background: var(--sb-soft); }
.sbc-sb-prices-wrap { overflow-x: auto; }
.sbc-sb-prices .is-num { text-align: right; }
.sbc-sb-prices td.is-tier { background: #ffe14d; font-weight: 700; } /* 0.1.5: the tier reached */
.sbc-sb-prices tr.is-total th, .sbc-sb-prices tr.is-total td { font-weight: 700; background: var(--sb-soft); }
.sbc-sb-prices tr.is-total th { text-align: left; }
.sbc-sb-narrow { display: none; }

/* Checks */
.sbc-sb-qc-list { list-style: none; margin: 0; padding: 0; }
.sbc-sb-qc-list li { padding: 7px 10px; border-radius: 6px; margin: 0 0 6px; font-size: 14px; }
.sbc-sb-qc-list .is-err { background: #fef3f2; color: #7a271a; }
.sbc-sb-qc-list .is-warn { background: #fffaeb; color: #7a4d06; }
.sbc-sb-qc-list .is-note { background: var(--sb-soft); }
.sbc-sb-ok { color: var(--sb-green); font-weight: 600; margin: 0; }
.sbc-sb-final { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.sbc-sb-final input { width: 20px; height: 20px; }
.sbc-sb-save { font-size: 13px; color: var(--sb-muted); margin: 6px 0 0; }
.sbc-sb-rules ul { margin: 0 0 0 18px; padding: 0; font-size: 14px; }

@media ( max-width: 640px ) {
	.sbc-sb-head { flex-direction: column; align-items: stretch; }
	.sbc-sb-clock { text-align: left; }
	.sbc-sb-go { align-items: stretch; min-width: 0; }
	.sbc-sb-go-msg { text-align: left; max-width: none; }
	.sbc-sb-submit { min-width: 0; width: 100%; }
	.sbc-sb-clock-t { font-size: 24px; }
	.sbc-sb-sec { padding: 14px; }
	.sbc-sb-qs { grid-template-columns: minmax( 0, 1fr ); gap: 12px; }
	.sbc-sb-q-note { order: -1; }
	.sbc-sb-q-list { grid-template-columns: minmax( 0, 1fr ); gap: 6px; }
	.sbc-sb-q .sbc-sb-pills { margin: 0 0 8px; }
	.sbc-sb-prices { font-size: 12.5px; width: 100%; }
	.sbc-sb-prices th, .sbc-sb-prices td { padding: 5px 4px; }
	.sbc-sb-wide { display: none; }
	.sbc-sb-narrow { display: inline; }
}
@media ( prefers-reduced-motion: reduce ) { .sbc-sb * { transition: none !important; } }

/* 0.1.6: Transfer Submittal To */
.sbc-sb-sec-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 8px; }
.sbc-sb-sec-head h3 { margin: 0; }
.sbc-sb-transfer { font-size: 13px; padding: 6px 14px; }
.sbc-sb-dlg { width: min( 520px, calc( 100vw - 32px ) ); max-height: calc( 100vh - 48px ); overflow: auto; border: 1px solid var(--sb-line); border-radius: 10px; padding: 18px 20px; color: var(--sb-ink); background: #fff; font-size: 15px; line-height: 1.5; }
.sbc-sb-dlg::backdrop { background: rgba( 14, 26, 43, .45 ); }
.sbc-sb-dlg h3 { font-size: 18px; margin: 0 0 10px; }
.sbc-sb-people { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; }
.sbc-sb-person { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border: 1px solid var(--sb-line); border-radius: 8px; cursor: pointer; }
.sbc-sb-person.is-on { border-color: var(--sb-teal); background: var(--sb-soft); }
.sbc-sb-person input { margin-top: 4px; }
.sbc-sb-person small { display: block; font-size: 12px; color: var(--sb-muted); }
.sbc-sb-dlg .sbc-sb-bullets { font-size: 13px; color: var(--sb-muted); }
.sbc-sb-dlg-msg { margin: 0 0 8px; font-size: 13px; color: var(--sb-red); }
.sbc-sb-dlg-msg:empty { display: none; }
.sbc-sb-dlg-btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }

/* 0.1.9 (John): Lead Sponsor Upgrade column, column labels and the vertical rule before Not interested */
.sbc-sb-city .sbc-sb-pills, .sbc-sb-cities-head .sbc-sb-pills { flex-wrap: nowrap; align-items: center; }
.sbc-sb-city .sbc-sb-pill { margin: 8px 0; }
.sbc-sb-col.is-spp { width: 62px; } .sbc-sb-col.is-sp, .sbc-sb-col.is-tt, .sbc-sb-col.is-ls { width: 52px; } .sbc-sb-col.is-ni { width: 128px; }
.sbc-sb-pill.sbc-sb-col span { display: block; width: 100%; padding-left: 0; padding-right: 0; text-align: center; }
.sbc-sb-ls-slot { display: inline-flex; }
.sbc-sb-pill.is-na span { color: #8a94a0; background: transparent; border-style: dashed; cursor: default; }
.sbc-sb-pill.is-na input:disabled + span { opacity: 1; }
.sbc-sb-ni { display: flex; align-items: center; align-self: stretch; padding-left: 8px; border-left: 1px solid #9aa5b1; }
.sbc-sb-cities-head { display: flex; align-items: stretch; justify-content: space-between; gap: 12px; padding: 0 13px 0 0; margin: 14px 0 0; }
.sbc-sb-cities-head h4 { align-self: flex-end; margin: 0 0 6px; }
.sbc-sb-cities-head .sbc-sb-pills { align-self: stretch; }
.sbc-sb-cities-head .sbc-sb-col { font-size: 11px; line-height: 1.2; color: var(--sb-muted); text-align: center; align-self: flex-end; padding-bottom: 6px; }
.sbc-sb-cities-head .sbc-sb-ni { padding-bottom: 0; }
@media ( max-width: 640px ) {
	.sbc-sb-cities-head .sbc-sb-pills { display: none; }
	.sbc-sb-city .sbc-sb-pills { flex-wrap: wrap; padding: 0 0 8px; }
	.sbc-sb-city .sbc-sb-pill { margin: 0; }
	.sbc-sb-col.is-spp, .sbc-sb-col.is-sp, .sbc-sb-col.is-tt, .sbc-sb-col.is-ls, .sbc-sb-col.is-ni { width: auto; }
	.sbc-sb-city .sbc-sb-pills { gap: 4px; }
	.sbc-sb-pill.sbc-sb-col span { padding: 5px 8px; font-size: 12px; }
	.sbc-sb-ni { border-left: 0; padding-left: 0; }
}
/* 0.1.11 (John): a chosen Lead Sponsor Upgrade in #C00000, to set it apart */
.sbc-sb-pill.is-ls.is-on span { background: #c00000; border-color: #c00000; color: #fff; }
/* 0.1.12 (John): the line under the budget */
.sbc-sb-need { display: block; margin-top: 8px; font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--sb-ink); }
.sbc-sb-need.is-short { padding: 8px 12px; border: 2px solid #c00000; border-radius: 10px; } /* 0.1.13 (John); 0.1.14: 10px corners */
.sbc-sb-need-n { color: #c00000; }
.sbc-sb-need-ok { color: var(--sb-green); font-weight: 600; }
.sbc-sb-new { color: #c00000; } /* 0.1.19 (John): NEW! LS - Lead Sponsor Upgrade */
.sbc-sb-bullets ul ul { list-style: square; margin-top: 2px; } /* 0.1.20: third and fourth levels */
.sbc-sb-bullets ul ul ul { list-style: disc; }
/* 0.1.23 (John): tighter ranking */
.sbc-sb-ranks { max-width: 520px; }
.sbc-sb-rank li { gap: 6px; padding: 3px 0; }
.sbc-sb-rank li.sbc-sb-drag { padding: 3px 10px; margin: 0 0 4px; }
.sbc-sb-rank-n { width: 22px; height: 22px; font-size: 12px; }
.sbc-sb-rank-grp { width: 96px; }
/* 0.1.24 (John): tighter city lists: narrower, so the choices sit closer to the city names, and shorter rows */
.sbc-sb-cities, .sbc-sb-cities-head { max-width: 760px; }
.sbc-sb-city .sbc-sb-pill { margin: 6px 0; }
.sbc-sb-city-name { padding: 6px 0; }
.sbc-sb-k.sbc-sb-k-lg { font-size: 18px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--sb-ink); margin-bottom: 2px; } /* 0.1.25 (John): budget labels */
.sbc-sb input::placeholder { color: #7b8794; font-weight: 400; opacity: 1; } /* 0.1.26: hint text in the budget fields */
.sbc-sb-bullets li.sbc-sb-small { font-size: 13px; } /* 0.1.27 */
.sbc-sb-prices thead th.sbc-sb-prices-h { color: #c00000; font-weight: 800; font-size: 1.12em; letter-spacing: .01em; } /* 0.1.29 (John) */
@media ( max-width: 640px ) { .sbc-sb-prices thead th.sbc-sb-prices-h { font-size: 10px; letter-spacing: 0; } }
@media ( max-width: 640px ) { .sbc-sb-prices { font-size: 12px; } .sbc-sb-prices th, .sbc-sb-prices td { padding: 5px 3px; } }
.sbc-sb-k.sbc-sb-k-lg { color: #c00000; } /* 0.1.30 (John): budget headers in #C00000 */
.sbc-sb-red { color: #c00000; } /* 0.1.31 (John): (LS) in the results table */
.sbc-sb .sbc-sb-sec h3.sbc-sb-red { color: #c00000; } /* 0.1.32: beats the theme's heading colour */
/* 0.1.34 (John): phones keep the vertical rule before Not interested, with Not interested pushed to the right */
@media ( max-width: 640px ) {
	.sbc-sb-city .sbc-sb-pills { width: 100%; }
	.sbc-sb-city .sbc-sb-ni { margin-left: auto; padding-left: 6px; border-left: 1px solid #9aa5b1; align-self: stretch; }
}
.sbc-sb .sbc-sb-banner a.sbc-sb-contact { color: #c00000; font-weight: 700; white-space: nowrap; } /* 0.1.35 (John) */

/* 0.2.0 (John): the timeline note (with its countdown), Round 2 badges and remaining counts */
.sbc-sb-phase { margin: 0 0 12px; padding: 12px 16px; border: 1px solid var(--sb-line); border-left: 4px solid var(--sb-teal); border-radius: 10px; background: var(--sb-soft); }
.sbc-sb-phase-t p { margin: 0 0 6px; }
.sbc-sb-phase-t > :last-child { margin-bottom: 0; }
.sbc-sb-phase-c { margin-top: 6px; }
.sbc-sb-phase-c .sbc-sb-clock-l { display: inline; }
.sbc-sb-phase-cd { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sbc-sb-r2 { margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--sb-line); border-radius: 8px; background: #fff; }
.sbc-sb-r2 p { margin: 0; }
.sbc-sb-badge { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .02em; vertical-align: 1px; }
.sbc-sb-badge.is-assigned { background: var(--sb-green); color: #fff; }
.sbc-sb-badge.is-not { background: #e5e7eb; color: #374151; }
.sbc-sb-city.is-locked { background: #eef7f1 !important; }
.sbc-sb-pill span small.sbc-sb-left { display: block; font-size: 10px; font-weight: 600; line-height: 1.1; opacity: .85; }
.sbc-sb-pill.is-zero span { color: #8a94a0; background: #f1f3f5; border-style: dashed; cursor: not-allowed; }
.sbc-sb-pill.is-zero input:disabled + span { opacity: 1; }
