.recommend-toolbar{display:flex;align-items:end;gap:14px;margin-bottom:14px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.recommend-toolbar label{display:flex;flex:1;flex-direction:column;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.recommend-toolbar select{width:100%;border:1px solid #d8e1dd;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink)}.recommend-toolbar-actions{display:flex;gap:10px}.recommend-toolbar-actions button{min-height:42px;white-space:nowrap}.recommend-profile-manager{margin:0 0 18px;padding:18px 20px;border:1px solid #d7e5de;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#f7fbf9 100%)}.recommend-profile-heading,.recommend-profile-empty{display:flex;align-items:center;justify-content:space-between;gap:18px}.recommend-profile-heading>div,.recommend-profile-empty>div{display:grid;gap:4px}.recommend-profile-heading span,.recommend-profile-empty span{color:var(--green);font-size:12px;font-weight:800}.recommend-profile-heading strong,.recommend-profile-empty strong{font-size:18px}.recommend-profile-heading small,.recommend-profile-empty small{color:var(--muted)}.recommend-profile-edit{display:inline-flex;align-items:center;gap:7px;border:1px solid #b9d8ca;border-radius:10px;padding:10px 13px;background:#fff;color:var(--green-dark);font-weight:700;cursor:pointer}.recommend-profile-edit svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.recommend-profile-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:15px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.recommend-profile-facts span{min-width:0;padding:11px 13px;border-right:1px solid var(--line)}.recommend-profile-facts span:last-child{border-right:0}.recommend-profile-facts small,.recommend-profile-facts strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-profile-facts small{margin-bottom:4px;color:var(--muted);font-size:11px}.recommend-profile-facts strong{font-size:14px}.recommend-history-panel{margin:0 0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.recommend-history-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.recommend-history-head div{display:grid;gap:3px}.recommend-history-head span{color:var(--green);font-size:12px;font-weight:800}.recommend-history-head small,.recommend-history-empty{color:var(--muted);font-size:12px}.recommend-history-list{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px}.recommend-run-chip{min-width:220px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#f8fbfa;color:var(--ink);text-align:left;cursor:pointer}.recommend-run-chip.active{border-color:var(--green);background:var(--green-soft)}.recommend-run-chip strong,.recommend-run-chip span,.recommend-run-chip small{display:block}.recommend-run-chip span{margin:4px 0;color:var(--muted);font-size:12px}.recommend-run-chip small{color:var(--muted)}.recommend-run-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:11px 14px;border:1px solid #cfe4da;border-radius:11px;background:#f4faf7;color:#476057;font-size:12px}.recommend-run-meta div{display:flex;flex-wrap:wrap;gap:8px 14px}.recommend-run-meta button{flex:0 0 auto;border:1px solid var(--green);border-radius:8px;background:#fff;padding:7px 11px;color:var(--green);cursor:pointer;font-weight:700}@media(max-width:700px){.recommend-history-head,.recommend-run-meta{align-items:flex-start;flex-direction:column}.recommend-run-meta button{width:100%}.recommend-run-chip{min-width:190px}}.offering-collapse-note{grid-column:1/-1;margin:2px 0 0;padding:9px 11px;border-radius:8px;background:#f6f8f7;color:var(--muted);font-size:12px;line-height:1.55}.offering-list .offering-link{min-width:0;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.offering-list .offering-link em{margin-left:auto}.offering-list .offering-link i{font-size:24px;font-style:normal;color:var(--green);line-height:1}.offering-list .offering-link:hover,.offering-list .offering-link:focus-visible{border-color:var(--green);background:#f5fbf8;box-shadow:0 0 0 2px rgba(0,111,81,.08);outline:none}.recommend-truth{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:12px 16px;border:1px solid #f0d8a9;border-radius:12px;background:#fff9ec;color:#765418}.recommend-truth strong{flex:0 0 auto}.recommend-truth span{font-size:13px;line-height:1.55}.recommend-loading{padding:38px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center;color:var(--muted)}.recommend-summary{display:grid;grid-template-columns:1.3fr .65fr .9fr;gap:12px}.recommend-summary>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.recommend-summary span,.recommend-summary strong,.recommend-summary small{display:block}.recommend-summary span{color:var(--muted);font-size:12px}.recommend-summary strong{margin:7px 0 5px;font-size:19px}.recommend-summary small{color:var(--muted);line-height:1.5}.method-panel{display:flex;gap:12px;margin:12px 0 18px;padding:14px 16px;border-radius:12px;background:#edf5ff;color:#365777;font-size:13px;line-height:1.6}.method-panel strong{flex:0 0 auto}.recommend-filters{display:flex;gap:8px;margin-bottom:14px}.recommend-tier-tabs>button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 15px;color:var(--muted);cursor:pointer;font-weight:700}.recommend-tier-tabs>button.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.recommend-tier-tabs>button span{margin-left:4px}.recommend-list{display:grid;gap:14px}.recommend-card{overflow:hidden;border:1px solid var(--line);border-left:5px solid #9aa7a1;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(20,66,48,.045)}.recommend-card.tier-冲{border-left-color:#db765a}.recommend-card.tier-稳{border-left-color:#d99a2b}.recommend-card.tier-保{border-left-color:#2f9b6d}.recommend-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px 20px;border-bottom:1px solid var(--line)}.recommend-card-head h3{margin:0 0 5px;font-size:19px}.recommend-card-head h3 small{margin-left:7px;color:var(--muted);font-size:12px;font-weight:600}.recommend-card-head p{margin:0;color:var(--muted);font-size:13px}.tier-badge{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f1f4f2;font-size:18px;font-weight:850}.tier-冲 .tier-badge{background:#fff0eb;color:#b9472d}.tier-稳 .tier-badge{background:#fff7e5;color:#a26805}.tier-保 .tier-badge{background:#eaf8f1;color:#177b52}.rank-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.rank-evidence div{padding:14px 20px;background:#fbfcfb}.rank-evidence span,.rank-evidence strong{display:block}.rank-evidence span{margin-bottom:5px;color:var(--muted);font-size:11px}.rank-evidence strong{font-size:15px}.history-chips,.evidence-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 20px 0}.history-chips span,.evidence-row span{padding:5px 8px;border-radius:7px;background:#f1f4f2;color:#52625a;font-size:11px}.evidence-row strong{margin-right:3px;font-size:12px}.evidence-row.soft span{background:#eef5ff;color:#35608b}.offering-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px 20px}.offering-list>strong{grid-column:1/-1;font-size:12px}.offering-list>span{min-width:0;display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px}.offering-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.offering-list em{flex:0 0 auto;color:var(--muted);font-size:11px;font-style:normal}.warning-list{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 16px}.warning-list span{color:#9b6413;font-size:11px}.insufficient-panel{padding:28px;border:1px solid #f0d8a9;border-radius:16px;background:#fffaf0}.insufficient-panel>span{color:#a76808;font-size:12px;font-weight:800}.insufficient-panel h2{margin:8px 0 12px;font-size:21px}.insufficient-panel li{margin:6px 0;color:#6e5731}.insufficient-panel p{margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.6}@media(max-width:760px){.recommend-summary{grid-template-columns:1fr}.rank-evidence{grid-template-columns:1fr}.offering-list{grid-template-columns:1fr}.recommend-card-head{grid-template-columns:auto 1fr}.recommend-card-head .detail-button{grid-column:1/-1}.method-panel{align-items:flex-start;flex-direction:column}}
.recommend-profile-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recommend-profile-actions button{min-height:42px}.recommend-profile-actions #runRecommendation{border-color:#f86f24;background:#f86f24;color:#fff;box-shadow:0 8px 20px rgba(248,111,36,.2)}
.recommend-refreshing{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 16px;border:1px solid #b9d8ca;border-radius:10px;background:#f1f8f5;color:#315e4c;font-size:13px;font-weight:700}.recommend-refreshing span{flex:0 0 auto;color:var(--green);font-variant-numeric:tabular-nums}

/* Personalized recommendation matching state */
.recommend-matching{display:grid;grid-template-columns:minmax(430px,1.15fr) minmax(300px,.85fr);align-items:center;gap:34px;min-height:210px;padding:30px 42px;border:1px solid #d8e6df;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#f6fbf8 100%);overflow:hidden}.recommend-matching-visual{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(56px,.55fr) minmax(116px,.9fr) minmax(56px,.55fr) minmax(116px,1fr);align-items:center;min-width:0}.matching-profile,.matching-database,.matching-targets{position:relative;z-index:2}.matching-profile{display:grid;justify-items:center;gap:8px;color:#315e4c;font-size:12px;font-weight:750;text-align:center}.matching-profile svg{width:46px;height:46px;padding:10px;border:1px solid #cfe2d9;border-radius:13px;background:#fff;fill:none;stroke:#08784f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 8px 22px rgba(15,94,64,.08)}.matching-path{position:relative;height:2px;background:#c5ded2}.matching-path i{position:absolute;top:50%;left:0;width:7px;height:7px;border-radius:50%;background:#16a16b;box-shadow:0 0 0 4px rgba(22,161,107,.12);opacity:0;transform:translate(-50%,-50%);animation:matching-signal 2.4s linear infinite}.matching-path i:nth-child(2){animation-delay:.8s}.matching-path i:nth-child(3){animation-delay:1.6s}.matching-database{display:grid;justify-items:center;gap:6px;color:#075f41;font-size:12px;font-weight:800;text-align:center}.matching-database b{position:absolute;top:42%;left:50%;width:76px;height:76px;border:1px solid rgba(18,150,100,.25);border-radius:50%;transform:translate(-50%,-50%);animation:matching-pulse 1.8s ease-out infinite}.matching-database svg{position:relative;width:58px;height:58px;padding:10px;border-radius:50%;background:#08784f;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 12px 30px rgba(8,120,79,.22)}.matching-targets{display:grid;gap:7px}.matching-targets span{padding:7px 9px;border:1px solid #d2e4db;border-radius:8px;background:#fff;color:#416659;font-size:11px;font-weight:750;text-align:center;box-shadow:0 4px 12px rgba(27,82,61,.05);animation:matching-target 3.6s ease-in-out infinite}.matching-targets span:nth-child(2){animation-delay:1.2s}.matching-targets span:nth-child(3){animation-delay:2.4s}.recommend-matching-copy{display:grid;align-content:center;gap:10px;min-width:0}.recommend-matching-copy strong{color:#183c2f;font-size:20px;line-height:1.4}.recommend-matching-copy small{color:#72847c;font-size:13px;line-height:1.6}.matching-step{position:relative;height:24px;color:#0b895b;font-size:14px;font-weight:750;overflow:hidden}.matching-step span{position:absolute;inset:0;opacity:0;transform:translateY(7px);animation:matching-copy-step 6s ease-in-out infinite}.matching-step span:nth-child(2){animation-delay:2s}.matching-step span:nth-child(3){animation-delay:4s}.matching-step span::after{content:'···';display:inline-block;width:20px;margin-left:3px;letter-spacing:1px;overflow:hidden;vertical-align:bottom;animation:matching-dots 1.2s steps(4,end) infinite}.matching-progress{height:4px;margin-top:4px;border-radius:999px;background:#e3eee9;overflow:hidden}.matching-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0a8056,#2cb47c);animation:matching-progress 1.8s ease-in-out infinite}@keyframes matching-signal{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:100%;opacity:0}}@keyframes matching-pulse{0%{opacity:.75;transform:translate(-50%,-50%) scale(.72)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}@keyframes matching-target{0%,25%,100%{border-color:#d2e4db;background:#fff;color:#416659}8%,18%{border-color:#75c3a3;background:#eaf7f1;color:#08784f;box-shadow:0 5px 14px rgba(22,161,107,.12)}}@keyframes matching-copy-step{0%,33.3%{opacity:0;transform:translateY(7px)}5%,28%{opacity:1;transform:translateY(0)}}@keyframes matching-dots{0%{width:0}100%{width:20px}}@keyframes matching-progress{0%{transform:translateX(-105%)}50%{transform:translateX(75%)}100%{transform:translateX(240%)}}
@media(max-width:820px){.recommend-matching{grid-template-columns:1fr;gap:24px;min-height:0;padding:26px 20px}.recommend-matching-visual{grid-template-columns:minmax(74px,.8fr) minmax(32px,.45fr) minmax(88px,.9fr) minmax(32px,.45fr) minmax(82px,1fr)}.matching-profile svg{width:40px;height:40px}.matching-database svg{width:52px;height:52px}.matching-database b{width:66px;height:66px}.matching-profile,.matching-database{font-size:11px}.matching-targets span{padding:6px 4px;font-size:10px}.recommend-matching-copy{text-align:center}.recommend-matching-copy strong{font-size:18px}.matching-step{text-align:center}.recommend-matching-copy small{text-align:center}}@media(max-width:420px){.recommend-matching{padding:24px 14px}.recommend-matching-visual{grid-template-columns:68px 24px 76px 24px minmax(70px,1fr)}.matching-profile span,.matching-database span{font-size:10px}.matching-profile svg{width:36px;height:36px;padding:8px}.matching-database svg{width:46px;height:46px;padding:9px}.matching-database b{width:58px;height:58px}.matching-targets span{font-size:10px}.recommend-matching-copy strong{font-size:17px}}@media(prefers-reduced-motion:reduce){.matching-path i,.matching-database b,.matching-targets span,.matching-step span,.matching-step span::after,.matching-progress i{animation:none}.matching-path i{display:none}.matching-database b{opacity:.35;transform:translate(-50%,-50%)}.matching-step span{display:none;opacity:1;transform:none}.matching-step span:first-child{display:block}.matching-progress i{width:55%;transform:none}}
.recommend-scope-tabs{display:inline-flex;align-items:center;gap:4px;margin:0 0 16px;padding:4px;border:1px solid #d7e5de;border-radius:12px;background:#eef5f1}.recommend-scope-tabs>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#60726a;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.recommend-scope-tabs>button:hover{background:#f8fbf9;color:var(--green-dark)}.recommend-scope-tabs>button.active{background:#fff;color:var(--green-dark);box-shadow:0 2px 8px rgba(24,79,58,.12)}.recommend-scope-tabs>button b{min-width:42px;padding:2px 7px;border-radius:999px;background:#dfece6;color:#49655a;font-size:12px;line-height:20px;text-align:center}.recommend-scope-tabs>button.active b{background:#e2f4eb;color:var(--green)}
.recommend-filters{display:grid;gap:16px;margin:20px 0}.recommend-tier-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recommend-tier-tabs>button{min-width:88px;min-height:46px;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:15px;font-weight:750;white-space:nowrap}.recommend-tier-tabs>button:hover{border-color:#a9d2c0;color:var(--green-dark)}.recommend-tier-tabs>button.active{border-color:var(--green);background:#edf8f3;color:var(--green);box-shadow:0 3px 10px rgba(18,139,95,.08)}.recommend-filter-panel{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1.15fr) minmax(180px,1.2fr) minmax(130px,.8fr) minmax(155px,1fr) auto auto auto;align-items:end;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.recommend-filter-panel label{display:grid;gap:7px;min-width:0}.recommend-filter-panel label>span{color:var(--muted);font-size:12px;font-weight:750}.recommend-filter-panel select,.recommend-province-picker>summary,.recommend-major-picker>summary{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:14px}.recommend-filter-panel select{padding:0 34px 0 12px}.recommend-province-picker,.recommend-major-picker{position:relative;min-width:0}.recommend-province-picker>summary,.recommend-major-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-province-picker>summary::-webkit-details-marker,.recommend-major-picker>summary::-webkit-details-marker{display:none}.recommend-province-picker>summary::after,.recommend-major-picker>summary::after{content:'⌄';flex:0 0 auto;color:var(--muted);font-size:16px;line-height:1;transform:translateY(-2px)}.recommend-province-picker[open]>summary,.recommend-major-picker[open]>summary{border-color:var(--green);box-shadow:0 0 0 3px rgba(18,139,95,.1)}.recommend-filter-apply,.recommend-filter-reset{min-height:44px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:750;white-space:nowrap}.recommend-filter-apply{border:1px solid var(--green);background:var(--green);color:#fff}.recommend-filter-reset{border:1px solid var(--line);background:#fff;color:var(--muted)}#recommendFilterMeta{align-self:center;margin-left:4px;color:var(--muted);font-size:13px;white-space:nowrap}.recommend-selected-conditions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recommend-condition-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #cfe3da;border-radius:999px;background:#f4faf7;color:var(--green-dark);font-size:12px}
/* Recommendation region and major pickers */
.recommend-province-popover,.recommend-major-popover{position:absolute;top:calc(100% + 9px);left:0;z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,calc(100vw - 40px));max-width:none;max-height:min(540px,calc(100vh - 140px));padding:0;overflow:hidden;border:1px solid #d5e2dc;border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(20,66,48,.18)}
.recommend-major-popover{width:min(860px,calc(100vw - 40px))}
.recommend-province-head,.recommend-major-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 13px;border-bottom:1px solid #e6eeea}
.recommend-province-head strong,.recommend-major-head strong{min-width:0;color:var(--ink);font-size:15px;line-height:1.45}
.recommend-province-head button,.recommend-major-head button{flex:0 0 auto;min-height:34px;padding:0 11px;border:1px solid #c9d9d1;border-radius:8px;background:#fff;color:var(--green);font-size:12px;font-weight:700;cursor:pointer}
.recommend-province-head button:hover,.recommend-major-head button:hover{border-color:#9fc8b6;background:#f1f9f5}
.recommend-region-cascade{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0;height:330px;overflow:hidden}
.recommend-region-provinces{min-height:0;padding:8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;border-right:1px solid #e6eeea;background:#f7faf8}
.recommend-region-provinces>button,.recommend-major-disciplines>button,.recommend-major-categories>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:8px 11px;border:0;border-radius:8px;background:transparent;color:#40534b;text-align:left;cursor:pointer}
.recommend-region-provinces>button:hover,.recommend-major-disciplines>button:hover,.recommend-major-categories>button:hover{background:#eaf5f0;color:var(--green-dark)}
.recommend-region-provinces>button.current,.recommend-major-disciplines>button.current,.recommend-major-categories>button.current{background:#dff1e8;color:var(--green-dark);font-weight:800}
.recommend-region-provinces>button b,.recommend-major-disciplines>button b,.recommend-major-categories>button b{flex:0 0 auto;color:var(--green);font-size:11px}
.recommend-region-cities{min-width:0;padding:16px 18px;overflow:auto}
.recommend-region-all{min-height:38px;padding:0 13px;border:1px solid #b9d5c8;border-radius:9px;background:#f3faf6;color:var(--green-dark);font-weight:750;cursor:pointer}
.recommend-region-all.active{border-color:var(--green);background:var(--green);color:#fff}
.recommend-region-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.recommend-region-city-grid button{min-height:38px;padding:7px 10px;border:1px solid #d7e3dd;border-radius:9px;background:#fff;color:#40534b;cursor:pointer}
.recommend-region-city-grid button:hover{border-color:#a7cdbc;background:#f3faf6}
.recommend-region-city-grid button.active{border-color:var(--green);background:#e7f5ee;color:var(--green-dark);font-weight:750}
.recommend-region-empty,.recommend-major-empty{margin:18px 2px;color:var(--muted);font-size:13px}
.recommend-province-actions,.recommend-major-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-top:1px solid #e2ebe6;background:#fbfdfc}
.recommend-province-actions>span,.recommend-major-actions>span{color:var(--muted);font-size:13px}
.recommend-province-actions>button,.recommend-major-actions>button{min-width:88px;min-height:38px;padding:0 17px;border:1px solid var(--green);border-radius:9px;background:var(--green);color:#fff;font-weight:750;cursor:pointer}
.recommend-major-search{display:block;width:calc(100% - 36px);height:40px;margin:13px 18px 0;padding:0 12px;border:1px solid #d5e1db;border-radius:9px;background:#fff;color:var(--ink);outline:0}
.recommend-major-search:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(18,139,95,.1)}
.recommend-major-popover{grid-template-rows:auto auto minmax(0,1fr) auto}
.recommend-major-browser{display:grid;grid-template-columns:190px 220px minmax(0,1fr);min-height:0;height:330px;margin-top:12px;overflow:hidden;border-top:1px solid #e6eeea}
.recommend-major-disciplines,.recommend-major-categories,.recommend-major-options{min-width:0;min-height:0;padding:8px;overflow:auto;overscroll-behavior:contain}
.recommend-major-disciplines,.recommend-major-categories{border-right:1px solid #e6eeea;background:#f7faf8}
.recommend-major-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;padding:12px}
.recommend-major-options>button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 11px;border:1px solid #d8e4de;border-radius:9px;background:#fff;color:#40534b;text-align:left;cursor:pointer}
.recommend-major-options>button:hover{border-color:#a7cdbc;background:#f3faf6}
.recommend-major-options>button.active{border-color:var(--green);background:#e7f5ee;color:var(--green-dark);font-weight:750}
.recommend-major-options>button i{flex:0 0 16px;color:var(--green);font-style:normal;text-align:center}
.recommend-major-search-label{padding:10px;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1280px){.recommend-filter-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.recommend-filter-apply,.recommend-filter-reset{min-width:100px}#recommendFilterMeta{justify-self:end;margin-left:0}}
@media(max-width:760px){
  .recommend-profile-actions{display:grid;grid-template-columns:1fr 1fr}
  .recommend-scope-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;box-sizing:border-box}.recommend-scope-tabs>button{min-width:0;padding:0 8px}.recommend-scope-tabs>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-scope-tabs>button b{min-width:auto;white-space:nowrap}
  .recommend-filter-panel{display:grid;grid-template-columns:1fr 1fr}
  .recommend-province-popover,.recommend-major-popover{position:fixed;inset:66px 10px 10px;width:auto;max-height:none;border-radius:14px;z-index:80}
  .recommend-province-head,.recommend-major-head{padding:14px 14px 11px}
  .recommend-province-head strong,.recommend-major-head strong{font-size:14px}
  .recommend-region-cascade{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:auto}
  .recommend-region-provinces{display:flex;gap:7px;padding:9px 10px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #e6eeea;scrollbar-width:none}
  .recommend-region-provinces::-webkit-scrollbar{display:none}
  .recommend-region-provinces>button{flex:0 0 auto;width:auto;min-height:36px;padding:7px 11px;white-space:nowrap}
  .recommend-region-provinces>button b{display:none}
  .recommend-region-cities{padding:14px}
  .recommend-region-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recommend-major-search{width:calc(100% - 28px);margin:11px 14px 0}
  .recommend-major-browser{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);height:auto;margin-top:10px}
  .recommend-major-disciplines,.recommend-major-categories{display:flex;gap:7px;padding:8px 10px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #e6eeea;scrollbar-width:none}
  .recommend-major-disciplines::-webkit-scrollbar,.recommend-major-categories::-webkit-scrollbar{display:none}
  .recommend-major-disciplines>button,.recommend-major-categories>button{flex:0 0 auto;width:auto;min-height:36px;padding:7px 11px;white-space:nowrap}
  .recommend-major-disciplines>button b,.recommend-major-categories>button b{display:none}
  .recommend-major-options{grid-template-columns:1fr 1fr;padding:10px;overflow-y:auto}
  .recommend-province-actions,.recommend-major-actions{padding:11px 14px calc(11px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .recommend-filter-panel{grid-template-columns:1fr}
  .recommend-major-options{grid-template-columns:1fr}
  .recommend-region-city-grid{grid-template-columns:1fr 1fr}
}
.recommend-section-heading {
  align-items: end;
  border-bottom: 1px solid #d8e5df;
  display: flex;
  justify-content: space-between;
  margin: 28px 0 14px;
  padding: 0 2px 10px;
}
.recommend-section-heading h2 { color: #153f31; font-size: 20px; margin: 0; }
.recommend-section-heading span { color: #6a7a73; font-size: 13px; }
.assessment-overlap-tag {
  border: 1px solid #c8ddd3;
  border-radius: 999px;
  color: #276247;
  display: inline-block;
  font-weight: 700;
  margin-left: 7px;
  padding: 2px 7px;
}
@media (max-width: 720px) {
  .recommend-section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
}
