.md-core {
	--md-core-navy: #17345f;
	--md-core-teal: #53b5a7;
	--md-core-teal-dark: #267d72;
	--md-core-sky: #eff8fb;
	--md-core-border: #d7e3e8;
	--md-core-text: #172033;
	--md-core-muted: #627083;
	--md-core-danger: #a52a2a;
	--md-core-danger-bg: #fff3f2;
	color: var(--md-core-text);
	font-size: 16px;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 880px;
	padding: 16px;
}

.md-core *,
.md-core *::before,
.md-core *::after {
	box-sizing: border-box;
}

.md-core h2,
.md-core h3,
.md-core p,
.md-core dl,
.md-core ol,
.md-core ul {
	margin-top: 0;
}

.md-core h2 {
	color: var(--md-core-navy);
	font-size: clamp(1.7rem, 7vw, 2.35rem);
	line-height: 1.15;
	margin-bottom: 10px;
}

.md-core h3 {
	color: var(--md-core-navy);
	font-size: 1.18rem;
	line-height: 1.25;
}

.md-core-header,
.md-core-profile-header {
	margin: 12px 0 24px;
}

.md-core-header > p,
.md-core-help {
	color: var(--md-core-muted);
}

.md-core-grid,
.md-core-growth-grid {
	display: grid;
	gap: 16px;
}

.md-core-card,
.md-core-section,
.md-core-empty,
.md-core-form,
.md-core-danger-zone {
	background: #fff;
	border: 1px solid var(--md-core-border);
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(23, 52, 95, 0.06);
	padding: 20px;
}

