/* =========================================================================
   netex · engines/demand-forecast.css · «Προβλέπει»: three controls, one chart, stamped outputs
   ========================================================================= */
@layer reset, tokens, base, components, layout, pages, utilities;

@layer pages {

.ai-forecast { display: grid; gap: var(--s-4); container-type: inline-size; }
.ai-forecast__sku { font-size: .8125rem; color: var(--fg-2); }
.ai-forecast__grid { display: grid; gap: var(--s-5) var(--gutter); align-items: start; }
@container (min-width: 900px) {
	.ai-forecast__grid { grid-template-columns: minmax(220px, 3fr) minmax(0, 6fr) minmax(220px, 3fr); }
}
.ai-forecast__ctl { display: grid; gap: var(--s-4); }
.ai-forecast__ctl .nx-field__label { display: flex; justify-content: space-between; gap: var(--s-2); }
.ai-forecast__ctl output { color: var(--fg); font-weight: 600; }
.ai-forecast__promo { margin: 0; padding: 0; border: 0; min-width: 0; }
.ai-forecast__promo .nx-seg > * { min-height: 40px; padding-inline: var(--s-3); font-size: .75rem; }
.ai-forecast__chart { min-height: 200px; background: var(--ink); border: var(--bw) solid var(--rule); }
.fc-svg { display: block; width: 100%; height: auto; }
.fc-axis line { stroke: var(--rule-dark); stroke-width: 1; }
.fc-axis text, .fc-legend text { fill: var(--steel); font: 500 11px/1 var(--f-mono); }
.fc-axl { fill: var(--paper-72) !important; text-transform: uppercase; letter-spacing: .06em; }
.fc-band { fill: color-mix(in srgb, var(--cyan) 14%, transparent); stroke: none; }
.fc-line { fill: none; stroke: var(--cyan); stroke-width: 2.5; stroke-linejoin: round; }
.fc-habit { fill: none; stroke: var(--paper); stroke-width: 1.5; stroke-dasharray: 6 5; }
.fc-waste { fill: color-mix(in srgb, var(--molten) 26%, transparent); stroke: none; }
/* empty-shelf risk: the −47° hidden-cost hatch in Molten (amber is reserved for the X-ray heat scale) */
.fc-short { stroke: none; }
.fc-hatchline { stroke: var(--molten); stroke-width: 1.4; }
.fc-fri line { stroke: var(--paper-72); stroke-dasharray: 2 4; }
.fc-fri circle { fill: var(--cyan); stroke: var(--ink); stroke-width: 2; }
.fc-fri text { fill: var(--paper); font: 600 11px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .06em; }
.ai-forecast__out { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.ai-forecast__out > li { padding: var(--s-2) 0; border-top: var(--bw) solid var(--rule); font: 500 .875rem/1.4 var(--f-mono); }
.ai-forecast__out > li:first-child { font-size: 1.125rem; font-weight: 600; color: var(--sig); }
.ai-forecast__out > li.is-leak { color: var(--leak); }
.ai-forecast__out > li.is-sig { color: var(--sig); }
.ai-forecast__out > li[data-level="high"] { color: var(--leak); font-weight: 600; }
.ai-forecast__decode { font-size: 1.0625rem; max-width: 64ch; }
.ai-forecast__labels { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-5); }
html:not(.js) .ai-forecast__ctl, html:not(.js) .ai-forecast__chart { display: none; }

} /* end @layer pages */
