html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

/**************************** TOKENS ************************/
:root {
	--bg: #070d10;
	--surface: #101c20;
	--surface-2: #16262b;
	--border: #1f3138;
	--border-soft: #182a30;
	--text: #eef6f7;
	--text-dim: #82999f;
	--text-faint: #56686d;

	--teal: #2dd4bf;
	--amber: #f5a623;
	--violet: #a78bfa;
	--blue: #60a5fa;
	--green: #34d399;
	--gold: #fbbf24;
	--cyan: #22d3ee;
	--rose: #fb7185;
	--slate: #94a3b8;
	--indigo: #818cf8;
	--red: #f87171;

	--radius: 16px;
	--radius-sm: 10px;
	--gap: 0.7rem;

	--font-display: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
	--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
}

/**************************** BASE ************************/
body {
	font-family: var(--font-body);
	color: var(--text);
	background: radial-gradient(ellipse 900px 500px at 50% -10%, #102229 0%, var(--bg) 60%);
	background-color: var(--bg);
	-webkit-font-smoothing: antialiased;
}

.clearer { clear: both; }

h2 {
	font-family: var(--font-display);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--text-dim);
	margin: 0 0 0.55rem 0;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

h2::before {
	content: "";
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.95;
}

/**************************** PAGE / TIERS ************************/
.page {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0.7rem 0.7rem 1.6rem;
}

.topbar {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 0.3rem 0.2rem 0.7rem;
}
.topbar .brand {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: 0.01em;
	color: var(--text);
}
.topbar .brand span { color: var(--teal); }
.topbar .tagline { font-size: 0.7rem; color: var(--text-faint); }
.topbar-clock { display: flex; flex-direction: column; align-items: flex-end; }
.topbar-time { font-family: var(--font-display); font-weight: 600; font-size: 1rem; color: var(--text); font-variant-numeric: tabular-nums; }
.topbar-date { font-size: 0.65rem; color: var(--text-faint); }

.tier {
	display: grid;
	gap: var(--gap);
	margin-bottom: var(--gap);
}

.tier-1 { grid-template-columns: repeat(2, 1fr); }
.tier-2 { grid-template-columns: repeat(2, 1fr); }
.tier-3 { grid-template-columns: repeat(2, 1fr); }

@media (min-width: 620px) {
	.tier-1 { grid-template-columns: repeat(4, 1fr); }
	.tier-2 { grid-template-columns: repeat(4, 1fr); }
	.tier-3 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 940px) {
	.tier-3 { grid-template-columns: repeat(4, 1fr); }
}

.tier-divider {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0.4rem 0.2rem 0.1rem;
	color: var(--text-faint);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-family: var(--font-display);
}
.tier-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--border-soft);
}

/**************************** CARD ************************/
.card {
	background: linear-gradient(160deg, var(--surface) 0%, var(--surface) 70%, var(--surface-2) 130%);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 0.85rem 0.95rem;
	position: relative;
	min-width: 0;
}

.card-wide { grid-column: 1 / -1; }