.md-core-app-card {
	color: var(--md-core-text);
	display: block;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.md-core-app-card:hover,
.md-core-app-card:focus-visible {
	border-color: var(--md-core-teal);
	box-shadow: 0 12px 30px rgba(23, 52, 95, 0.13);
	transform: translateY(-2px);
}

.md-core-app-card:focus-visible {
	outline: 3px solid rgba(83, 181, 167, 0.35);
	outline-offset: 3px;
}

.md-core-app-card h3 {
	margin-bottom: 12px;
}

.md-core-app-card p {
	margin-bottom: 18px;
}

.md-core-app-card__action {
	color: var(--md-core-teal-dark);
	font-weight: 750;
}

/* Personal child dashboard. All selectors remain inside the Core surface. */
.md-child-dashboard {
	max-width: 920px;
}

.md-child-dashboard__nav {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 22px;
	position: relative;
}

.md-child-switcher {
	position: relative;
}

.md-child-switcher > summary {
	color: var(--md-core-navy);
	cursor: pointer;
	font-weight: 750;
	list-style: none;
	padding: 8px 0 8px 12px;
}

.md-child-switcher > summary::-webkit-details-marker {
	display: none;
}

.md-child-switcher > summary::after {
	content: " ↓";
}

.md-child-switcher[open] > summary::after {
	content: " ↑";
}

.md-child-switcher__menu {
	background: #fff;
	border: 1px solid var(--md-core-border);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(23, 52, 95, 0.14);
	display: grid;
	min-width: 180px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	z-index: 3;
}

.md-child-switcher__menu a {
	color: var(--md-core-text);
	font-weight: 700;
	padding: 12px 15px;
	text-decoration: none;
}

.md-child-switcher__menu a:hover,
.md-child-switcher__menu a:focus-visible,
.md-child-switcher__menu a[aria-current="page"] {
	background: var(--md-core-sky);
	color: var(--md-core-navy);
}

.md-child-header {
	background: linear-gradient(145deg, #eff8fb 0%, #e8f7f3 100%);
	border: 1px solid #d2e9e6;
	border-radius: 22px;
	margin-bottom: 26px;
	padding: 24px 20px;
}

.md-child-header__eyebrow {
	color: var(--md-core-teal-dark);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.md-child-header h2 {
	font-size: clamp(2rem, 10vw, 3.25rem);
	margin-bottom: 4px;
}

.md-child-header__age {
	color: var(--md-core-navy);
	font-size: 1.1rem;
	font-weight: 750;
	margin-bottom: 14px;
}

.md-child-header__measurements {
	align-items: center;
	color: var(--md-core-muted);
	display: flex;
	flex-wrap: wrap;
	font-weight: 650;
	gap: 8px;
	margin-bottom: 0;
}

.md-child-tools,
.md-child-info {
	margin-top: 26px;
}

.md-child-tools > h3,
.md-child-info > h3 {
	font-size: clamp(1.3rem, 6vw, 1.7rem);
	margin-bottom: 15px;
}

.md-child-tools__grid,
.md-child-info__measurements {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.md-child-tool-card {
	margin: 0;
}

.md-child-tool-card button {
	align-items: flex-start;
	appearance: none;
	background: #fff;
	border: 1px solid var(--md-core-border);
	border-radius: 16px;
	box-shadow: 0 5px 16px rgba(23, 52, 95, 0.06);
	color: var(--md-core-navy);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font: inherit;
	font-weight: 780;
	gap: 9px;
	height: 100%;
	justify-content: flex-start;
	line-height: 1.25;
	min-height: 116px;
	padding: 15px;
	text-align: left;
	width: 100%;
}

.md-child-tool-card button:hover,
.md-child-tool-card button:focus-visible {
	border-color: var(--md-core-teal);
	box-shadow: 0 0 0 3px rgba(83, 181, 167, 0.16);
}

.md-child-tool-card__icon {
	align-items: center;
	background: #e5f7f3;
	border-radius: 11px;
	color: var(--md-core-teal-dark);
	display: inline-flex;
	font-size: 1.2rem;
	font-weight: 850;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.md-child-tools__all {
	color: var(--md-core-navy);
	display: inline-block;
	font-weight: 780;
	margin-top: 16px;
	text-underline-offset: 4px;
}

.md-child-tools__empty {
	background: var(--md-core-sky);
	border-radius: 14px;
	color: var(--md-core-muted);
	padding: 18px;
}

.md-child-info__measurements {
	grid-template-columns: 1fr;
}

.md-child-info-card,
.md-child-important {
	background: #fff;
	border: 1px solid var(--md-core-border);
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(23, 52, 95, 0.06);
	padding: 19px;
}

.md-child-info-card {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.md-child-info-card > span,
.md-child-info-card > small {
	color: var(--md-core-muted);
}

.md-child-info-card > strong {
	color: var(--md-core-navy);
	font-size: 1.55rem;
}

.md-child-info-card .md-core-button {
	margin-top: auto;
}

.md-child-important {
	margin-top: 14px;
}

.md-child-important dl {
	display: grid;
	gap: 18px;
	margin-bottom: 20px;
}

.md-child-important dt {
	color: var(--md-core-navy);
	font-weight: 780;
}

.md-child-important dd {
	color: var(--md-core-muted);
	margin: 4px 0 0;
	overflow-wrap: anywhere;
}

.md-core-card--selected {
	border-color: var(--md-core-teal);
	box-shadow: 0 0 0 2px rgba(83, 181, 167, 0.16), 0 8px 24px rgba(23, 52, 95, 0.06);
}

.md-core-card__heading {
	align-items: start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.md-core-card__heading h3 {
	font-size: 1.45rem;
	margin-bottom: 3px;
}

.md-core-badge {
	background: #e5f7f3;
	border-radius: 999px;
	color: var(--md-core-teal-dark);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 5px 9px;
	white-space: nowrap;
}

.md-core-age {
	color: var(--md-core-muted);
	font-weight: 650;
}

.md-core-summary,
.md-core-details {
	display: grid;
	gap: 12px;
}

.md-core-summary {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.md-core-summary > div,
.md-core-details > div {
	background: var(--md-core-sky);
	border-radius: 12px;
	padding: 12px;
}

.md-core-summary dt,
.md-core-details dt {
	color: var(--md-core-muted);
	font-size: 0.82rem;
	font-weight: 650;
}

.md-core-summary dd,
.md-core-details dd {
	font-weight: 750;
	margin: 3px 0 0;
	overflow-wrap: anywhere;
}

.md-core-details--stacked {
	grid-template-columns: 1fr;
}

.md-core-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.md-core-actions form {
	margin: 0;
}

.md-core-button,
.md-core button.md-core-button,
.md-core a.md-core-button {
	align-items: center;
	appearance: none;
	background: var(--md-core-navy);
	border: 2px solid var(--md-core-navy);
	border-radius: 12px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 750;
	justify-content: center;
	line-height: 1.2;
	min-height: 46px;
	padding: 11px 16px;
	text-align: center;
	text-decoration: none;
}

.md-core-button:hover,
.md-core-button:focus-visible {
	background: #0e274b;
	border-color: #0e274b;
	color: #fff;
}

.md-core-button--secondary,
.md-core button.md-core-button--secondary,
.md-core a.md-core-button--secondary {
	background: #fff;
	border-color: var(--md-core-navy);
	color: var(--md-core-navy);
}

.md-core-button--secondary:hover,
.md-core-button--secondary:focus-visible {
	background: var(--md-core-sky);
	color: var(--md-core-navy);
}

.md-core-button--danger,
.md-core button.md-core-button--danger {
	background: var(--md-core-danger);
	border-color: var(--md-core-danger);
}

.md-core-button--wide {
	width: 100%;
}

.md-core-link,
.md-core-back {
	color: var(--md-core-navy);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.md-core-link--danger {
	color: var(--md-core-danger);
}

.md-core-button:focus-visible,
.md-core-link:focus-visible,
.md-core-back:focus-visible,
.md-core input:focus-visible,
.md-core textarea:focus-visible {
	outline: 3px solid rgba(83, 181, 167, 0.55);
	outline-offset: 3px;
}

.md-core-add-another {
	margin-top: 20px;
}

.md-core-section {
	margin-top: 16px;
}

.md-core-growth-grid {
	grid-template-columns: 1fr;
}

.md-core-metric {
	background: var(--md-core-sky);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 16px;
}

.md-core-metric > span,
.md-core-metric > small {
	color: var(--md-core-muted);
}

.md-core-metric > strong {
	color: var(--md-core-navy);
	font-size: 1.8rem;
}

.md-core-administration {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.md-core-administration h3 {
	margin-bottom: 0;
}

.md-core-form {
	display: grid;
	gap: 24px;
}

.md-core-fieldset,
.md-core-options {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.md-core-fieldset {
	display: grid;
	gap: 18px;
}

.md-core-fieldset > legend {
	color: var(--md-core-navy);
	font-size: 1.25rem;
	font-weight: 800;
	margin-bottom: 12px;
	padding: 0;
}

.md-core-options > legend,
.md-core-field > label:first-child {
	display: block;
	font-weight: 750;
	margin-bottom: 7px;
}

.md-core-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
}

.md-core-options > legend {
	flex-basis: 100%;
}

.md-core-field input[type="text"],
.md-core-field input[type="date"],
.md-core-field input[type="number"],
.md-core-field textarea {
	background: #fff;
	border: 1px solid #aebdc8;
	border-radius: 10px;
	color: var(--md-core-text);
	font: inherit;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.md-core-field textarea {
	min-height: 92px;
	resize: vertical;
}

.md-core-field textarea:disabled {
	background: #f2f4f5;
	opacity: 0.7;
}

.md-core-check {
	align-items: center;
	display: flex;
	gap: 8px;
	margin: 0 0 9px;
}

.md-core-check input,
.md-core-options input {
	height: 20px;
	width: 20px;
}

.md-core-consent {
	background: #f5fbf9;
	border-color: #b9ddd3;
}

.md-core-check--consent {
	align-items: flex-start;
	color: #183153;
	font-weight: 600;
	line-height: 1.55;
}

.md-core-check--consent input {
	margin-top: 0.25rem;
	min-height: 1.1rem;
	min-width: 1.1rem;
}

.md-core-input-unit {
	align-items: center;
	display: flex;
	gap: 9px;
}

.md-core-input-unit span {
	color: var(--md-core-muted);
	font-weight: 750;
}

.md-core-measure-grid {
	display: grid;
	gap: 16px;
}

.md-core-notice {
	border-left: 5px solid var(--md-core-navy);
	border-radius: 10px;
	margin-bottom: 18px;
	padding: 14px 16px;
}

.md-core-notice--success {
	background: #eaf8f4;
	border-color: var(--md-core-teal-dark);
}

.md-core-notice--error {
	background: var(--md-core-danger-bg);
	border-color: var(--md-core-danger);
}

.md-core-notice--info {
	background: var(--md-core-sky);
}

.md-core-notice p:last-child,
.md-core-notice ul:last-child {
	margin-bottom: 0;
}

.md-core-history {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.md-core-history li {
	align-items: center;
	background: #fff;
	border: 1px solid var(--md-core-border);
	border-radius: 13px;
	display: flex;
	justify-content: space-between;
	padding: 15px;
}

.md-core-history time {
	color: var(--md-core-muted);
}

.md-core-history strong {
	color: var(--md-core-navy);
	font-size: 1.15rem;
}

.md-core-danger-zone {
	background: var(--md-core-danger-bg);
	border-color: #efc5c1;
	margin-top: 18px;
}

@media (min-width: 680px) {
	.md-core {
		padding: 24px;
	}

	.md-core-grid,
	.md-core-growth-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.md-core-measure-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.md-core-details:not(.md-core-details--stacked) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.md-child-header {
		padding: 32px;
	}

	.md-child-tools__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.md-child-info__measurements {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.md-core *,
	.md-core *::before,
	.md-core *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
