/* =====================================================================
   Reports: the resident form, the resident tracker, and the staff desk.
   Colours follow the site palette where it defines one, and fall back to
   the government blue so the module also looks right on a bare theme.
   ===================================================================== */

.bsa-rp{
	--rp-blue: var(--gov-blue, #0038a8);
	--rp-dark: var(--gov-blue-dark, #002a7a);
	--rp-gold: var(--gov-gold, #fcd116);
	--rp-ink:#1d2b3a;
	--rp-muted:#52606d;
	--rp-line:#dbe2ea;
	--rp-line2:#eef2f6;
	--rp-tint:#f4f7fb;
	--rp-new:#c0392b;
	--rp-warn:#b7791f;
	--rp-ok:#1b7a5a;
	color:var(--rp-ink);
	font-size:16px;
	line-height:1.55;
}
.bsa-rp *,.bsa-rp *::before,.bsa-rp *::after{box-sizing:border-box}
.bsa-rp h2{margin:0;font-weight:700;letter-spacing:-.01em}
.bsa-rp p{margin:0}
.bsa-rp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.bsa-rp-card{background:#fff;border:1px solid var(--rp-line);border-radius:12px;padding:20px;margin-bottom:16px}
.bsa-rp-h{font-size:18px;margin-bottom:4px}
.bsa-rp-hint{color:var(--rp-muted);font-size:14.5px;margin-bottom:12px}
.bsa-rp-help{font-size:13px;color:var(--rp-muted);margin-top:6px}
.bsa-rp-err{color:var(--rp-new);font-size:14px;margin-top:10px;min-height:1em}
.bsa-rp-step{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.bsa-rp-step .n{width:26px;height:26px;border-radius:50%;background:var(--rp-blue);color:#fff;
	display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto}
.bsa-rp-step h2{font-size:17px}
.bsa-rp-ph{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bsa-rp-ph h2{font-size:16px}
.bsa-rp-ph .bsa-rp-hint{margin:0}
.bsa-rp .pb{padding:0}

/* buttons */
.bsa-rp-btn{border:0;border-radius:9px;padding:11px 19px;font-weight:700;font-size:15px;cursor:pointer;
	display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:inherit}
.bsa-rp-btn.primary{background:var(--rp-blue);color:#fff}
.bsa-rp-btn.primary:hover{background:var(--rp-dark)}
.bsa-rp-btn.gold{background:var(--rp-gold);color:#1d2b3a}
.bsa-rp-btn.outline{background:#fff;color:var(--rp-blue);box-shadow:inset 0 0 0 1.5px var(--rp-blue)}
.bsa-rp-btn.block{width:100%;justify-content:center}
.bsa-rp-btn[disabled]{opacity:.6;cursor:default}
.bsa-rp-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}
.bsa-rp-aside{color:var(--rp-muted);font-size:13.5px}

/* fields */
.bsa-rp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bsa-rp-f{display:block;font-size:13.5px;font-weight:600;margin-bottom:5px}
.bsa-rp-f .opt{font-weight:400;color:var(--rp-muted)}
.bsa-rp input[type=text],.bsa-rp input[type=tel],.bsa-rp input[type=file],
.bsa-rp select,.bsa-rp textarea{
	width:100%;padding:11px 12px;border:1.5px solid var(--rp-line);border-radius:8px;
	font:inherit;font-size:15.5px;background:#fff;color:var(--rp-ink)}
.bsa-rp textarea{resize:vertical;min-height:108px}
.bsa-rp input:focus,.bsa-rp select:focus,.bsa-rp textarea:focus{outline:none;border-color:var(--rp-blue)}
.bsa-rp-note{background:#fdf6e3;border:1px solid #f0e0b8;border-radius:9px;padding:11px 13px;
	font-size:13.5px;color:#6b5312;margin-top:12px}
.bsa-rp-field{margin-bottom:11px}
.bsa-rp-field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:4px}

/* categories */
.bsa-rp-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bsa-rp-cat{background:var(--rp-tint);border:1.5px solid var(--rp-line);border-radius:10px;padding:14px 10px;
	display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-align:center;
	transition:border-color .15s,background .15s,transform .15s;font-family:inherit}
.bsa-rp-cat:hover{border-color:#9fb6d4;transform:translateY(-2px)}
.bsa-rp-cat.is-on{border-color:var(--rp-blue);background:#eaf1fb;box-shadow:inset 0 0 0 1px var(--rp-blue)}
.bsa-rp-cat svg{width:30px;height:30px;stroke:var(--rp-blue);fill:none;stroke-width:1.7;
	stroke-linecap:round;stroke-linejoin:round}
.bsa-rp-cat span{font-size:13.5px;font-weight:600;line-height:1.3}

/* photos */
.bsa-rp-drop{border:2px dashed #b9c7d8;border-radius:12px;background:var(--rp-tint);padding:22px;
	text-align:center;transition:border-color .15s,background .15s}
.bsa-rp-drop.is-over{border-color:var(--rp-blue);background:#eaf1fb}
.bsa-rp-drop svg{width:34px;height:34px;stroke:var(--rp-blue);fill:none;stroke-width:1.6;
	stroke-linecap:round;stroke-linejoin:round}
.bsa-rp-drop .big{font-weight:600;margin-top:8px}
.bsa-rp-drop .sm{color:var(--rp-muted);font-size:13.5px;margin-top:3px}
.bsa-rp-dropbtns{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.bsa-rp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.bsa-rp-thumb{position:relative;aspect-ratio:4/3;border-radius:9px;overflow:hidden;
	border:1px solid var(--rp-line);background:#dde5ee}
.bsa-rp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bsa-rp-thumb button{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;border:0;
	background:rgba(17,37,63,.78);color:#fff;font-size:15px;line-height:24px;padding:0;cursor:pointer}

/* confirmation */
.bsa-rp-done{text-align:center}
.bsa-rp-done .tick{width:62px;height:62px;border-radius:50%;background:#e8f5ef;margin:0 auto 12px;
	display:flex;align-items:center;justify-content:center}
.bsa-rp-done .tick svg{width:30px;height:30px;stroke:var(--rp-ok);fill:none;stroke-width:2.4;
	stroke-linecap:round;stroke-linejoin:round}
.bsa-rp-done h2{font-size:21px}
.bsa-rp-refbox{background:var(--rp-tint);border:1px dashed #b9c7d8;border-radius:10px;padding:14px;
	margin:14px auto;max-width:340px}
.bsa-rp-refbox span{display:block;font-size:13px;color:var(--rp-muted)}
.bsa-rp-refbox b{display:block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:22px;
	letter-spacing:1px;color:var(--rp-blue)}
.bsa-rp-next{text-align:left;max-width:470px;margin:16px auto 0;padding-left:20px}
.bsa-rp-next li{margin-bottom:7px;font-size:14.5px}

/* tracker */
.bsa-rp-lookup{display:flex;gap:10px;flex-wrap:wrap}
.bsa-rp-lookup input{flex:1 1 200px}
.bsa-rp-lookup #bsa-rp-last4{flex:0 0 130px}
.bsa-rp-rhead{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.bsa-rp-rhead .meta{flex:1;min-width:220px}
.bsa-rp-rhead .ref{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--rp-muted)}
.bsa-rp-rhead h2{font-size:20px;margin-top:2px}
.bsa-rp-rhead .sub{color:var(--rp-muted);font-size:14px;margin-top:4px}
.bsa-rp-eta{margin-top:14px;background:var(--rp-tint);border-radius:9px;padding:11px 13px;
	font-size:14px;color:var(--rp-muted)}
.bsa-rp-eta b{color:var(--rp-ink)}

.bsa-rp-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 13px;
	font-size:13.5px;font-weight:700;background:#eef2f6;color:var(--rp-muted)}
.bsa-rp-badge .d{width:8px;height:8px;border-radius:50%;background:currentColor}
.bsa-rp-badge.small{padding:2px 9px;font-size:11.5px;margin-top:5px}
.bsa-rp-badge.s-received{background:#fbeae8;color:var(--rp-new)}
.bsa-rp-badge.s-checked,.bsa-rp-badge.s-needs_info{background:#fdf3e2;color:var(--rp-warn)}
.bsa-rp-badge.s-endorsed,.bsa-rp-badge.s-in_progress{background:#eaf1fb;color:var(--rp-blue)}
.bsa-rp-badge.s-resolved,.bsa-rp-badge.s-closed{background:#e9f5ef;color:var(--rp-ok)}

/* timeline */
.bsa-rp-tl{list-style:none;margin:6px 0 0;padding:0;position:relative}
.bsa-rp-tl::before{content:"";position:absolute;left:13px;top:8px;bottom:22px;width:2px;background:var(--rp-line)}
.bsa-rp-tl li{position:relative;padding:0 0 20px 42px}
.bsa-rp-tl .pt{position:absolute;left:5px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;
	border:2px solid var(--rp-line);z-index:1}
.bsa-rp-tl li.done .pt{background:var(--rp-ok);border-color:var(--rp-ok)}
.bsa-rp-tl li.now .pt{background:var(--rp-blue);border-color:var(--rp-blue);
	box-shadow:0 0 0 4px rgba(0,56,168,.16)}
.bsa-rp-tl .t{font-weight:700;font-size:15px}
.bsa-rp-tl li.todo .t{color:#93a1b0;font-weight:600}
.bsa-rp-tl .when{font-size:13px;color:var(--rp-muted);margin-top:1px}
.bsa-rp-tl .say{margin-top:6px;background:var(--rp-tint);border-radius:9px;padding:10px 12px;font-size:14.5px}
.bsa-rp-tl.compact::before{left:7px;bottom:12px}
.bsa-rp-tl.compact li{padding:0 0 14px 26px}
.bsa-rp-tl.compact .pt{left:0;width:14px;height:14px}
.bsa-rp-tl.compact .t{font-size:13.5px}

/* messages + galleries */
.bsa-rp-msg{padding:13px 0;border-top:1px solid var(--rp-line)}
.bsa-rp-msg:first-of-type{border-top:0}
.bsa-rp-msg .nm{font-size:14px;font-weight:700}
.bsa-rp-msg .nm span{font-weight:400;color:var(--rp-muted);font-size:12.5px;margin-left:6px}
.bsa-rp-msg .st{font-size:12.5px;color:var(--rp-blue);font-weight:600;margin-top:2px}
.bsa-rp-msg p{font-size:14.5px;margin-top:4px}
.bsa-rp-gal{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px}
.bsa-rp-gal a{display:block;width:118px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;
	border:1px solid var(--rp-line)}
.bsa-rp-gal img{width:100%;height:100%;object-fit:cover;display:block}
.bsa-rp-reply{margin-top:14px}

/* ---------- staff desk ---------- */
.bsa-rp-tiles{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--rp-line);
	border-radius:9px;overflow:hidden;margin-bottom:16px}
.bsa-rp-tile{padding:12px 14px;border-right:1px solid var(--rp-line2)}
.bsa-rp-tile:last-child{border-right:0}
.bsa-rp-tile .k{display:block;font-size:11.5px;color:var(--rp-muted)}
.bsa-rp-tile .v{display:block;font-size:23px;font-weight:700;line-height:1.15;margin-top:3px}
.bsa-rp-tile .v.bad{color:var(--rp-new)}
.bsa-rp-tile .v.warn{color:var(--rp-warn)}
.bsa-rp-tile .v.ok{color:var(--rp-ok)}
.bsa-rp-cols{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.bsa-rp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.bsa-rp-chip{border:1px solid var(--rp-line);background:#fff;border-radius:99px;padding:4px 11px;
	font-size:12.5px;color:var(--rp-muted);cursor:pointer;font-family:inherit}
.bsa-rp-chip.is-on{background:var(--rp-blue);border-color:var(--rp-blue);color:#fff}
.bsa-rp-map{height:420px;border-radius:10px;border:1px solid var(--rp-line);background:#e8eef3;z-index:0}
.bsa-rp-queue{max-height:520px;overflow:auto}
.bsa-rp-qi{display:grid;grid-template-columns:26px 1fr auto;gap:11px;padding:11px 4px;
	border-bottom:1px solid var(--rp-line2);cursor:pointer;align-items:start}
.bsa-rp-qi:hover{background:#fafcfe}
.bsa-rp-qi.is-sel{background:#f2f7fd;box-shadow:inset 3px 0 0 var(--rp-blue)}
.bsa-rp-qi .dot{width:11px;height:11px;border-radius:50%;margin-top:5px;background:var(--rp-muted)}
.bsa-rp-qi .dot.s-received{background:var(--rp-new)}
.bsa-rp-qi .dot.s-checked,.bsa-rp-qi .dot.s-needs_info{background:var(--rp-warn)}
.bsa-rp-qi .dot.s-endorsed,.bsa-rp-qi .dot.s-in_progress{background:var(--rp-blue)}
.bsa-rp-qi .t{font-weight:600;font-size:14px}
.bsa-rp-qi .m{font-size:12.5px;color:var(--rp-muted);margin-top:2px}
.bsa-rp-qi .age{font-size:11.5px;font-family:ui-monospace,Menlo,Consolas,monospace;
	color:var(--rp-muted);white-space:nowrap}
.bsa-rp-qi .age.over{color:var(--rp-new);font-weight:700}
.bsa-rp-dt{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:start}
.bsa-rp-dt .quote{margin-bottom:11px}
.bsa-rp-kv{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:13.5px;margin:14px 0 0}
.bsa-rp-kv dt{color:var(--rp-muted)}
.bsa-rp-kv dd{margin:0;font-weight:600}
.bsa-rp-willsee{background:#eaf1fb;border:1px solid #cbddf3;border-radius:7px;padding:9px 11px;
	font-size:12.5px;color:#123c74;margin-bottom:12px}
.bsa-rp-dt .near{padding:7px 0;border-top:1px solid var(--rp-line2);font-size:13.5px}

@media (max-width:900px){
	.bsa-rp-cats{grid-template-columns:repeat(2,1fr)}
	.bsa-rp-thumbs{grid-template-columns:repeat(3,1fr)}
	.bsa-rp-row,.bsa-rp-cols,.bsa-rp-dt{grid-template-columns:1fr}
	.bsa-rp-tiles{grid-template-columns:repeat(2,1fr)}
	.bsa-rp-tile{border-bottom:1px solid var(--rp-line2)}
}
@media (prefers-reduced-motion:reduce){
	.bsa-rp *{transition:none!important;animation:none!important}
}
