/* RX Care Portal v0.2.0 — owner-only vault security laboratory */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; background: #f3f6fb; }
body.rx-care-standalone {
	--rx-bg: #f3f6fb;
	--rx-card: #ffffff;
	--rx-text: #182234;
	--rx-muted: #657188;
	--rx-line: #e2e8f1;
	--rx-blue: #2858e8;
	--rx-blue-deep: #173ba8;
	--rx-soft: #eef3ff;
	--rx-green-soft: #ecf9f1;
	--rx-green: #237749;
	--rx-red-soft: #fff1f1;
	--rx-red: #a43c3c;
	--rx-purple-soft: #f4f0ff;
	--rx-purple: #6548a7;
	--rx-shadow: 0 12px 36px rgba(31,45,77,.08);
	color: var(--rx-text);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
	min-height: 100vh;
}
a { color: inherit; }

.rx-care-topbar {
	height: 68px;
	background: #fff;
	border-bottom: 1px solid var(--rx-line);
	position: sticky;
	top: 0;
	z-index: 40;
}
.rx-care-topbar__inner {
	max-width: 1280px;
	height: 100%;
	margin: 0 auto;
	padding: 0 26px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.rx-care-brand {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
}
.rx-care-brand__mark {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: linear-gradient(135deg, #173ba8, #3567f2);
	color: #fff;
	display: grid;
	place-items: center;
	font-weight: 900;
	font-size: 15px;
}
.rx-care-brand strong { display:block; font-size: 16px; line-height:1.15; }
.rx-care-brand small {
	display:block;
	font-size:11px;
	color: var(--rx-muted);
	text-transform:uppercase;
	letter-spacing:.08em;
	margin-top:2px;
}
.rx-care-topbar__actions { display:flex; gap:10px; align-items:center; }
.rx-care-topbar__actions a {
	text-decoration:none;
	font-size:13px;
	font-weight:750;
	color:#536079;
	padding:8px 11px;
	border-radius:9px;
}
.rx-care-topbar__actions a:hover { background: var(--rx-soft); color: var(--rx-blue-deep); }

.rx-care-app {
	background: var(--rx-bg);
	min-height: calc(100vh - 68px);
	padding: 28px 22px 54px;
}
.rx-care-shell { max-width: 1180px; margin: 0 auto; }

.rx-care-cover {
	background: linear-gradient(135deg, #173ba8 0%, #2858e8 58%, #6c8eff 100%);
	border-radius: 24px 24px 0 0;
	min-height: 300px;
	position: relative;
	overflow: hidden;
	box-shadow: var(--rx-shadow);
}
.rx-care-cover__pattern {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 82% 28%, rgba(255,255,255,.18), transparent 22%),
		radial-gradient(circle at 15% 120%, rgba(255,255,255,.12), transparent 34%);
}
.rx-care-profile-head {
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 32px;
	display: flex;
	align-items: flex-end;
	gap: 22px;
	color: white;
	z-index: 2;
}
.rx-care-avatar {
	width: 128px;
	height: 128px;
	border-radius: 50%;
	border: 5px solid rgba(255,255,255,.96);
	background: white;
	color: var(--rx-blue-deep);
	display: grid;
	place-items: center;
	font-size: 46px;
	font-weight: 850;
	box-shadow: 0 8px 24px rgba(0,0,0,.18);
	flex: 0 0 auto;
}
.rx-care-profile-title { min-width: 0; }
.rx-care-profile-title h1 {
	color: white;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.08;
	margin: 5px 0 7px;
}
.rx-care-eyebrow {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: 12px;
	font-weight: 800;
	opacity: .82;
}
.rx-care-id {
	display: inline-block;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
}
.rx-care-member-since { font-size: 13px; margin-top: 6px; opacity: .86; }

.rx-care-tabs {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
	background: white;
	border: 1px solid var(--rx-line);
	border-top: 0;
	border-radius: 0 0 18px 18px;
	padding: 13px 18px;
	box-shadow: var(--rx-shadow);
	margin-bottom: 24px;
}
.rx-care-tabs a {
	color: #536079;
	text-decoration: none;
	font-weight: 750;
	font-size: 14px;
	padding: 10px 12px;
	border-radius: 9px;
}
.rx-care-tabs a:hover,
.rx-care-tabs a.is-active {
	background: var(--rx-soft);
	color: var(--rx-blue-deep);
}
.rx-care-lock,
.rx-care-stage {
	font-size: 10px;
	padding: 2px 5px;
	margin-left: 3px;
	border-radius: 999px;
}
.rx-care-lock { background: #edf0f5; color: #727c8e; }
.rx-care-stage { background: var(--green-soft, #ecf9f1); color: var(--rx-green); }

.rx-care-grid {
	display: grid;
	grid-template-columns: 330px minmax(0,1fr);
	gap: 24px;
	align-items: start;
}
.rx-care-main { display: grid; gap: 18px; }
.rx-care-card {
	background: var(--rx-card);
	border: 1px solid var(--rx-line);
	border-radius: 18px;
	box-shadow: 0 7px 24px rgba(31,45,77,.05);
	padding: 23px;
}
.rx-care-summary { position: sticky; top: 92px; }
.rx-care-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.rx-care-card h2 {
	font-size: 22px;
	line-height: 1.25;
	margin: 0;
	color: var(--rx-text);
}
.rx-care-private-pill,
.rx-care-foundation-badge,
.rx-care-lock-badge,
.rx-care-vault-badge {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 5px 9px;
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}
.rx-care-private-pill { background: var(--rx-green-soft); color: var(--rx-green); }
.rx-care-foundation-badge { background: var(--rx-soft); color: var(--rx-blue-deep); }
.rx-care-lock-badge { background: var(--rx-purple-soft); color: var(--rx-purple); }
.rx-care-vault-badge { background: var(--rx-green-soft); color: var(--rx-green); }

.rx-care-facts { margin: 0; display: grid; }
.rx-care-facts > div {
	padding: 12px 0;
	border-bottom: 1px solid var(--rx-line);
}
.rx-care-facts dt,
.rx-care-vault-object dt {
	color: var(--rx-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.rx-care-facts dd,
.rx-care-vault-object dd { margin: 3px 0 0; font-weight: 750; overflow-wrap: anywhere; }

.rx-care-edit { margin-top: 18px; }
.rx-care-edit summary { cursor: pointer; font-weight: 800; color: var(--rx-blue-deep); }
.rx-care-form { display: grid; gap: 13px; margin-top: 15px; }
.rx-care-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.rx-care-form small { color: var(--rx-muted); font-weight: 500; line-height: 1.4; }
.rx-care-form input,
.rx-care-form select {
	width: 100%;
	border: 1px solid #ccd5e4;
	border-radius: 10px;
	min-height: 42px;
	padding: 8px 10px;
	background: white;
	color: var(--rx-text);
}
.rx-care-form button,
.rx-care-login-button,
.rx-care-primary-button,
.rx-care-secondary-button,
.rx-care-danger-button {
	border-radius: 10px;
	font-weight: 800;
	padding: 11px 15px;
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border: 1px solid transparent;
}
.rx-care-form button,
.rx-care-login-button,
.rx-care-primary-button {
	background: var(--rx-blue);
	color: white;
}
.rx-care-secondary-button {
	background: white;
	border-color: #cbd6e7;
	color: #42516b;
}
.rx-care-danger-button {
	background: var(--rx-red-soft);
	border-color: #f1cccc;
	color: var(--rx-red);
}

.rx-care-welcome > p { color: var(--rx-muted); margin-top: 0; }
.rx-care-next-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 13px;
	margin-top: 18px;
}
.rx-care-next {
	border: 1px solid var(--rx-line);
	background: #fbfcff;
	border-radius: 14px;
	padding: 16px;
	display: flex;
	gap: 11px;
}
.rx-care-next__icon {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--rx-soft);
	color: var(--rx-blue-deep);
	display: grid;
	place-items: center;
	font-size: 11px;
	font-weight: 900;
}
.rx-care-next strong { display: block; font-size: 14px; }
.rx-care-next span:not(.rx-care-next__icon) {
	display: block;
	color: var(--rx-muted);
	font-size: 12px;
	margin-top: 3px;
}

.rx-care-vault-panel { scroll-margin-top: 95px; }
.rx-care-vault-status-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 10px;
	margin: 18px 0;
}
.rx-care-vault-status-grid > div {
	border: 1px solid var(--rx-line);
	background: #fbfcff;
	border-radius: 12px;
	padding: 12px;
}
.rx-care-vault-status-grid span {
	display: block;
	font-size: 11px;
	color: var(--rx-muted);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 750;
}
.rx-care-vault-status-grid strong {
	display: block;
	font-size: 13px;
	margin-top: 4px;
}
.rx-care-vault-empty {
	padding: 24px;
	border: 1px dashed #bbc9df;
	border-radius: 14px;
	background: #f9fbff;
	text-align: center;
}
.rx-care-vault-empty h3 { margin: 0 0 6px; }
.rx-care-vault-empty p { color: var(--rx-muted); margin: 0 0 16px; }

.rx-care-vault-object {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 14px;
	border: 1px solid var(--rx-line);
	border-radius: 14px;
	padding: 16px;
	background: #fbfcff;
}
.rx-care-vault-object__icon {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: var(--rx-green-soft);
	color: var(--rx-green);
	display: grid;
	place-items: center;
	font-size: 21px;
	font-weight: 900;
}
.rx-care-vault-object h3 { margin: 0 0 10px; }
.rx-care-vault-object dl { margin: 0; display: grid; gap: 8px; }
.rx-care-vault-object dl > div { min-width: 0; }
.rx-care-vault-actions {
	display: flex;
	gap: 9px;
	flex-wrap: wrap;
	margin-top: 14px;
}
.rx-care-test-instructions {
	margin-top: 14px;
	border: 1px solid #d7e1f0;
	background: #edf4ff;
	color: #42506a;
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 13px;
}
.rx-care-test-instructions code {
	background: rgba(255,255,255,.8);
	padding: 2px 5px;
	border-radius: 5px;
}
.rx-care-audit { margin-top: 20px; }
.rx-care-audit h3 { margin: 0 0 10px; font-size: 16px; }
.rx-care-audit-list { display: grid; gap: 7px; }
.rx-care-audit-row {
	display: grid;
	grid-template-columns: minmax(120px,1fr) auto auto;
	gap: 10px;
	align-items: center;
	padding: 9px 11px;
	border: 1px solid var(--rx-line);
	border-radius: 10px;
	font-size: 12px;
}
.rx-care-audit-event { font-weight: 750; text-transform: capitalize; }
.rx-care-audit-outcome {
	border-radius: 999px;
	padding: 3px 7px;
	font-weight: 800;
	background: #edf0f5;
}
.rx-care-audit-outcome--allowed { background: var(--rx-green-soft); color: var(--rx-green); }
.rx-care-audit-outcome--denied_owner,
.rx-care-audit-outcome--denied_integrity,
.rx-care-audit-outcome--failed { background: var(--rx-red-soft); color: var(--rx-red); }
.rx-care-audit-row time { color: var(--rx-muted); }
.rx-care-muted { color: var(--rx-muted); }

.rx-care-locked-panel {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	scroll-margin-top: 95px;
}
.rx-care-locked-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: var(--rx-purple-soft);
	font-size: 20px;
}
.rx-care-locked-panel p { margin: 6px 0 0; color: var(--rx-muted); }
.rx-care-locked-panel p strong { color: var(--rx-text); }

.rx-care-footer-note {
	margin-top: 22px;
	border: 1px solid #d7e1f0;
	background: #edf4ff;
	border-radius: 14px;
	padding: 14px 16px;
	color: #42506a;
	font-size: 13px;
}
.rx-care-notice {
	max-width: 1180px;
	margin: 0 auto 18px;
	padding: 12px 15px;
	border-radius: 12px;
	font-weight: 700;
}
.rx-care-notice--success { background: #eaf9f0; color: #246d46; border: 1px solid #c7ecd5; }
.rx-care-notice--error { background: #fff1f1; color: #9a3333; border: 1px solid #f1cccc; }
.rx-care-notice--info { background: #edf4ff; color: #42506a; border: 1px solid #d7e1f0; }

.rx-care-login-wrap {
	display: grid;
	place-items: center;
	padding-top: 70px;
	padding-bottom: 90px;
}
.rx-care-login-card {
	width: min(100%, 480px);
	background: white;
	border: 1px solid var(--rx-line);
	border-radius: 22px;
	box-shadow: var(--rx-shadow);
	padding: 38px;
	text-align: center;
}
.rx-care-login-mark {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: var(--rx-blue);
	color: white;
	display: grid;
	place-items: center;
	font-weight: 900;
	font-size: 22px;
	margin: 0 auto 18px;
}
.rx-care-login-card h1 { margin: 4px 0 10px; font-size: 36px; }
.rx-care-login-card p { color: var(--rx-muted); }
.rx-care-login-small { font-size: 12px; margin-top: 14px; }

.rx-care-site-footer {
	background: #fff;
	border-top: 1px solid var(--rx-line);
	color: var(--rx-muted);
}
.rx-care-site-footer__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 20px 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	font-size: 12px;
}
.rx-care-site-footer__inner span:first-child {
	font-weight: 800;
	color: var(--rx-text);
}

@media (max-width: 980px) {
	.rx-care-vault-status-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
	.rx-care-grid { grid-template-columns: 1fr; }
	.rx-care-summary { position: static; }
	.rx-care-next-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
	.rx-care-topbar__inner { padding: 0 14px; }
	.rx-care-brand small { display:none; }
	.rx-care-topbar__actions a { font-size:12px; padding:7px 8px; }
	.rx-care-app { padding: 14px 10px 40px; }
	.rx-care-cover { min-height: 310px; border-radius: 18px 18px 0 0; }
	.rx-care-profile-head {
		left: 20px;
		right: 20px;
		bottom: 22px;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.rx-care-avatar { width: 88px; height: 88px; font-size: 32px; }
	.rx-care-profile-title { flex: 1 1 190px; }
	.rx-care-tabs { padding: 10px; }
	.rx-care-tabs a { padding: 8px; font-size: 13px; }
	.rx-care-card { padding: 17px; border-radius: 15px; }
	.rx-care-vault-status-grid { grid-template-columns: 1fr; }
	.rx-care-vault-object { grid-template-columns: 1fr; }
	.rx-care-audit-row { grid-template-columns: 1fr auto; }
	.rx-care-audit-row time { grid-column: 1 / -1; }
	.rx-care-locked-panel { grid-template-columns: 1fr; }
	.rx-care-site-footer__inner { flex-direction:column; align-items:flex-start; }
}

.rx-care-audit-outcome--denied_unauth {
	background: var(--rx-red-soft);
	color: var(--rx-red);
}
