#line-forecast{margin:.8rem 0;border:1px solid #ec489966;border-radius:10px;background:#fff;overflow:hidden}
#line-forecast summary{display:flex;align-items:center;min-height:44px;padding:.7rem;cursor:pointer;font-weight:700;color:#be185d}
#line-forecast summary::before{content:'▸';margin-right:.45rem}
#line-forecast[open] summary::before{content:'▾'}
#line-forecast .forecast-body{padding:0 .7rem .8rem}
#line-forecast p{font-size:.8rem;line-height:1.5;margin:.4rem 0;color:#475569}
#line-forecast label{display:block;font-weight:600;font-size:.85rem;margin:.6rem 0 .25rem}
#forecast-line{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:7px;padding:.5rem;font:inherit;background:#fff;color:#1e293b}
#forecast-board{display:grid;grid-template-columns:repeat(var(--forecast-size,3),minmax(0,1fr));gap:3px;margin:.7rem auto;width:100%;max-width:240px}
.forecast-cell{min-height:35px;display:flex;justify-content:center;align-items:center;border-radius:5px;background:#fce7f3;color:#831843;font-weight:700;font-size:.8rem}
.forecast-cell.home{background:#dcfce7;color:#14532d;border:1px solid #16a34a}
.forecast-cell.gap{background:#e2e8f0;color:#475569;font-size:.65rem}
.forecast-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
#line-forecast button{flex:1;min-width:100px;min-height:44px;padding:.5rem;border:1px solid #ec489966;border-radius:7px;background:#fff;color:#be185d;font:inherit;font-weight:700;cursor:pointer}
#line-forecast #forecast-apply{background:#be185d;color:#fff}
#line-forecast button:disabled,#forecast-line:disabled{opacity:.5;cursor:default}
#line-forecast :focus-visible{outline:3px solid #0ea5e9;outline-offset:2px}
