/* Code Blue Onboarding — front-end form */
.cbo-wrap{
	--cbo-accent:#0b4f9c;
	--cbo-accent-soft:#e8f0fa;
	--cbo-red:#c62828;
	--cbo-border:#d0d5dd;
	--cbo-text:#1d2327;
	--cbo-muted:#5b6470;
	--cbo-bg:#fff;
	--cbo-radius:8px;
	max-width:860px;margin:0 auto;color:var(--cbo-text);font-size:16px;line-height:1.5;
}
.cbo-wrap *,.cbo-wrap *::before,.cbo-wrap *::after{box-sizing:border-box}
.cbo-form{counter-reset:cbo-sec}
.cbo-section{background:var(--cbo-bg);border:1px solid var(--cbo-border);border-radius:var(--cbo-radius);padding:24px;margin:0 0 20px}
.cbo-section[hidden]{display:none}
.cbo-section-title{counter-increment:cbo-sec;font-size:1.3em;line-height:1.3;margin:0 0 6px;display:flex;gap:10px;align-items:baseline}
.cbo-section-title::before{content:counter(cbo-sec);flex:none;display:inline-grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:var(--cbo-accent);color:#fff;font-size:.8em;font-weight:700;transform:translateY(-.1em)}
.cbo-intro{color:var(--cbo-muted);margin:0 0 14px}
.cbo-intro a{color:var(--cbo-accent)}
.cbo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px 16px}
.cbo-field{grid-column:span 12;min-width:0;margin:0;padding:0;border:0}
.cbo-field[hidden]{display:none}
.cbo-w-half{grid-column:span 6}.cbo-w-third{grid-column:span 4}.cbo-w-twothirds{grid-column:span 8}.cbo-w-quarter{grid-column:span 3}
.cbo-heading h3{font-size:1.05em;margin:12px 0 0;padding-top:12px;border-top:1px solid #eceef1}
.cbo-heading:first-child h3{border-top:0;padding-top:0;margin-top:0}
.cbo-label{display:block;font-weight:600;font-size:.92em;margin:0 0 5px;padding:0}
.cbo-req{color:var(--cbo-red)}
.cbo-help{color:var(--cbo-muted);font-size:.85em;margin:4px 0 0}
.cbo-wrap input[type=text],.cbo-wrap input[type=email],.cbo-wrap input[type=tel],.cbo-wrap input[type=date],.cbo-wrap input[type=number],.cbo-wrap select,.cbo-wrap textarea{
	width:100%;max-width:100%;font:inherit;font-size:16px;color:var(--cbo-text);background:#fff;border:1px solid var(--cbo-border);border-radius:6px;padding:9px 11px;min-height:42px;box-shadow:none;margin:0
}
.cbo-wrap input[readonly]{background:#f4f6f8}
.cbo-wrap input:focus,.cbo-wrap select:focus,.cbo-wrap textarea:focus{outline:2px solid var(--cbo-accent);outline-offset:1px;border-color:var(--cbo-accent)}
.cbo-wrap input[type=file]{font-size:.95em;max-width:100%}
.cbo-money{position:relative}
.cbo-money span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--cbo-muted)}
.cbo-money input{padding-left:24px !important}
.cbo-options{display:flex;flex-wrap:wrap;gap:8px 18px}
.cbo-opt,.cbo-check{display:flex;gap:8px;align-items:flex-start;font-weight:400;cursor:pointer;margin:0}
.cbo-opt input,.cbo-check input{margin:.3em 0 0;flex:none;width:18px;height:18px;accent-color:var(--cbo-accent)}
.cbo-type-toggle .cbo-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cbo-type-toggle .cbo-opt{border:2px solid var(--cbo-border);border-radius:var(--cbo-radius);padding:14px}
.cbo-type-toggle .cbo-opt:has(input:checked){border-color:var(--cbo-accent);background:var(--cbo-accent-soft)}
.cbo-agreement h3{font-size:1.05em;margin:6px 0 8px}
.cbo-agreement-text{max-height:320px;overflow:auto;border:1px solid var(--cbo-border);border-radius:6px;padding:12px 16px;background:#fafbfc;font-size:.92em;margin:0 0 10px}
.cbo-agreement-text h4{font-size:1em;margin:14px 0 4px}
.cbo-agreement-text p,.cbo-agreement-text ul{margin:0 0 8px}
.cbo-agreement + .cbo-agreement{border-top:1px solid #eceef1;padding-top:14px}
.cbo-note p{background:var(--cbo-accent-soft);border-radius:6px;padding:10px 12px;margin:0;font-size:.92em}
#cbo-sec-sign .cbo-check{background:#fafbfc;border:1px solid #eceef1;border-radius:6px;padding:10px 12px;font-size:.92em}
.cbo-sigpad{position:relative;border:1px solid var(--cbo-border);border-radius:6px;background:#fff;height:170px;touch-action:none}
.cbo-sigpad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.cbo-sig-line{position:absolute;left:16px;right:16px;bottom:38px;border-bottom:1px solid #9aa3ad;color:#9aa3ad;font-size:14px;pointer-events:none;line-height:1}
.cbo-sig-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.cbo-sig-clear{background:none;border:0;color:var(--cbo-accent);cursor:pointer;padding:4px 0;font:inherit;font-size:.9em;text-decoration:underline}
.cbo-submit-row{text-align:center;margin:10px 0 30px}
.cbo-submit{background:var(--cbo-accent);color:#fff;border:0;border-radius:8px;padding:14px 28px;font:inherit;font-size:1.05em;font-weight:600;cursor:pointer;min-width:280px}
.cbo-submit:hover{filter:brightness(1.1)}
.cbo-submit[disabled]{opacity:.6;cursor:wait}
.cbo-secure-note{color:var(--cbo-muted);font-size:.85em;margin:10px auto 0;max-width:520px}
.cbo-errors{border:1px solid #f1b0b0;background:#fdecec;color:#8a1c1c;border-radius:var(--cbo-radius);padding:12px 16px;margin:0 0 18px}
.cbo-errors ul{margin:6px 0 0 18px;padding:0}
.cbo-errors a{color:inherit}
.cbo-invalid input,.cbo-invalid select,.cbo-invalid textarea,.cbo-invalid .cbo-sigpad,.cbo-invalid .cbo-agreement-text{border-color:var(--cbo-red) !important}
.cbo-invalid .cbo-label,.cbo-invalid legend{color:var(--cbo-red)}
.cbo-error-msg{color:var(--cbo-red);font-size:.85em;margin:4px 0 0}
.cbo-success{border:1px solid #b7dfc0;background:#eaf7ee;border-radius:var(--cbo-radius);padding:24px;text-align:center}
.cbo-success h2{margin:0 0 6px;color:#1b5e20}
.cbo-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.cbo-pick-type{color:var(--cbo-muted);text-align:center;padding:12px;border:1px dashed var(--cbo-border);border-radius:var(--cbo-radius);margin:0 0 20px}
@media (max-width:640px){
	.cbo-section{padding:18px 16px}
	.cbo-w-half,.cbo-w-third,.cbo-w-twothirds{grid-column:span 12}
	.cbo-w-quarter{grid-column:span 6}
	.cbo-type-toggle .cbo-options{grid-template-columns:1fr}
	.cbo-submit{width:100%;min-width:0}
}
