:root {
	--mcs-blue: #185ADB;
	--mcs-blue-dark: #435769;
	--mcs-slate: #5D788D;
	--mcs-warm: #997257;
	--mcs-sand: #F7F1EC;
	--mcs-mist: #EEF3F6;
	--mcs-ink: #17191C;
	--mcs-muted: #5E636B;
	--mcs-line: #E6E9EE;
	--mcs-white: #FFFFFF;
}

.mcs-app {
	color: var(--mcs-ink);
	font-family: inherit;
	margin: 0 auto;
	max-width: 1120px;
	scroll-margin-top: 96px;
}

.mcs-app *,
.mcs-app *::before,
.mcs-app *::after {
	box-sizing: border-box;
}

.mcs-shell {
	display: grid;
	gap: 28px;
}

.mcs-intro {
	max-width: 760px;
	text-align: center;
	margin: 0 auto 6px;
}

.mcs-eyebrow {
	color: var(--mcs-slate);
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.4;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.mcs-intro h2,
.mcs-result-title-wrap h2,
.mcs-saved h3 {
	color: var(--mcs-ink);
	font-family: inherit;
	letter-spacing: -.025em;
	margin: 0;
}

.mcs-intro h2 {
	font-size: clamp(32px, 5vw, 46px);
	line-height: 1.08;
}

.mcs-intro p {
	color: var(--mcs-muted);
	font-size: clamp(17px, 2vw, 19px);
	line-height: 1.72;
	margin: 18px auto 0;
	max-width: 700px;
}

.mcs-calculator-card,
.mcs-dashboard,
.mcs-saved {
	background: rgba(255, 255, 255, .96);
	border: 1px solid var(--mcs-line);
	border-radius: 18px;
	box-shadow: 0 20px 60px rgba(23, 25, 28, .07);
}

.mcs-calculator-card {
	padding: clamp(22px, 4vw, 36px);
	position: relative;
	overflow: hidden;
}

.mcs-calculator-card::before {
	background: linear-gradient(90deg, var(--mcs-slate), var(--mcs-blue), #C69A7E);
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

.mcs-label {
	display: block;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 9px;
}

.mcs-form-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
}

.mcs-date {
	appearance: none;
	background: var(--mcs-white);
	border: 1px solid #CBD3DA;
	border-radius: 10px;
	color: var(--mcs-ink);
	font: inherit;
	font-size: 17px;
	min-height: 54px;
	padding: 10px 14px;
	width: 100%;
}

.mcs-date:focus {
	border-color: var(--mcs-blue);
	box-shadow: 0 0 0 4px rgba(24, 90, 219, .12);
	outline: 0;
}

.mcs-primary,
.mcs-secondary,
.mcs-mini,
.mcs-link-button {
	border: 0;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.mcs-primary {
	align-items: center;
	background: var(--mcs-blue);
	border-radius: 10px;
	color: var(--mcs-white);
	display: inline-flex;
	justify-content: center;
	min-height: 54px;
	min-width: 190px;
	padding: 12px 22px;
}

.mcs-primary:hover,
.mcs-primary:focus-visible {
	background: #103A8C;
	box-shadow: 0 8px 22px rgba(24, 90, 219, .22);
	transform: translateY(-1px);
}

.mcs-primary:disabled {
	cursor: wait;
	opacity: .72;
	transform: none;
}

.mcs-spinner {
	border: 2px solid rgba(255,255,255,.35);
	border-radius: 50%;
	border-top-color: #fff;
	display: none;
	height: 18px;
	margin-left: 9px;
	width: 18px;
	animation: mcs-spin .7s linear infinite;
}

.mcs-app.is-loading .mcs-spinner {
	display: inline-block;
}

@keyframes mcs-spin {
	to { transform: rotate(360deg); }
}

.mcs-helper,
.mcs-privacy-note,
.mcs-disclaimer {
	color: var(--mcs-muted);
	font-size: 13px;
	line-height: 1.6;
}

.mcs-helper {
	margin: 12px 0 0;
}

.mcs-message {
	border-radius: 9px;
	font-size: 14px;
	font-weight: 600;
	margin-top: 14px;
	padding: 0;
}

.mcs-message.is-error,
.mcs-message.is-success {
	padding: 11px 13px;
}

.mcs-message.is-error {
	background: #FFF1F0;
	color: #9A2E2A;
}

.mcs-message.is-success {
	background: #EDF7F0;
	color: #27633C;
}

.mcs-result {
	outline: 0;
	scroll-margin-top: 90px;
}

.mcs-dashboard {
	overflow: hidden;
	padding: clamp(22px, 4vw, 38px);
}

.mcs-result-hero {
	align-items: center;
	background: linear-gradient(135deg, var(--mcs-mist), var(--mcs-sand));
	border-radius: 14px;
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 22px;
	margin-bottom: 22px;
	padding: clamp(22px, 4vw, 34px);
}

.mcs-symbol {
	align-items: center;
	background: var(--mcs-slate);
	border-radius: 18px;
	color: #fff;
	display: flex;
	font-family: Georgia, serif;
	font-size: 52px;
	height: 84px;
	justify-content: center;
	width: 84px;
	box-shadow: 0 12px 28px rgba(67, 87, 105, .18);
}

.mcs-result-title-wrap h2 {
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.13;
}

.mcs-result-date {
	color: var(--mcs-muted);
	font-size: 15px;
	margin: 10px 0 0;
}

.mcs-metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-bottom: 22px;
}

.mcs-metric {
	background: #fff;
	border: 1px solid var(--mcs-line);
	border-radius: 12px;
	padding: 17px 18px;
}

.mcs-metric span {
	color: var(--mcs-muted);
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .07em;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.mcs-metric strong {
	color: var(--mcs-blue-dark);
	display: block;
	font-size: 17px;
	line-height: 1.35;
}

.mcs-summary {
	background: var(--mcs-sand);
	border-left: 4px solid #C69A7E;
	border-radius: 0 12px 12px 0;
	margin: 22px 0;
	padding: 22px 24px;
}

.mcs-summary p,
.mcs-lead p,
.mcs-detail-body p {
	color: #35393E;
	font-size: 17px;
	line-height: 1.78;
	margin: 0 0 1em;
}

.mcs-summary p:last-child,
.mcs-lead p:last-child,
.mcs-detail-body p:last-child {
	margin-bottom: 0;
}

.mcs-lead {
	margin: 24px 0;
}

.mcs-accordions {
	display: grid;
	gap: 10px;
	margin-top: 26px;
}

.mcs-detail {
	background: #fff;
	border: 1px solid var(--mcs-line);
	border-radius: 12px;
	overflow: hidden;
}

.mcs-detail summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 17px;
	font-weight: 700;
	gap: 18px;
	justify-content: space-between;
	line-height: 1.4;
	list-style: none;
	padding: 18px 20px;
}

.mcs-detail summary::-webkit-details-marker {
	display: none;
}

.mcs-chevron {
	align-items: center;
	background: var(--mcs-mist);
	border-radius: 50%;
	color: var(--mcs-blue-dark);
	display: inline-flex;
	flex: 0 0 30px;
	font-size: 20px;
	height: 30px;
	justify-content: center;
	transition: transform .2s ease;
	width: 30px;
}

.mcs-detail[open] .mcs-chevron {
	transform: rotate(45deg);
}

.mcs-detail-body {
	border-top: 1px solid var(--mcs-line);
	padding: 20px;
}

.mcs-actions {
	align-items: center;
	border-top: 1px solid var(--mcs-line);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
	padding-top: 22px;
}

.mcs-secondary {
	background: var(--mcs-mist);
	border: 1px solid #D5E0E7;
	border-radius: 9px;
	color: var(--mcs-blue-dark);
	min-height: 44px;
	padding: 10px 16px;
}

.mcs-secondary:hover,
.mcs-secondary:focus-visible {
	background: #E1EAF0;
	transform: translateY(-1px);
}

.mcs-link-button {
	background: transparent;
	color: var(--mcs-blue);
	padding: 8px 4px;
}

.mcs-privacy-note {
	margin: 18px 0 0;
}

.mcs-disclaimer {
	background: #F7F8FA;
	border-radius: 9px;
	margin: 12px 0 0;
	padding: 12px 14px;
}

.mcs-saved {
	padding: clamp(20px, 3vw, 28px);
}

.mcs-saved-head {
	align-items: flex-start;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.mcs-saved h3 {
	font-size: 24px;
}

.mcs-saved-list {
	display: grid;
	gap: 9px;
}

.mcs-saved-item {
	align-items: center;
	background: var(--mcs-mist);
	border-radius: 10px;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding: 13px 14px;
}

.mcs-saved-item strong,
.mcs-saved-item span {
	display: block;
}

.mcs-saved-item strong {
	font-size: 14px;
	line-height: 1.35;
}

.mcs-saved-item span {
	color: var(--mcs-muted);
	font-size: 12px;
	margin-top: 3px;
}

.mcs-saved-actions {
	display: flex;
	gap: 6px;
}

.mcs-mini {
	background: #fff;
	border: 1px solid #D3DCE2;
	border-radius: 7px;
	color: var(--mcs-blue-dark);
	font-size: 12px;
	padding: 7px 9px;
}

.mcs-mini-danger {
	color: #943B37;
}

.mcs-cta {
	background: linear-gradient(135deg, #F7F1EC, #EEF3F6);
	border: 1px solid #DCE4EA;
	border-radius: 14px;
	margin-top: 30px;
	padding: clamp(22px, 4vw, 32px);
}

.mcs-cta h3 {
	color: var(--mcs-ink);
	font-size: clamp(22px, 3vw, 28px);
	line-height: 1.25;
	margin: 0 0 10px;
}

.mcs-cta p {
	color: var(--mcs-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 18px;
}

.mcs-cta-button {
	background: var(--mcs-blue);
	border-radius: 9px;
	color: #fff !important;
	display: inline-flex;
	font-weight: 700;
	line-height: 1.3;
	padding: 12px 18px;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.mcs-cta-button:hover,
.mcs-cta-button:focus-visible {
	background: #103A8C;
	box-shadow: 0 8px 22px rgba(24, 90, 219, .18);
	transform: translateY(-1px);
}

.mcs-secondary:disabled {
	cursor: wait;
	opacity: .65;
}

@media (max-width: 720px) {
	.mcs-shell { gap: 20px; }

	.mcs-form-row {
		grid-template-columns: 1fr;
	}

	.mcs-primary {
		width: 100%;
	}

	.mcs-result-hero {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 14px;
		padding: 20px 16px;
	}

	.mcs-symbol {
		border-radius: 14px;
		font-size: 38px;
		height: 60px;
		width: 60px;
	}

	.mcs-result-title-wrap h2 {
		font-size: 27px;
	}

	.mcs-metrics {
		grid-template-columns: 1fr;
	}

	.mcs-metric {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		align-items: center;
	}

	.mcs-metric span {
		margin: 0;
	}

	.mcs-summary,
	.mcs-detail-body {
		padding: 18px 16px;
	}

	.mcs-detail summary {
		font-size: 16px;
		padding: 16px;
	}

	.mcs-summary p,
	.mcs-lead p,
	.mcs-detail-body p {
		font-size: 16px;
		line-height: 1.72;
	}

	.mcs-actions {
		align-items: stretch;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.mcs-actions .mcs-link-button {
		grid-column: 1 / -1;
	}

	.mcs-saved-head,
	.mcs-saved-item {
		align-items: stretch;
		flex-direction: column;
	}

	.mcs-saved-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mcs-app *,
	.mcs-app *::before,
	.mcs-app *::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Jupiter-ciklus dashboard, 0.3.0 */
.mcs-app .mcs-year-choice{margin-bottom:18px;max-width:270px}
.mcs-app .mcs-year-select{width:100%;height:46px;padding:9px 36px 9px 13px;border:1px solid #cbd8e0;border-radius:10px;background:#fff;color:#263945;font:600 16px/1.25 inherit;cursor:pointer}
.mcs-app .mcs-year-select:focus-visible{outline:3px solid rgba(24,90,219,.24);outline-offset:2px}
.mcs-app .mcs-jupiter{margin:28px 0 30px;padding:clamp(19px,3vw,32px);border-radius:20px;border:1px solid #dae4ea;background:linear-gradient(140deg,#f9fcfd 0%,#eef4f7 58%,#faf4ed 100%);box-shadow:0 14px 45px rgba(36,68,87,.07)}
.mcs-app .mcs-jupiter-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.mcs-app .mcs-jupiter-heading h3{font-size:clamp(21px,2.8vw,29px);line-height:1.24;letter-spacing:-.025em;color:#263945;margin:6px 0 0}
.mcs-app .mcs-jupiter-pill{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;background:#e4f0ff;color:#185adb;border:1px solid #c8daf6;border-radius:100px;padding:7px 11px;font-size:12px;font-weight:800}
.mcs-app .mcs-jupiter-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#185adb;box-shadow:0 0 0 4px rgba(24,90,219,.13)}
.mcs-app .mcs-jupiter-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:22px}
.mcs-app .mcs-jupiter-stats>div{padding:16px 17px;background:#fff;border:1px solid #e1e9ee;border-radius:13px;min-width:0;box-shadow:0 7px 19px rgba(29,65,83,.035)}
.mcs-app .mcs-jupiter-stats span{display:block;color:#667985;font-size:11px;line-height:1.4;text-transform:uppercase;font-weight:800;letter-spacing:.06em;margin-bottom:5px}
.mcs-app .mcs-jupiter-stats strong{display:block;color:#253d4d;font-size:20px;line-height:1.24;overflow-wrap:break-word}
.mcs-app .mcs-jupiter-graph{background:#fff;border-radius:16px;border:1px solid #e2eaf0;padding:18px 16px 14px}
.mcs-app .mcs-jupiter-graph svg{display:block;width:100%;height:auto;overflow:visible}
.mcs-app .mcs-jupiter-graph .mcs-svg-small{font-size:13px;fill:#94a3ac}
.mcs-app .mcs-jupiter-graph-legend{display:flex;flex-wrap:wrap;gap:9px 20px;justify-content:space-between;align-items:center;border-top:1px solid #edf0f3;padding:12px 4px 0;color:#71818b;font-size:12px;line-height:1.5}
.mcs-app .mcs-jupiter-graph-legend>span:first-child{color:#415d70;font-weight:700}
.mcs-app .mcs-jupiter-dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;background:#185adb}
.mcs-app .mcs-jupiter-phase-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin:15px 0 19px}
.mcs-app .mcs-jupiter-phase-chip{min-width:0;border:1px solid #e2e8ec;border-radius:9px;text-align:center;background:rgba(255,255,255,.67);padding:8px 2px 7px;color:#6e7a83}
.mcs-app .mcs-jupiter-phase-chip span,.mcs-app .mcs-jupiter-phase-chip strong{display:block}
.mcs-app .mcs-jupiter-phase-chip span{font-size:10px}
.mcs-app .mcs-jupiter-phase-chip strong{font-size:17px;color:#49677b;margin:2px 0}
.mcs-app .mcs-jupiter-phase-chip small{display:none}
.mcs-app .mcs-jupiter-phase-chip.is-current{background:#185adb;border-color:#185adb;color:#fff;box-shadow:0 5px 16px rgba(24,90,219,.18)}
.mcs-app .mcs-jupiter-phase-chip.is-current strong{color:#fff}
.mcs-app .mcs-jupiter-summary{background:#fff;border-left:4px solid #c69a7e;border-radius:10px;padding:20px 22px;margin:0 0 13px}
.mcs-app .mcs-jupiter-summary p{color:#44515b;font-size:16px;line-height:1.72;margin:8px 0 0}
.mcs-app .mcs-jupiter-details{border:1px solid #dee8ee;border-radius:11px;background:rgba(255,255,255,.74)}
.mcs-app .mcs-jupiter-details summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:17px 20px;color:#36566a;font-size:16px;font-weight:700;line-height:1.4}
.mcs-app .mcs-jupiter-details summary::-webkit-details-marker{display:none}
.mcs-app .mcs-jupiter-details[open] summary{border-bottom:1px solid #e3ebf0}
.mcs-app .mcs-jupiter-details summary span:last-child{font-size:24px;font-weight:400;color:#7890a0;transition:transform .18s ease}
.mcs-app .mcs-jupiter-details[open] summary span:last-child{transform:rotate(45deg)}
.mcs-app .mcs-jupiter-details-body{padding:20px 22px 7px}
.mcs-app .mcs-jupiter-details-body p{font-size:16px;line-height:1.78;color:#495761;margin:0 0 16px}
.mcs-app .mcs-jupiter-notice{margin:15px 3px 0;color:#667c89;font-size:12px;line-height:1.6}
@media(max-width:960px){.mcs-app .mcs-jupiter-phase-track{grid-template-columns:repeat(6,minmax(0,1fr))}.mcs-app .mcs-jupiter-phase-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;margin-top:2px}}
@media(max-width:640px){.mcs-app .mcs-jupiter{padding:17px 13px;border-radius:14px;margin:20px 0}.mcs-app .mcs-jupiter-heading{display:block}.mcs-app .mcs-jupiter-pill{margin-top:12px}.mcs-app .mcs-jupiter-stats{grid-template-columns:1fr 1fr;gap:8px}.mcs-app .mcs-jupiter-stats>div{padding:12px}.mcs-app .mcs-jupiter-stats>div:last-child{grid-column:1/-1}.mcs-app .mcs-jupiter-stats strong{font-size:18px}.mcs-app .mcs-jupiter-graph{padding:12px 6px 10px}.mcs-app .mcs-jupiter-graph svg{min-width:0}.mcs-app .mcs-jupiter-phase-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mcs-app .mcs-jupiter-phase-chip{padding:8px 3px}.mcs-app .mcs-jupiter-summary{padding:17px 14px}.mcs-app .mcs-jupiter-details summary{padding:16px 13px}.mcs-app .mcs-jupiter-details-body{padding:16px 14px 4px}}
@media(prefers-reduced-motion:reduce){.mcs-app .mcs-jupiter-details summary span:last-child{transition:none}}
