/* Sapra Patient Reports — inherits the theme font; colours come from plugin settings. */
.spr-wrap{--spr-p:#35b89b;--spr-pd:#2b977f;--spr-pl:#ebf8f5;--spr-d:#1d2b36;--spr-t:#4b5965;--spr-b:#dbe6e3;
	font-family:inherit;color:var(--spr-t);max-width:100%;margin:24px auto;box-sizing:border-box}
.spr-wrap *,.spr-wrap *::before,.spr-wrap *::after{box-sizing:border-box}
.spr-wrap [hidden]{display:none!important}

.spr-card{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--spr-b);border-radius:18px;
	box-shadow:0 10px 30px rgba(29,43,54,.08);overflow:hidden;position:relative}
.spr-card::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--spr-p),var(--spr-pd))}

.spr-head{display:flex;gap:14px;align-items:center;padding:26px 28px 6px}
.spr-ico{flex:0 0 52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--spr-pl);color:var(--spr-pd)}
.spr-wrap .spr-title{margin:0;font-size:22px;line-height:1.25;font-weight:700;color:var(--spr-d);font-family:inherit}
.spr-wrap .spr-sub{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--spr-t)}

.spr-form{padding:18px 28px 6px;margin:0}
.spr-wrap .spr-label{display:block;font-size:14px;font-weight:600;color:var(--spr-d);margin:0 0 6px}
.spr-field{position:relative;margin:0 0 16px}
.spr-fi{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a98a3;pointer-events:none}
.spr-wrap .spr-field input{width:100%;height:50px;margin:0;padding:0 46px 0 44px;font:inherit;font-size:15px;color:var(--spr-d);
	background:#f8fbfa;border:1.5px solid var(--spr-b);border-radius:12px;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s}
.spr-wrap .spr-field input::placeholder{color:#9aa7b0}
.spr-wrap .spr-field input:focus{outline:0;background:#fff;border-color:var(--spr-p);box-shadow:0 0 0 4px var(--spr-pl)}
.spr-wrap .spr-field input[aria-invalid="true"]{border-color:#e05252}
.spr-wrap .spr-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;margin:0;
	display:grid;place-items:center;background:transparent;border:0;border-radius:8px;color:#8a98a3;cursor:pointer;box-shadow:none}
.spr-wrap .spr-eye:hover,.spr-wrap .spr-eye[aria-pressed="true"]{color:var(--spr-pd);background:var(--spr-pl)}

.spr-msg{margin:-4px 0 14px;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.4;background:#fdeeee;color:#b23434;border:1px solid #f6d0d0}

.spr-wrap .spr-btn{width:100%;height:52px;margin:4px 0 0;padding:0 20px;border:0;border-radius:12px;cursor:pointer;
	display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:16px;font-weight:600;letter-spacing:.2px;
	color:#fff;background:var(--spr-p);box-shadow:0 6px 16px rgba(53,184,155,.28);transition:background .15s,transform .1s}
.spr-wrap .spr-btn:hover{background:var(--spr-pd);color:#fff}
.spr-wrap .spr-btn:active{transform:translateY(1px)}
.spr-wrap .spr-btn:focus-visible{outline:3px solid var(--spr-pl);outline-offset:2px}
.spr-wrap .spr-btn[disabled]{opacity:.75;cursor:wait}
.spr-btn .spr-spin{display:none}
.spr-btn.is-busy .spr-spin{display:inline-block}

.spr-spin{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spr-r .7s linear infinite}
@keyframes spr-r{to{transform:rotate(360deg)}}

.spr-wrap .spr-note{display:block;margin:14px 0 4px;font-size:12.5px;line-height:1.5;color:#7b8a95;text-align:center}
.spr-note svg{color:var(--spr-p);display:inline-block;vertical-align:-2px;margin-right:4px}

.spr-help{margin:14px 0 0;padding:14px 28px;background:var(--spr-pl);font-size:13.5px;text-align:center;color:var(--spr-t)}
.spr-wrap .spr-help a{color:var(--spr-pd);font-weight:600;text-decoration:none;white-space:nowrap}
.spr-wrap .spr-help a:hover{text-decoration:underline}

/* Viewer after login */
.spr-viewer{max-width:1100px;margin:0 auto;background:#fff;border:1px solid var(--spr-b);border-radius:18px;overflow:hidden;
	box-shadow:0 10px 30px rgba(29,43,54,.08)}
.spr-vbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--spr-p);color:#fff}
.spr-vtitle{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px}
.spr-wrap .spr-out{display:inline-flex;align-items:center;gap:6px;height:36px;margin:0;padding:0 14px;font:inherit;font-size:14px;font-weight:600;
	color:var(--spr-pd);background:#fff;border:0;border-radius:9px;cursor:pointer;box-shadow:none}
.spr-wrap .spr-out:hover{background:var(--spr-pl);color:var(--spr-pd)}
.spr-frame-wrap{position:relative;background:#f7faf9}
.spr-frame{display:block;width:100%;height:600px;border:0;background:#f7faf9}
.spr-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;color:var(--spr-t);background:#f7faf9}
.spr-loading .spr-spin{border-color:var(--spr-pl);border-top-color:var(--spr-p)}

@media (max-width:520px){
	.spr-wrap{margin:12px auto}
	.spr-head{padding:22px 18px 4px}
	.spr-form{padding:16px 18px 4px}
	.spr-help{padding:12px 18px}
	.spr-wrap .spr-title{font-size:20px}
	.spr-ico{flex-basis:46px;height:46px}
	.spr-vbar{padding:12px 14px}
	.spr-viewer{border-radius:14px}
}
@media (prefers-reduced-motion:reduce){.spr-spin{animation-duration:1.6s}}
