.cf-student-find { background: #fff; }
.cf-student-find__filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.5rem; }
.cf-student-find__filters span { padding: .5rem .7rem; border: 1px solid var(--cf-line); border-radius: 999px; background: #f7fafb; color: var(--cf-muted); font-size: .7rem; font-weight: 700; }
.cf-student-browser { transform: rotate(1deg); }

.cf-student-context { background: var(--cf-bg); }
.cf-student-context .cf-section-heading { max-width: 800px; }
.cf-student-context article { height: 100%; padding: 1.5rem; border: 1px solid var(--cf-line); border-radius: 18px; background: #fff; }
.cf-student-context article > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 1rem; border-radius: 12px; background: #def7f5; color: var(--cf-cyan-dark); font-weight: 900; }
.cf-student-context h3 { font-size: 1.05rem; }
.cf-student-context ul { margin: .9rem 0 0; padding: 0; list-style: none; }
.cf-student-context li { position: relative; padding: .3rem 0 .3rem 1.25rem; color: var(--cf-muted); font-size: .78rem; }
.cf-student-context li::before { content: "✓"; position: absolute; left: 0; color: var(--cf-cyan-dark); font-weight: 900; }

.cf-student-source { background: #fff; }
.cf-student-source-map { position: relative; padding: 2rem; border: 1px solid var(--cf-line); border-radius: 22px; background: #f7fafb; }
.cf-student-source-node { display: flex; align-items: center; gap: .8rem; max-width: 320px; padding: 1rem; border-radius: 14px; background: #fff; box-shadow: 0 12px 30px rgba(20, 50, 75, .08); }
.cf-student-source-node.source { margin: 0 auto; }
.cf-student-source-node.core { margin: 0 auto; background: var(--cf-navy); color: #fff; }
.cf-student-source-node > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #e3f1ff; color: #3a78bd; font-size: .68rem; font-weight: 900; }
.cf-student-source-node.core > span { background: var(--cf-cyan); color: var(--cf-navy); }
.cf-student-source-node p { flex: 1; margin: 0; }
.cf-student-source-node strong,
.cf-student-source-node small { display: block; }
.cf-student-source-node small { color: var(--cf-muted); font-size: .67rem; }
.cf-student-source-node.core small { color: #9db1c1; }
.cf-student-source-arrow { display: flex; flex-direction: column; align-items: center; padding: .7rem; color: var(--cf-muted); font-size: .63rem; }
.cf-student-source-arrow b { color: var(--cf-cyan-dark); font-size: 1.3rem; transform: rotate(90deg); }
.cf-student-source-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: 1rem; }
.cf-student-source-fields span { padding: .6rem; border: 1px solid var(--cf-line); border-radius: 9px; background: #fff; color: var(--cf-muted); font-size: .66rem; text-align: center; }

.cf-student-actions { background: linear-gradient(135deg, #071b2f, #113b5d); color: #fff; }
.cf-student-actions h2 { color: #fff; }
.cf-student-actions p { color: #b4c7d4; }
.cf-student-actions .cf-kicker { color: var(--cf-cyan); }
.cf-student-action-list { margin-top: 1.4rem; }
.cf-student-action-list a { display: flex; align-items: center; gap: .75rem; padding: .8rem 0; border-top: 1px solid rgba(255, 255, 255, .1); color: #fff; }
.cf-student-action-list a > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(36, 211, 197, .13); color: var(--cf-cyan); font-size: .65rem; font-weight: 900; }
.cf-student-action-list p { flex: 1; margin: 0; }
.cf-student-action-list strong,
.cf-student-action-list small { display: block; }
.cf-student-action-list small { color: #91a9b9; font-size: .68rem; }
.cf-student-action-list b { color: var(--cf-cyan); }
.cf-student-profile-preview { overflow: hidden; border-radius: 20px; background: #fff; color: var(--cf-ink); box-shadow: 0 35px 90px rgba(0, 0, 0, .3); }
.cf-student-profile-preview__head { display: flex; align-items: center; gap: .8rem; padding: 1.2rem; border-bottom: 1px solid var(--cf-line); }
.cf-student-profile-preview__head > i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #e3f1ff; color: #3a78bd; font-style: normal; font-weight: 900; }
.cf-student-profile-preview__head p { flex: 1; margin: 0; }
.cf-student-profile-preview__head small,
.cf-student-profile-preview__head strong,
.cf-student-profile-preview__head span { display: block; }
.cf-student-profile-preview__head small,
.cf-student-profile-preview__head span { color: var(--cf-muted); font-size: .65rem; }
.cf-student-profile-preview__head > b { padding: .35rem .5rem; border-radius: 7px; background: #e8f8f2; color: #239b75; font-size: .62rem; }
.cf-student-profile-preview__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; padding: 1rem; background: #f5f8fa; }
.cf-student-profile-preview__stats > div { padding: .8rem; border-radius: 10px; background: #fff; }
.cf-student-profile-preview__stats small,
.cf-student-profile-preview__stats strong,
.cf-student-profile-preview__stats span { display: block; }
.cf-student-profile-preview__stats small,
.cf-student-profile-preview__stats span { color: var(--cf-muted); font-size: .58rem; }
.cf-student-profile-preview__stats strong { font-size: 1.1rem; }
.cf-student-profile-preview__contacts { padding: 1rem; }
.cf-student-profile-preview__contacts > div { display: flex; gap: .8rem; padding: .75rem 0; border-bottom: 1px solid var(--cf-line); }
.cf-student-profile-preview__contacts > div > span { width: 85px; color: var(--cf-muted); font-size: .65rem; }
.cf-student-profile-preview__contacts p { margin: 0; }
.cf-student-profile-preview__contacts strong,
.cf-student-profile-preview__contacts small { display: block; }
.cf-student-profile-preview__contacts small { color: var(--cf-muted); font-size: .62rem; }
.cf-student-profile-preview > a { display: block; padding: .9rem 1rem; background: var(--cf-cyan); color: var(--cf-navy); font-size: .7rem; font-weight: 900; text-align: center; }

.cf-student-selfservice { background: var(--cf-bg); }
.cf-student-change { overflow: hidden; border: 1px solid var(--cf-line); border-radius: 18px; background: #fff; box-shadow: var(--cf-shadow); }
.cf-student-change__head { display: flex; align-items: center; gap: .75rem; padding: 1rem; border-bottom: 1px solid var(--cf-line); }
.cf-student-change__head > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #eeebff; color: #7765e8; font-weight: 900; }
.cf-student-change__head p { flex: 1; margin: 0; }
.cf-student-change__head strong,
.cf-student-change__head small { display: block; }
.cf-student-change__head small { color: var(--cf-muted); font-size: .65rem; }
.cf-student-change__head > b { padding: .35rem .5rem; border-radius: 7px; background: #fff2d7; color: #9d6b11; font-size: .6rem; }
.cf-student-change__field { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: 1.2rem; }
.cf-student-change__field > span { grid-column: 1 / -1; color: var(--cf-muted); font-size: .65rem; }
.cf-student-change__field del,
.cf-student-change__field strong { padding: .7rem; border-radius: 9px; font-size: .72rem; }
.cf-student-change__field del { background: #fff0ef; color: #a65c57; }
.cf-student-change__field strong { background: #e8f8f2; color: #237b60; }
.cf-student-change__actions { display: flex; justify-content: flex-end; gap: .6rem; padding: .9rem 1.2rem; border-top: 1px solid var(--cf-line); }
.cf-student-change__actions button { padding: .55rem .7rem; border: 1px solid var(--cf-line); border-radius: 8px; background: #fff; color: var(--cf-muted); font-size: .65rem; font-weight: 900; }
.cf-student-change__actions button:first-child { border-color: var(--cf-navy); background: var(--cf-navy); color: #fff; }

.cf-student-boundary { background: #fff; }
.cf-student-boundary-list { padding: 1.25rem; border: 1px solid var(--cf-line); border-radius: 18px; background: #f7fafb; }
.cf-student-boundary-list > div { display: flex; align-items: center; gap: .75rem; padding: .8rem; border-bottom: 1px solid var(--cf-line); }
.cf-student-boundary-list > div:last-child { border: 0; }
.cf-student-boundary-list span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #def7f5; color: var(--cf-cyan-dark); font-size: .7rem; font-weight: 900; }
.cf-student-boundary-list .muted { color: var(--cf-muted); }
.cf-student-boundary-list .muted span { background: #edf1f3; color: #899aa6; }

@media (max-width: 767.98px) {
  .cf-student-profile-preview__stats { grid-template-columns: 1fr; }
  .cf-student-change__field { grid-template-columns: 1fr; }
  .cf-student-change__field > span { grid-column: auto; }
}
