/**
 * Evergreen Solar Calculator design system.
 * Version 1.1.1
 */

/* ------------------------------
   Design tokens
------------------------------ */
.egsc-app {
	--egsc-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
	--egsc-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

	--egsc-text-xs: .75rem;
	--egsc-text-sm: .875rem;
	--egsc-text-base: 1rem;
	--egsc-text-lg: 1.125rem;
	--egsc-text-xl: clamp(1.3rem, 1.1rem + .5vw, 1.65rem);
	--egsc-text-2xl: clamp(1.9rem, 1.45rem + 1.3vw, 2.8rem);
	--egsc-text-3xl: clamp(2.5rem, 1.75rem + 2.6vw, 4.65rem);

	--egsc-space-1: .25rem;
	--egsc-space-2: .5rem;
	--egsc-space-3: .75rem;
	--egsc-space-4: 1rem;
	--egsc-space-5: 1.25rem;
	--egsc-space-6: 1.5rem;
	--egsc-space-8: 2rem;
	--egsc-space-10: 2.5rem;
	--egsc-space-12: 3rem;
	--egsc-space-16: 4rem;

	--egsc-radius-sm: .65rem;
	--egsc-radius-md: 1rem;
	--egsc-radius-lg: 1.4rem;
	--egsc-radius-xl: 2rem;
	--egsc-radius-pill: 999px;

	--egsc-green-50: #f0fdf4;
	--egsc-green-100: #dcfce7;
	--egsc-green-300: #86efac;
	--egsc-green-500: #22c55e;
	--egsc-green-600: #16a34a;
	--egsc-green-700: #15803d;
	--egsc-gold-100: #fff4c2;
	--egsc-gold-400: #f2c230;
	--egsc-gold-500: #e3b415;
	--egsc-gold-600: #c99700;
	--egsc-amber-500: #f59e0b;
	--egsc-red-600: #dc2626;
	--egsc-blue-600: #2563eb;

	--egsc-bg: #f4f6f5;
	--egsc-surface: rgba(255,255,255,.88);
	--egsc-surface-solid: #ffffff;
	--egsc-surface-muted: #f7f9f8;
	--egsc-surface-raised: #ffffff;
	--egsc-text: #101512;
	--egsc-text-soft: #4b5750;
	--egsc-text-muted: #718078;
	--egsc-border: rgba(16, 40, 25, .11);
	--egsc-border-strong: rgba(16, 40, 25, .2);
	--egsc-accent: var(--egsc-green-600);
	--egsc-accent-strong: var(--egsc-green-700);
	--egsc-accent-soft: var(--egsc-green-50);
	--egsc-focus: rgba(34,197,94,.25);
	--egsc-shadow-sm: 0 1px 2px rgba(16,24,20,.04), 0 5px 18px rgba(16,24,20,.04);
	--egsc-shadow-md: 0 18px 50px rgba(16,24,20,.09), 0 2px 8px rgba(16,24,20,.05);
	--egsc-shadow-accent: 0 12px 30px rgba(22,163,74,.22);
	--egsc-glow: rgba(34,197,94,.12);
	--egsc-gold-glow: rgba(227,180,21,.16);

	color-scheme: light;
	font-family: var(--egsc-font-sans);
	font-size: 16px;
	line-height: 1.5;
	color: var(--egsc-text);
	background:
		radial-gradient(circle at 12% 8%, var(--egsc-glow), transparent 28rem),
		radial-gradient(circle at 88% 4%, var(--egsc-gold-glow), transparent 24rem),
		linear-gradient(180deg, #fbfcfb 0%, var(--egsc-bg) 30%, var(--egsc-bg) 100%);
	border: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-xl);
	overflow: hidden;
	isolation: isolate;
}

