.sf-wizard{background:#fffaf0;border:1px solid #ddd8f8;border-radius:22px;padding:clamp(18px,3vw,36px);margin:0 0 24px;box-shadow:0 12px 30px #36305d0c;color:#26304b}
.sf-wizard-heading{max-width:780px}.sf-wizard-heading h1{font-size:clamp(1.6rem,4vw,2.55rem);line-height:1.2;margin:10px 0}.sf-eyebrow{color:#6558e8;font-weight:800;font-size:.83rem}.sf-wizard-heading p{line-height:1.6;color:#59647c}
.sf-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;gap:6px;padding:0;margin:22px 0}.sf-steps li{font-size:.73rem;line-height:1.4;border-top:5px solid #dddbe4;padding-top:9px;color:#606a7b}.sf-steps li[aria-current=step]{border-color:#6558e8;font-weight:800;color:#4639bf}.sf-steps li.sf-done{border-color:#128878}.sf-panel{background:#fff;border:1px solid #e4e3f0;border-radius:16px;padding:20px;min-height:170px}.sf-panel h2{font-size:1.45rem;margin:0 0 13px}.sf-panel h3{font-size:1.08rem;margin:16px 0 8px}.sf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sf-fields label{font-weight:700;display:block;margin-bottom:6px}.sf-fields input,.sf-fields select,.sf-filter{width:100%;max-width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #c9c9df;border-radius:9px;font:inherit;background:white;color:#26304b}.sf-fields .sf-wide{grid-column:1/-1}.sf-checks{display:flex;gap:14px;flex-wrap:wrap}.sf-checks label{display:inline-flex;align-items:center;gap:5px;font-weight:500}.sf-primary,.sf-muted,.sf-action{min-height:42px;border-radius:11px;padding:10px 14px;border:1px solid #6558e8;font:inherit;font-weight:750;cursor:pointer}.sf-primary{background:#6558e8;color:white}.sf-muted{background:white;color:#594ccd}.sf-action{background:#eaf7f4;color:#116e61;border-color:#b6dfd4}.sf-primary:disabled,.sf-muted:disabled,.sf-action:disabled{opacity:.45;cursor:not-allowed}.sf-nav{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.sf-actions{display:flex;gap:8px;flex-wrap:wrap}.sf-actions button{font:inherit;padding:9px 12px;background:white;border:1px solid #128878;border-radius:9px;color:#116e61;cursor:pointer}.sf-maggie{background:#ecf7f2;padding:15px 18px;border-radius:14px;border:1px solid #c6dfd4}.sf-maggie h3{margin:0}.sf-maggie p{margin:8px 0;color:#3a5961;font-size:.93rem}.sf-message:empty{display:none}.sf-message{background:#eef7ff;padding:12px;border-radius:10px;margin:10px 0}.sf-message.sf-error{background:#fff0f0;color:#922e40}.sf-school{border:1px solid #deddec;padding:15px;margin:10px 0;border-radius:13px;background:#fff}.sf-school h3{margin:0}.sf-school p{font-size:.9rem;line-height:1.4;color:#566079}.sf-school .sf-actions{margin-top:10px}.sf-small{font-size:.83rem;color:#677189}.sf-muted-info{background:#fff7e5;border:1px solid #e8dac5;padding:12px;border-radius:11px}.sf-table-scroll{overflow:auto;max-width:100%;border:1px solid #dddbea;border-radius:12px}.sf-table{border-collapse:collapse;min-width:1400px;width:100%;font-size:.82rem}.sf-table th,.sf-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #e6e5ed;white-space:nowrap}.sf-table th{background:#f2f0fc;position:sticky;top:0}.sf-table th button{background:none;border:0;cursor:pointer;font:inherit;font-weight:800;color:#332e67;padding:3px;white-space:nowrap}.sf-table .sf-filter{padding:6px;margin-top:5px;font-size:.82rem;max-width:135px}.sf-rank-buttons{display:inline-flex;gap:3px}.sf-rank-buttons button{padding:3px 7px;font:inherit}.sf-row-drag{cursor:grab}.sf-row-drag.dragging{opacity:.45}.sf-hidden{display:none!important}.sf-classic{background:#fff;padding:15px;border:1px solid #dddbe9;border-radius:12px;margin-bottom:25px}.sf-classic summary{cursor:pointer;font-weight:800;color:#6558e8}.sf-classic .finder-hero{margin-top:15px}.sf-badge{display:inline-block;background:#f1f0f6;padding:5px 8px;border-radius:8px;font-size:.8rem}.sf-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sf-flow article{border:1px solid #e0dfeb;background:#fcfbff;padding:15px;border-radius:11px}.sf-guide-link{color:#5d4bc1;font-weight:750}.sf-mobile-note{display:none}
@media(max-width:750px){.sf-fields,.sf-flow{grid-template-columns:1fr}.sf-steps li{font-size:.64rem}.sf-steps li span{display:none}.sf-steps li::first-letter{font-weight:900}.sf-table-scroll{margin:0 -10px}.sf-mobile-note{display:block;font-size:.84rem;color:#616c83}.sf-panel{padding:15px}}

/* Consistent school-type choices and clear table filters. */
.sf-school-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sf-school-types label{box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid #d6d1ef;border-radius:11px;padding:9px 12px;font-weight:700;background:#faf9ff}
.sf-school-types label:has(input:checked){border-color:#6558e8;background:#f0eeff}
.sf-school-types input{width:18px;height:18px;flex:0 0 auto;accent-color:#6558e8}
.sf-school-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:9px;font-size:.85rem}
.sf-gender{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-weight:750}
.sf-gender-girls{background:#fde7f3;color:#9e245f}
.sf-gender-boys{background:#e5f0ff;color:#1c56a1}
.sf-gender-mixed{background:#fff0c7;color:#845308}
.sf-gender-unknown{background:#efeff2;color:#515667}
.sf-postcode-link{color:#5941bd;font-weight:750}
.sf-table .sf-th-label,.sf-table .sf-th-filter{display:block}
.sf-table .sf-th-filter input{display:block;max-width:160px;margin-top:7px}
.sf-table .sf-delete-head{min-width:45px}
.sf-remove{border:1px solid #e8c4cb;border-radius:8px;background:#fff1f3;color:#93283f;cursor:pointer;min-width:32px;min-height:32px;font:inherit;font-weight:800}
.sf-screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sf-popup[hidden]{display:none}
.sf-popup{position:fixed;z-index:1001;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(420px,calc(100vw - 32px));background:#fff;border:2px solid #128878;box-shadow:0 18px 70px #15182c4a;border-radius:16px;padding:20px;text-align:center;color:#26304b}
.sf-popup.sf-error{border-color:#b54558}
.sf-popup button{border:0;border-radius:9px;background:#6558e8;color:white;font:inherit;font-weight:750;padding:10px 24px;cursor:pointer}
@media(max-width:750px){.sf-school-types{grid-template-columns:1fr}}

.sf-school-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px;font-size:.85rem}
.sf-school-title h3{margin:0 6px 0 0;font-size:1.08rem}

/* Four-step School Finder; one accessible table across search and application list. */
.sf-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.sf-search-action{margin:14px 0;align-items:center}
.sf-search-action input{min-height:43px;padding:9px 12px;min-width:min(340px,100%);border:1px solid #bfc3d5;border-radius:10px}
.sf-maggie-search{margin:18px 0;padding:16px;background:#ecf7f2;border:1px solid #b6dbcf;border-radius:14px}
.sf-maggie-search textarea{box-sizing:border-box;width:100%;max-width:100%;padding:12px;border-radius:10px;border:1px solid #a3cabe;font:inherit;color:#26304b}
.sf-maggie-search label{display:block;font-weight:700;margin-bottom:7px}
.sf-maggie-search button{margin-top:10px}
.sf-table{min-width:1540px}
.sf-table td{white-space:normal;min-width:95px;max-width:300px;vertical-align:top}
.sf-table td:nth-child(3){min-width:160px}
.sf-table a{color:#5843bf;font-weight:650}
.sf-row-action{min-width:36px;min-height:36px;font-size:1.1rem;font-weight:800;border-radius:9px;cursor:pointer}
.sf-add{background:#eaf7f4;border:1px solid #128878;color:#086b60}
.sf-add:disabled{opacity:.7;cursor:default}
.sf-maggie-search button:focus-visible,.sf-row-action:focus-visible,.sf-table a:focus-visible{outline:3px solid #6558e8;outline-offset:2px}
@media(max-width:750px){.sf-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.sf-search-action input{width:100%}}

/* School Finder Step 1: postcode, Year 7 entry year and search distance share a row.
   Keep the school-type choices on their own full-width row. */
.sf-step1-fields{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr);align-items:start}
.sf-step1-fields > div{min-width:0}
@media(max-width:750px){.sf-step1-fields{grid-template-columns:1fr}}
