.ha-dca {
	--ha-orange: #f7931a;
	--ha-orange-dark: #d97706;
	--ha-navy: #0f172a;
	--ha-text: #334155;
	--ha-muted: #64748b;
	--ha-border: #e2e8f0;
	--ha-bg: #f8fafc;
	--ha-white: #ffffff;
	--ha-success: #15803d;
	--ha-danger: #b91c1c;
	max-width: 1180px;
	margin: 32px auto;
	color: var(--ha-text);
	font-family: inherit;
}
.ha-dca *, .ha-dca *::before, .ha-dca *::after { box-sizing: border-box; }
.ha-dca__header { margin-bottom: 20px; }
.ha-dca__eyebrow { display:inline-block; margin-bottom:8px; color:var(--ha-orange-dark); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ha-dca__header h2 { margin:0 0 10px; color:var(--ha-navy); font-size:clamp(30px,4vw,48px); line-height:1.08; }
.ha-dca__header p { max-width:720px; margin:0; color:var(--ha-muted); font-size:18px; }
.ha-dca__notice { margin:0 0 24px; padding:14px 16px; border:1px solid #fed7aa; border-left:4px solid var(--ha-orange); border-radius:10px; background:#fff7ed; font-size:14px; }
.ha-dca__layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.ha-dca__form,.ha-dca__results { padding:clamp(18px,3vw,28px); border:1px solid var(--ha-border); border-radius:18px; background:var(--ha-white); box-shadow:0 18px 50px rgba(15,23,42,.07); }
.ha-dca__field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ha-dca__field { display:flex; min-width:0; flex-direction:column; gap:8px; margin:0; border:0; padding:0; }
.ha-dca__field--wide { grid-column:1/-1; }
.ha-dca__field > span,.ha-dca__field legend { color:var(--ha-navy); font-size:14px; font-weight:750; }
.ha-dca__field small { color:var(--ha-muted); line-height:1.35; }
.ha-dca input,.ha-dca select { width:100%; min-height:48px; margin:0; padding:10px 12px; border:1px solid #cbd5e1; border-radius:10px; background:var(--ha-white); color:var(--ha-navy); font:inherit; outline:none; transition:border-color .2s,box-shadow .2s; }
.ha-dca input:focus,.ha-dca select:focus { border-color:var(--ha-orange); box-shadow:0 0 0 3px rgba(247,147,26,.17); }
.ha-dca input[readonly] { background:var(--ha-bg); color:#475569; cursor:not-allowed; }
.ha-dca__input-with-action { display:flex; gap:8px; }
.ha-dca__refresh { flex:0 0 48px; min-height:48px; border:1px solid var(--ha-border); border-radius:10px; background:var(--ha-bg); color:var(--ha-navy); font-size:24px; cursor:pointer; }
.ha-dca__refresh:hover { border-color:var(--ha-orange); color:var(--ha-orange-dark); }
.ha-dca__refresh:disabled { opacity:.5; cursor:wait; }
.ha-dca__segmented { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ha-dca__segmented label { cursor:pointer; }
.ha-dca__segmented input { position:absolute; width:1px; height:1px; opacity:0; }
.ha-dca__segmented span { display:flex; min-height:44px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--ha-border); border-radius:10px; background:var(--ha-bg); text-align:center; font-size:14px; font-weight:700; transition:.2s; }
.ha-dca__segmented input:checked + span { border-color:var(--ha-orange); background:#fff7ed; color:#9a4b00; box-shadow:inset 0 0 0 1px var(--ha-orange); }
.ha-dca__actions { display:flex; gap:12px; margin-top:24px; }
.ha-dca__button { min-height:48px; padding:10px 18px; border-radius:10px; font:inherit; font-weight:800; cursor:pointer; }
.ha-dca__button--primary { border:1px solid var(--ha-orange); background:var(--ha-orange); color:#111827; }
.ha-dca__button--primary:hover { background:#ffa733; }
.ha-dca__button--secondary { border:1px solid var(--ha-border); background:var(--ha-white); color:var(--ha-navy); }
.ha-dca__button--secondary:hover { background:var(--ha-bg); }
.ha-dca__error { margin:16px 0 0; padding:12px 14px; border-radius:9px; background:#fef2f2; color:var(--ha-danger); font-size:14px; }
.ha-dca__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ha-dca__card { min-width:0; margin:0; padding:16px; border:1px solid var(--ha-border); border-radius:13px; background:var(--ha-bg); }
.ha-dca__card span { display:block; margin-bottom:7px; color:var(--ha-muted); font-size:13px; }
.ha-dca__card strong { display:block; overflow-wrap:anywhere; color:var(--ha-navy); font-size:clamp(18px,2.2vw,25px); line-height:1.15; }
.ha-dca__card strong.is-positive { color:var(--ha-success); }
.ha-dca__card strong.is-negative { color:var(--ha-danger); }
.ha-dca__goal { margin-top:18px; padding:20px; border-radius:14px; background:var(--ha-navy); color:var(--ha-white); }
.ha-dca__goal-head,.ha-dca__goal-meta { display:flex; gap:14px; align-items:flex-end; justify-content:space-between; }
.ha-dca__goal-head span { color:#cbd5e1; font-size:13px; }
.ha-dca__goal-head strong { display:block; margin-top:4px; }
.ha-dca__progress { height:12px; margin:16px 0 12px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.15); }
.ha-dca__progress span { display:block; width:0; height:100%; border-radius:inherit; background:var(--ha-orange); transition:width .35s ease; }
.ha-dca__goal-meta { align-items:center; color:#e2e8f0; font-size:13px; }
.ha-dca__goal-meta span:last-child { text-align:right; }
.ha-dca__disclaimer { margin:16px 0 0; color:var(--ha-muted); font-size:12px; line-height:1.5; }
@media (max-width:900px) { .ha-dca__layout { grid-template-columns:1fr; } }
@media (max-width:560px) {
	.ha-dca { margin:20px auto; }
	.ha-dca__field-grid,.ha-dca__cards { grid-template-columns:1fr; }
	.ha-dca__field--wide { grid-column:auto; }
	.ha-dca__segmented { grid-template-columns:1fr; }
	.ha-dca__actions { flex-direction:column; }
	.ha-dca__button { width:100%; }
	.ha-dca__goal-head,.ha-dca__goal-meta { align-items:flex-start; flex-direction:column; }
	.ha-dca__goal-meta span:last-child { text-align:left; }
}


.ha-dca__updated {
	display: block;
	margin-top: 2px;
	color: var(--ha-muted);
	font-size: 11px;
}

.ha-dca__chart-card {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid var(--ha-border);
	border-radius: 14px;
	background: var(--ha-white);
}

.ha-dca__chart-head {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 12px;
}

.ha-dca__chart-head > div:first-child span {
	display: block;
	color: var(--ha-muted);
	font-size: 13px;
}

.ha-dca__chart-head > div:first-child strong {
	display: block;
	margin-top: 3px;
	color: var(--ha-navy);
	font-size: 16px;
}

.ha-dca__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: var(--ha-muted);
	font-size: 12px;
}

.ha-dca__legend span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ha-dca__legend i {
	display: inline-block;
	width: 18px;
	height: 3px;
	border-radius: 999px;
}

.ha-dca__legend-invested { background: #64748b; }
.ha-dca__legend-value { background: var(--ha-orange); }

.ha-dca__chart-wrap {
	position: relative;
	width: 100%;
	height: 400px;
	margin-top: 6px;
}

.ha-dca__chart-wrap canvas {
	display: block;
	width: 100%;
	height: 100%;
}

.ha-dca__chart-card > small {
	display: block;
	margin-top: 10px;
	color: var(--ha-muted);
	line-height: 1.45;
}

.ha-dca__summary {
	margin-top: 18px;
	padding: 16px 18px;
	border: 1px solid #fed7aa;
	border-radius: 12px;
	background: #fff7ed;
}

.ha-dca__summary strong {
	display: block;
	margin-bottom: 6px;
	color: var(--ha-navy);
}

.ha-dca__summary p {
	margin: 0;
	color: var(--ha-text);
	font-size: 14px;
	line-height: 1.55;
}

@media (max-width: 560px) {
	.ha-dca__chart-head {
		flex-direction: column;
	}
}

/* Version 2.0: tool tabs */
.ha-dca__tabs {
	display: inline-flex;
	gap: 8px;
	margin: 0 0 20px;
	padding: 6px;
	border: 1px solid var(--ha-border);
	border-radius: 13px;
	background: var(--ha-bg);
}
.ha-dca__tab {
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid transparent;
	border-radius: 9px;
	background: transparent;
	color: var(--ha-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
}
.ha-dca__tab:hover { color: var(--ha-navy); }
.ha-dca__tab.is-active {
	border-color: #fed7aa;
	background: var(--ha-white);
	color: #9a4b00;
	box-shadow: 0 3px 12px rgba(15,23,42,.08);
}
.ha-dca__panel[hidden] { display: none !important; }
.ha-dca__panel.is-active { animation: ha-dca-fade .18s ease-out; }
@keyframes ha-dca-fade {
	from { opacity: .35; transform: translateY(3px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 560px) {
	.ha-dca__tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
	.ha-dca__tab { padding-inline: 8px; }
}


/* Version 2.1: compact layout for homepage / Elementor */
.ha-dca--compact {
	max-width: 100%;
	margin: 0 auto;
}
.ha-dca--compact .ha-dca__layout {
	gap: 18px;
}
.ha-dca--compact .ha-dca__form,
.ha-dca--compact .ha-dca__results {
	padding: clamp(16px, 2vw, 22px);
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, .06);
}
.ha-dca--compact .ha-dca__field-grid {
	gap: 14px;
}
.ha-dca--compact .ha-dca__chart-wrap {
	height: 260px;
}
@media (max-width: 900px) {
	.ha-dca--compact .ha-dca__layout { grid-template-columns: 1fr; }
}

/* Version 2.2: HodlAtlas dark visual system */
.ha-dca {
	--ha-orange: #f59e0b;
	--ha-orange-dark: #d97706;
	--ha-navy: #ffffff;
	--ha-text: #cbd5e1;
	--ha-muted: #94a3b8;
	--ha-border: rgba(255,255,255,.10);
	--ha-bg: #101010;
	--ha-white: #171717;
	--ha-success: #4ade80;
	--ha-danger: #fb7185;
	color: var(--ha-text);
}
.ha-dca__eyebrow { color: var(--ha-orange); }
.ha-dca__header h2 { color: #ffffff; }
.ha-dca__header p { color: var(--ha-muted); }
.ha-dca__notice {
	border-color: rgba(245,158,11,.25);
	border-left-color: var(--ha-orange);
	background: rgba(245,158,11,.07);
	color: #d8dee9;
}
.ha-dca__form,
.ha-dca__results {
	border-color: rgba(255,255,255,.10);
	background: #171717;
	box-shadow: 0 18px 50px rgba(0,0,0,.30);
}
.ha-dca__field > span,
.ha-dca__field legend { color: #f8fafc; }
.ha-dca__field small { color: var(--ha-muted); }
.ha-dca input,
.ha-dca select {
	border-color: rgba(255,255,255,.13);
	background: #0d0d0d;
	color: #ffffff;
	color-scheme: dark;
}
.ha-dca input::placeholder { color: #64748b; }
.ha-dca input:hover,
.ha-dca select:hover { border-color: rgba(245,158,11,.45); }
.ha-dca input:focus,
.ha-dca select:focus {
	border-color: var(--ha-orange);
	box-shadow: 0 0 0 3px rgba(245,158,11,.14);
}
.ha-dca input[readonly] {
	background: #121212;
	color: #a8b0bd;
}
.ha-dca__refresh {
	border-color: rgba(255,255,255,.12);
	background: #101010;
	color: #f8fafc;
}
.ha-dca__refresh:hover {
	border-color: var(--ha-orange);
	background: rgba(245,158,11,.08);
	color: var(--ha-orange);
}
.ha-dca__segmented span {
	border-color: rgba(255,255,255,.11);
	background: #101010;
	color: #aeb7c4;
}
.ha-dca__segmented label:hover span {
	border-color: rgba(245,158,11,.42);
	color: #ffffff;
}
.ha-dca__segmented input:checked + span {
	border-color: var(--ha-orange);
	background: rgba(245,158,11,.11);
	color: #fbbf24;
	box-shadow: inset 0 0 0 1px rgba(245,158,11,.25);
}
.ha-dca__button--primary {
	border-color: var(--ha-orange);
	background: var(--ha-orange);
	color: #0b0b0b;
	box-shadow: 0 8px 22px rgba(245,158,11,.16);
}
.ha-dca__button--primary:hover {
	background: #fbbf24;
	border-color: #fbbf24;
	transform: translateY(-1px);
}
.ha-dca__button--secondary {
	border-color: rgba(255,255,255,.12);
	background: #101010;
	color: #f8fafc;
}
.ha-dca__button--secondary:hover {
	border-color: rgba(245,158,11,.45);
	background: rgba(245,158,11,.07);
}
.ha-dca__error {
	border: 1px solid rgba(251,113,133,.25);
	background: rgba(251,113,133,.08);
	color: #fda4af;
}
.ha-dca__card {
	border-color: rgba(255,255,255,.09);
	background: #101010;
}
.ha-dca__card span { color: var(--ha-muted); }
.ha-dca__card strong { color: #ffffff; }
.ha-dca__goal {
	border: 1px solid rgba(245,158,11,.22);
	background: linear-gradient(145deg,#111111 0%,#19130a 100%);
	color: #ffffff;
}
.ha-dca__goal-head span,
.ha-dca__goal-meta { color: #aeb7c4; }
.ha-dca__progress { background: rgba(255,255,255,.10); }
.ha-dca__progress span {
	background: linear-gradient(90deg,#d97706,#f59e0b,#fbbf24);
	box-shadow: 0 0 16px rgba(245,158,11,.25);
}
.ha-dca__disclaimer,
.ha-dca__updated { color: var(--ha-muted); }
.ha-dca__chart-card {
	border-color: rgba(255,255,255,.09);
	background: #101010;
}
.ha-dca__chart-head > div:first-child strong { color: #ffffff; }
.ha-dca__legend,
.ha-dca__chart-card > small { color: var(--ha-muted); }
.ha-dca__legend-invested { background: #64748b; }
.ha-dca__summary {
	border-color: rgba(245,158,11,.22);
	background: rgba(245,158,11,.07);
}
.ha-dca__summary strong { color: #ffffff; }
.ha-dca__summary p { color: #cbd5e1; }
.ha-dca__tabs {
	border-color: rgba(255,255,255,.10);
	background: #101010;
}
.ha-dca__tab { color: #94a3b8; }
.ha-dca__tab:hover { color: #ffffff; }
.ha-dca__tab.is-active {
	border-color: rgba(245,158,11,.35);
	background: #1a160e;
	color: #fbbf24;
	box-shadow: 0 3px 14px rgba(0,0,0,.24);
}
.ha-dca--compact .ha-dca__form,
.ha-dca--compact .ha-dca__results {
	box-shadow: 0 14px 36px rgba(0,0,0,.26);
}


/* Version 2.3: compact premium UI polish */
.ha-dca {
	max-width: 1120px;
	margin: 24px auto;
}
.ha-dca__header {
	margin-bottom: 16px;
}
.ha-dca__eyebrow {
	margin-bottom: 6px;
	font-size: 12px;
	letter-spacing: .14em;
}
.ha-dca__header h2 {
	margin-bottom: 8px;
	font-size: clamp(30px, 3.6vw, 44px);
}
.ha-dca__header p {
	font-size: 17px;
	line-height: 1.5;
}
.ha-dca__tabs {
	margin-bottom: 16px;
	padding: 5px;
}
.ha-dca__tab {
	min-height: 40px;
	padding: 8px 15px;
	transition: color .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.ha-dca__notice {
	margin-bottom: 18px;
	padding: 11px 15px;
	line-height: 1.45;
}
.ha-dca__layout {
	gap: 20px;
}
.ha-dca__form,
.ha-dca__results {
	padding: clamp(17px, 2.3vw, 23px);
	border-radius: 16px;
}
.ha-dca__field-grid {
	gap: 14px 16px;
}
.ha-dca__field {
	gap: 6px;
}
.ha-dca__field > span,
.ha-dca__field legend {
	font-size: 13px;
	line-height: 1.35;
}
.ha-dca__field small {
	font-size: 12px;
}
.ha-dca input,
.ha-dca select {
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 11px;
	font-size: 15px;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ha-dca input:focus,
.ha-dca select:focus {
	box-shadow: 0 0 0 3px rgba(245,158,11,.12), 0 0 20px rgba(245,158,11,.05);
}
.ha-dca__refresh {
	flex-basis: 44px;
	min-height: 44px;
	border-radius: 11px;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}
.ha-dca__refresh:hover {
	transform: translateY(-1px);
}
.ha-dca__segmented span {
	min-height: 42px;
	padding: 7px 11px;
	border-radius: 11px;
}
.ha-dca__actions {
	gap: 10px;
	margin-top: 18px;
}
.ha-dca__button {
	min-height: 44px;
	padding: 9px 17px;
	border-radius: 11px;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.ha-dca__button--primary:hover {
	box-shadow: 0 10px 25px rgba(245,158,11,.22);
}
.ha-dca__button--secondary {
	border-color: rgba(255,255,255,.14);
	background: #111111;
	color: #e5e7eb;
	box-shadow: none;
}
.ha-dca__cards {
	gap: 10px;
}
.ha-dca__card {
	padding: 14px;
	border-color: rgba(255,255,255,.12);
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.015);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.ha-dca__card:hover {
	transform: translateY(-2px);
	border-color: rgba(245,158,11,.38);
	box-shadow: 0 10px 28px rgba(0,0,0,.22), 0 0 20px rgba(245,158,11,.045);
}
.ha-dca__card span {
	margin-bottom: 5px;
	color: #a8b3c2;
	font-size: 12px;
}
.ha-dca__card strong {
	font-size: clamp(19px, 2vw, 25px);
	letter-spacing: -.015em;
}
.ha-dca__goal {
	margin-top: 14px;
	padding: 17px 18px;
}
.ha-dca__progress {
	height: 14px;
	margin: 13px 0 10px;
}
.ha-dca__chart-card {
	margin-top: 14px;
	padding: 16px;
}
.ha-dca__chart-head {
	margin-bottom: 9px;
}
/* Высота графика уже задана выше (.ha-dca__chart-wrap, .ha-dca--compact .ha-dca__chart-wrap) —
   здесь раньше было повторное переопределение в 250px без медиа-запроса, которое по порядку
   каскада побеждало над исходным значением и фактически делало график меньше задуманного. */
.ha-dca__summary {
	margin-top: 14px;
	padding: 14px 16px;
}
.ha-dca__summary p {
	font-size: 13px;
	line-height: 1.5;
}
.ha-dca__disclaimer {
	margin-top: 13px;
}

@media (max-width: 900px) {
	.ha-dca { max-width: 720px; }
}
@media (max-width: 560px) {
	.ha-dca { margin: 16px auto; }
	.ha-dca__header h2 { font-size: 30px; }
	.ha-dca__header p { font-size: 15px; }
	.ha-dca__notice { padding: 10px 12px; }
	.ha-dca__form,
	.ha-dca__results { padding: 15px; }
	.ha-dca__chart-wrap { height: 280px; }
	.ha-dca__card:hover { transform: none; }
}


/* HodlAtlas 2.4.0 — clearer scenario summary and refined desktop composition */
.ha-dca {
	max-width: 1120px;
}
.ha-dca__layout {
	grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
	gap: 28px;
}
.ha-dca__summary {
	padding: 18px;
	border-color: rgba(245,158,11,.34);
	background: linear-gradient(145deg, rgba(245,158,11,.085), rgba(245,158,11,.035));
}
.ha-dca__summary-head {
	margin-bottom: 13px;
}
.ha-dca__summary-head span {
	display: block;
	margin-bottom: 3px;
	color: var(--ha-orange);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ha-dca__summary-head strong {
	margin: 0;
	font-size: 17px;
}
.ha-dca__summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 9px;
	margin-bottom: 13px;
}
.ha-dca__summary-grid > div {
	min-width: 0;
	padding: 12px 13px;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 11px;
	background: rgba(0,0,0,.23);
}
.ha-dca__summary-grid span {
	display: block;
	margin-bottom: 5px;
	color: #a8b3c2;
	font-size: 11px;
}
.ha-dca__summary-grid strong {
	display: block;
	margin: 0;
	overflow-wrap: anywhere;
	color: #fff;
	font-size: clamp(16px,1.6vw,20px);
	line-height: 1.18;
}
.ha-dca__summary p {
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,.08);
	color: #bdc7d4;
}
@media (max-width: 900px) {
	.ha-dca { max-width: 720px; }
	.ha-dca__layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.ha-dca__summary-grid { grid-template-columns: 1fr; }
}
