/* /context-window-planner only: editable section rows and the stacked allocation bar. Scoped under #ctxApp. */
#ctxApp .ctx-sections { display: grid; gap: 10px; }
#ctxApp .ctx-row { display: grid; gap: 8px; grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; padding: 10px; border: 1px solid var(--bm-line); border-radius: 12px; background: var(--bm-surface); }
#ctxApp .ctx-row .ic-field { gap: 4px; }
#ctxApp .ctx-row .ic-field label { font-size: .78rem; }
#ctxApp .ctx-row input[type="text"], #ctxApp .ctx-row input[type="number"] { width: 100%; min-width: 0; min-height: 40px; padding: 6px 10px; border: 1px solid var(--bm-line); border-radius: 10px; font: inherit; background: var(--bm-surface); color: var(--bm-ink); }
#ctxApp .ctx-row input:focus { border-color: var(--bm-accent); outline: 3px solid var(--bm-accent-ring); }
#ctxApp .ctx-row-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; }
#ctxApp .ctx-row-foot .ic-field { flex-direction: row; align-items: center; gap: 6px; }
#ctxApp .ctx-row-foot .ic-field input { width: 110px; }
#ctxApp .ctx-row-foot .bm-btn { padding: 6px 10px; font-size: .82rem; }
#ctxApp .ctx-bar { height: 28px; border-radius: 10px; }
#ctxApp .ctx-bar > span { min-width: 2px; }
#ctxApp .ctx-bar > .ctx-free { background: transparent; }
#ctxApp .ctx-bar > .ctx-margin { background: repeating-linear-gradient(45deg, var(--bm-line), var(--bm-line) 4px, transparent 4px, transparent 8px); }
@media (max-width: 480px) { #ctxApp .ctx-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } #ctxApp .ctx-row > .ic-field:first-child { grid-column: 1 / -1; } }