/* per-category accent color, applied via h2 icon + headline number color */
.card-control   { --accent: var(--amber); }
.card-temp      { --accent: var(--teal); }
.card-status    { --accent: var(--violet); }
.card-pegel     { --accent: var(--blue); }
.card-battery   { --accent: var(--green); }
.card-power     { --accent: var(--gold); }
.card-run-pool  { --accent: var(--cyan); }
.card-run-heat  { --accent: var(--rose); }
.card-run       { --accent: var(--cyan); }
.card-cost      { --accent: var(--slate); }
.card-clock     { --accent: var(--slate); }
.card-weather   { --accent: #38bdf8; }
.card-forecast  { --accent: #38bdf8; }
.card-sun       { --accent: var(--gold); }
.card-moon      { --accent: var(--indigo); }
.card-week      { --accent: var(--green); }
.card-calendar  { --accent: var(--violet); }

.card h2 { color: var(--accent); opacity: 0.92; }

/* ---- icon glyphs (inline SVG data-uris, colored to match --accent via per-class hex) ---- */
.card-control h2::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%23f5a623' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='6' cy='5' r='1.6'/%3E%3Cline x1='6' y1='8' x2='6' y2='17'/%3E%3Cline x1='6' y1='3' x2='6' y2='3.4'/%3E%3Ccircle cx='14' cy='11' r='1.6'/%3E%3Cline x1='14' y1='3' x2='14' y2='9.4'/%3E%3Cline x1='14' y1='14' x2='14' y2='17'/%3E%3C/g%3E%3C/svg%3E"); }
.card-temp h2::before      { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%232dd4bf' stroke-width='1.6' stroke-linecap='round'%3E%3Cline x1='10' y1='3' x2='10' y2='12'/%3E%3Ccircle cx='10' cy='14.3' r='2.6'/%3E%3C/g%3E%3Ccircle cx='10' cy='14.3' r='1' fill='%232dd4bf'/%3E%3C/svg%3E"); }
.card-status h2::before    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%23a78bfa' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6.3 5.8a6 6 0 1 0 7.4 0'/%3E%3Cline x1='10' y1='2.7' x2='10' y2='9.5'/%3E%3C/g%3E%3C/svg%3E"); }
.card-pegel h2::before     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.5C7.6 6 5.2 9 5.2 12a4.8 4.8 0 0 0 9.6 0c0-3-2.4-6-4.8-9.5Z' fill='none' stroke='%2360a5fa' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.card-battery h2::before   { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%2334d399' stroke-width='1.6' stroke-linejoin='round'%3E%3Crect x='2.6' y='6' width='12.5' height='8' rx='1.6'/%3E%3Cline x1='16.6' y1='9' x2='16.6' y2='11' stroke-linecap='round'/%3E%3C/g%3E%3Crect x='4.6' y='8' width='6' height='4' rx='0.6' fill='%2334d399'/%3E%3C/svg%3E"); }
.card-power h2::before     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10.8 2.3 4.6 11.4h4l-1 6.3 7-9.6h-4.3z' fill='%23fbbf24'/%3E%3C/svg%3E"); }
.card-run-pool h2::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%2322d3ee' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M3.5 8a6.5 6.5 0 0 1 12-3.4'/%3E%3Cpath d='M16.5 12a6.5 6.5 0 0 1-12 3.4'/%3E%3C/g%3E%3Cpath d='M15 2.6v3h-3M5 17.4v-3h3' fill='none' stroke='%2322d3ee' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.card-run-heat h2::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.3c2 2.6.6 3.8 2 5.8 1 1.5 1.7 2.6 1.7 4.2a3.7 3.7 0 0 1-7.4 0c0-1 .3-1.7.8-2.4 0 1 .3 1.7 1 2-0.7-2 .2-2.7 1-3.8.5-.9.6-2 .9-2.8.3.7 0 0 0 0z' fill='%23fb7185'/%3E%3C/svg%3E"); }
.card-run h2::before       { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%2322d3ee' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M3.5 8a6.5 6.5 0 0 1 12-3.4'/%3E%3Cpath d='M16.5 12a6.5 6.5 0 0 1-12 3.4'/%3E%3C/g%3E%3Cpath d='M15 2.6v3h-3M5 17.4v-3h3' fill='none' stroke='%2322d3ee' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.card-cost h2::before      { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7' fill='none' stroke='%2394a3b8' stroke-width='1.6'/%3E%3Cpath d='M12.6 7.4a3 3 0 1 0 0 5.2M6.6 8.4h4.6M6.6 11.4h4.2' fill='none' stroke='%2394a3b8' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E"); }
.card-clock h2::before     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7' fill='none' stroke='%2394a3b8' stroke-width='1.6'/%3E%3Cpath d='M10 6v4.3l3 1.8' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.card-weather h2::before   { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='7.6' cy='7.6' r='2.6' fill='none' stroke='%2338bdf8' stroke-width='1.4'/%3E%3Cpath d='M6 13.6h8.4a3 3 0 0 0 .4-6 4.4 4.4 0 0 0-8.4-1' fill='none' stroke='%2338bdf8' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.card-forecast h2::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2.6' y='4' width='14.8' height='13' rx='1.8' fill='none' stroke='%2338bdf8' stroke-width='1.5'/%3E%3Cline x1='2.6' y1='8' x2='17.4' y2='8' stroke='%2338bdf8' stroke-width='1.5'/%3E%3Cline x1='6.4' y1='2.3' x2='6.4' y2='5.4' stroke='%2338bdf8' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='13.6' y1='2.3' x2='13.6' y2='5.4' stroke='%2338bdf8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); }
.card-sun h2::before       { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 13.5h14M10 13.5V9.3m-4.2 4.2L7.5 11.7m9.5 1.8-1.7-1.8M5.3 8.6a4.7 4.7 0 0 1 9.4 0' fill='none' stroke='%23fbbf24' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); }
.card-moon h2::before      { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.5 11.3A6 6 0 1 1 8.7 3a5 5 0 0 0 5.8 8.3Z' fill='%23818cf8'/%3E%3C/svg%3E"); }
.card-week h2::before      { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='%2334d399'%3E%3Crect x='3' y='10' width='3' height='7' rx='0.6'/%3E%3Crect x='8.5' y='6' width='3' height='11' rx='0.6'/%3E%3Crect x='14' y='3' width='3' height='14' rx='0.6'/%3E%3C/g%3E%3C/svg%3E"); }
.card-calendar h2::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2.6' y='4' width='14.8' height='13' rx='1.8' fill='none' stroke='%23a78bfa' stroke-width='1.5'/%3E%3Cline x1='2.6' y1='8' x2='17.4' y2='8' stroke='%23a78bfa' stroke-width='1.5'/%3E%3Ccircle cx='6.6' cy='11.4' r='1' fill='%23a78bfa'/%3E%3C/svg%3E"); }

/**************************** STEUERUNG (lichtwunsch) ************************/
#lichtwunsch .ctrl-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.6rem 0.9rem;
}
@media (min-width: 480px) {
	#lichtwunsch .ctrl-grid { grid-template-columns: repeat(5, 1fr); }
}
.ctrl-block .ctrl-label {
	font-size: 0.66rem;
	color: var(--text-faint);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0.3rem;
	display: block;
}
.toggle-group {
	display: flex;
	background: var(--surface-2);
	border: 1px solid var(--border-soft);
	border-radius: var(--radius-sm);
	padding: 2px;
	gap: 2px;
}
.toggle-group label {
	flex: 1;
	text-align: center;
	font-size: 0.72rem;
	padding: 0.34rem 0.2rem;
	border-radius: 8px;
	color: var(--text-dim);
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
	white-space: nowrap;
}
.toggle-group input {
	position: absolute;
	width: 1px; height: 1px;
	opacity: 0;
	pointer-events: none;
}
.toggle-group label:has(input:checked) {
	background: var(--amber);
	color: #1a1206;
	font-weight: 600;
}
.ctrl-block.temp-block input[type="number"] {
	width: 100%;
	background: var(--surface-2);
	border: 1px solid var(--border-soft);
	border-radius: var(--radius-sm);
	color: var(--amber);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	padding: 0.25rem 0;
}
.ctrl-block.temp-block input[type="number"]:focus { outline: 1px solid var(--amber); }

/**************************** BIG NUMBER STAT CARDS ************************/
.stat {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	margin-top: 0.15rem;
}
.stat img { height: 30px; vertical-align: middle; }
.stat .num {
	font-family: var(--font-display);
	font-size: 1.9rem;
	font-weight: 700;
	color: var(--text);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.stat .unit { font-size: 0.95rem; color: var(--text-dim); }
.stat .sub, .stat.sub { font-size: 0.68rem; color: var(--text-faint); margin-top: 0.1rem; }

.card details { margin-top: 0.45rem; }
.card details summary {
	font-size: 0.68rem;
	color: var(--text-faint);
	cursor: pointer;
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}
.card details summary::-webkit-details-marker { display: none; }
.card details summary::before {
	content: "›";
	display: inline-block;
	transition: transform 0.15s;
}
.card details[open] summary::before { transform: rotate(90deg); }
.card details table { margin-top: 0.35rem; }

.pooltemp { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.temp { display: flex; align-items: center; gap: 0.5rem; }
.temp svg { flex: 0 0 auto; }

.run-combo {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.run-block + .run-block {
	border-top: 1px solid var(--border-soft);
	padding-top: 0.5rem;
}
.run-combo h3 {
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-faint);
	margin: 0 0 0.2rem 0;
}
.run-combo .stat .num { font-size: 1.4rem; }

/**************************** STATUS BADGES + mini tables ************************/
.card table { width: 100%; }
.card table tr td { padding: 0.18rem 0; font-size: 0.82rem; }
.card table tr td:first-child { color: var(--text-dim); }
.card table tr td:last-child { text-align: right; font-weight: 600; }

.badge {
	display: inline-block;
	padding: 0.1rem 0.55rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.badge-on { background: rgba(52,211,153,0.16); color: var(--green); }
.badge-off { background: rgba(248,113,113,0.14); color: var(--red); }

/**************************** PEGEL / BATTERIE ************************/
#pegeldata .pegel { display: flex; align-items: center; gap: 0.7rem; }
#pegeldata .pegel svg { flex: 0 0 auto; }
#pegeldata .pegel div { font-size: 0.8rem; line-height: 145%; color: var(--text-dim); }

#batteriedata [align="center"] { display: none; }
#batteriedata .batteryimage { position: relative; display: flex; align-items: center; justify-content: center; }
#batteriedata .batteryimage .percentage {
	position: absolute;
	width: 100%; text-align: center;
	font-family: var(--font-display);
	font-weight: 700; font-size: 1.25rem;
	color: var(--text);
	top: 50%; transform: translateY(-50%);
}

/**************************** ENERGIEFLUSS ************************/
#powerflow { text-align: center; }
#powerflow .solar, #powerflow .battery, #powerflow .netz, #powerflow .house {
	float: left; width: 33.33%; box-sizing: border-box; padding: 0.2rem 0;
}
#powerflow svg { display: block; margin: 0 auto; }
#powerflow .solarval { font-size: 0.68rem; color: var(--text-dim); margin-top: 0.25rem; }
#powerflow .flow {
	float: left; width: 33.33%; box-sizing: border-box;
	font-size: 1.3rem; padding: 0.45rem 0; display: flex; align-items: center; justify-content: center;
}
#powerflow .flow2 {
	float: left; width: 50%; box-sizing: border-box;
	font-size: 1.15rem; padding: 0.25rem 0; display: flex; align-items: center; justify-content: center;
}
#powerflow .black { color: var(--text-faint); }
#powerflow .green { color: var(--green); }
#powerflow .orange { color: var(--amber); }
#powerflow .back { transform: rotate(180deg); }
#powerflow .ld { transform: rotate(135deg); }
#powerflow .down { transform: rotate(90deg); }

/**************************** WOCHENPRODUKTION ************************/
.week-chart { display: flex; align-items: flex-end; justify-content: center; gap: 8px; padding-top: 1.1rem; }
.week-col { display: flex; flex-direction: column; align-items: center; }
.week-kwh { font-size: 0.6rem; color: var(--text-faint); margin-bottom: 0.3rem; white-space: nowrap; }
.week-bar { width: 26px; height: 70px; display: grid; overflow: hidden; }
.week-seg { grid-row: 1; grid-column: 1; align-self: end; width: 100%; border-radius: 4px 4px 0 0; }
.week-label { font-size: 0.62rem; color: var(--text-faint); margin-top: 0.35rem; }
.Production { background: var(--green); opacity: 0.95; }
.Consumption { background: var(--gold); opacity: 0.55; }
.SelfConsumption { background: var(--blue); opacity: 0.75; }
.week-legend { display: flex; gap: 0.6rem; font-size: 0.6rem; color: var(--text-faint); margin-top: 0.6rem; flex-wrap: wrap; justify-content: center; }
.week-legend span { display: inline-flex; align-items: center; gap: 0.3rem; }
.week-legend i { width: 7px; height: 7px; border-radius: 2px; display: inline-block; }

/**************************** WETTER ************************/
.weather, #weather { background: transparent; }
.weather div, #weather div { text-align: center; padding: 0.1rem 0; }
.weather table tr td, #weather table tr td { text-align: center; padding: 0.2rem 0.15rem; font-size: 0.72rem; color: var(--text-dim); }
.weather div.icon img, .weather table tr td.icon img, #weather div.icon img, #weather table tr td.icon img { height: 42px; }
.card-moon .icon img { height: 84px; }
#weather .datum { font-size: 0.68rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: 0.05em; }
#weather .time { font-size: 0.68rem; color: var(--text-faint); }
#weather .temp { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; justify-content: center; }
.card-sun table td.time { font-family: var(--font-display); font-size: 1rem; color: var(--text); font-weight: 600; }
.card-moon .name { font-size: 0.85rem; color: var(--text-dim); margin-top: 0.2rem; }

/**************************** KALENDER ************************/
#calendardata .event {
	display: flex; align-items: baseline; gap: 0.5rem;
	padding: 0.3rem 0; border-bottom: 1px solid var(--border-soft);
	font-size: 0.78rem;
}
#calendardata .event:last-child { border-bottom: none; }
#calendardata .weekday { float: none; width: auto; color: var(--violet); font-weight: 700; font-size: 0.7rem; }
#calendardata .datum { float: none; width: auto; color: var(--text-faint); font-size: 0.7rem; }
#calendardata .detail { float: none; color: var(--text); }
#calendardata .clearer { display: none; }
.empty-hint { color: var(--text-faint); font-size: 0.78rem; }

/**************************** POOLKOSTEN ************************/
#poolkostendata h2 { margin-top: 0.5rem; }
#poolkostendata h2:first-child { margin-top: 0; }
#poolkostendata hr { border: none; border-top: 1px solid var(--border-soft); margin: 0.55rem 0; }
#poolkostendata { font-size: 0.78rem; color: var(--text-dim); line-height: 1.5; }

/*********** MOBILE FINE-TUNING ****************/
@media (max-width: 619px) {
	.card { padding: 0.7rem 0.8rem; }
	.stat .num { font-size: 1.6rem; }
	h2 { font-size: 0.66rem; }
	.card-week { grid-column: 1 / -1; }
}
