/* Energy's EMIS modules: Savings, Power and meters, Operations, Portfolio. Linked after emis.css (Components\App.razor); only the theme's tokens and emis.css's. */


/* ---- Savings (SavingsPage) ---- */
.em-sv-hero { display: grid; gap: 12px; }
.em-sv-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 12px; }
.em-sv-card { margin: 0; background: var(--panel-2); border: 1px solid var(--border); display: grid; gap: 8px; }
.em-sv-card.em-sv-active { border-left: 4px solid var(--warn); }
.em-sv-card-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.em-sv-card-head b { font-size: 0.95rem; }
.em-sv-card-head .em-status { margin-left: auto; }
.em-sv-figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.em-sv-figs > div { display: grid; }
.em-sv-figs .hint { font-size: 0.74rem; }
.em-sv-figs b { font-variant-numeric: tabular-nums; }
.em-sv-detail { margin: 0; font-size: 0.8rem; }
.em-sv-events { margin-top: 12px; max-height: 460px; overflow: auto; }
.em-sv-funnel { display: grid; gap: 8px; margin: 6px 0 14px; }
.em-sv-stage { display: grid; grid-template-columns: minmax(130px, 180px) 1fr minmax(150px, auto); gap: 12px; align-items: center; }
.em-sv-stage-name { font-weight: 700; font-size: 0.86rem; display: flex; gap: 6px; align-items: center; }
.em-sv-stage-name .em-key { width: 10px; height: 10px; border-radius: 2px; }
.em-sv-stage-track { height: 14px; background: var(--chip); border-radius: 4px; overflow: hidden; }
.em-sv-stage-value { text-align: right; font-variant-numeric: tabular-nums; font-size: 0.84rem; white-space: nowrap; }

/* ---- Power and meters (PowerPage) ---- */
.em-pw-card { margin: 0; background: var(--panel-2); border: 1px solid var(--border); display: grid; gap: 4px; }
.em-pw-card .label { font-weight: 700; color: var(--muted); font-size: 0.82rem; }
.em-pw-events { max-height: 380px; overflow: auto; }

/* ---- Operations (OperationsPage) ---- */
.em-op-key-best { background: var(--good-soft); border: 1px solid var(--border); }
