.prereq-editor { display: flex; flex-direction: column; gap: 0.6rem; } .prereq-editor-empty { margin: 0; font-size: 0.85rem; color: var(--color-text-muted, #777); font-style: italic; } .prereq-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.45rem; } .prereq-row { display: flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.6rem; border: 1px solid var(--color-border, #e2e2e2); border-radius: 8px; background: var(--color-surface, #fff); } .prereq-row-label { font-size: 0.85rem; color: var(--color-text-muted, #555); white-space: nowrap; } .prereq-input { flex: 1; min-width: 0; padding: 0.3rem 0.5rem; border: 1px solid var(--color-border, #d8d8d8); border-radius: 6px; font-size: 0.88rem; background: var(--color-bg, #fafafa); &:focus { outline: none; border-color: var(--color-primary, #2c6cd6); } } .prereq-input-number { flex: 0 0 90px; } .prereq-remove { background: transparent; border: none; color: var(--color-danger, #c0392b); cursor: pointer; padding: 0.3rem; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; &:hover { background: rgba(192, 57, 43, 0.08); } } .prereq-add { position: relative; align-self: flex-start; } .prereq-add-btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.7rem; } .prereq-add-menu { position: absolute; top: calc(100% + 4px); left: 0; z-index: 5; display: flex; flex-direction: column; min-width: 220px; background: var(--color-surface, #fff); border: 1px solid var(--color-border, #e2e2e2); border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); overflow: hidden; button { background: transparent; border: none; text-align: left; padding: 0.55rem 0.75rem; font-size: 0.88rem; cursor: pointer; &:hover { background: rgba(66, 133, 244, 0.08); } } }