.egsc-app[data-egsc-theme="dark"] {
	--egsc-bg: #0d110f;
	--egsc-surface: rgba(22,29,25,.86);
	--egsc-surface-solid: #151b18;
	--egsc-surface-muted: #111714;
	--egsc-surface-raised: #1a211d;
	--egsc-text: #f4f7f5;
	--egsc-text-soft: #bcc7c0;
	--egsc-text-muted: #8e9d94;
	--egsc-border: rgba(222,245,230,.11);
	--egsc-border-strong: rgba(222,245,230,.2);
	--egsc-accent: #4ade80;
	--egsc-accent-strong: #86efac;
	--egsc-accent-soft: rgba(34,197,94,.12);
	--egsc-focus: rgba(74,222,128,.22);
	--egsc-shadow-sm: 0 1px 2px rgba(0,0,0,.25), 0 6px 20px rgba(0,0,0,.18);
	--egsc-shadow-md: 0 22px 60px rgba(0,0,0,.34), 0 2px 10px rgba(0,0,0,.24);
	--egsc-shadow-accent: 0 12px 35px rgba(34,197,94,.13);
	--egsc-glow: rgba(34,197,94,.075);
	--egsc-gold-glow: rgba(227,180,21,.09);
	color-scheme: dark;
	background:
		radial-gradient(circle at 12% 8%, var(--egsc-glow), transparent 30rem),
		radial-gradient(circle at 88% 4%, var(--egsc-gold-glow), transparent 24rem),
		linear-gradient(180deg, #111713 0%, var(--egsc-bg) 34%, var(--egsc-bg) 100%);
}

@media (prefers-color-scheme: dark) {
	.egsc-app[data-egsc-theme="system"] {
		--egsc-bg: #0d110f;
		--egsc-surface: rgba(22,29,25,.86);
		--egsc-surface-solid: #151b18;
		--egsc-surface-muted: #111714;
		--egsc-surface-raised: #1a211d;
		--egsc-text: #f4f7f5;
		--egsc-text-soft: #bcc7c0;
		--egsc-text-muted: #8e9d94;
		--egsc-border: rgba(222,245,230,.11);
		--egsc-border-strong: rgba(222,245,230,.2);
		--egsc-accent: #4ade80;
		--egsc-accent-strong: #86efac;
		--egsc-accent-soft: rgba(34,197,94,.12);
		--egsc-focus: rgba(74,222,128,.22);
		--egsc-shadow-sm: 0 1px 2px rgba(0,0,0,.25), 0 6px 20px rgba(0,0,0,.18);
		--egsc-shadow-md: 0 22px 60px rgba(0,0,0,.34), 0 2px 10px rgba(0,0,0,.24);
		--egsc-shadow-accent: 0 12px 35px rgba(34,197,94,.13);
		--egsc-glow: rgba(34,197,94,.075);
	--egsc-gold-glow: rgba(227,180,21,.09);
		color-scheme: dark;
		background:
			radial-gradient(circle at 12% 8%, var(--egsc-glow), transparent 30rem),
			linear-gradient(180deg, #111713 0%, var(--egsc-bg) 34%, var(--egsc-bg) 100%);
	}
}

/* ------------------------------
   Reset and typography
------------------------------ */
.egsc-app *, .egsc-app *::before, .egsc-app *::after { box-sizing: border-box; }
.egsc-app button, .egsc-app input, .egsc-app select { font: inherit; }
.egsc-app svg { display: block; }
.egsc-app h2, .egsc-app h3, .egsc-app p, .egsc-app dl, .egsc-app dd { margin: 0; }
.egsc-app button { -webkit-tap-highlight-color: transparent; }
.egsc-app [hidden] { display: none !important; }

.egsc-shell { max-width: 1120px; margin: 0 auto; padding: clamp(1.1rem, 3vw, 3rem); }
.egsc-overline, .egsc-step-label, .egsc-kicker {
	font-size: var(--egsc-text-xs);
	font-weight: 760;
	letter-spacing: .105em;
	text-transform: uppercase;
}
.egsc-overline { display: block; color: var(--egsc-text-muted); }
.egsc-product-name { display: block; color: var(--egsc-text); font-size: var(--egsc-text-base); font-weight: 720; letter-spacing: -.015em; }
.egsc-step-label { color: var(--egsc-accent); }
.egsc-kicker { color: var(--egsc-gold-400); }

/* ------------------------------
   Hero and navigation
------------------------------ */
.egsc-hero { padding: var(--egsc-space-3) var(--egsc-space-2) var(--egsc-space-12); }
.egsc-brand-row { display: flex; align-items: center; justify-content: space-between; gap: var(--egsc-space-4); }
.egsc-brand-lockup { display: flex; align-items: center; gap: var(--egsc-space-3); }
.egsc-brand-mark {
	width: 4.8rem; height: 4.8rem; display: grid; place-items: center;
	flex: 0 0 auto; overflow: hidden;
}
.egsc-brand-mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
.egsc-hero-copy { max-width: 780px; padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(3rem, 6vw, 5.4rem); }
.egsc-hero-copy h2 {
	margin-top: var(--egsc-space-3);
	font-size: var(--egsc-text-3xl);
	line-height: .98;
	letter-spacing: -.058em;
	font-weight: 720;
	color: var(--egsc-text);
}
.egsc-hero-copy h2 span { color: var(--egsc-text-muted); }
.egsc-lede { max-width: 660px; margin-top: var(--egsc-space-6) !important; font-size: var(--egsc-text-lg); color: var(--egsc-text-soft); letter-spacing: -.012em; }

.egsc-icon-button {
	display: inline-flex; align-items: center; gap: var(--egsc-space-2);
	min-height: 2.65rem; padding: .6rem .85rem;
	border: 1px solid var(--egsc-border); border-radius: var(--egsc-radius-pill);
	color: var(--egsc-text-soft); background: var(--egsc-surface);
	box-shadow: var(--egsc-shadow-sm); cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.egsc-icon-button:hover { transform: translateY(-1px); border-color: var(--egsc-border-strong); background: var(--egsc-surface-raised); }
.egsc-icon-button:active { transform: translateY(0) scale(.98); }
.egsc-theme-icon { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.egsc-theme-label { font-size: var(--egsc-text-xs); font-weight: 700; min-width: 2.9rem; text-align: left; }
.egsc-app[data-egsc-theme="light"] .egsc-theme-icon-moon,
.egsc-app[data-egsc-theme="system"] .egsc-theme-icon-moon { display: none; }
.egsc-app[data-egsc-theme="dark"] .egsc-theme-icon-sun { display: none; }
@media (prefers-color-scheme: dark) {
	.egsc-app[data-egsc-theme="system"] .egsc-theme-icon-sun { display: none; }
	.egsc-app[data-egsc-theme="system"] .egsc-theme-icon-moon { display: block; }
}

.egsc-progress { display: grid; grid-template-columns: auto minmax(20px,1fr) auto minmax(20px,1fr) auto; align-items: center; gap: var(--egsc-space-3); }
.egsc-progress-item { display: flex; align-items: center; gap: var(--egsc-space-2); color: var(--egsc-text-muted); white-space: nowrap; }
.egsc-progress-item span { width: 1.55rem; height: 1.55rem; display: grid; place-items: center; border: 1px solid var(--egsc-border); border-radius: 50%; font-size: .7rem; font-weight: 800; }
.egsc-progress-item strong { font-size: var(--egsc-text-xs); font-weight: 700; }
.egsc-progress-item.is-active { color: var(--egsc-gold-500); }
.egsc-progress-item.is-active span { color: #173b27; border-color: transparent; background: var(--egsc-gold-400); box-shadow: 0 5px 16px rgba(227,180,21,.2); }
.egsc-progress-line { height: 1px; background: var(--egsc-border); }

/* ------------------------------
   Layout and cards
------------------------------ */
.egsc-workspace { display: grid; gap: var(--egsc-space-6); }
.egsc-card, .egsc-results {
	position: relative;
	padding: clamp(1.35rem, 3.5vw, 2.5rem);
	border: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-lg);
	background: var(--egsc-surface);
	box-shadow: var(--egsc-shadow-sm);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.egsc-card:hover { border-color: var(--egsc-border-strong); box-shadow: var(--egsc-shadow-md); }
.egsc-card-primary { box-shadow: var(--egsc-shadow-md); }
.egsc-card-heading, .egsc-results-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--egsc-space-6); margin-bottom: var(--egsc-space-8); }
.egsc-card-heading h3, .egsc-results-header h3 { margin-top: var(--egsc-space-2); font-size: var(--egsc-text-2xl); line-height: 1.08; letter-spacing: -.035em; font-weight: 720; }
.egsc-card-heading p, .egsc-results-header p { max-width: 620px; margin-top: var(--egsc-space-3); color: var(--egsc-text-muted); font-size: var(--egsc-text-sm); }
.egsc-section-icon { flex: 0 0 auto; width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 1rem; color: var(--egsc-accent); background: var(--egsc-accent-soft); }
.egsc-section-icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* ------------------------------
   Fields and controls
------------------------------ */
.egsc-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--egsc-space-5); }
.egsc-field label { display: block; margin-bottom: var(--egsc-space-2); color: var(--egsc-text-soft); font-size: var(--egsc-text-sm); font-weight: 700; }
.egsc-field-help { margin-top: var(--egsc-space-2) !important; color: var(--egsc-text-muted); font-size: var(--egsc-text-xs); }
.egsc-input-shell, .egsc-select-shell {
	display: flex; align-items: center;
	min-height: 3.35rem; padding: 0 var(--egsc-space-4);
	border: 1px solid var(--egsc-border); border-radius: var(--egsc-radius-md);
	background: var(--egsc-surface-solid);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.egsc-input-shell:focus-within, .egsc-select-shell:focus-within { border-color: var(--egsc-accent); box-shadow: 0 0 0 4px var(--egsc-focus); transform: translateY(-1px); }
.egsc-input-shell input, .egsc-select-shell select {
	width: 100%; min-width: 0; border: 0 !important; outline: 0 !important; box-shadow: none !important;
	padding: .8rem 0 !important; color: var(--egsc-text) !important; background: transparent !important;
	font-size: var(--egsc-text-base) !important; font-weight: 620; letter-spacing: -.012em;
	appearance: none; -webkit-appearance: none;
}
.egsc-input-shell input::placeholder { color: var(--egsc-text-muted); opacity: .72; font-weight: 500; }
.egsc-input-shell > span { flex: 0 0 auto; margin-left: var(--egsc-space-3); color: var(--egsc-text-muted); font-size: var(--egsc-text-xs); font-weight: 700; }
.egsc-input-shell-large input { font-size: var(--egsc-text-xl) !important; letter-spacing: -.025em; }
.egsc-select-shell { position: relative; padding-right: 2.6rem; }
.egsc-select-shell::after { content: ""; position: absolute; right: 1.1rem; width: .5rem; height: .5rem; border-right: 1.5px solid var(--egsc-text-muted); border-bottom: 1.5px solid var(--egsc-text-muted); transform: rotate(45deg) translateY(-2px); pointer-events: none; }

/* ------------------------------
   Buttons and status
------------------------------ */
.egsc-action-row { display: flex; align-items: center; gap: var(--egsc-space-3); margin-top: var(--egsc-space-6); }
.egsc-button {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--egsc-space-2);
	min-height: 3.15rem; padding: .82rem 1.15rem;
	border: 1px solid transparent; border-radius: var(--egsc-radius-pill);
	font-size: var(--egsc-text-sm); font-weight: 760; letter-spacing: -.005em;
	cursor: pointer; transition: transform .16s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}
.egsc-button svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.egsc-button:hover svg { transform: translateX(2px); }
.egsc-button:active { transform: scale(.985); }
.egsc-button:focus-visible, .egsc-icon-button:focus-visible, .egsc-disclosure-panel summary:focus-visible, .egsc-method-details summary:focus-visible { outline: 3px solid var(--egsc-focus); outline-offset: 3px; }
.egsc-button:disabled { opacity: .55; cursor: wait; transform: none; }
.egsc-button-primary { color: #fff; background: linear-gradient(180deg, var(--egsc-green-500), var(--egsc-green-600)); box-shadow: var(--egsc-shadow-accent); }
.egsc-button-primary:hover { transform: translateY(-1px); background: linear-gradient(180deg, #2dd66b, var(--egsc-green-700)); box-shadow: 0 15px 38px rgba(22,163,74,.27); }
.egsc-button-quiet { color: var(--egsc-text-soft); border-color: var(--egsc-border); background: transparent; }
.egsc-button-quiet:hover { color: var(--egsc-text); border-color: var(--egsc-border-strong); background: var(--egsc-surface-muted); }
.egsc-button-wide { width: 100%; margin-top: var(--egsc-space-6); }

.egsc-status { display: flex; align-items: center; gap: var(--egsc-space-3); margin-top: var(--egsc-space-6); padding: .82rem 1rem; border-radius: var(--egsc-radius-md); color: var(--egsc-text-muted); background: var(--egsc-surface-muted); font-size: var(--egsc-text-sm); transition: color .2s ease, background .2s ease; }
.egsc-status-dot { width: .55rem; height: .55rem; flex: 0 0 auto; border-radius: 50%; background: var(--egsc-text-muted); box-shadow: 0 0 0 4px rgba(113,128,120,.1); }
.egsc-status[data-type="success"] { color: var(--egsc-accent-strong); background: var(--egsc-accent-soft); }
.egsc-status[data-type="success"] .egsc-status-dot { background: var(--egsc-accent); box-shadow: 0 0 0 4px var(--egsc-focus); }
.egsc-status[data-type="error"] { color: var(--egsc-red-600); background: rgba(220,38,38,.08); }
.egsc-status[data-type="error"] .egsc-status-dot { background: var(--egsc-red-600); box-shadow: 0 0 0 4px rgba(220,38,38,.12); }
.egsc-status[data-type="loading"] .egsc-status-dot { background: var(--egsc-blue-600); animation: egsc-pulse 1.15s ease-in-out infinite; }
.egsc-calculation-error { align-items: flex-start; margin-top: var(--egsc-space-3); }
.egsc-calculation-error:focus { outline: 3px solid rgba(220,38,38,.25); outline-offset: 3px; }
.egsc-calculation-error strong { flex: 0 0 auto; }

/* ------------------------------
   Disclosures
------------------------------ */
.egsc-disclosure-panel { margin-top: var(--egsc-space-5); border-top: 1px solid var(--egsc-border); border-bottom: 1px solid var(--egsc-border); }
.egsc-disclosure-panel summary, .egsc-method-details summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--egsc-space-3); padding: 1rem 0; color: var(--egsc-text-soft); font-size: var(--egsc-text-sm); font-weight: 720; cursor: pointer; }
.egsc-disclosure-panel summary::-webkit-details-marker, .egsc-method-details summary::-webkit-details-marker { display: none; }
.egsc-chevron { width: .55rem; height: .55rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.egsc-disclosure-panel[open] > summary > .egsc-chevron, .egsc-method-details[open] > summary > .egsc-chevron { transform: rotate(225deg); }
.egsc-disclosure-content { padding: var(--egsc-space-2) 0 var(--egsc-space-6); animation: egsc-reveal .24s ease both; }
.egsc-manual-wrap { margin-top: var(--egsc-space-5); padding: var(--egsc-space-5); border: 1px solid var(--egsc-border); border-radius: var(--egsc-radius-md); background: var(--egsc-surface-muted); animation: egsc-reveal .24s ease both; }

/* ------------------------------
   Results
------------------------------ */
.egsc-results { box-shadow: var(--egsc-shadow-md); animation: egsc-results-in .42s cubic-bezier(.2,.75,.2,1) both; }
.egsc-health-badge { display: inline-flex; align-items: center; gap: var(--egsc-space-2); flex: 0 0 auto; padding: .55rem .8rem; border: 1px solid var(--egsc-border); border-radius: var(--egsc-radius-pill); color: var(--egsc-text-soft); background: var(--egsc-surface-muted); font-size: var(--egsc-text-xs); font-weight: 760; }
.egsc-health-badge span { width: .5rem; height: .5rem; border-radius: 50%; background: var(--egsc-accent); box-shadow: 0 0 0 4px var(--egsc-focus); }
.egsc-result-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--egsc-space-3); }
.egsc-result-tile { min-height: 10.5rem; display: flex; flex-direction: column; padding: var(--egsc-space-5); border: 1px solid var(--egsc-border); border-radius: var(--egsc-radius-md); background: var(--egsc-surface-solid); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.egsc-result-tile:hover { transform: translateY(-3px); border-color: var(--egsc-border-strong); box-shadow: var(--egsc-shadow-sm); }
.egsc-result-tile dt { color: var(--egsc-text-muted); font-size: var(--egsc-text-xs); font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.egsc-result-tile dd { margin-top: auto; font-size: clamp(1.55rem, 2vw, 2.2rem); line-height: 1; letter-spacing: -.045em; font-weight: 730; color: var(--egsc-text); }
.egsc-result-tile small { margin-top: var(--egsc-space-3); color: var(--egsc-text-muted); font-size: var(--egsc-text-xs); }
.egsc-development-note { margin-top: var(--egsc-space-5) !important; padding: var(--egsc-space-4); border-left: 3px solid var(--egsc-amber-500); border-radius: 0 var(--egsc-radius-sm) var(--egsc-radius-sm) 0; color: var(--egsc-text-soft); background: rgba(245,158,11,.08); font-size: var(--egsc-text-sm); }

/* ------------------------------
   Methodology
------------------------------ */
.egsc-methodology { display: grid; grid-template-columns: auto 1fr; gap: var(--egsc-space-5); padding: clamp(1.3rem, 3vw, 2rem); color: var(--egsc-text-soft); }
.egsc-methodology-icon { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: .9rem; color: var(--egsc-text-muted); background: var(--egsc-surface-muted); }
.egsc-methodology-icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.egsc-methodology h3 { color: var(--egsc-text); font-size: var(--egsc-text-lg); letter-spacing: -.02em; }
.egsc-methodology p { margin-top: var(--egsc-space-2); font-size: var(--egsc-text-sm); }
.egsc-fine-print { color: var(--egsc-text-muted); font-size: var(--egsc-text-xs) !important; }
.egsc-method-details { margin-top: var(--egsc-space-2); }
.egsc-method-details > div { padding-bottom: var(--egsc-space-3); animation: egsc-reveal .24s ease both; }

/* ------------------------------
   Motion
------------------------------ */
@keyframes egsc-reveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes egsc-results-in { from { opacity: 0; transform: translateY(16px) scale(.992); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes egsc-pulse { 0%,100% { transform: scale(.8); opacity: .65; } 50% { transform: scale(1.2); opacity: 1; } }

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

/* ------------------------------
   Responsive
------------------------------ */
@media (max-width: 900px) {
	.egsc-result-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 680px) {
	.egsc-app { border-radius: var(--egsc-radius-lg); }
	.egsc-shell { padding: 1rem; }
	.egsc-hero { padding: .35rem .15rem var(--egsc-space-8); }
	.egsc-brand-mark { width: 2.3rem; height: 2.3rem; border-radius: .78rem; }
	.egsc-theme-label { display: none; }
	.egsc-icon-button { width: 2.65rem; padding: 0; justify-content: center; }
	.egsc-hero-copy { padding: 3.8rem 0 3rem; }
	.egsc-hero-copy h2 { font-size: clamp(2.45rem, 13vw, 3.55rem); }
	.egsc-lede { font-size: var(--egsc-text-base); }
	.egsc-progress-item strong { display: none; }
	.egsc-progress { grid-template-columns: auto 1fr auto 1fr auto; }
	.egsc-card-heading, .egsc-results-header { gap: var(--egsc-space-3); }
	.egsc-section-icon { width: 2.55rem; height: 2.55rem; border-radius: .85rem; }
	.egsc-field-grid { grid-template-columns: 1fr; }
	.egsc-action-row { display: grid; grid-template-columns: 1fr; }
	.egsc-button { width: 100%; }
	.egsc-result-grid { grid-template-columns: 1fr; }
	.egsc-result-tile { min-height: 8.5rem; }
	.egsc-results-header { display: block; }
	.egsc-health-badge { margin-top: var(--egsc-space-4); }
	.egsc-methodology { grid-template-columns: 1fr; }
}

/* ------------------------------
   Load builder — v0.5.0
------------------------------ */
.egsc-app .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.egsc-load-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: var(--egsc-space-6) 0;
	overflow: hidden;
	border: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-md);
	background: var(--egsc-border);
}
.egsc-load-summary > div {
	padding: var(--egsc-space-5);
	background: var(--egsc-surface-muted);
}
.egsc-load-summary span {
	display: block;
	font-size: var(--egsc-text-xs);
	font-weight: 700;
	letter-spacing: .055em;
	text-transform: uppercase;
	color: var(--egsc-text-muted);
}
.egsc-load-summary strong {
	display: block;
	margin-top: var(--egsc-space-2);
	font-size: clamp(1.15rem, 1rem + .45vw, 1.5rem);
	line-height: 1.1;
	letter-spacing: -.025em;
	color: var(--egsc-text);
}

.egsc-load-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--egsc-space-4);
	margin-bottom: var(--egsc-space-4);
}
.egsc-quick-add {
	display: flex;
	flex-wrap: wrap;
	gap: var(--egsc-space-2);
}
.egsc-chip {
	min-height: 2.35rem;
	padding: .5rem .8rem;
	border: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-pill);
	background: var(--egsc-surface-muted);
	color: var(--egsc-text-soft);
	font-size: var(--egsc-text-xs);
	font-weight: 700;
	cursor: pointer;
	transition: transform .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}
