.sch-engine { margin: 2em 0; position: relative; }
.sch-engine.is-loading { opacity: .6; pointer-events: none; }
.sch-filters { display: flex; gap: .5em; flex-wrap: wrap; margin-bottom: 1.5em; align-items: center; }
.sch-filters input, .sch-filters select, .sch-filters button { padding: .5em; font-size: 1em; }
.sch-view-toggle { display: inline-flex; align-items: center; gap: .25em; font-size: .85em; }
.sch-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5em; }
.sch-results.sch-list { display: block; }
.sch-results.sch-list .sch-card { display: flex; flex-wrap: wrap; gap: 1em; align-items: center; margin-bottom: 1em; }
.sch-card { border: 1px solid #ddd; border-radius: 6px; padding: 1em; background: #fff; }
.sch-card h3 { margin-top: 0; }
.sch-badges { display: flex; gap: .4em; flex-wrap: wrap; margin-bottom: .5em; }
.sch-badge { background: #f0f6fc; color: #2271b1; border-radius: 3px; padding: .15em .5em; font-size: .75em; font-weight: 600; }
.sch-badge-full { background: #e6f4ea; color: #1e7e34; }
.sch-badge-urgent { background: #fdecea; color: #b02a37; }
.sch-badge-closed { background: #eee; color: #555; }
.sch-meta { list-style: none; padding: 0; margin: .5em 0; font-size: .9em; }
.sch-actions { display: flex; gap: .5em; margin-top: .75em; flex-wrap: wrap; }
.sch-apply { background: #2271b1; color: #fff; padding: .5em 1em; border-radius: 4px; text-decoration: none; }
.sch-apply:hover { background: #135e96; }
.sch-bookmark { background: transparent; border: 1px solid #2271b1; color: #2271b1; padding: .5em 1em; border-radius: 4px; cursor: pointer; }
.sch-bookmark.is-saved { background: #2271b1; color: #fff; }
.sch-pagination { margin-top: 1.5em; text-align: center; }

/* Eligibility form */
.sch-eligibility-form { max-width: 600px; margin: 2em 0; padding: 1.5em; border: 1px solid #ddd; border-radius: 6px; }
.sch-eligibility-form label { display: block; margin-bottom: .75em; }
.sch-eligibility-form input, .sch-eligibility-form select { width: 100%; padding: .4em; }
.sch-eligibility-results { margin-top: 1.5em; }