.knowledge-line {
  margin-top: 9px !important;
  max-width: 720px;
  color: #52645f !important;
  font-size: 10px !important;
  line-height: 1.55 !important;
}

.knowledge-line.muted {
  color: #8a9692 !important;
}

.knowledge-line a {
  color: #157a6e;
  font-weight: 700;
  text-decoration: none;
}

.knowledge-line a:hover {
  text-decoration: underline;
}

.advanced-filters {
  grid-template-columns: repeat(6, minmax(110px, 1fr)) auto;
}

.advanced-filters select:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.match-pending {
  color: #788784 !important;
}

.major-detail {
  margin-top: 9px;
  border-top: 1px dashed #d8e1dd;
  padding-top: 8px;
  font-size: 10px;
}

.major-detail summary {
  width: max-content;
  color: #0c5d53;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}

.major-detail-grid {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #e0e9e5;
  border-radius: 14px;
  background: #f4f7f4;
}

.major-detail-grid section b {
  color: #193b3d;
}

.major-detail-grid section p {
  margin: 3px 0 0;
  color: #66777a;
  line-height: 1.65;
}
.detail-section{padding:15px 17px;border:1px solid #e2e9e6;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(25,59,61,.035)}
.detail-section h4{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#123f41;font-size:14px;line-height:1.4}
.detail-section h4::before{content:"";width:4px;height:16px;border-radius:4px;background:#16776c}
.detail-copy p{margin:0 0 8px!important;color:#405c61!important;font-size:13px!important;line-height:1.9!important;text-align:justify}
.detail-copy p:last-child{margin-bottom:0!important}
.detail-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.detail-chip-list li{padding:6px 10px;border:1px solid #d8e6e1;border-radius:8px;background:#f5faf7;color:#38585b;font-size:12px;line-height:1.45}

.major-detail footer {
  margin-top: 7px;
  color: #8a9692;
}

.major-detail a {
  color: #157a6e;
}

.major-detail.unavailable {
  color: #8a9692;
}

.recommend-card {
  align-items: flex-start !important;
}

.recommend-card > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-self: flex-start;
  min-width: 110px;
}

.recommend-card > div:last-child .risk-badge,
.recommend-card > div:last-child .add-btn {
  width: 100%;
  margin: 0;
}

.school-logo,
.match-info,
.probability {
  margin-top: 4px;
}

.school-info > p,
.match-info p,
.knowledge-line {
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.school-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.school-tags span {
  margin: 0 !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
}

.major-detail {
  font-size: 12px;
}

.major-detail summary {
  padding: 6px 0;
  font-size: 13px;
}

.major-detail-grid {
  max-height: none;
  overflow: visible;
  font-size: 12px;
}

.major-detail-grid section p {
  display: block;
  max-height: none;
  overflow: visible;
  white-space: normal;
  word-break: break-word;
  font-size: 13px !important;
}

.major-detail footer {
  font-size: 11px;
}

.source-level {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 99px;
  font-size: 10px;
  font-weight: 700;
}

.source-level.verified {
  background: #dff2e9;
  color: #0c5d53;
}

.source-level.generic {
  background: #f2eee5;
  color: #826b3f;
}

.detail-scope-note {
  margin-top: 10px;
  padding: 9px 11px;
  border-left: 3px solid #14766a;
  border-radius: 6px;
  background: #eef6f2;
  color: #425d58;
  font-size: 11px;
  line-height: 1.6;
}

.detail-scope-note.warning {
  border-left-color: #e8b354;
  background: #fff8e8;
  color: #735f35;
}

.filter-state {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) 2fr;
  gap: 18px;
  align-items: center;
  margin: -6px 0 14px;
  padding: 13px 16px;
  border: 1px solid #dce5e1;
  border-radius: 12px;
  background: #f9fbf8;
}

.filter-state b,
.filter-state small {
  display: block;
}

.filter-state b {
  color: #71817d;
  font-size: 9px;
}

.filter-state strong {
  display: block;
  margin: 3px 0;
  color: #123b3a;
  font-size: 13px;
}

.filter-state strong i {
  color: #e9785d;
  font-style: normal;
}

.filter-state small {
  color: #899590;
  font-size: 9px;
}

.active-filter-tags {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.active-filter-tags span {
  padding: 5px 8px;
  border-radius: 99px;
  background: #e4efe9;
  color: #0c5d53;
  font-size: 9px;
  font-weight: 700;
}

@media (max-width: 1050px) {
  .advanced-filters {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 720px) {
  .advanced-filters {
    grid-template-columns: 1fr 1fr;
  }

  .filter-state {
    grid-template-columns: 1fr;
  }

  .active-filter-tags {
    justify-content: flex-start;
  }
}
.source-verified{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#e7f4ee;color:#086556;font-size:13px;font-weight:700;white-space:nowrap}
.spec-open{overflow:hidden}
.spec-overlay[hidden]{display:none}
.spec-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,31,39,.58);padding:28px;display:flex;align-items:center;justify-content:center}
.spec-panel{width:min(980px,100%);max-height:calc(100vh - 56px);overflow:auto;background:#fbfcfa;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.28);color:#14323b}
.spec-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;background:#fbfcfa;border-bottom:1px solid #dce7e3}
.spec-header h2{margin:4px 0 0;font-size:25px}
.spec-back{border:1px solid #087065;border-radius:10px;background:#fff;color:#075f57;padding:11px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.spec-body{padding:12px 30px 26px;font-size:15px;line-height:1.8}
.spec-body section{padding:13px 0;border-bottom:1px solid #e5ece9}
.spec-body section:last-child{border-bottom:0}
.spec-body h3{margin:4px 0 12px;font-size:19px;color:#073f45}
.spec-body h4{margin:14px 0 3px;font-size:16px}
.spec-body p,.spec-body li{color:#405b62}
.spec-body .spec-fields{padding:9px 12px;border-radius:8px;background:#eef4f1;color:#31555a;font-family:Consolas,"Microsoft YaHei",sans-serif;font-size:13px;word-break:break-word}
.spec-body ul,.spec-body ol{margin:6px 0;padding-left:24px}
.spec-footer{display:flex;justify-content:flex-end;padding:18px 28px 26px}
.lazy-detail-status{margin-top:12px;padding:14px;border-radius:9px;background:#eef4f1;color:#54706f;font-size:12px}
.career-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}.career-tags b{margin-right:2px;color:#274b4b;font-size:12px}.career-tags span{padding:5px 9px;border-radius:999px;background:#e8f3ed;color:#08665c;font-size:11px;font-weight:750}.career-tags small{color:#778985;font-size:10px}
.assessment-confidence{margin:10px 0 16px;padding:12px 14px;border-radius:11px;background:#fff4d9;color:#65552f}.assessment-confidence b,.assessment-confidence small{display:block}.assessment-confidence small{margin-top:4px;font-size:11px;line-height:1.55}.risk-definition{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-6px 0 14px;padding:10px 13px;border:1px solid #dfe8e3;border-radius:11px;background:#fafcf9;font-size:11px}.risk-definition b{color:#174743}.risk-definition span{padding:4px 7px;border-radius:7px;background:#edf3ef;color:#526965}.risk-definition small{color:#778783}
.strength-line{margin-top:10px;padding:10px 12px;border:1px solid #dce7e2;border-radius:10px;background:#fbfcf9}.strength-line>b{display:block;margin-bottom:7px;color:#173f42;font-size:12px}.strength-line>div{display:flex;flex-wrap:wrap;gap:6px}.strength-line span{display:inline-flex;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:800}.strength-grade{background:#123f45;color:#fff}.strength-badge.elite{background:#f4e7bd;color:#765b17}.strength-badge.national{background:#dff1e9;color:#08665c}.strength-line small{display:block;margin-top:7px;color:#647876;font-size:11px}.strength-line a{display:inline-block;margin-top:5px;color:#087166;font-size:11px;font-weight:700}
.industry-line{margin-top:10px;border:1px solid #d8e5df;border-radius:11px;background:#f6fbf7;overflow:hidden}.industry-line.pending{border-style:dashed;background:#fbfaf5}.industry-line summary{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;list-style:none}.industry-line summary::-webkit-details-marker{display:none}.industry-line summary>span{padding:4px 8px;border-radius:7px;background:#0c675d;color:#fff;font-size:10px;font-weight:800}.industry-line.pending summary>span{background:#8a7138}.industry-line summary>b{font-size:12px;color:#173f42}.industry-line summary>small{margin-left:auto;color:#6a7c79;font-size:10px}.industry-detail{padding:0 14px 14px;color:#405c61;font-size:12px;line-height:1.8}.industry-detail>p{margin:0 0 10px;font-weight:700;color:#264d4d}.industry-detail section{padding:10px 0;border-top:1px solid #dfe8e3}.industry-detail h4,.industry-detail p{margin:0 0 6px}.industry-detail a{color:#087166;font-weight:700}.industry-review-note{padding:9px 11px;border-radius:8px;background:#fff4dc;color:#735f35;font-size:11px}
@media(max-width:720px){.spec-overlay{padding:0}.spec-panel{max-height:100vh;height:100vh;border-radius:0}.spec-header{padding:16px;align-items:flex-start}.spec-header h2{font-size:20px}.spec-back{padding:9px 11px}.spec-body{padding:10px 18px 22px;font-size:14px}}
@media(max-width:720px){.industry-line summary{align-items:flex-start;flex-wrap:wrap}.industry-line summary>small{width:100%;margin-left:0}}
@media(max-width:720px){
  .recommend-card{grid-template-columns:42px 1fr auto;gap:10px 12px;padding:16px;align-items:start}
  .recommend-card .school-logo{grid-column:1;grid-row:1}
  .recommend-card .school-info{grid-column:2/-1;grid-row:1}
  .recommend-card .match-info{display:block;grid-column:1/-1;grid-row:2;padding:12px 13px;border-radius:11px;background:#f5f8f5}
  .recommend-card .match-info b{display:block;margin-bottom:7px;font-size:14px}
  .recommend-card .match-info p{font-size:12px;line-height:1.55;margin:5px 0;color:#526967}
  .recommend-card .probability{display:flex;grid-column:1/3;grid-row:3;align-items:center;gap:9px;text-align:left;padding:8px 2px}
  .recommend-card .probability strong{font-size:28px}
  .recommend-card .probability small{font-size:11px}
  .recommend-card>div:last-child{grid-column:3;grid-row:3;align-self:center}
}