.egsc-chip:hover {
	transform: translateY(-1px);
	border-color: var(--egsc-green-300);
	background: var(--egsc-accent-soft);
	color: var(--egsc-accent-strong);
}
.egsc-chip:active { transform: scale(.98); }
.egsc-add-load { flex: 0 0 auto; margin: 0; }

.egsc-load-table-wrap {
	overflow-x: auto;
	margin-inline: calc(var(--egsc-space-2) * -1);
	padding-inline: var(--egsc-space-2);
	-webkit-overflow-scrolling: touch;
}
.egsc-load-table {
	width: 100%;
	min-width: 900px;
	border-collapse: separate;
	border-spacing: 0 .55rem;
}
.egsc-load-table th {
	padding: 0 .55rem .15rem;
	font-size: .68rem;
	font-weight: 760;
	letter-spacing: .065em;
	text-align: left;
	text-transform: uppercase;
	color: var(--egsc-text-muted);
	white-space: nowrap;
}
.egsc-load-table th:nth-child(1) { width: 26%; }
.egsc-load-table th:nth-child(2) { width: 8%; }
.egsc-load-table th:nth-child(3),
.egsc-load-table th:nth-child(4) { width: 13%; }
.egsc-load-table th:nth-child(5) { width: 12%; }
.egsc-load-table th:nth-child(6) { width: 16%; }
.egsc-load-table th:nth-child(7) { width: 3rem; }
.egsc-load-row td {
	padding: .55rem;
	background: var(--egsc-surface-muted);
	border-top: 1px solid var(--egsc-border);
	border-bottom: 1px solid var(--egsc-border);
	vertical-align: middle;
	transition: background .18s ease, border-color .18s ease;
}
.egsc-load-row td:first-child {
	border-left: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-sm) 0 0 var(--egsc-radius-sm);
}
.egsc-load-row td:last-child {
	border-right: 1px solid var(--egsc-border);
	border-radius: 0 var(--egsc-radius-sm) var(--egsc-radius-sm) 0;
}
.egsc-load-row:focus-within td {
	background: var(--egsc-surface-raised);
	border-color: var(--egsc-border-strong);
}
.egsc-load-row input {
	width: 100%;
	min-height: 2.65rem;
	padding: .55rem .65rem;
	border: 1px solid transparent;
	border-radius: .55rem;
	background: transparent;
	color: var(--egsc-text);
	font-size: .9rem;
	font-variant-numeric: tabular-nums;
	transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.egsc-load-row input:hover { background: var(--egsc-surface-solid); }
.egsc-load-row input:focus {
	outline: none;
	border-color: var(--egsc-accent);
	background: var(--egsc-surface-solid);
	box-shadow: 0 0 0 3px var(--egsc-focus);
}
.egsc-load-name { font-weight: 680; }
.egsc-load-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	min-height: 1rem;
	padding: .1rem .65rem 0;
}
.egsc-load-meta span {
	font-size: .65rem;
	font-weight: 700;
	color: var(--egsc-text-muted);
}
.egsc-load-meta span + span::before { content: "·"; margin-right: .35rem; }
.egsc-row-energy {
	display: block;
	padding-inline: .35rem;
	font-size: .88rem;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--egsc-text-soft);
}
.egsc-remove-load {
	width: 2.35rem;
	height: 2.35rem;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--egsc-text-muted);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	transition: background .16s ease, color .16s ease, transform .16s ease;
}
.egsc-remove-load:hover { background: rgba(220,38,38,.1); color: var(--egsc-red-600); transform: scale(1.05); }
.egsc-load-note {
	margin: var(--egsc-space-3) 0 var(--egsc-space-5) !important;
	font-size: var(--egsc-text-xs);
	color: var(--egsc-text-muted);
}
.egsc-design-settings { margin-top: var(--egsc-space-4); }
.egsc-result-tile.is-complete { border-color: color-mix(in srgb, var(--egsc-accent) 38%, var(--egsc-border)); }
.egsc-result-tile.is-warning { border-color: color-mix(in srgb, var(--egsc-amber-500) 48%, var(--egsc-border)); }

@media (max-width: 760px) {
	.egsc-load-summary { grid-template-columns: 1fr; }
	.egsc-load-toolbar { align-items: stretch; flex-direction: column; }
	.egsc-add-load { width: 100%; }
	.egsc-load-table-wrap { overflow: visible; margin: 0; padding: 0; }
	.egsc-load-table { min-width: 0; border-spacing: 0; }
	.egsc-load-table thead { display: none; }
	.egsc-load-table,
	.egsc-load-table tbody,
	.egsc-load-table tr,
	.egsc-load-table td { display: block; width: 100%; }
	.egsc-load-row {
		position: relative;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .6rem;
		margin-bottom: var(--egsc-space-3);
		padding: .8rem;
		border: 1px solid var(--egsc-border);
		border-radius: var(--egsc-radius-md);
		background: var(--egsc-surface-muted);
	}
	.egsc-load-row td {
		padding: 0;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}
	.egsc-load-row td::before {
		content: attr(data-label);
		display: block;
		margin: 0 0 .25rem .15rem;
		font-size: .62rem;
		font-weight: 760;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--egsc-text-muted);
	}
	.egsc-load-row td:first-child,
	.egsc-load-row td:nth-child(6) { grid-column: 1 / -1; }
	.egsc-load-row td:last-child {
		position: absolute;
		top: .65rem;
		right: .65rem;
		width: auto;
	}
	.egsc-load-row td:last-child::before { display: none; }
	.egsc-load-name-wrap { padding-right: 2.5rem; }
	.egsc-load-row input { border-color: var(--egsc-border); background: var(--egsc-surface-solid); }
	.egsc-row-energy { padding: .65rem; border-radius: .55rem; background: var(--egsc-surface-solid); }
}

@media (max-width: 440px) {
	.egsc-quick-add { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
	.egsc-chip { width: 100%; }
}


/* ------------------------------
   Evergreen gold brand accents and location search
------------------------------ */
.egsc-hero::after {
	content: "";
	display: block;
	width: min(9rem, 30%);
	height: .22rem;
	margin-top: var(--egsc-space-8);
	border-radius: var(--egsc-radius-pill);
	background: linear-gradient(90deg, var(--egsc-green-500), var(--egsc-gold-400));
}
.egsc-section-icon-gold {
	color: #173b27;
	background: linear-gradient(145deg, var(--egsc-gold-100), var(--egsc-gold-400));
	border-color: rgba(201,151,0,.24);
}
.egsc-place-search { margin-top: var(--egsc-space-6); }
.egsc-field-grow { width: 100%; }
.egsc-input-shell-search { position: relative; }
.egsc-input-shell-search > svg {
	width: 1.15rem;
	height: 1.15rem;
	margin-left: .85rem;
	fill: none;
	stroke: var(--egsc-text-muted);
	stroke-width: 1.8;
	stroke-linecap: round;
}
.egsc-input-shell-search input { padding-left: .65rem; }
.egsc-location-actions { align-items: stretch; }
.egsc-button-gold {
	background: linear-gradient(180deg, var(--egsc-gold-400), var(--egsc-gold-500));
	color: #173b27;
	border: 1px solid rgba(201,151,0,.35);
	box-shadow: 0 10px 28px rgba(227,180,21,.18);
}
.egsc-button-gold:hover {
	background: linear-gradient(180deg, #f7ce43, var(--egsc-gold-500));
	box-shadow: 0 14px 34px rgba(227,180,21,.24);
}
.egsc-location-confirmation {
	display: flex;
	align-items: center;
	gap: var(--egsc-space-3);
	margin-top: var(--egsc-space-5);
	padding: .9rem 1rem;
	border: 1px solid rgba(22,163,74,.2);
	border-left: 3px solid var(--egsc-gold-400);
	border-radius: var(--egsc-radius-md);
	background: var(--egsc-accent-soft);
}
.egsc-location-check {
	width: 1.75rem;
	height: 1.75rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--egsc-accent);
	color: #fff;
	font-weight: 800;
}
.egsc-location-confirmation div { display: grid; gap: .1rem; }
.egsc-location-confirmation span:not(.egsc-location-check) { font-size: var(--egsc-text-xs); color: var(--egsc-text-muted); }
.egsc-location-confirmation strong { color: var(--egsc-text); font-size: var(--egsc-text-sm); }
.egsc-fine-print a { color: inherit; }

@media (max-width: 760px) {
	.egsc-location-actions { display: grid; grid-template-columns: 1fr; }
	.egsc-location-actions .egsc-button { width: 100%; justify-content: center; }
}


/* Battery engine — v0.5.0 */
.egsc-assumption-note {
	margin-top: var(--egsc-space-5);
	padding: .9rem 1rem;
	border: 1px solid var(--egsc-border);
	border-left: 3px solid var(--egsc-gold-400);
	border-radius: var(--egsc-radius-md);
	background: var(--egsc-surface-solid);
	color: var(--egsc-text-muted);
	font-size: var(--egsc-text-sm);
}
.egsc-assumption-note strong { color: var(--egsc-text); }


/* v0.6.0 monthly solar resource visualization */
.egsc-solar-resource {
	margin-top: var(--egsc-space-4);
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-lg);
	background: var(--egsc-surface);
	background: linear-gradient(145deg, color-mix(in srgb, var(--egsc-surface) 92%, var(--egsc-gold-400) 8%), var(--egsc-surface));
}
.egsc-solar-resource-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--egsc-space-4); }
.egsc-solar-resource h4 { margin: .25rem 0 .35rem; color: var(--egsc-text); font-size: clamp(1.1rem, 2vw, 1.45rem); }
.egsc-solar-resource h4 strong { color: var(--egsc-green-700); }
.egsc-solar-resource-heading p, .egsc-chart-note { margin: 0; color: var(--egsc-text-muted); font-size: var(--egsc-text-sm); }
.egsc-psh-badge { min-width: 92px; padding: .7rem .85rem; border: 1px solid var(--egsc-gold-400); border: 1px solid color-mix(in srgb, var(--egsc-gold-400) 55%, var(--egsc-border)); border-radius: var(--egsc-radius-md); background: var(--egsc-surface-solid); background: color-mix(in srgb, var(--egsc-gold-400) 12%, var(--egsc-surface)); text-align: center; }
.egsc-psh-badge span { display: block; color: var(--egsc-text-muted); font-size: var(--egsc-text-xs); text-transform: uppercase; letter-spacing: .08em; }
.egsc-psh-badge strong { display: block; margin-top: .1rem; color: var(--egsc-text); font-size: var(--egsc-text-xl); }
.egsc-solar-chart { display: grid; grid-template-columns: repeat(12, minmax(42px,1fr)); align-items: end; gap: .45rem; min-height: 205px; margin: 1.25rem 0 .65rem; overflow-x: auto; padding: .25rem .15rem .45rem; }
.egsc-solar-bar-wrap { appearance: none; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; display: grid; grid-template-rows: auto 155px auto 18px; gap: .35rem; min-width: 42px; text-align: center; }
.egsc-solar-value, .egsc-solar-month { color: var(--egsc-text-muted); font-size: .7rem; font-variant-numeric: tabular-nums; }
.egsc-solar-bar-track { display: flex; align-items: flex-end; justify-content: center; height: 155px; border-bottom: 1px solid var(--egsc-border); }
.egsc-solar-bar { display: block; width: 28px; max-width: 72%; min-height: 8px; border-radius: 8px 8px 3px 3px; background: var(--egsc-green-600); background: linear-gradient(180deg, var(--egsc-green-500), var(--egsc-green-700)); box-shadow: 0 7px 18px rgba(22,163,74,.18); transition: height 500ms var(--egsc-ease), transform 180ms var(--egsc-ease); }
.egsc-solar-bar-wrap:hover .egsc-solar-bar, .egsc-solar-bar-wrap:focus-visible .egsc-solar-bar { transform: translateY(-3px); }
.egsc-solar-bar-wrap:focus-visible { outline: 2px solid var(--egsc-focus); outline-offset: 4px; border-radius: 10px; }
.egsc-solar-bar-wrap.is-design .egsc-solar-bar { outline: 3px solid var(--egsc-gold-400); outline-offset: 3px; background: var(--egsc-green-600); background: linear-gradient(180deg, color-mix(in srgb, var(--egsc-gold-400) 45%, var(--egsc-green-500)), var(--egsc-green-700)); }
.egsc-solar-bar-wrap.is-design .egsc-solar-value, .egsc-solar-bar-wrap.is-design .egsc-solar-month { color: var(--egsc-text); font-weight: 800; }
@media(max-width:640px){.egsc-solar-resource-heading{display:grid}.egsc-psh-badge{width:100%}.egsc-solar-chart{grid-template-columns:repeat(12,44px)}}
@media(prefers-reduced-motion:reduce){.egsc-solar-bar{transition:none}}


