/* v4.15 styles */
.lnglcoe { max-width: 1280px; margin: 20px auto; padding: 0 16px; box-sizing:border-box; }
.lnglcoe .title { font-size: 1.6rem; margin: 4px 0 12px; }
.lnglcoe .title small { font-size:.9rem; margin-left:6px }
.layout { display:grid; grid-template-columns: 1fr 360px; gap: 14px }
.maincol { min-width: 0 }
.sidecol { position: relative }
.kpi-card { position: sticky; top: 16px; display:grid; gap:10px; background:#ffffff; border:1px solid #e5e7eb; border-radius:16px; padding:14px; margin-bottom:14px }
.kpi-title { font-weight:900; color:#60a5fa; letter-spacing:.2px; }
.kpi-card .kpi { background:#ffffff; border:1px solid #e5e7eb; border-radius:14px; padding:10px }
.kpi-card .kpi .k { color:#6b7280; font-size:.85rem; margin-bottom:6px }
.kpi-card .kpi > div:last-child { font-size:1.15rem; font-weight:800; color:#34d399 }
.lnglcoe .card { background:#ffffff; border:1px solid #e5e7eb; border-radius:16px; padding:14px; box-shadow:0 10px 30px rgba(0,0,0,.35); margin-bottom:14px }
.lnglcoe h2 { font-size:1.1rem; margin:0 0 10px; color:inherit }
.lnglcoe .group { border:1px dashed #e5e7eb; border-radius:14px; padding:12px; margin:12px 0; background:#ffffff; }
.lnglcoe .group h3 { margin:0 0 8px; font-size:1rem; color:#2563eb }
.lnglcoe .grid { display:grid; grid-template-columns: 1fr; gap:10px }
.lnglcoe .row { display:grid; grid-template-columns: 220px 1fr 1fr; gap:10px; align-items:center }
.lnglcoe .row label { color:inherit; font-size:.9rem }
.lnglcoe .row input, .lnglcoe .row select { width:100%; padding:10px 12px; border-radius:10px; border:1px solid #e5e7eb; background:#ffffff; color:inherit }
.lnglcoe .row input:focus, .lnglcoe .row select:focus { outline:none; border-color:#fb923c; box-shadow:0 0 0 2px rgba(251,146,60,.35) }
.lnglcoe .hint { color:#6b7280; font-size:.8rem }
.lnglcoe .actions { display:flex; gap:10px; margin-top:12px }
.lnglcoe button { background: linear-gradient(90deg, #fb923c, #f97316); border:none; padding:10px 14px; border-radius:999px; color:#ffffff; font-weight:700; cursor:pointer }
.lnglcoe button.secondary { background:#ffffff; border:1px solid #e5e7eb; color:inherit }
.lnglcoe table { width:100%; border-collapse:collapse; }
.lnglcoe th, .lnglcoe td { padding:8px 10px; border-bottom:1px solid #e5e7eb; color:inherit; font-size:.92rem }
.lnglcoe th { text-align:left; color:#2563eb }
@media (max-width: 1100px){
  .layout { grid-template-columns: 1fr; }
  .kpi-card { position: static; }
}
@media (max-width: 780px){
  .lnglcoe .row { grid-template-columns: 1fr; }
}
.lnglcoe .seg { display:flex; gap:8px; flex-wrap:wrap }
.lnglcoe .pill { border-radius:999px; padding:8px 14px; border:1px solid #e5e7eb; background:#ffffff; color:inherit; cursor:pointer; font-weight:700 }
.lnglcoe .pill.active { background:#fb923c; color:#ffffff; border-color:#fb923c }
.lnglcoe .chp-hot, .lnglcoe .chp-steam { display:none }
.revenue-only { display:none }
.credit-only { display:none }
.logic ol { margin: 0 0 0 18px; padding: 0; }
.logic li { margin: 6px 0; }

/* minimal frameless for yearly table */
.lnglcoe .frameless { background: transparent; border: none; box-shadow: none; padding: 0; margin-top: 16px }
.lnglcoe .frameless details { background:#ffffff; border:1px solid #e5e7eb; border-radius:16px; padding:12px }
.lnglcoe .frameless summary { cursor:pointer; font-weight:800; color:#2563eb; list-style:none }
.lnglcoe .frameless summary::-webkit-details-marker { display:none }
.lnglcoe .frameless table { border: none }
.lnglcoe .frameless th, .lnglcoe .frameless td { border: none }

.kpi-stick{ position:sticky; top:16px }
@media (max-width:1100px){ .kpi-stick{ position:static } }



