/* Guangdong-specific controls within the national picker layout. */
.gd-extra-options input,.area-option input{accent-color:#e95b3c}
.area-control #areaTokens{flex:0 1 auto;max-width:calc(100% - 28px)}
.area-overflow{flex:none;height:28px;padding:0 6px;border:1px solid #f3d9cd;border-radius:4px;background:#fff4ee;color:#9e4b32;font-size:13px}
.area-toggle{flex:1 0 24px;min-width:24px;height:30px;padding:0 24px 0 3px;overflow:hidden;border:0;background:var(--filter-chevron) right 3px center/14px 14px no-repeat;color:#75828b;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.area-dropdown{width:100%;min-width:0;padding:10px}
.area-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.area-option{display:flex;align-items:center;gap:4px;padding:5px 2px;font-size:13px;white-space:nowrap;cursor:pointer}
#majorField{--filter-width:320px;flex-grow:2}
#filters .field-education,#filters .field-politics,#filters .field-fresh,#filters .field-experience,#filters .field-language{--filter-width:184px}
#filters .field-language{--filter-width:230px}
#filters .field-gender{--filter-width:148px}
#filters .field-targeted{--filter-width:440px}
@media(max-width:480px){#targeted{font-size:14px}}
#filters .field-keyword{--filter-width:240px;flex-grow:1.2}
.major-picker>input{flex-basis:70px;min-width:40px}
.major-picker #majorTokens{flex:0 1 auto;max-width:calc(100% - 45px)}
.major-picker .area-token{flex:1 1 auto;max-width:100%}
.major-picker:has(input[hidden]) #majorTokens{flex:1 1 auto;max-width:100%}
.major-picker:has(input[hidden]) .area-token{flex:1 1 0}
.major-picker:has(input:disabled[hidden]){background:#fff}
.major-picker:has(.combo-clear:not([hidden])){padding-right:36px}
.major-picker>.combo-clear{position:absolute;top:50%;right:10px;transform:translateY(-50%)}
/* A wrapped area selector should stay the size of a filter, not fill an entire row. */
@media(min-width:761px){
  #filters > .filter-grid > .field-area{flex:0 1 220px;max-width:260px}
  #filters > .filter-grid > .search-actions{margin-left:0}
}
.gd-extra-options{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:11px;color:#657581;font-size:13px}
.gd-extra-options label{display:flex;align-items:center;gap:4px}
.direction-field{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;color:#657581;font-size:13px}
.direction-field select{width:auto;min-width:230px;height:38px;font-size:14px}
.major-option{display:grid;justify-content:start;gap:4px}
.major-option strong{font-size:15px}
.major-option small{font-size:12px;color:#6c7a84}
.partial,.pending{color:#ae4d2f}
.partial{font-weight:700}
.tag.pending{background:#fff5e9;border-color:#f1dfc9;color:#8b5e2a;font-weight:700}
.job-link{display:block;margin-top:8px;padding:0;border:0;background:none;color:#223b4b;text-align:left;font:700 17px/1.6 var(--sans)}
.job-link:hover{color:#c84b30;text-decoration:underline}
.job-description,.job-description-compact{color:#455c69;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.job-description-compact{display:none;margin-top:10px}
.job-description-compact b{color:#667b88}
.job-table col.col-history-score{width:108px}
.job-table td.col-history-score{vertical-align:middle;padding-right:4px;padding-left:4px}
.history-score-line{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px;width:100%;max-width:100px;margin-inline:auto;white-space:nowrap;line-height:24px;font-variant-numeric:tabular-nums}
.history-score-line span:first-child{color:#71818c;text-align:left}
.history-score-line span:last-child{text-align:right}
.job-table .recruit-line{height:24px;line-height:24px}
.job-table .recruit-line .numeric-cell{line-height:24px}
.job-table .recruit-line.secondary-text{margin-top:0}
.history-score-mobile{width:100%;color:#536c79;font-size:13px}
.history-score-mobile b{display:block;margin-bottom:2px}
.history-score-mobile .history-score-line{margin-inline:0}
@media(max-width:1399px){.job-table .col-history-score{display:none}}
@media(max-width:1799px){.job-table .col-description{display:none}.job-description-compact{display:block}}
@media(min-width:1800px) and (max-width:2499px){
  .job-table col.col-identity{width:18%}
  .job-table col.col-description{width:12%}
  .job-table col.col-location{width:100px}
  .job-table col.col-education{width:110px}
  .job-table col.col-restrictions{width:200px}
  .job-table col.col-eligibility-compact{width:170px}
}
@media(min-width:2500px){
  .job-description{font-size:16px}
  .job-table col.col-select{width:2%}
  .job-table col.col-identity{width:16%}
  .job-table col.col-description{width:16%}
  .job-table col.col-recruit{width:3%}
  .job-table col.col-exam-paper{width:5%}
  .job-table col.col-location{width:4%}
  .job-table col.col-education{width:5%}
  .job-table col.col-major{width:23.5%}
  .job-table col.col-history-score{width:3.5%}
  .job-table col.col-fresh{width:4%}
  .job-table col.col-restrictions{width:15%}
  .job-table col.col-details{width:3%}
}
.gd-major{display:grid;gap:5px;color:#455c69;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.gd-major .tag-unlimited{width:fit-content}
.gd-condition{display:grid;gap:6px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.gd-condition .tag{width:fit-content}
.gd-other{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.certificate-note{padding:7px 9px;border:1px solid #f0c9a6;border-radius:5px;background:#fff5e9;color:#784a27;white-space:pre-wrap;overflow-wrap:anywhere}
.certificate-note b{color:#ab4930}
.job-table .col-restrictions .certificate-note{display:none}
.job-table .tag.experience-wide{display:none}
.wide-only-conditions{display:none}
@media(min-width:1800px){.job-table .col-eligibility-compact [data-condition="age"]{display:none}}
@media(min-width:2500px){.job-table .col-restrictions .certificate-note{display:block;margin-bottom:6px}.job-table .tag.experience-wide{display:inline-flex}}
@media(min-width:2500px){.wide-only-conditions{display:contents}}
.identity-mobile-facts .tag,.identity-mobile-summary .tag{margin-right:4px}
.mobile-score{width:100%;color:#6a7982;font-size:13px;line-height:1.55}
.identity-mobile-summary .gd-condition{margin-top:10px}
.detail-block{padding:18px 0;border-bottom:1px solid #e3e8eb}
.detail-block h3{margin:0 0 12px;color:#293f4c;font-size:16px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-item{min-width:0;padding:12px;background:#f7f9fa;border:1px solid #e4e9ed;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-item small{display:block;margin-bottom:5px;color:#778690}
.detail-item.wide{grid-column:1/-1}
.detail-evidence,.detail-alert{padding:12px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-evidence{background:#f5f8f9}
.detail-alert{background:#fff6ed;border:1px solid #f2dec3;color:#79552e}
.missing{color:#8c9aa1}
.selected-chip{display:flex;align-items:center;gap:6px;padding:7px 8px 7px 11px;border:1px solid #ead8cc;border-radius:6px;background:#fff8f2;font-size:13px}
.selected-chip button{border:0;background:transparent;color:#a16a55;font-size:18px}
.toast:not([hidden]){opacity:1;transform:translate(-50%,0)}
.loading{padding:32px!important;text-align:center;color:#697681}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.detail-item.wide{grid-column:auto}.gd-extra-options{gap:8px}.direction-field select{width:100%}}

/* Text and condition groups align left; compact numbers and standalone badges stay centered. */
.job-table tbody td{text-align:center;vertical-align:middle}
.job-table tbody td.col-identity,.job-table tbody td.col-description,
.job-table tbody td.col-major,.job-table tbody td.col-study-compact{text-align:left}
.job-table .job-link{width:100%;text-align:left}
.job-table .gd-major{text-align:left}
.job-table .gd-major .tag{justify-self:center}
.job-table .gd-condition{justify-items:start;text-align:left}
.job-table .gd-condition .gd-other,.job-table .gd-condition .certificate-note{justify-self:stretch;text-align:left}
.job-table .identity-mobile-facts{justify-content:center}
.job-table .history-score-mobile{text-align:center}
.job-table .history-score-mobile .history-score-line{margin-inline:auto}
@media(max-width:760px){.job-table tbody td.col-select,.job-table tbody td.col-details{vertical-align:middle;padding-top:14px}}

/* Keep the table on one type scale, including content moved into compact rows. */
.job-table{--table-text-size:16px;--table-code-size:14px;--table-tag-size:15px;font-size:var(--table-text-size)}
.job-table thead th,.job-table thead th.col-select,
.job-table .job-department,.job-table .job-link,.job-table .job-description,
.job-table .job-description-compact,.job-table .gd-major,.job-table .gd-condition,
.job-table .compact-degree,.job-table .location-text,.job-table .secondary-text,
.job-table .recruit-line .numeric-cell,.job-table .history-score-line,
.job-table .mobile-score,.job-table .mobile-location,.job-table .history-score-mobile{font-size:var(--table-text-size)}
.job-table .job-code{font-size:var(--table-code-size)}
.job-table .tag,.job-table .detail-button{font-size:var(--table-tag-size)}
@media(max-width:1399px){.job-table{--table-text-size:15px;--table-code-size:13px;--table-tag-size:14px}}