/* v0.6.2 selectable monthly design basis */
.egsc-solar-bar-wrap.is-lowest:not(.is-design) .egsc-solar-bar { box-shadow: 0 0 0 2px color-mix(in srgb, var(--egsc-gold-400) 60%, transparent), 0 7px 18px rgba(22,163,74,.18); }
.egsc-solar-recommended { min-height: 18px; color: var(--egsc-gold-700); font-size: .58rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.egsc-chart-guidance { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--egsc-space-3); }
.egsc-text-button { appearance: none; border: 0; padding: 0; background: transparent; color: var(--egsc-green-700); font: inherit; font-size: var(--egsc-text-sm); font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.egsc-text-button:hover { color: var(--egsc-green-800); }
.egsc-month-help { margin-top: .85rem; padding-top: .75rem; border-top: 1px solid var(--egsc-border); color: var(--egsc-text-muted); font-size: var(--egsc-text-sm); }
.egsc-month-help summary { color: var(--egsc-text); font-weight: 750; cursor: pointer; }
.egsc-month-help p { margin: .65rem 0 0; max-width: 78ch; }
@media(max-width:640px){.egsc-chart-guidance{display:grid}.egsc-text-button{text-align:left}.egsc-solar-recommended{font-size:.52rem}}

/* Version 1.1.0 — hourly coincidence schedule */
.egsc-hourly-schedule-panel { margin-top: var(--egsc-space-5, 1.25rem); }
.egsc-schedule-intro { display:flex; justify-content:space-between; gap:1.25rem; align-items:flex-start; }
.egsc-schedule-intro h4 { margin:0 0 .35rem; font-size:1rem; }
.egsc-schedule-intro p { margin:0; max-width:46rem; color:var(--egsc-text-secondary); }
.egsc-switch { display:inline-flex; align-items:center; gap:.65rem; font-weight:700; white-space:nowrap; cursor:pointer; }
.egsc-switch input { position:absolute; opacity:0; pointer-events:none; }
.egsc-switch-track { width:2.75rem; height:1.55rem; padding:.16rem; border-radius:999px; background:var(--egsc-border-strong, #9ca3af); transition:background .2s ease; }
.egsc-switch-track span { display:block; width:1.23rem; height:1.23rem; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s ease; }
.egsc-switch input:checked + .egsc-switch-track { background:var(--egsc-green, #14804a); }
.egsc-switch input:checked + .egsc-switch-track span { transform:translateX(1.2rem); }
.egsc-switch input:focus-visible + .egsc-switch-track { outline:3px solid var(--egsc-focus, rgba(20,128,74,.28)); outline-offset:2px; }
.egsc-hourly-content { margin-top:1.25rem; }
.egsc-schedule-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-bottom:1rem; }
.egsc-schedule-summary > div { padding:.85rem 1rem; border:1px solid var(--egsc-border); border-radius:var(--egsc-radius-md, .8rem); background:var(--egsc-surface-muted); }
.egsc-schedule-summary span { display:block; color:var(--egsc-text-secondary); font-size:.78rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; }
.egsc-schedule-summary strong { display:block; margin-top:.2rem; font-size:1.05rem; }
.egsc-schedule-actions { display:flex; gap:.65rem; flex-wrap:wrap; margin:.75rem 0; }
.egsc-hourly-grid-wrap { overflow-x:auto; overscroll-behavior-inline:contain; border:1px solid var(--egsc-border); border-radius:var(--egsc-radius-lg, 1rem); background:var(--egsc-surface-solid); }
.egsc-hourly-grid { display:grid; grid-template-columns:minmax(11rem,1.5fr) repeat(24,minmax(2rem,1fr)); min-width:66rem; align-items:stretch; }
.egsc-hourly-corner,.egsc-hourly-head,.egsc-hourly-name,.egsc-hour-cell { border-right:1px solid var(--egsc-border); border-bottom:1px solid var(--egsc-border); }
.egsc-hourly-corner { position:sticky; left:0; z-index:3; padding:.65rem .8rem; background:var(--egsc-surface-muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.egsc-hourly-head { display:grid; place-items:center; padding:.65rem .1rem; background:var(--egsc-surface-muted); color:var(--egsc-text-secondary); font-size:.68rem; font-variant-numeric:tabular-nums; }
.egsc-hourly-name { position:sticky; left:0; z-index:2; display:flex; justify-content:center; flex-direction:column; padding:.55rem .75rem; background:var(--egsc-surface-solid); }
.egsc-hourly-name strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; }
.egsc-hourly-name small { color:var(--egsc-text-secondary); }
.egsc-hour-cell { position:relative; display:grid; place-items:center; min-height:2.75rem; cursor:pointer; background:var(--egsc-surface-solid); }
.egsc-hour-cell input { position:absolute; opacity:0; pointer-events:none; }
.egsc-hour-cell > span[aria-hidden="true"] { width:1.12rem; height:1.12rem; border:1.5px solid var(--egsc-border-strong, #9ca3af); border-radius:.32rem; background:transparent; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.egsc-hour-cell input:checked + span[aria-hidden="true"] { background:var(--egsc-green, #14804a); border-color:var(--egsc-green, #14804a); box-shadow:inset 0 0 0 3px var(--egsc-surface-solid); }
.egsc-hour-cell:hover > span[aria-hidden="true"] { transform:scale(1.08); }
.egsc-hour-cell input:focus-visible + span[aria-hidden="true"] { outline:3px solid var(--egsc-focus, rgba(20,128,74,.28)); outline-offset:2px; }
.egsc-hourly-grid > :nth-last-child(-n+25) { border-bottom:0; }
.egsc-hourly-grid > :nth-child(25n) { border-right:0; }

@media(max-width:700px){
  .egsc-schedule-intro{flex-direction:column}
  .egsc-schedule-summary{grid-template-columns:1fr}
  .egsc-switch{width:100%;justify-content:space-between;padding:.75rem;border:1px solid var(--egsc-border);border-radius:var(--egsc-radius-md,.8rem)}
}

@media(prefers-reduced-motion:reduce){
  .egsc-switch-track,.egsc-switch-track span,.egsc-hour-cell > span[aria-hidden="true"]{transition:none}
}


/* v0.9.0 — energy/coincidence reconciliation and DC circuit guidance */
.egsc-model-split{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	margin:16px 0 12px;
}
.egsc-model-split>div{
	padding:16px;
	border:1px solid var(--egsc-border);
	border-radius:var(--egsc-radius-md);
	background:var(--egsc-surface-muted);
}
.egsc-model-split-label{
	display:block;
	margin-bottom:4px;
	color:var(--egsc-text-muted);
	font-size:var(--egsc-text-xs);
	font-weight:750;
	letter-spacing:.05em;
	text-transform:uppercase;
}
.egsc-model-split strong{
	display:block;
	font-size:var(--egsc-text-lg);
	letter-spacing:-.02em;
}
.egsc-model-split p{
	margin:6px 0 0;
	color:var(--egsc-text-muted);
	font-size:var(--egsc-text-sm);
}
.egsc-schedule-check{
	display:flex;
	gap:12px;
	align-items:flex-start;
	padding:14px 16px;
	margin:0 0 14px;
	border:1px solid var(--egsc-border);
	border-radius:var(--egsc-radius-md);
	background:var(--egsc-surface-muted);
}
.egsc-schedule-check[data-state="warning"]{
	border-color:var(--egsc-gold-400);
	background:var(--egsc-gold-100);
}
.egsc-schedule-check-icon{
	display:grid;
	place-items:center;
	flex:0 0 26px;
	width:26px;
	height:26px;
	border-radius:999px;
	background:var(--egsc-green-600);
	color:#fff;
	font-weight:850;
}
.egsc-schedule-check[data-state="warning"] .egsc-schedule-check-icon{
	background:var(--egsc-gold-400);
	color:#1b1605;
}
.egsc-schedule-check strong{display:block}
.egsc-schedule-check p{
	margin:3px 0 0;
	color:var(--egsc-text-muted);
	font-size:var(--egsc-text-sm);
}
.egsc-result-guidance{
	margin-top:14px;
	border:1px solid var(--egsc-border);
	border-radius:var(--egsc-radius-md);
	background:var(--egsc-surface-muted);
	overflow:hidden;
}
.egsc-result-guidance summary{
	cursor:pointer;
	padding:16px 18px;
	font-weight:750;
	list-style:none;
}
.egsc-result-guidance summary::-webkit-details-marker{display:none}
.egsc-result-guidance summary::after{
	content:"+";
	float:right;
	color:var(--egsc-green-600);
	font-size:1.15em;
}
.egsc-result-guidance[open] summary::after{content:"−"}
.egsc-result-guidance>div{
	padding:0 18px 16px;
	color:var(--egsc-text-muted);
}
.egsc-result-guidance p{margin:0 0 10px}
.egsc-result-guidance p:last-child{margin-bottom:0}
@media(max-width:640px){
	.egsc-model-split{grid-template-columns:1fr}
}

/* Version 1.0 design-assistant additions */
.egsc-schedule-source{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:18px;align-items:end;padding:18px;border:1px solid var(--egsc-border);border-radius:var(--egsc-radius-md);background:var(--egsc-surface-soft);margin:18px 0}
.egsc-schedule-source strong{display:block;margin-top:5px;font-size:1.02rem;color:var(--egsc-text)}
.egsc-schedule-source p{margin:5px 0 0;color:var(--egsc-text-muted)}
.egsc-field-compact label{margin-top:0}
.egsc-load-table input:disabled{opacity:.78;background:var(--egsc-surface-soft);cursor:not-allowed}
.egsc-engineering-guidance{margin-bottom:22px;padding:22px;border:1px solid color-mix(in srgb,var(--egsc-gold-500) 55%,var(--egsc-border));border-radius:var(--egsc-radius-lg);background:linear-gradient(145deg,color-mix(in srgb,var(--egsc-gold-500) 8%,var(--egsc-surface)),var(--egsc-surface))}
.egsc-engineering-guidance-heading{margin-bottom:14px}
.egsc-engineering-guidance-heading h4{margin:3px 0 0;font-size:1.2rem;color:var(--egsc-text)}
.egsc-guidance-card{display:flex;gap:13px;align-items:flex-start;padding:15px 0;border-top:1px solid var(--egsc-border)}
.egsc-guidance-card:first-of-type{border-top:0}
.egsc-guidance-card strong{display:block;color:var(--egsc-text);font-size:1rem}
.egsc-guidance-card p{margin:4px 0 0;color:var(--egsc-text-muted)}
.egsc-guidance-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;font-weight:800;font-size:.82rem}
.egsc-guidance-card.is-good .egsc-guidance-icon{background:color-mix(in srgb,var(--egsc-green-600) 16%,transparent);color:var(--egsc-green-700)}
.egsc-guidance-card.is-warning .egsc-guidance-icon{background:color-mix(in srgb,var(--egsc-gold-500) 22%,transparent);color:var(--egsc-gold-600)}
.egsc-guidance-card.is-info .egsc-guidance-icon{background:color-mix(in srgb,var(--egsc-blue-600) 14%,transparent);color:var(--egsc-blue-600)}
@media(max-width:700px){.egsc-schedule-source{grid-template-columns:1fr}.egsc-engineering-guidance{padding:18px}}


/* ------------------------------
   Report and export
------------------------------ */
.egsc-results-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--egsc-space-3); flex-wrap: wrap; }
.egsc-print-button { min-height: 2.5rem; }
.egsc-print-button svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.egsc-report-header { display: none; }

@media (max-width: 640px) {
	.egsc-results-actions { width: 100%; justify-content: stretch; }
	.egsc-results-actions .egsc-health-badge { flex: 1 1 auto; }
	.egsc-print-button { flex: 1 1 100%; justify-content: center; }
	.egsc-brand-mark { width: 2.75rem; height: 2.75rem; }
}

@media print {
	@page { size: auto; margin: .55in; }
	body * { visibility: hidden !important; }
	.egsc-app.is-printing, .egsc-app.is-printing * { visibility: visible !important; }
	.egsc-app.is-printing {
		position: absolute; inset: 0 auto auto 0; width: 100%;
		border: 0; border-radius: 0; background: #fff !important; color: #111 !important;
		box-shadow: none; overflow: visible; color-scheme: light;
	}
	.egsc-app.is-printing .egsc-shell { max-width: none; padding: 0; }
	.egsc-app.is-printing .egsc-hero,
	.egsc-app.is-printing .egsc-workspace > :not(.egsc-results),
	.egsc-app.is-printing .egsc-results-header,
	.egsc-app.is-printing .egsc-development-note,
	.egsc-app.is-printing .egsc-result-guidance { display: none !important; }
	.egsc-app.is-printing .egsc-results { display: block !important; }
	.egsc-app.is-printing .egsc-report-header {
		display: flex !important; align-items: center; gap: 1rem;
		padding-bottom: 1rem; margin-bottom: 1.2rem; border-bottom: 2px solid #175c31;
	}
	.egsc-app.is-printing .egsc-report-header img { width: 4.25rem; height: 4.25rem; object-fit: contain; }
	.egsc-app.is-printing .egsc-report-header span { display: block; color: #175c31; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
	.egsc-app.is-printing .egsc-report-header strong { display: block; font-size: 1.35rem; line-height: 1.2; }
	.egsc-app.is-printing .egsc-report-header small { display: block; margin-top: .2rem; color: #4b5750; }
	.egsc-app.is-printing .egsc-engineering-guidance,
	.egsc-app.is-printing .egsc-result-grid,
	.egsc-app.is-printing .egsc-guidance-card,
	.egsc-app.is-printing .egsc-result-tile { break-inside: avoid; box-shadow: none !important; }
	.egsc-app.is-printing .egsc-result-grid { grid-template-columns: repeat(3, 1fr); }
	.egsc-app.is-printing .egsc-guidance-card,
	.egsc-app.is-printing .egsc-result-grid > div { background: #fff !important; color: #111 !important; border-color: #ccd5cf !important; }
}


/* Version 1.1.1 — contain wide hourly schedule inside the calculator */
.egsc-app,
.egsc-app .egsc-shell,
.egsc-app .egsc-card,
.egsc-app .egsc-panel,
.egsc-app .egsc-disclosure-panel,
.egsc-app .egsc-disclosure-panel > div,
.egsc-app .egsc-hourly-content {
	min-width: 0;
	max-width: 100%;
}
.egsc-app {
	width: 100%;
	overflow-x: clip;
}
.egsc-hourly-grid-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}
.egsc-hourly-grid {
	width: max-content;
	max-width: none;
}
.egsc-hourly-grid-wrap::-webkit-scrollbar { height: .7rem; }
.egsc-hourly-grid-wrap::-webkit-scrollbar-track { background: var(--egsc-surface-muted); }
.egsc-hourly-grid-wrap::-webkit-scrollbar-thumb {
	background: var(--egsc-border-strong, #9ca3af);
	border: 2px solid var(--egsc-surface-muted);
	border-radius: 999px;
}


/* Version 1.1.3 — compact, stable hourly schedule */
.egsc-hourly-grid {
	/* Keep the equipment column fixed and fit as many hourly columns as possible. */
	grid-template-columns: 10rem repeat(24, minmax(1.9rem, 1fr));
	width: 100%;
	min-width: 58rem;
}
.egsc-hourly-grid::after { content: none; }
.egsc-hourly-corner,
.egsc-hourly-name {
	left: 0;
	box-shadow: 1px 0 0 var(--egsc-border), .35rem 0 .55rem -.55rem rgba(0,0,0,.42);
}
.egsc-hourly-corner { z-index: 5; }
.egsc-hourly-name { z-index: 4; }
.egsc-hourly-head {
	padding: .48rem .05rem;
	font-size: .64rem;
}
.egsc-hour-cell {
	min-width: 0;
	min-height: 2.55rem;
}
.egsc-hour-cell > span[aria-hidden="true"] {
	width: 1rem;
	height: 1rem;
	border-radius: .28rem;
}
.egsc-hourly-grid-wrap {
	padding: 0;
	scroll-padding-inline: 10rem .5rem;
	border-right: 1px solid var(--egsc-border);
}
@media (max-width: 760px) {
	.egsc-hourly-grid {
		grid-template-columns: 8.5rem repeat(24, 1.85rem);
		min-width: 52.9rem;
	}
	.egsc-hourly-name { padding-inline: .55rem; }
}

/* v1.2 PV module and controller input assistant */
.egsc-sub-disclosure{margin-top:16px;border:1px solid var(--egsc-border);border-radius:14px;background:var(--egsc-surface-subtle);overflow:hidden}
.egsc-sub-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;font-weight:750;list-style:none}
.egsc-sub-disclosure>summary::-webkit-details-marker{display:none}
.egsc-sub-disclosure-content{padding:0 18px 18px}
.egsc-optional{font-size:.76em;font-weight:600;color:var(--egsc-text-muted)}
.egsc-result-guidance ol{margin:12px 0 12px 22px;padding:0}
.egsc-result-guidance li{margin:7px 0;padding-left:4px}

/* v1.4 load-model verification controls */
.egsc-load-table{min-width:1280px}
.egsc-load-table th:nth-child(1){width:18%}
.egsc-load-table th:nth-child(2){width:5%}
.egsc-load-table th:nth-child(3),
.egsc-load-table th:nth-child(4){width:8%}
.egsc-load-table th:nth-child(5){width:7%}
.egsc-load-table th:nth-child(6){width:14%}
.egsc-load-table th:nth-child(7){width:8%}
.egsc-load-table th:nth-child(8){width:8%}
.egsc-load-table th:nth-child(9){width:12%}
.egsc-load-table th:nth-child(10){width:3rem}
.egsc-load-row select{
	width:100%;min-height:2.65rem;padding:.55rem .65rem;border:1px solid transparent;border-radius:.55rem;
	background:transparent;color:var(--egsc-text);font:inherit;font-size:.82rem
}
.egsc-load-row select:hover{background:var(--egsc-surface-solid)}
.egsc-load-row select:focus{outline:none;border-color:var(--egsc-accent);background:var(--egsc-surface-solid);box-shadow:0 0 0 3px var(--egsc-focus)}
.egsc-load-duty-shell{display:flex;align-items:center;gap:.2rem}
.egsc-load-duty-shell span{font-size:.75rem;color:var(--egsc-text-muted)}
@media(max-width:760px){
	.egsc-load-table{min-width:0}
	.egsc-load-row td:nth-child(9){grid-column:1/-1}
	.egsc-load-row select{border-color:var(--egsc-border);background:var(--egsc-surface-solid)}
}


/* v1.4.1 simultaneous-start control */
.egsc-simultaneous-cell .egsc-field-help{display:none}
.egsc-simultaneous-cell select{min-width:4.5rem}
@media(max-width:760px){
  .egsc-simultaneous-cell .egsc-field-help{display:block;margin:0 0 .35rem;font-size:.78rem;color:var(--egsc-text-muted)}
}
.egsc-not-applicable{display:inline-block;min-width:4.5rem;text-align:center;color:var(--egsc-text-muted)}

/* v1.5.0 operating-behavior guidance */
.egsc-behavior-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0;padding:.85rem;border:1px solid var(--egsc-border);border-radius:var(--egsc-radius-md);background:var(--egsc-surface-subtle)}
.egsc-behavior-guide div{display:grid;gap:.25rem}
.egsc-behavior-guide strong{font-size:.84rem;color:var(--egsc-text)}
.egsc-behavior-guide span{font-size:.78rem;line-height:1.45;color:var(--egsc-text-muted)}
.egsc-load-behavior-shell{display:grid;gap:.3rem;min-width:10.5rem}
.egsc-load-behavior-shell small,.egsc-load-duty-shell small{display:block;font-size:.68rem;line-height:1.3;color:var(--egsc-text-muted)}
.egsc-load-duty-shell{flex-wrap:wrap}
.egsc-load-duty-shell input{max-width:4.8rem}
.egsc-load-duty-shell.is-disabled input{opacity:.55}
.egsc-load-duty-shell.is-disabled>span{opacity:.55}
@media(max-width:760px){.egsc-behavior-guide{grid-template-columns:1fr}}


/* v1.6 smart appliance profiles and disclosure polish */
.egsc-load-table th:nth-child(2){width:6.5%;min-width:5.25rem}
.egsc-load-row td:nth-child(2){min-width:5.25rem}
.egsc-load-row [data-load-qty]{min-width:4.75rem;padding-right:1.45rem;text-align:center}

/* Consistent disclosure direction: down when closed, up when open. */
.egsc-month-help summary,
.egsc-result-guidance summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}
.egsc-month-help summary::-webkit-details-marker,
.egsc-result-guidance summary::-webkit-details-marker{display:none}
.egsc-month-help summary::after,
.egsc-result-guidance summary::after{
 content:"";width:.5rem;height:.5rem;flex:0 0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
 transform:rotate(45deg);transition:transform .2s ease;margin-right:.15rem
}
.egsc-month-help[open] summary::after,
.egsc-result-guidance[open] summary::after{transform:rotate(225deg)}

/* Avoid older plus/minus glyph rules overriding the chevrons. */
.egsc-result-guidance summary::after{content:""}
.egsc-result-guidance[open] summary::after{content:""}

@media(max-width:760px){
 .egsc-load-row td:nth-child(2){min-width:0}
 .egsc-load-row [data-load-qty]{min-width:0;width:100%;text-align:left}
}
.egsc-result-guidance summary::after{float:none;font-size:inherit;color:currentColor;margin-left:auto}


/* Version 1.8.0 — detailed printable report */
.egsc-report-only { display: none; }
@media print {
	.egsc-app.is-printing .egsc-report-only { display: block !important; }
	.egsc-app.is-printing .egsc-report-section { margin-top: 1.15rem; color: #111 !important; }
	.egsc-app.is-printing .egsc-report-page-break { break-before: page; page-break-before: always; }
	.egsc-app.is-printing .egsc-report-kicker { color: #175c31; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
	.egsc-app.is-printing .egsc-report-section h2 { margin: .15rem 0 .55rem; font-size: 1.35rem; line-height: 1.2; }
	.egsc-app.is-printing .egsc-report-section h3 { margin: 1rem 0 .4rem; font-size: 1rem; color: #175c31; }
	.egsc-app.is-printing .egsc-report-lead { margin: 0 0 .85rem; color: #4b5750; }
	.egsc-app.is-printing .egsc-report-table { width: 100%; border-collapse: collapse; margin: .55rem 0 1rem; font-size: .75rem; }
	.egsc-app.is-printing .egsc-report-table th,
	.egsc-app.is-printing .egsc-report-table td { padding: .36rem .42rem; border: 1px solid #ccd5cf; text-align: left; vertical-align: top; }
	.egsc-app.is-printing .egsc-report-table th { background: #eef4f0 !important; color: #173b25 !important; font-weight: 700; }
	.egsc-app.is-printing .egsc-report-assumptions th { width: 31%; }
	.egsc-app.is-printing .egsc-report-loads { font-size: .68rem; }
	.egsc-app.is-printing .egsc-report-loads thead { display: table-header-group; }
	.egsc-app.is-printing .egsc-report-loads tr { break-inside: avoid; }
	.egsc-app.is-printing .egsc-report-equation { margin: .4rem 0; padding: .48rem .6rem; border-left: 3px solid #d6b600; background: #faf9ef !important; font-size: .78rem; line-height: 1.42; break-inside: avoid; }
	.egsc-app.is-printing .egsc-report-disclaimer p,
	.egsc-app.is-printing .egsc-report-disclaimer li { font-size: .76rem; line-height: 1.45; }
	.egsc-app.is-printing .egsc-report-disclaimer ul { margin: .35rem 0 .75rem; padding-left: 1.15rem; }
	.egsc-app.is-printing .egsc-report-footer-note { margin-top: 1rem; padding: .65rem; border: 1px solid #b98484; background: #fff6f6 !important; font-weight: 700; }
	.egsc-app.is-printing details.egsc-result-guidance { display: none !important; }
	.egsc-app.is-printing .egsc-development-note { display: none !important; }
}


/* Engineering readiness summary */
.egsc-readiness{margin:var(--egsc-space-6) 0;padding:var(--egsc-space-5);border:1px solid var(--egsc-border);border-radius:var(--egsc-radius-xl);background:var(--egsc-surface-subtle)}
.egsc-readiness h3{margin:.25rem 0 1rem;font-size:1.15rem}
.egsc-readiness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.egsc-readiness-item{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border-radius:var(--egsc-radius-lg);background:var(--egsc-surface);border:1px solid var(--egsc-border)}
.egsc-readiness-item>span{font-weight:800;line-height:1.2;color:var(--egsc-muted)}
.egsc-readiness-item.is-ready>span{color:var(--egsc-success)}
.egsc-readiness-item strong,.egsc-readiness-item small{display:block}
.egsc-readiness-item small{margin-top:.2rem;color:var(--egsc-muted);line-height:1.35}
@media(max-width:700px){.egsc-readiness-list{grid-template-columns:1fr}}

.egsc-report-footer-brand{text-align:center;color:var(--egsc-muted);font-size:.78rem;margin-top:1rem}
.egsc-app.is-printing .egsc-report-footer-brand{display:block;border-top:1px solid #d8d8d8;padding-top:.5rem;color:#555}


/* Version 2.1.0 — validation snapshot export */
.egsc-export-button { min-height: 2.5rem; }
.egsc-export-button svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.egsc-export-button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 640px) { .egsc-export-button { flex: 1 1 100%; justify-content: center; } }
@media print { .egsc-export-button { display:none !important; } }


/* Project management */
.egsc-project-bar{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--egsc-border);background:var(--egsc-surface);flex-wrap:wrap}
.egsc-project-identity{display:grid;grid-template-columns:auto minmax(180px,320px);gap:4px 10px;align-items:center}.egsc-project-identity label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--egsc-muted)}.egsc-project-identity input{font-weight:700}.egsc-project-identity small{grid-column:2;color:var(--egsc-muted)}
.egsc-project-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.egsc-recent-label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--egsc-muted)}.egsc-recent-label select{min-width:190px}
@media(max-width:720px){.egsc-project-bar,.egsc-project-actions{align-items:stretch}.egsc-project-actions{width:100%}.egsc-project-actions>*{flex:1 1 145px}.egsc-recent-label{flex-basis:100%}.egsc-recent-label select{width:100%;min-width:0}.egsc-project-identity{width:100%;grid-template-columns:auto 1fr}}


/* Equipment catalog foundation */
.egsc-catalog-picker{padding:14px 16px;border:1px solid var(--egsc-border);border-radius:16px;background:color-mix(in srgb,var(--egsc-surface) 92%,var(--egsc-gold) 8%)}
.egsc-catalog-picker label{display:block;font-weight:700;margin-bottom:8px}
.egsc-catalog-picker .egsc-field-help{margin:8px 0 0}
.egsc-field-wide{grid-column:1/-1}

/* Version 2.3.3 — disclosure and select interaction fixes */
.egsc-sub-disclosure[open] > summary > .egsc-chevron {
	transform: rotate(225deg);
}

/* Let the native select own the entire visible control, including the custom arrow area. */
.egsc-select-shell {
	padding: 0;
}
.egsc-select-shell select {
	position: relative;
	z-index: 1;
	width: 100%;
	min-height: 3.35rem;
	padding: .8rem 2.8rem .8rem 1rem !important;
	cursor: pointer;
}
.egsc-select-shell::after {
	z-index: 2;
	pointer-events: none;
}


/* v2.4.0 PV topology */
.egsc-pv-layout{margin:1.25rem 0;padding:1.25rem;border:1px solid var(--egsc-border);border-radius:24px;background:linear-gradient(145deg,rgba(25,186,92,.08),rgba(246,199,38,.05))}
.egsc-pv-layout-heading h4{margin:.25rem 0 .35rem;font-size:1.35rem}.egsc-pv-layout-heading p{margin:0 0 1rem;color:var(--egsc-muted)}
.egsc-pv-controller{padding:1rem;margin-top:.85rem;border:1px solid var(--egsc-border);border-radius:18px;background:var(--egsc-surface)}.egsc-pv-controller h5{margin:0 0 .75rem;font-size:1rem;color:var(--egsc-gold)}
.egsc-pv-tracker{padding:.75rem 0;border-top:1px solid var(--egsc-border)}.egsc-pv-tracker:first-of-type{border-top:0}.egsc-pv-tracker>strong{display:block;margin-bottom:.5rem}.egsc-pv-tracker small{color:var(--egsc-muted)}
.egsc-pv-string{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.65rem;align-items:center;margin:.45rem 0}.egsc-pv-string>span{font-size:.78rem;color:var(--egsc-muted)}
.egsc-pv-string-panels{display:flex;gap:3px;min-width:0;overflow-x:auto;padding-bottom:2px}.egsc-pv-string-panels i{display:grid;place-items:center;flex:0 0 35px;height:25px;border:1px solid rgba(246,199,38,.7);border-radius:5px;background:linear-gradient(135deg,#173e2b,#0c2419);font-style:normal;font-size:.55rem;color:#fff}.egsc-pv-string-panels b{align-self:center;font-size:.7rem}
@media(max-width:640px){.egsc-pv-string{grid-template-columns:1fr}.egsc-pv-string-panels i{flex-basis:30px}}


.egsc-input-validation { margin-top: var(--egsc-space-4); padding: var(--egsc-space-4); border: 1px solid var(--egsc-border); border-radius: var(--egsc-radius-md); background: rgba(255,255,255,.025); color: var(--egsc-text-soft); }
.egsc-input-validation strong { display:block; margin-bottom:.35rem; color:var(--egsc-text); }
.egsc-input-validation p { margin:.35rem 0 0; }
.egsc-input-validation ul { margin:.4rem 0 0 1.2rem; padding:0; }
.egsc-input-validation-error { border-color:rgba(248,113,113,.55); background:rgba(127,29,29,.16); }
.egsc-input-validation-error strong { color:#fca5a5; }
.egsc-input-validation-ready { border-color:rgba(34,197,94,.45); background:rgba(20,83,45,.16); }
.egsc-input-validation-ready strong { color:#86efac; }
.egsc-input-validation-pending { border-color:rgba(245,190,38,.45); background:rgba(113,63,18,.12); }
.egsc-input-validation-pending strong { color:#fde68a; }
.egsc-calculator input[aria-invalid="true"] { border-color:#f87171 !important; box-shadow:0 0 0 1px rgba(248,113,113,.25); }


/* Evergreen Verified equipment */
.egsc-verified-equipment{margin-top:28px;padding:28px;border:1px solid var(--egsc-border);border-radius:24px;background:var(--egsc-surface)}
.egsc-section-heading-inline>p{max-width:760px;color:var(--egsc-muted)}
.egsc-equipment-group{margin-top:24px}.egsc-equipment-group>h4{margin:0 0 12px;font-size:1rem}
.egsc-equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.egsc-equipment-card{padding:20px;border:1px solid var(--egsc-border);border-radius:18px;background:var(--egsc-surface-raised,rgba(255,255,255,.55));box-shadow:0 10px 30px rgba(16,44,33,.06)}
.egsc-equipment-card h5{margin:8px 0;font-size:1.05rem}.egsc-equipment-rating{display:flex;gap:10px;align-items:center}.egsc-equipment-rating span{color:#d5a62e;letter-spacing:1px}.egsc-equipment-rating strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--egsc-green)}
.egsc-equipment-fit{color:var(--egsc-muted);font-size:.92rem}.egsc-equipment-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.egsc-equipment-columns strong{font-size:.82rem}.egsc-equipment-columns ul{margin:7px 0 0;padding-left:18px;font-size:.86rem;color:var(--egsc-muted)}
.egsc-equipment-links{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.egsc-equipment-links a{display:inline-flex;padding:9px 12px;border-radius:999px;border:1px solid var(--egsc-border);text-decoration:none;font-weight:650;font-size:.84rem}
.egsc-recommendation-policy{margin-top:20px;padding-top:16px;border-top:1px solid var(--egsc-border)}
@media(max-width:640px){.egsc-equipment-columns{grid-template-columns:1fr}.egsc-verified-equipment{padding:20px}}


/* v2.6.1 PV module education and shopping guidance */
.egsc-pv-module-guidance{margin:1.25rem 0;padding:1.25rem;border:1px solid var(--egsc-border);border-radius:24px;background:linear-gradient(145deg,rgba(246,199,38,.09),rgba(25,186,92,.06));box-shadow:0 12px 35px rgba(9,35,25,.06)}
.egsc-pv-module-guidance-head h4{margin:.25rem 0 1rem;font-size:1.35rem}
.egsc-pv-module-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.egsc-pv-module-guidance-grid>div{padding:.9rem;border:1px solid var(--egsc-border);border-radius:16px;background:var(--egsc-card)}
.egsc-pv-module-guidance-grid span{display:block;margin-bottom:.25rem;color:var(--egsc-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.egsc-pv-module-guidance-grid strong{display:block;line-height:1.35}
.egsc-engineering-insight{margin-top:.65rem;border-top:1px solid var(--egsc-border)}
.egsc-engineering-insight summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;cursor:pointer;font-weight:750;list-style:none}
.egsc-engineering-insight summary::-webkit-details-marker{display:none}
.egsc-engineering-insight summary::after{content:"";width:.55rem;height:.55rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.egsc-engineering-insight[open] summary::after{transform:rotate(225deg)}
.egsc-engineering-insight>div{padding:0 0 .8rem;color:var(--egsc-muted);line-height:1.6}
.egsc-engineering-insight p{margin:0 0 .7rem}.egsc-engineering-insight p:last-child{margin-bottom:0}
.egsc-engineering-insight code{white-space:normal}
@media(max-width:820px){.egsc-pv-module-guidance-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.egsc-pv-module-guidance-grid{grid-template-columns:1fr}}
@media print{.egsc-pv-module-guidance{break-inside:avoid}.egsc-engineering-insight{display:block}.egsc-engineering-insight>div{display:block!important}}

/* v2.6.2 clarify individual-module shopping class vs array string voltage */
.egsc-pv-module-guidance-grid small{display:block;margin-top:.3rem;color:var(--egsc-muted);font-size:.72rem;line-height:1.35}
.egsc-pv-module-guidance-head>p{margin:.45rem 0 0;color:var(--egsc-muted);line-height:1.55}

/* v2.6.3 — results dashboard polish */
.egsc-result-tile dt {
	font-size: clamp(.68rem, .25vw + .62rem, var(--egsc-text-xs));
	line-height: 1.28;
	overflow-wrap: anywhere;
}
.egsc-result-tile dd {
	font-size: clamp(1.45rem, 1.35vw + .85rem, 2.2rem);
	overflow-wrap: anywhere;
}
.egsc-result-tile small { line-height: 1.45; }
.egsc-result-badge {
	display: inline-flex;
	align-self: flex-start;
	margin-top: var(--egsc-space-3);
	padding: .28rem .52rem;
	border: 1px solid var(--egsc-border);
	border-radius: var(--egsc-radius-pill);
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--egsc-text-soft);
	background: var(--egsc-surface-muted);
}
.egsc-result-badge.is-amber {
	border-color: color-mix(in srgb, var(--egsc-amber-500) 58%, var(--egsc-border));
	color: var(--egsc-gold-700);
	background: color-mix(in srgb, var(--egsc-amber-500) 12%, var(--egsc-surface));
}
.egsc-key-metric { color: var(--egsc-text); font-weight: 800; }
.egsc-string-explainer { color: var(--egsc-text-soft); font-weight: 760; }
.egsc-result-tile dd,
.egsc-result-tile small { font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) and (min-width: 901px) {
	.egsc-result-tile { padding: clamp(1rem, 1.5vw, var(--egsc-space-5)); }
	.egsc-result-tile dd { font-size: clamp(1.35rem, 1.7vw, 1.8rem); }
}
@media (max-width: 680px) {
	.egsc-result-tile dt { overflow-wrap: normal; }
	.egsc-result-tile dd { font-size: clamp(1.7rem, 8vw, 2.2rem); overflow-wrap: normal; }
	.egsc-result-badge { font-size: .62rem; }
}

/* v2.6.4 — conditional result-status badges */
.egsc-result-badge[title]{cursor:help}
\n\n/* v2.6.5 — visual cold-Voc / hot-Vmp controller window */\n.egsc-voltage-window {\n\tmargin-top: .8rem;\n\tpadding-top: .72rem;\n\tborder-top: 1px solid var(--egsc-border);\n\tfont-variant-numeric: tabular-nums;\n}\n.egsc-voltage-window-head,\n.egsc-voltage-window-limits {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: .75rem;\n}\n.egsc-voltage-window-head { margin-bottom: .45rem; color: var(--egsc-text-soft); }\n.egsc-voltage-window-head strong { color: var(--egsc-text); font-size: .72rem; letter-spacing: .02em; }\n.egsc-voltage-window-head span { font-size: .68rem; }\n.egsc-voltage-window-track {\n\tposition: relative;\n\theight: 3.35rem;\n\tmargin: 0 .35rem;\n}\n.egsc-voltage-window-zone {\n\tposition: absolute;\n\tleft: 0; right: 0; top: 1.55rem;\n\theight: .42rem;\n\tborder-radius: 999px;\n\tbackground: linear-gradient(90deg, color-mix(in srgb, var(--egsc-gold-500) 42%, var(--egsc-surface)), color-mix(in srgb, var(--egsc-accent) 55%, var(--egsc-surface)));\n\tbox-shadow: inset 0 0 0 1px var(--egsc-border);\n}\n.egsc-voltage-marker {\n\tposition: absolute;\n\ttop: .05rem;\n\ttransform: translateX(-50%);\n\tdisplay: grid;\n\tgrid-template-columns: auto auto;\n\tgrid-template-areas: \"icon value\" \"icon label\";\n\tcolumn-gap: .25rem;\n\talign-items: center;\n\twhite-space: nowrap;\n\tcolor: var(--egsc-text);\n}\n.egsc-voltage-marker::after {\n\tcontent: \"\";\n\tposition: absolute;\n\tleft: 50%; top: 1.33rem;\n\twidth: 2px; height: .9rem;\n\ttransform: translateX(-50%);\n\tbackground: currentColor;\n\tborder-radius: 99px;\n}\n.egsc-voltage-marker i { grid-area: icon; font-style: normal; font-size: .72rem; }\n.egsc-voltage-marker b { grid-area: value; font-size: .68rem; line-height: 1; }\n.egsc-voltage-marker small { grid-area: label; margin: .12rem 0 0; font-size: .58rem; line-height: 1; color: var(--egsc-text-muted); }\n.egsc-voltage-marker.is-hot { color: var(--egsc-gold-700); }\n.egsc-voltage-marker.is-cold { color: var(--egsc-accent-strong, var(--egsc-accent)); }\n.egsc-voltage-marker.is-near-limit b { font-weight: 900; }\n.egsc-voltage-window-limits { color: var(--egsc-text-muted); font-size: .6rem; line-height: 1.25; }\n.egsc-voltage-window-limits span:last-child { text-align: right; }\n.egsc-voltage-window-limits b { display: block; color: var(--egsc-text-soft); font-size: .66rem; }\n@media (max-width: 520px) {\n\t.egsc-voltage-window { margin-top: .65rem; }\n\t.egsc-voltage-window-track { height: 3.8rem; margin-inline: .15rem; }\n\t.egsc-voltage-marker { transform: translateX(-50%) scale(.92); transform-origin: center top; }\n\t.egsc-voltage-window-limits { gap: .5rem; }\n}\n@media print {\n\t.egsc-voltage-window-zone { background: #ddd; }\n}\n

/* v2.6.6 — project-level sizing and equipment-verification status */
.egsc-project-status {
  display:flex; align-items:flex-start; gap:.9rem; margin:0 0 1rem; padding:1rem 1.05rem;
  border:1px solid color-mix(in srgb, var(--egsc-gold-500) 48%, var(--egsc-border));
  border-radius:var(--egsc-radius-lg, 18px); background:color-mix(in srgb, var(--egsc-gold-500) 8%, var(--egsc-surface));
}
.egsc-project-status-badge {
  flex:0 0 auto;
  padding:.38rem .7rem;
  border:1px solid #d49b00;
  border-radius:999px;
  font-size:.66rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#1f1700;
  background:#ffe08a;
  box-shadow:0 0 0 1px rgba(255,224,138,.08);
}
.egsc-project-status strong { display:block; margin:.05rem 0 .22rem; color:var(--egsc-text); font-size:.88rem; }
.egsc-project-status p { margin:0; color:var(--egsc-text-soft); font-size:.77rem; line-height:1.55; }
@media (max-width:620px) { .egsc-project-status { flex-direction:column; gap:.6rem; } }
@media (prefers-contrast: more) {
  .egsc-project-status-badge { color:#000; background:#ffd24d; border-color:#7a5900; }
}
@media (forced-colors: active) {
  .egsc-project-status-badge { color:ButtonText; background:ButtonFace; border-color:ButtonText; }
}
@media print {
  .egsc-project-status-badge { color:#111; background:#f3d36a; border-color:#8a6900; }
}


.egsc-project-status.is-equipment-specific {
  border-color: rgba(34, 197, 94, .42);
  background: rgba(34, 197, 94, .10);
}
.egsc-project-status.is-equipment-specific .egsc-project-status-badge {
  background: #bbf7d0;
  border-color: #22c55e;
  color: #052e16;
}

.egsc-project-status.is-incompatible {
	border-color: #dc2626;
	background: color-mix(in srgb, #dc2626 9%, var(--egsc-surface, #fff));
}
.egsc-project-status.is-incompatible .egsc-project-status-badge {
	background: #fee2e2;
	border-color: #dc2626;
	color: #450a0a;
}
[data-egsc-theme="dark"] .egsc-project-status.is-incompatible .egsc-project-status-badge {
	background: #fecaca;
	color: #450a0a;
}
[data-egsc-theme="dark"] .egsc-project-status.is-equipment-specific .egsc-project-status-badge {
  background: #bbf7d0;
  color: #052e16;
}

/* v2.9.2 — clean-slate project reset */
.egsc-clear-project-button { border-color: var(--egsc-border); }
.egsc-clear-project-button:hover { border-color: var(--egsc-border-strong); }


/* Version 2.14 — streamlined system workflow */
.egsc-advanced-settings{margin-top:var(--egsc-space-6);border:1px solid var(--egsc-border);border-radius:20px;background:var(--egsc-surface-muted);overflow:hidden}
.egsc-advanced-settings>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.15rem;cursor:pointer}
.egsc-advanced-settings>summary::-webkit-details-marker{display:none}.egsc-advanced-settings>summary>span:first-child{display:grid;gap:.15rem}.egsc-advanced-settings>summary strong{font-size:1rem}.egsc-advanced-settings>summary small{color:var(--egsc-text-muted);font-size:.78rem;font-weight:550}.egsc-advanced-settings[open]>summary .egsc-chevron{transform:rotate(225deg)}
.egsc-advanced-settings-content{padding:0 1.15rem 1rem}.egsc-advanced-settings-content>.egsc-disclosure-panel:first-child{margin-top:0}
.egsc-picker-kicker{display:block;margin-bottom:.15rem;color:var(--egsc-accent);font-size:.68rem;font-weight:850;letter-spacing:.095em;text-transform:uppercase}
.egsc-catalog-picker label{line-height:1.25}.egsc-temperature-suggest{margin-top:.55rem;min-height:2.55rem;padding:.55rem .8rem}
.egsc-equipment-card h5{margin:8px 0 1px;font-size:1.08rem}.egsc-equipment-model{color:var(--egsc-text-muted);font-size:.78rem;line-height:1.35;word-break:break-word}.egsc-equipment-rating{flex-wrap:wrap}.egsc-equipment-rating strong{order:-1}
.egsc-complete-verification{margin-top:.75rem}.egsc-project-status.is-verification-path{border-color:color-mix(in srgb,var(--egsc-gold-400) 55%,var(--egsc-border));background:color-mix(in srgb,var(--egsc-surface) 92%,var(--egsc-gold-400) 8%)}
@media(max-width:640px){.egsc-brand-mark{width:3.4rem;height:3.4rem}.egsc-advanced-settings>summary{padding:.9rem}.egsc-advanced-settings-content{padding:0 .9rem .8rem}}


/* Version 2.14.1 — compact compatible-products explorer */
.egsc-result-model{
	display:inline;
	color:var(--egsc-text-muted);
	font-weight:650;
}
.egsc-compatible-products{
	margin-top:28px;
	padding:0;
	overflow:hidden;
}
.egsc-compatible-products>summary{
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:20px 24px;
	cursor:pointer;
	user-select:none;
}
.egsc-compatible-products>summary::-webkit-details-marker{display:none}
.egsc-compatible-products>summary>span:first-child{display:grid;gap:4px;min-width:0}
.egsc-compatible-products>summary strong{font-size:1.15rem;line-height:1.2;color:var(--egsc-text)}
.egsc-compatible-products>summary small{color:var(--egsc-text-muted);font-size:.78rem;font-weight:600}
.egsc-compatible-products-chevron{
	width:10px;
	height:10px;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(45deg);
	transition:transform .18s ease;
	flex:0 0 auto;
	color:var(--egsc-text-muted);
}
.egsc-compatible-products[open] .egsc-compatible-products-chevron{transform:rotate(225deg)}
.egsc-compatible-products-content{
	border-top:1px solid var(--egsc-border);
	padding:20px 24px 24px;
}
.egsc-compatible-products-intro{
	margin:0 0 20px;
	color:var(--egsc-text-muted);
	max-width:78ch;
}
.egsc-equipment-group{margin-top:22px}
.egsc-equipment-group:first-of-type{margin-top:0}
.egsc-equipment-group h4{margin:0 0 10px;font-size:.92rem}
.egsc-equipment-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
}
.egsc-equipment-card{
	display:grid;
	grid-template-columns:minmax(220px,.8fr) minmax(0,1.35fr);
	gap:22px;
	align-items:start;
	padding:18px 20px;
}
.egsc-equipment-card-summary{min-width:0}
.egsc-equipment-card-detail{
	min-width:0;
	padding-left:22px;
	border-left:1px solid var(--egsc-border);
}
.egsc-equipment-card .egsc-equipment-fit{margin-bottom:0}
.egsc-equipment-card .egsc-equipment-columns{margin-top:0}
.egsc-equipment-card .egsc-equipment-links{margin-top:12px}
@media(max-width:820px){
	.egsc-equipment-card{grid-template-columns:1fr;gap:14px}
	.egsc-equipment-card-detail{padding-left:0;padding-top:14px;border-left:0;border-top:1px solid var(--egsc-border)}
}
@media(max-width:640px){
	.egsc-compatible-products>summary{padding:17px 18px}
	.egsc-compatible-products-content{padding:18px}
}


/* Version 2.14.2 — branding and results polish */
.egsc-brand-mark{
	width:6.4rem;
	height:6.4rem;
}
.egsc-brand-lockup{gap:var(--egsc-space-4)}
.egsc-brand-lockup .egsc-overline{font-size:.76rem}
.egsc-brand-lockup .egsc-product-name{font-size:1.08rem}

.egsc-result-grid{gap:.7rem}
.egsc-result-tile{
	min-height:8.9rem;
	padding:1rem 1.05rem;
}
.egsc-result-tile dd{
	font-size:clamp(1.35rem,1.7vw,1.9rem);
	line-height:1.05;
	overflow-wrap:anywhere;
}
.egsc-result-tile small{
	margin-top:.65rem;
	line-height:1.4;
}
.egsc-result-tile .egsc-result-model{
	display:block;
	margin-bottom:.2rem;
	font-size:.73rem;
	line-height:1.25;
	font-weight:600;
	color:var(--egsc-text-muted);
	letter-spacing:0;
}
.egsc-readiness{margin-top:1.25rem}
.egsc-result-guidance{margin-top:.8rem}
.egsc-equipment-section,
.egsc-compatible-products{margin-top:1.25rem}

@media(max-width:640px){
	.egsc-brand-mark{width:5.2rem;height:5.2rem}
	.egsc-brand-lockup{gap:.75rem}
	.egsc-brand-lockup .egsc-overline{font-size:.69rem}
	.egsc-brand-lockup .egsc-product-name{font-size:.96rem}
	.egsc-result-tile{min-height:7.8rem;padding:.9rem}
}


/* Version 2.15.0 — Guided System Builder */
.egsc-app[data-egsc-workflow-stage="basics"] .egsc-results{display:none}
.egsc-progress-item.is-complete span{background:var(--egsc-green);color:#07140d;border-color:var(--egsc-green)}
.egsc-progress-item.is-complete strong{color:var(--egsc-text)}
.egsc-advanced-settings>summary strong{font-size:.94rem}
/* Equipment selection belongs to the guided equipment stage, not the assumption editor. */
.egsc-advanced-settings .egsc-catalog-picker{display:none!important}
.egsc-guided-next-step,.egsc-guided-equipment-workspace{
	margin:0 0 24px;padding:24px;border:1px solid var(--egsc-border);border-radius:22px;background:linear-gradient(145deg,rgba(30,197,91,.08),rgba(255,255,255,.015));
}
.egsc-guided-next-step h3,.egsc-guided-equipment-workspace h3{margin:5px 0 8px;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.08}
.egsc-guided-next-step p,.egsc-guided-equipment-workspace p{max-width:76ch;color:var(--egsc-text-muted)}
.egsc-guided-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.egsc-guided-equipment-heading{margin-bottom:18px}
.egsc-guided-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.egsc-guided-equipment-item{display:grid;gap:8px;padding:16px;border:1px solid var(--egsc-border);border-radius:16px;background:var(--egsc-panel-soft);min-width:0}
.egsc-guided-equipment-item>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--egsc-green)}
.egsc-guided-equipment-item select{width:100%;min-width:0;background:transparent;color:var(--egsc-text);border:1px solid var(--egsc-border);border-radius:12px;padding:11px 38px 11px 12px;font:inherit}
.egsc-guided-equipment-item small{color:var(--egsc-text-muted);font-size:.75rem}
.egsc-guided-temperature-help{margin-top:16px;padding:18px;border:1px solid rgba(244,193,74,.55);border-radius:16px;background:rgba(244,193,74,.07)}
.egsc-guided-temperature-help h4{margin:4px 0 8px;font-size:1.2rem}
.egsc-guided-temperature-suggestion{padding:12px 14px;border-radius:12px;background:rgba(30,197,91,.08)}
.egsc-guided-temperature-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0}
.egsc-guided-temperature-controls label{display:grid;gap:6px;font-weight:700}
.egsc-guided-temperature-controls .egsc-input-shell{min-width:180px}
/* The preliminary view is intentionally concise; the detailed engineering content remains in the report and returns for equipment work. */
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-project-status,
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-verified-equipment,
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-readiness,
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-engineering-guidance,
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-pv-module-guidance,
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-pv-layout,
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-result-guidance{display:none}
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-result-grid>div:nth-child(n+9){display:none}
.egsc-app[data-egsc-workflow-stage="equipment"] .egsc-compatible-products,
.egsc-app[data-egsc-workflow-stage="verified"] .egsc-compatible-products{margin-top:22px}
@media(max-width:760px){.egsc-guided-equipment-grid{grid-template-columns:1fr}.egsc-guided-next-step,.egsc-guided-equipment-workspace{padding:18px}.egsc-guided-actions .egsc-button{width:100%}}

@media print{
	.egsc-app[data-egsc-workflow-stage] .egsc-project-status,
	.egsc-app[data-egsc-workflow-stage] .egsc-readiness,
	.egsc-app[data-egsc-workflow-stage] .egsc-engineering-guidance,
	.egsc-app[data-egsc-workflow-stage] .egsc-pv-module-guidance,
	.egsc-app[data-egsc-workflow-stage] .egsc-pv-layout,
	.egsc-app[data-egsc-workflow-stage] .egsc-result-guidance,
	.egsc-app[data-egsc-workflow-stage] .egsc-result-grid>div{display:block!important}
	.egsc-guided-next-step,.egsc-guided-equipment-workspace{display:none!important}
}


/* Version 2.15.1 — enforce guided flow */
/* Before the first successful calculation, keep optional engineering/customization controls out of the basic workflow. */
.egsc-app[data-egsc-workflow-stage="basics"] .egsc-advanced-settings{
	display:none!important;
}
/* Once preliminary results exist, the user may intentionally open customization from the results decision point. */
.egsc-app[data-egsc-workflow-stage="preliminary"] .egsc-advanced-settings,
.egsc-app[data-egsc-workflow-stage="equipment"] .egsc-advanced-settings,
.egsc-app[data-egsc-workflow-stage="verified"] .egsc-advanced-settings{
	display:block;
}


/* Version 2.15.3 — restore full portrait logo and reclaim hero whitespace */
.egsc-brand-mark{
    width:6.4rem;
    height:11.15rem;
    overflow:visible;
    align-self:flex-start;
}
.egsc-brand-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center top;
}
.egsc-brand-row{align-items:flex-start}
.egsc-brand-lockup{align-items:center}
.egsc-hero-copy{
    padding:clamp(.75rem,1.8vw,1.5rem) 0 clamp(2.6rem,5vw,4.6rem);
}
@media(max-width:640px){
    .egsc-brand-mark{width:5.2rem;height:9.05rem}
    .egsc-hero-copy{padding:.65rem 0 2.5rem}
}

/* Version 2.15.4 — balance brand text with the established logo */
.egsc-brand-lockup .egsc-overline{
    font-size:1.22rem;
    letter-spacing:.13em;
    line-height:1.15;
}
.egsc-brand-lockup .egsc-product-name{
    font-size:1.94rem;
    line-height:1.08;
    font-weight:750;
}
@media(max-width:640px){
    .egsc-brand-lockup .egsc-overline{font-size:1.05rem;letter-spacing:.11em}
    .egsc-brand-lockup .egsc-product-name{font-size:1.65rem}
}
