/* Baptist Safe Church Register – volunteer portal (mobile first, theme-agnostic) */
.bscrp {
	--ink: #1d2433;
	--muted: #5b6474;
	--line: #e3e0d8;
	--wash: #f7f5f0;
	--navy: #0f3d5e;
	--accent: #c2410c;
	--ok: #15803d;   --ok-bg: #e7f5ec;
	--warn: #b45309; --warn-bg: #fef3c7;
	--bad: #b91c1c;  --bad-bg: #fde2e1;
	--info: #0369a1; --info-bg: #e0f2fe;
	--hold: #5b21b6; --hold-bg: #ede9fe;
	color: var(--ink);
	font-size: 16px;
	line-height: 1.5;
	max-width: 760px;
	margin: 0 auto;
	box-sizing: border-box;
}
.bscrp *, .bscrp *::before, .bscrp *::after { box-sizing: border-box; }
.bscrp h2, .bscrp h3 { color: var(--ink); line-height: 1.25; }

.bscrp-hero { background: var(--navy); color: #fff; border-radius: 14px; padding: 24px; margin: 0 0 20px; }
.bscrp-hero h2 { color: #fff; margin: 4px 0 8px; font-size: 1.5em; }
.bscrp-hero p { margin: 0 0 8px; opacity: .92; }
.bscrp-hero--cleared { background: #14532d; }
.bscrp-hero--lapsed { background: #7f1d1d; }
.bscrp-hero--on_hold { background: #3b2a6b; }
.bscrp-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 600; opacity: .8; margin: 0; }
.bscrp-todo { margin: 12px 0 0; padding: 12px 12px 12px 32px; background: rgba(255,255,255,.12); border-radius: 10px; }
.bscrp-todo li { margin: 2px 0; }

.bscrp-grid { display: grid; gap: 16px; }
@media (min-width: 720px) { .bscrp-grid { grid-template-columns: 3fr 2fr; align-items: start; } }

.bscrp-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px; margin: 0 0 16px; }
.bscrp-card h3 { margin: 0 0 12px; font-size: 1.15em; }
.bscrp-card--quiet { background: var(--wash); }
.bscrp-card > summary { font-weight: 600; cursor: pointer; }
.bscrp-card[open] > summary { margin-bottom: 12px; }
.bscrp-h { font-size: 1.1em; margin: 26px 0 10px; }

.bscrp-notice { padding: 12px 16px; border-radius: 10px; margin: 0 0 16px; font-weight: 500; }
.bscrp-notice--ok { background: var(--ok-bg); color: #14532d; }
.bscrp-notice--warn { background: var(--warn-bg); color: #78350f; }

.bscrp-form { margin: 0; }
.bscrp-field { margin: 0 0 12px; }
.bscrp-field label { display: block; font-weight: 600; font-size: .9em; margin-bottom: 4px; }
.bscrp input[type=text], .bscrp input[type=email], .bscrp input[type=tel], .bscrp input[type=date], .bscrp select, .bscrp input[type=file] {
	width: 100%; font-size: 16px; padding: 11px 12px; border: 1px solid #cbd0d8; border-radius: 8px; background: #fff; color: var(--ink); min-height: 46px; font-family: inherit;
}
.bscrp input[type=file] { padding: 9px; }
.bscrp input:focus, .bscrp select:focus { outline: 3px solid rgba(15,61,94,.25); border-color: var(--navy); }
.bscrp-row { display: grid; gap: 0 12px; }
@media (min-width: 520px) { .bscrp-row { grid-template-columns: 1fr 1fr; } }
.bscrp-help { color: var(--muted); font-size: .9em; margin: -4px 0 12px; }
.bscrp-check { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 16px; font-size: .95em; }
.bscrp-check input { width: 22px; height: 22px; margin-top: 1px; flex: 0 0 auto; }
.bscrp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.bscrp-btn { display: inline-block; width: 100%; background: var(--accent); color: #fff; border: 0; border-radius: 8px; padding: 13px 18px; font-size: 16px; font-weight: 600; cursor: pointer; min-height: 48px; font-family: inherit; }
.bscrp-btn:hover { filter: brightness(1.07); }
.bscrp-btn--ghost { background: #fff; color: var(--navy); border: 2px solid var(--navy); }
@media (min-width: 520px) { .bscrp-btn { width: auto; } }
.bscrp-link { background: none; border: 0; padding: 0; color: var(--navy); text-decoration: underline; cursor: pointer; font-size: .9em; font-family: inherit; }
.bscrp-signout { text-align: center; margin-top: 24px; }

.bscrp-list { display: grid; gap: 10px; }
.bscrp-item { background: #fff; border: 1px solid var(--line); border-radius: 12px; border-left: 5px solid #cbd0d8; }
.bscrp-item > summary { list-style: none; padding: 14px 16px; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; }
.bscrp-item > summary::-webkit-details-marker { display: none; }
.bscrp-item-t { font-weight: 600; }
.bscrp-item-d { grid-column: 1 / -1; color: var(--muted); font-size: .88em; }
.bscrp-item-body { padding: 0 16px 16px; border-top: 1px solid #f0ede6; padding-top: 14px; }
.bscrp-item--ok { border-left-color: var(--ok); }
.bscrp-item--expiring { border-left-color: #d97706; }
.bscrp-item--expired { border-left-color: var(--bad); }
.bscrp-item--missing { border-left-color: var(--accent); }
.bscrp-item--unverified { border-left-color: var(--info); }

.bscrp-tag { font-size: 12px; font-weight: 700; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.bscrp-tag--ok { background: var(--ok-bg); color: var(--ok); }
.bscrp-tag--expiring { background: var(--warn-bg); color: var(--warn); }
.bscrp-tag--expired { background: var(--bad-bg); color: var(--bad); }
.bscrp-tag--missing { background: #ffedd5; color: var(--accent); }
.bscrp-tag--unverified { background: var(--info-bg); color: var(--info); }
.bscrp-tag--not_required { background: #eef0f3; color: #475569; }

.bscrp-sub > summary { color: var(--navy); font-weight: 600; margin-bottom: 10px; cursor: pointer; }
.bscrp-coc { max-height: 260px; overflow-y: auto; background: var(--wash); border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; margin-bottom: 14px; font-size: .93em; white-space: normal; }
.bscrp-coc p { margin: 0 0 8px; }
.bscrp-refs { list-style: none; margin: 0 0 14px; padding: 0; }
.bscrp-refs li { padding: 10px 0; border-bottom: 1px solid #f0ede6; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.bscrp-refs li span { color: var(--muted); font-size: .9em; }
.bscrp-refs li em { color: var(--info); font-size: .9em; font-style: normal; }
.bscrp-refs li form { margin-left: auto; }
.bscrp-roles { margin: 0 0 12px; padding-left: 20px; }
.bscrp-roles-help { margin: -4px 0 14px; font-size: .9em; }
.bscrp-roles-help dl { margin: 8px 0 0; }
.bscrp-roles-help dt { font-weight: 600; margin-top: 6px; }
.bscrp-roles-help dd { margin: 0; color: var(--muted); }

/* Declarations, referee questionnaire */
.bscrp textarea { width: 100%; font: inherit; font-size: 16px; padding: 10px 12px; border: 1px solid #cbd0d8; border-radius: 8px; background: #fff; color: var(--ink); }
.bscrp textarea:focus { outline: 3px solid rgba(15,61,94,.25); border-color: var(--navy); }
.bscrp fieldset { border: 0; padding: 0; margin: 0 0 14px; }
.bscrp fieldset legend { font-weight: 600; margin-bottom: 6px; padding: 0; }
.bscrp-decl { background: var(--wash); border-radius: 10px; padding: 12px 14px !important; }
.bscrp-decl .bscrp-check { display: inline-flex; margin: 0 18px 8px 0; }
.bscrp-decl .bscrp-field { margin: 4px 0 0; }
.bscrp-tag--hold { background: #ede9fe; color: #5b21b6; }
.bscrp-item--hold { border-left-color: #5b21b6; }

/* Application wizard & screening questionnaire */
.bscrp-returning > summary { font-weight: 600; color: var(--navy); }
.bscrp-returning[open] > summary { margin-bottom: 10px; }
.bscrp-wizard-card { padding: 20px; }
.bscrp-wiz-progress { margin: -6px 0 14px; color: var(--muted); font-size: .9em; font-weight: 600; }
.bscrp-wiz-progress:empty { display: none; }
.bscrp-step { border: 0; padding: 0; margin: 0 0 22px; }
.bscrp-step-t { display: block; width: 100%; font-size: 1.12em; font-weight: 700; color: var(--navy); padding: 0 0 8px; margin: 0 0 14px; border-bottom: 2px solid var(--line); }
.bscrp-step-t:focus { outline: none; }
.is-wizard .bscrp-step { margin-bottom: 8px; }
.bscrp-wiz-nav { display: flex; gap: 10px; flex-wrap: wrap; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 16px; margin-top: 8px; }
.bscrp-wiz-nav [data-next], .bscrp-wiz-nav [data-submit] { margin-left: auto; }
.bscrp-wiz-nav [hidden] { display: none; }
@media (max-width: 519px) { .bscrp-wiz-nav { flex-direction: column-reverse; } .bscrp-wiz-nav .bscrp-btn { margin: 0; } }
[data-ver][hidden], .bscrp-reveal[hidden], .bscrp-step[hidden] { display: none; }

.bscrp-sq-note { background: var(--wash); border-radius: 10px; padding: 14px 16px; font-size: .95em; }
.bscrp-sq-note p { margin: 0 0 10px; }
.bscrp-sq-note p:last-child { margin: 0; }
.bscrp-sq-reassure { background: var(--info-bg); color: #0c4a6e; border-radius: 10px; padding: 12px 16px; margin: 0 0 12px; font-size: .95em; }
.bscrp-sq-reassure p { margin: 0 0 6px; }
.bscrp-sq-reassure p:last-child { margin: 0; }
.bscrp-sq-group { font-weight: 700; margin: 18px 0 8px; }
.bscrp-yn { background: #fff; border: 1px solid var(--line) !important; border-radius: 10px; padding: 12px 14px 4px !important; margin: 0 0 10px !important; }
.bscrp-yn > legend { float: left; width: 100%; font-weight: 600; margin: 0 0 8px; line-height: 1.4; }
.bscrp-yn > legend + * { clear: both; }
.bscrp-yn .bscrp-help { margin: 0 0 8px; clear: both; }
.bscrp-yn-opts { display: flex; gap: 10px; margin: 0 0 10px; clear: both; }
.bscrp-pill { position: relative; flex: 0 0 auto; }
.bscrp-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bscrp-pill span { display: inline-flex; align-items: center; justify-content: center; min-width: 84px; min-height: 44px; padding: 0 18px; border: 2px solid #cbd0d8; border-radius: 999px; font-weight: 600; cursor: pointer; background: #fff; }
.bscrp-pill input:checked + span { border-color: var(--navy); background: var(--navy); color: #fff; }
.bscrp-pill input:focus-visible + span { outline: 3px solid rgba(15,61,94,.35); outline-offset: 2px; }
.bscrp-reveal { border-top: 1px dashed var(--line); padding-top: 10px; margin-bottom: 8px; }
.bscrp-sq-church { border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px 0; margin: 0 0 10px; }
.bscrp-sq-n { font-weight: 700; margin: 0 0 8px; font-size: .95em; }
.bscrp-sq-list { margin: 0 0 12px; padding-left: 20px; }
.bscrp-sq-list li { margin: 0 0 6px; }
.bscrp-sq-guardian { background: var(--wash); border-radius: 10px; padding: 12px 14px 2px; margin: 12px 0; }
.bscrp-sq-guardian blockquote { margin: 0 0 12px; padding: 8px 12px; border-left: 3px solid var(--navy); background: #fff; font-size: .95em; }
.bscrp-sq-support { background: var(--hold-bg); color: #3b2a6b; border-radius: 10px; padding: 12px 16px; margin-top: 16px; font-size: .93em; }
.bscrp-sq-support p { margin: 0; }
.bscrp-sqform .bscrp-step { margin-bottom: 26px; }
