/* LifePlan Core UI Kit v1.1.1
 * Shared component primitives for compatible LifePlan modules.
 * Component selectors intentionally use the lp-ui- prefix to avoid theme/plugin collisions.
 */

.lifeplan-app,
.lp-ui-scope{
	--lp-ui-surface:var(--lp-surface,#fff);
	--lp-ui-surface-subtle:var(--lp-surface-subtle,#fbfcfd);
	--lp-ui-success:var(--lp-success,#2f7d57);
	--lp-ui-success-bg:var(--lp-success-bg,#edf8f1);
	--lp-ui-danger:var(--lp-danger,#9d2647);
	--lp-ui-danger-bg:var(--lp-danger-bg,#fff1f4);
	--lp-ui-warning:var(--lp-warning,#9a6912);
	--lp-ui-warning-bg:var(--lp-warning-bg,#fff7df);
	--lp-ui-focus:color-mix(in srgb,var(--lp-primary,#7b1d3d) 15%,transparent);
	--lp-ui-gap:var(--lp-component-gap,16px);
	--lp-ui-card-pad:var(--lp-card-padding,18px);
	--lp-ui-motion-fast:140ms;
	--lp-ui-motion:200ms;
	--lp-ui-ease:cubic-bezier(.2,.75,.25,1);
}

/* Page header */
.lp-ui-page-header{margin:0 0 22px;color:var(--lp-text,#242a2f)}
.lp-ui-page-header__eyebrow{display:inline-flex;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--lp-primary,#7b1d3d) 9%,#fff);color:var(--lp-primary,#7b1d3d);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.lp-ui-page-header__row{display:flex;align-items:center;gap:15px}
.lp-ui-page-header__row h2{flex:0 1 auto;margin:0;color:var(--lp-primary,#7b1d3d);font:var(--lp-title-weight,500) var(--lp-title-size,38px)/1.08 var(--lp-font-family,inherit);letter-spacing:-.025em}
.lp-ui-page-header__rule{flex:1 1 auto;height:1px;background:linear-gradient(90deg,var(--lp-border,#dde3e7),transparent)}
.lp-ui-page-header__description{max-width:920px;margin-top:9px;color:var(--lp-muted,#6f7881);font-size:var(--lp-body-size,15px);line-height:1.6}
.lp-ui-page-header__description p{margin:0}

/* Card */
.lp-ui-card{overflow:hidden;border:1px solid var(--lp-border,#dde3e7);border-radius:var(--lp-card-radius,16px);background:var(--lp-ui-surface);box-shadow:var(--lp-shadow-surface,0 8px 26px rgba(15,23,42,.055));transition:border-color var(--lp-ui-motion) var(--lp-ui-ease),box-shadow var(--lp-ui-motion) var(--lp-ui-ease),transform var(--lp-ui-motion) var(--lp-ui-ease)}
.lp-ui-card--interactive:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--lp-border,#dde3e7) 72%,var(--lp-primary,#7b1d3d));box-shadow:0 12px 30px rgba(15,23,42,.075)}
.lp-ui-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px var(--lp-ui-card-pad);border-bottom:1px solid #edf0f2;background:linear-gradient(180deg,#fff,var(--lp-ui-surface-subtle))}
.lp-ui-card__header h3{margin:0;color:var(--lp-text,#242a2f);font-size:var(--lp-section-size,18px);font-weight:var(--lp-section-weight,700);line-height:1.25}
.lp-ui-card__meta{color:var(--lp-muted,#6f7881);font-size:11px;font-weight:600}
.lp-ui-card__body{padding:var(--lp-ui-card-pad)}

/* Form */
.lp-ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lp-ui-gap)}
.lp-ui-field{display:grid;gap:7px;min-width:0;color:var(--lp-text,#242a2f);font-size:var(--lp-label-size,12px)}
.lp-ui-field__label{font-weight:600;line-height:1.35}
.lp-ui-field__required{color:var(--lp-primary,#7b1d3d)}
.lp-ui-field__help{color:var(--lp-muted,#6f7881);font-size:10.5px;line-height:1.4}
.lp-ui-control{width:100%;min-height:var(--lp-field-height,44px);box-sizing:border-box;padding:9px 11px;border:1px solid #d7dde2;border-radius:var(--lp-field-radius,10px);outline:0;background:var(--lp-ui-surface-subtle);color:var(--lp-text,#242a2f);font:400 var(--lp-body-size,15px)/1.35 var(--lp-font-family,inherit);transition:border-color var(--lp-ui-motion-fast) ease,box-shadow var(--lp-ui-motion-fast) ease,background var(--lp-ui-motion-fast) ease}
textarea.lp-ui-control{min-height:96px;resize:vertical}
.lp-ui-control:hover{border-color:#c8d0d6}
.lp-ui-control:focus{border-color:color-mix(in srgb,var(--lp-primary,#7b1d3d) 62%,#fff);background:#fff;box-shadow:0 0 0 4px var(--lp-ui-focus)}
.lp-ui-control[aria-invalid="true"],.lp-ui-field.is-error .lp-ui-control{border-color:color-mix(in srgb,var(--lp-ui-danger) 58%,#fff);background:var(--lp-ui-danger-bg)}

/* Yes / No and compact choices */
.lp-ui-question{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;margin:0;padding:10px 12px;border:1px solid #e4e9ec;border-radius:12px;background:var(--lp-ui-surface-subtle)}
.lp-ui-question legend{float:left;max-width:70%;padding:0;color:var(--lp-text,#242a2f);font-size:var(--lp-label-size,12px);font-weight:600;line-height:1.4}
.lp-ui-segmented{display:flex;gap:6px;margin-left:auto}
.lp-ui-segmented label{position:relative;margin:0}
.lp-ui-segmented input{position:absolute;opacity:0;pointer-events:none}
.lp-ui-segmented span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:30px;padding:5px 10px;border:1px solid #d4dbe0;border-radius:999px;background:#fff;color:#5f6971;font-size:11px;font-weight:650;cursor:pointer;transition:background var(--lp-ui-motion-fast) ease,border-color var(--lp-ui-motion-fast) ease,color var(--lp-ui-motion-fast) ease,transform var(--lp-ui-motion-fast) ease}
.lp-ui-segmented input:focus-visible + span{box-shadow:0 0 0 4px var(--lp-ui-focus)}
.lp-ui-segmented input:checked + span{border-color:color-mix(in srgb,var(--lp-primary,#7b1d3d) 42%,#fff);background:color-mix(in srgb,var(--lp-primary,#7b1d3d) 9%,#fff);color:var(--lp-primary,#7b1d3d)}
.lp-ui-segmented label:hover span{transform:translateY(-1px)}

/* Buttons
 * These selectors intentionally include the button/anchor element so common
 * WordPress/theme button rules cannot restyle LifePlan actions.
 */
.lp-ui-button,
button.lp-ui-button,
a.lp-ui-button{
	-webkit-appearance:none;
	appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:42px;
	box-sizing:border-box;
	padding:9px 16px;
	border:1px solid transparent;
	border-radius:10px;
	outline:0;
	background:none;
	color:inherit;
	font:650 var(--lp-button-size,13px)/1 var(--lp-font-family,inherit);
	letter-spacing:0;
	text-decoration:none;
	white-space:nowrap;
	cursor:pointer;
	box-shadow:none;
	transition:transform var(--lp-ui-motion-fast) var(--lp-ui-ease),background var(--lp-ui-motion-fast) ease,border-color var(--lp-ui-motion-fast) ease,color var(--lp-ui-motion-fast) ease,box-shadow var(--lp-ui-motion-fast) ease,opacity var(--lp-ui-motion-fast) ease;
}
.lp-ui-button:hover:not(:disabled){transform:translateY(-1px);text-decoration:none}
.lp-ui-button:active:not(:disabled){transform:translateY(0) scale(.99)}
.lp-ui-button:focus-visible{box-shadow:0 0 0 4px var(--lp-ui-focus)}
.lp-ui-button:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}

.lp-ui-button--primary,
button.lp-ui-button--primary,
a.lp-ui-button--primary{
	border-color:var(--lp-primary,#7b1d3d);
	background:var(--lp-primary,#7b1d3d);
	color:#fff;
	box-shadow:0 7px 16px rgba(117,28,57,.13);
}
.lp-ui-button--primary:hover:not(:disabled){
	border-color:var(--lp-primary-dark,#64172f);
	background:var(--lp-primary-dark,#64172f);
	color:#fff;
	box-shadow:0 9px 20px rgba(117,28,57,.16);
}

.lp-ui-button--secondary,
button.lp-ui-button--secondary,
a.lp-ui-button--secondary{
	border-color:#d5dce1;
	background:#fff;
	color:#35404a;
}
.lp-ui-button--secondary:hover:not(:disabled){
	border-color:#c8d0d6;
	background:#f7f9fa;
	color:#27313a;
}

.lp-ui-button--ghost,
button.lp-ui-button--ghost,
a.lp-ui-button--ghost{
	border-color:transparent;
	background:transparent;
	color:#55616b;
}
.lp-ui-button--ghost:hover:not(:disabled){
	background:#f3f6f7;
	color:var(--lp-primary,#7b1d3d);
}

.lp-ui-button--danger,
button.lp-ui-button--danger,
a.lp-ui-button--danger{
	border-color:var(--lp-ui-danger);
	background:var(--lp-ui-danger);
	color:#fff;
}

/* Premium "add another record" action. Kept in Core so Address, Family,
 * Housing, Finance and future modules all use the same visual language.
 */
.lp-ui-button--add,
button.lp-ui-button--add,
a.lp-ui-button--add{
	border-color:#d8dee3;
	background:linear-gradient(180deg,#fff,#fbfcfd);
	color:var(--lp-primary,#7b1d3d);
	box-shadow:0 1px 1px rgba(15,23,42,.02);
}
.lp-ui-button--add:hover:not(:disabled){
	border-color:color-mix(in srgb,var(--lp-primary,#7b1d3d) 24%,#d8dee3);
	background:color-mix(in srgb,var(--lp-primary,#7b1d3d) 4%,#fff);
	color:var(--lp-primary-dark,#64172f);
	box-shadow:0 5px 14px rgba(15,23,42,.055);
}

/* Universal square icon action. */
.lp-ui-icon-button,
button.lp-ui-icon-button{
	-webkit-appearance:none;
	appearance:none;
	display:inline-grid;
	place-items:center;
	width:34px;
	min-width:34px;
	height:34px;
	min-height:34px;
	box-sizing:border-box;
	padding:0;
	border:1px solid #d9e0e4;
	border-radius:9px;
	outline:0;
	background:#fff;
	color:#65717a;
	font:650 14px/1 var(--lp-font-family,inherit);
	cursor:pointer;
	box-shadow:0 1px 2px rgba(15,23,42,.025);
	transition:transform var(--lp-ui-motion-fast) var(--lp-ui-ease),background var(--lp-ui-motion-fast) ease,border-color var(--lp-ui-motion-fast) ease,color var(--lp-ui-motion-fast) ease,box-shadow var(--lp-ui-motion-fast) ease;
}
.lp-ui-icon-button:hover{
	transform:translateY(-1px);
	border-color:color-mix(in srgb,var(--lp-primary,#7b1d3d) 20%,#d9e0e4);
	background:color-mix(in srgb,var(--lp-primary,#7b1d3d) 4%,#fff);
	color:var(--lp-primary,#7b1d3d);
	box-shadow:0 5px 12px rgba(15,23,42,.06);
}
.lp-ui-icon-button:active{transform:none}
.lp-ui-icon-button:focus-visible{box-shadow:0 0 0 4px var(--lp-ui-focus)}
/* Destructive icon actions stay restrained.
 * Strong scoping prevents theme button :hover/:focus rules from turning
 * delete controls into a solid pink/red button after click or focus.
 */
.lifeplan-app button.lp-ui-icon-button--danger,
.lifeplan-app button.lp-ui-icon-button--danger:focus,
.lifeplan-app button.lp-ui-icon-button--danger:active,
.lp-ui-modal button.lp-ui-icon-button--danger,
.lp-ui-modal button.lp-ui-icon-button--danger:focus,
.lp-ui-modal button.lp-ui-icon-button--danger:active{
	border-color:#d9e0e4;
	background:#fff;
	color:var(--lp-ui-danger);
	box-shadow:0 1px 2px rgba(15,23,42,.025);
}
.lifeplan-app button.lp-ui-icon-button--danger:hover,
.lp-ui-modal button.lp-ui-icon-button--danger:hover{
	border-color:color-mix(in srgb,var(--lp-ui-danger) 24%,#d9e0e4);
	background:color-mix(in srgb,var(--lp-ui-danger-bg) 70%,#fff);
	color:var(--lp-ui-danger);
	box-shadow:0 5px 12px rgba(15,23,42,.055);
}
.lifeplan-app button.lp-ui-icon-button--danger:focus:not(:focus-visible),
.lp-ui-modal button.lp-ui-icon-button--danger:focus:not(:focus-visible){
	border-color:#d9e0e4;
	background:#fff;
	color:var(--lp-ui-danger);
	box-shadow:0 1px 2px rgba(15,23,42,.025);
}
.lifeplan-app button.lp-ui-icon-button--danger:focus-visible,
.lp-ui-modal button.lp-ui-icon-button--danger:focus-visible{
	border-color:color-mix(in srgb,var(--lp-ui-danger) 28%,#d9e0e4);
	background:#fff;
	color:var(--lp-ui-danger);
	box-shadow:0 0 0 4px color-mix(in srgb,var(--lp-ui-danger) 14%,transparent);
}

/* Compact button group used for record-level actions. */
.lp-ui-action-group{
	display:inline-flex;
	align-items:center;
	gap:6px;
	flex:0 0 auto;
}

/* Small neutral metadata badge. */
.lp-ui-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:26px;
	padding:5px 9px;
	border:1px solid #dfe5e9;
	border-radius:999px;
	background:var(--lp-ui-surface-subtle);
	color:var(--lp-muted,#6f7881);
	font-size:10px;
	font-weight:650;
	line-height:1;
	white-space:nowrap;
}

/* Save status */
.lp-ui-save-status{display:flex;align-items:center;gap:9px;min-width:0;color:var(--lp-text,#242a2f)}
.lp-ui-save-status__icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--lp-ui-success-bg);color:var(--lp-ui-success);font-size:12px;font-weight:800}
.lp-ui-save-status>div{display:grid;gap:2px;min-width:0}
.lp-ui-save-status strong{font-size:11.5px;font-weight:700;line-height:1.2}
.lp-ui-save-status>div>span{color:var(--lp-muted,#6f7881);font-size:10.5px;line-height:1.35}
.lp-ui-save-status.is-dirty .lp-ui-save-status__icon{background:var(--lp-ui-warning-bg);color:var(--lp-ui-warning)}
.lp-ui-save-status.is-saving .lp-ui-save-status__icon{background:#eef3f7;color:#52606b}
.lp-ui-save-status.is-error .lp-ui-save-status__icon{background:var(--lp-ui-danger-bg);color:var(--lp-ui-danger)}

/* Empty state */
.lp-ui-empty-state{display:grid;justify-items:center;gap:6px;padding:30px 22px;text-align:center;color:var(--lp-muted,#6f7881)}
.lp-ui-empty-state__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f1f4f5;color:#7d878e;font-size:22px}
.lp-ui-empty-state strong{color:var(--lp-text,#242a2f);font-size:15px;font-weight:700}
.lp-ui-empty-state p{max-width:540px;margin:0;font-size:12.5px;line-height:1.55}

/* Skeleton */
.lp-ui-skeleton{display:grid;gap:14px;animation:lpUiSkeletonIn 160ms ease both}
.lp-ui-skeleton__line,.lp-ui-skeleton__block{display:block;border-radius:8px;background:linear-gradient(90deg,#edf0f2,#f8f9fa,#edf0f2);background-size:220% 100%;animation:lpUiShimmer 1.2s linear infinite}
.lp-ui-skeleton__line{height:14px}.lp-ui-skeleton__line.is-title{width:42%;height:28px}.lp-ui-skeleton__line.is-short{width:65%}
.lp-ui-skeleton__block{height:120px;border-radius:var(--lp-card-radius,16px)}
@keyframes lpUiShimmer{to{background-position:-220% 0}}
@keyframes lpUiSkeletonIn{from{opacity:0}to{opacity:1}}

/* Toast */
.lp-ui-toast-container{position:fixed;top:18px;right:18px;z-index:2147483600;display:grid;gap:9px;width:min(360px,calc(100vw - 28px));pointer-events:none}
.lp-ui-toast{position:relative;display:grid;grid-template-columns:32px 1fr 28px;align-items:center;gap:9px;min-height:58px;overflow:hidden;padding:11px 10px 12px 12px;border:1px solid #dce2e6;border-radius:13px;background:#fff;box-shadow:var(--lp-shadow-floating,0 18px 48px rgba(15,23,42,.14));opacity:0;transform:translateY(-6px) scale(.985);transition:opacity var(--lp-ui-motion) ease,transform var(--lp-ui-motion) var(--lp-ui-ease);pointer-events:auto}
.lp-ui-toast.is-visible{opacity:1;transform:none}
.lp-ui-toast__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f1f4f5;color:#68737b;font-size:14px;font-weight:800}
.lp-ui-toast__text{font-size:12px;font-weight:600;line-height:1.4}
.lp-ui-toast__close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:#7c858c;font-size:19px;cursor:pointer}
.lp-ui-toast__progress{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--lp-primary,#7b1d3d);transform-origin:left;animation:lpUiToastProgress var(--lp-toast-duration,3200ms) linear forwards}
.lp-ui-toast.is-success{border-color:#d2e8db}.lp-ui-toast.is-success .lp-ui-toast__icon{background:var(--lp-ui-success-bg);color:var(--lp-ui-success)}
.lp-ui-toast.is-error{border-color:#ebccd5}.lp-ui-toast.is-error .lp-ui-toast__icon{background:var(--lp-ui-danger-bg);color:var(--lp-ui-danger)}
.lp-ui-toast.is-warning .lp-ui-toast__icon{background:var(--lp-ui-warning-bg);color:var(--lp-ui-warning)}
@keyframes lpUiToastProgress{to{transform:scaleX(0)}}

/* Modal */
.lp-ui-modal[hidden]{display:none}
.lp-ui-modal{position:fixed;inset:0;z-index:2147483500;display:grid;place-items:center;padding:22px}
.lp-ui-modal__backdrop{position:absolute;inset:0;background:rgba(17,21,26,.56);backdrop-filter:blur(9px) saturate(110%);-webkit-backdrop-filter:blur(9px) saturate(110%);animation:lpUiFadeIn 160ms ease both}
.lp-ui-modal__dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(var(--lp-modal-width,820px),calc(100vw - 44px));max-height:calc(100dvh - 44px);overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:#fff;box-shadow:var(--lp-shadow-floating,0 24px 64px rgba(15,23,42,.22));animation:lpUiModalIn 190ms var(--lp-ui-ease) both}
.lp-ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:var(--lp-primary,#7b1d3d);color:#fff}
.lp-ui-modal__header h3{margin:0;color:#fff;font-size:20px;font-weight:650;line-height:1.2}.lp-ui-modal__header p{margin:4px 0 0;color:rgba(255,255,255,.76);font-size:11px}
/* Modal close control: compact glass button on the maroon header.
 * Scope/button specificity intentionally beats generic theme button styles.
 */
.lp-ui-modal button.lp-ui-modal__close{
	-webkit-appearance:none;
	appearance:none;
	display:grid;
	place-items:center;
	width:38px;
	min-width:38px;
	height:38px;
	min-height:38px;
	flex:0 0 38px;
	padding:0;
	border:1px solid rgba(255,255,255,.3);
	border-radius:10px;
	outline:0;
	background:rgba(255,255,255,.08);
	color:rgba(255,255,255,.94);
	font:400 21px/1 var(--lp-font-family,inherit);
	letter-spacing:0;
	cursor:pointer;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
	transition:transform var(--lp-ui-motion-fast) var(--lp-ui-ease),background var(--lp-ui-motion-fast) ease,border-color var(--lp-ui-motion-fast) ease,box-shadow var(--lp-ui-motion-fast) ease,color var(--lp-ui-motion-fast) ease;
}
.lp-ui-modal button.lp-ui-modal__close:hover{
	transform:translateY(-1px);
	border-color:rgba(255,255,255,.48);
	background:rgba(255,255,255,.16);
	color:#fff;
	box-shadow:0 6px 16px rgba(22,7,13,.14),inset 0 1px 0 rgba(255,255,255,.14);
}
.lp-ui-modal button.lp-ui-modal__close:active{
	transform:none;
	border-color:rgba(255,255,255,.38);
	background:rgba(255,255,255,.12);
	color:#fff;
	box-shadow:inset 0 1px 2px rgba(0,0,0,.08);
}
.lp-ui-modal button.lp-ui-modal__close:focus:not(:focus-visible){
	border-color:rgba(255,255,255,.3);
	background:rgba(255,255,255,.08);
	color:#fff;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.lp-ui-modal button.lp-ui-modal__close:focus-visible{
	border-color:rgba(255,255,255,.72);
	background:rgba(255,255,255,.14);
	color:#fff;
	box-shadow:0 0 0 3px rgba(255,255,255,.2);
}
.lp-ui-modal__body{min-height:0;overflow:auto;padding:20px;background:#fff}
.lp-ui-modal__footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 18px;border-top:1px solid #e4e8eb;background:#fff;box-shadow:0 -8px 24px rgba(15,23,42,.045)}
body.lp-ui-modal-open{overflow:hidden}
@keyframes lpUiFadeIn{from{opacity:0}to{opacity:1}}
@keyframes lpUiModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

/* Record/list primitive */
.lp-ui-record{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e3e8eb;border-radius:11px;background:#fff;transition:border-color var(--lp-ui-motion-fast) ease,box-shadow var(--lp-ui-motion-fast) ease}
.lp-ui-record:hover{border-color:#d1d8dd;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.lp-ui-record__content{min-width:0}.lp-ui-record__content strong{display:block;color:var(--lp-text,#242a2f);font-size:12px;font-weight:650}.lp-ui-record__content span{display:block;margin-top:3px;overflow:hidden;color:var(--lp-muted,#6f7881);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.lp-ui-record__actions{display:flex;gap:5px;flex:0 0 auto}

@media(max-width:760px){
	.lp-ui-page-header__row{align-items:flex-start}.lp-ui-page-header__rule{margin-top:18px}
	.lp-ui-form-grid{grid-template-columns:1fr}
	.lp-ui-question{align-items:flex-start;flex-direction:column}.lp-ui-question legend{max-width:100%}.lp-ui-segmented{margin-left:0}
	.lp-ui-modal{padding:10px}.lp-ui-modal__dialog{width:100%;max-height:calc(100dvh - 20px)}
}

@media(prefers-reduced-motion:reduce){
	.lifeplan-app *, .lifeplan-app *::before, .lifeplan-app *::after,
	.lp-ui-scope *, .lp-ui-scope *::before, .lp-ui-scope *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* v1.1.0 consistency guard:
 * module CSS may position a page header, but typography belongs to Core.
 */
.lifeplan-app .lp-ui-page-header__row h2{
	font-size:var(--lp-title-size,38px);
	font-weight:var(--lp-title-weight,500);
	font-family:var(--lp-font-family,inherit);
}
.lifeplan-app .lp-ui-page-header__description{
	font-size:var(--lp-body-size,15px);
	font-weight:var(--lp-body-weight,400);
	font-family:var(--lp-font-family,inherit);
}
