/* Mini-program job pages. All selectors are confined to these pages. */
.native-jobs{--nj-u:1px;width:100%;max-width:750px;margin:0 auto;padding-bottom:calc(50 * var(--nj-u));background:#f5f5f5;color:#222;font-size:calc(24 * var(--nj-u));letter-spacing:0}
.native-jobs *{box-sizing:border-box;min-width:0}
.native-jobs a,.native-jobs button{font:inherit;letter-spacing:0;text-decoration:none;color:inherit;cursor:pointer}
.native-jobs button{border:0}
.native-jobs p,.native-jobs h1,.native-jobs h2{margin:0}
.native-jobs a:focus-visible,.native-jobs button:focus-visible{outline:2px solid #e34826;outline-offset:3px}
body:has(.native-jobs) .site-header{position:relative}
body:has(.native-jobs) .site-header .search-form{display:none}
.native-jobs .nj-title{height:calc(88 * var(--nj-u));display:grid;grid-template-columns:calc(88 * var(--nj-u)) 1fr calc(88 * var(--nj-u));align-items:center;background:white;border-bottom:1px solid #eee}
.native-jobs .nj-title a{padding-left:calc(28 * var(--nj-u));font-size:calc(54 * var(--nj-u))}
.native-jobs .nj-title h1{text-align:center;font-size:calc(31 * var(--nj-u));font-weight:800;line-height:1.4}
.native-jobs .nj-top{padding:calc(20 * var(--nj-u)) calc(28 * var(--nj-u)) calc(16 * var(--nj-u));background:linear-gradient(#fff5f5,#fff)}
.native-jobs .nj-search{height:calc(76 * var(--nj-u));padding:0 calc(12 * var(--nj-u)) 0 calc(24 * var(--nj-u));display:flex;align-items:center;gap:calc(14 * var(--nj-u));border-radius:40px;background:white;box-shadow:inset 0 0 0 1px #ffe1d5}
.native-jobs .nj-search>span{color:#999}
.native-jobs .nj-search input{width:0;flex:1;border:0;padding:0;background:none;font:inherit;color:#333;font-size:calc(24 * var(--nj-u))}
.native-jobs .nj-search button{width:calc(116 * var(--nj-u));height:calc(60 * var(--nj-u));border-radius:32px;background:#ff3d1f;color:white;font-size:calc(23 * var(--nj-u));font-weight:800}
.native-jobs .nj-entries{display:flex;gap:calc(16 * var(--nj-u));margin-top:calc(20 * var(--nj-u))}
.native-jobs .nj-entries a{flex:1;height:calc(68 * var(--nj-u));display:flex;align-items:center;justify-content:center;border:1px solid #ffb199;border-radius:36px;background:white;color:#ff3d1f;font-size:calc(25 * var(--nj-u));font-weight:800}
.native-jobs .nj-entries a:nth-child(2){background:#ff3d1f;color:white}
.native-jobs .nj-list{margin-top:calc(18 * var(--nj-u))}
.native-jobs .nj-seeker{display:flex;align-items:center;gap:calc(18 * var(--nj-u));min-height:calc(154 * var(--nj-u));padding:calc(22 * var(--nj-u)) calc(24 * var(--nj-u));background:white;border-bottom:1px solid #eee}
.native-jobs .nj-photo{display:flex;align-items:center;justify-content:center;flex:none;width:calc(104 * var(--nj-u));height:calc(104 * var(--nj-u));overflow:hidden;border-radius:calc(16 * var(--nj-u));background:linear-gradient(135deg,#ffe1d7,#fff2d7);color:#d96842;font-size:calc(38 * var(--nj-u));font-weight:800}
.native-jobs .nj-photo img{width:100%;height:100%;object-fit:cover}
.native-jobs .nj-photo .nj-photo-error{font-size:calc(18 * var(--nj-u));text-align:center}
.native-jobs .nj-info{flex:1}
.native-jobs .nj-name{display:flex;align-items:center;gap:calc(8 * var(--nj-u));flex-wrap:wrap;line-height:1.25;font-size:calc(29 * var(--nj-u));font-weight:800;overflow-wrap:anywhere}
.native-jobs .nj-badge{flex:none;padding:calc(2 * var(--nj-u)) calc(8 * var(--nj-u));border:1px solid #69d9be;border-radius:calc(7 * var(--nj-u));color:#00a686;font-size:calc(18 * var(--nj-u));font-weight:700}
.native-jobs .nj-meta{margin-top:calc(7 * var(--nj-u));color:#555;font-size:calc(21 * var(--nj-u));font-weight:600;line-height:1.4}
.native-jobs .nj-want{margin-top:calc(7 * var(--nj-u));color:#666;font-size:calc(22 * var(--nj-u));line-height:1.4}
.native-jobs .nj-want strong{color:#ff3d1f}
.native-jobs .nj-note{margin-top:calc(7 * var(--nj-u));color:#999;font-size:calc(19 * var(--nj-u));line-height:1.4}
.native-jobs .nj-seeker-actions{width:calc(96 * var(--nj-u));display:flex;flex-direction:column;gap:calc(12 * var(--nj-u));flex:none}
.native-jobs .nj-contact,.native-jobs .nj-more{display:flex;align-items:center;justify-content:center;min-height:calc(50 * var(--nj-u));padding:calc(4 * var(--nj-u));border:1px solid #ff694f;border-radius:26px;font-size:calc(20 * var(--nj-u));background:white;color:#ff3d1f}
.native-jobs .nj-contact{background:#ff3d1f;color:white}
.native-jobs .nj-recruit,.native-jobs .nj-summary{margin:calc(24 * var(--nj-u)) calc(28 * var(--nj-u)) 0;padding:calc(28 * var(--nj-u)) calc(24 * var(--nj-u));border-radius:calc(36 * var(--nj-u));background:white;box-shadow:0 4px 14px #0000000a}
.native-jobs .nj-company-head{display:flex;gap:calc(26 * var(--nj-u));align-items:flex-start}
.native-jobs .nj-company-head .nj-photo{width:calc(140 * var(--nj-u));height:calc(140 * var(--nj-u));border-radius:calc(20 * var(--nj-u))}
.native-jobs .nj-company-head .nj-name{flex:1;font-size:calc(36 * var(--nj-u));gap:calc(10 * var(--nj-u))}
.native-jobs .nj-company-head .nj-name>a{flex:1;min-width:calc(170 * var(--nj-u))}
.native-jobs .nj-company-head .nj-badge{border-radius:24px;font-size:calc(18 * var(--nj-u))}
.native-jobs .nj-location{margin-top:calc(16 * var(--nj-u));padding-top:calc(14 * var(--nj-u));border-top:1px solid #f2f2f2;display:flex;align-items:center;gap:calc(12 * var(--nj-u));min-height:calc(118 * var(--nj-u))}
.native-jobs .nj-address{flex:1;padding:0;background:transparent;text-align:left;font-size:calc(23 * var(--nj-u));line-height:1.45;overflow-wrap:anywhere}
.native-jobs .nj-location-side{width:calc(252 * var(--nj-u));flex:none}
.native-jobs .nj-distance{display:flex;align-items:center;flex-wrap:wrap;gap:calc(10 * var(--nj-u));font-size:calc(19 * var(--nj-u));color:#888;min-height:calc(34 * var(--nj-u))}
.native-jobs .nj-location-actions{display:flex;gap:calc(12 * var(--nj-u))}
.native-jobs .nj-location-actions button{width:calc(76 * var(--nj-u));height:calc(76 * var(--nj-u));border:1px solid #eee;border-radius:calc(14 * var(--nj-u));padding:0;background:white;color:#777;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:calc(20 * var(--nj-u))}
.native-jobs .nj-location-actions span{font-size:calc(34 * var(--nj-u));line-height:1}
.native-jobs .nj-positions{margin-top:calc(22 * var(--nj-u));overflow:hidden;border:1px solid #eee;border-radius:calc(14 * var(--nj-u))}
.native-jobs .nj-positions>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(calc(92 * var(--nj-u)),.72fr);border-top:1px solid #eee;background:#fafafa}
.native-jobs .nj-positions>div:first-child{border-top:0}
.native-jobs .nj-positions [role=cell]{padding:calc(12 * var(--nj-u)) calc(8 * var(--nj-u));border-right:1px solid #eee;font-size:calc(22 * var(--nj-u));text-align:center;overflow-wrap:anywhere;color:#555}
.native-jobs .nj-positions strong[role=cell]{color:#222}
.native-jobs .nj-positions [role=cell]:last-child{border-right:0;color:#ff3d1f}
.native-jobs .nj-chips{margin-top:calc(16 * var(--nj-u));display:flex;flex-wrap:wrap;gap:calc(12 * var(--nj-u))}
.native-jobs .nj-chips span{padding:calc(8 * var(--nj-u)) calc(14 * var(--nj-u));border-radius:calc(12 * var(--nj-u));background:#f6f6f6;color:#888;font-size:calc(21 * var(--nj-u))}
.native-jobs .nj-recruit>.nj-note,.native-jobs .nj-summary>.nj-note{margin-top:calc(22 * var(--nj-u));font-size:calc(23 * var(--nj-u))}
.native-jobs .nj-recruit>.nj-contact{width:100%;min-height:calc(66 * var(--nj-u));margin-top:calc(24 * var(--nj-u));border-radius:calc(20 * var(--nj-u));font-size:calc(26 * var(--nj-u));font-weight:800}
.native-jobs .nj-summary .nj-name{font-size:calc(36 * var(--nj-u))}
.native-jobs .nj-basic{margin-top:calc(14 * var(--nj-u));font-size:calc(27 * var(--nj-u));line-height:1.5;overflow-wrap:anywhere}
.native-jobs .nj-intent{margin-top:calc(28 * var(--nj-u));color:#888;font-size:calc(24 * var(--nj-u))}
.native-jobs .nj-intent strong{color:#222}
.native-jobs .nj-section{margin:calc(20 * var(--nj-u)) calc(28 * var(--nj-u)) 0;padding:calc(28 * var(--nj-u));border-radius:calc(30 * var(--nj-u));background:white}
.native-jobs .nj-section h2{margin-bottom:calc(18 * var(--nj-u));font-size:calc(29 * var(--nj-u));font-weight:800}
.native-jobs .nj-body{white-space:pre-line;color:#555;font-size:calc(25 * var(--nj-u));line-height:1.75;overflow-wrap:anywhere}
.native-jobs .nj-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(14 * var(--nj-u))}
.native-jobs .nj-gallery button{height:calc(150 * var(--nj-u));position:relative;padding:0;overflow:hidden;border-radius:calc(20 * var(--nj-u));background:#fff0ed;color:#ff5a38;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(22 * var(--nj-u))}
.native-jobs .nj-gallery img{width:100%;height:100%;object-fit:cover}
.native-jobs .nj-media-label{position:absolute;left:0;right:0;bottom:0;padding:calc(8 * var(--nj-u)) calc(6 * var(--nj-u));background:#0008;color:white;font-size:calc(20 * var(--nj-u));line-height:1.25;text-align:center}
.native-jobs .nj-address-card{display:flex;align-items:center;justify-content:space-between;gap:calc(18 * var(--nj-u))}
.native-jobs .nj-address-card>div{flex:1;font-size:calc(27 * var(--nj-u));overflow-wrap:anywhere}
.native-jobs .nj-address-card p{margin-top:calc(8 * var(--nj-u));color:#888;font-size:calc(22 * var(--nj-u))}
.native-jobs .nj-address-card button{flex:none;width:calc(128 * var(--nj-u));height:calc(60 * var(--nj-u));border-radius:32px;background:#fff5eb;color:#ff7a00;font-size:calc(23 * var(--nj-u))}
.native-jobs .nj-detail-contact{margin:calc(24 * var(--nj-u)) calc(28 * var(--nj-u)) 0}
.native-jobs .nj-detail-contact button{width:100%;min-height:calc(84 * var(--nj-u));border-radius:44px;font-size:calc(29 * var(--nj-u));font-weight:800}
.native-jobs .nj-empty{padding:calc(42 * var(--nj-u)) 0;text-align:center;color:#999;font-size:calc(23 * var(--nj-u))}
.native-jobs>.hero-actions{justify-content:center}
/* Requested denser enterprise list; seeker rows and both detail pages are excluded. */
.native-jobs[data-job-page=jobRecruit]{max-width:1000px;font-size:14px}
.native-jobs[data-job-page=jobRecruit] .nj-title{height:42px;grid-template-columns:42px 1fr 42px}
.native-jobs[data-job-page=jobRecruit] .nj-title a{font-size:28px;padding-left:14px}
.native-jobs[data-job-page=jobRecruit] .nj-title h1{font-size:21px}
.native-jobs[data-job-page=jobRecruit] .nj-top{padding:10px 14px}
.native-jobs[data-job-page=jobRecruit] .nj-search{height:38px;padding:0 6px 0 12px;gap:7px}
.native-jobs[data-job-page=jobRecruit] .nj-search input{font-size:14px}
.native-jobs[data-job-page=jobRecruit] .nj-search button{width:68px;height:30px;font-size:14px}
.native-jobs[data-job-page=jobRecruit] .nj-entries{margin-top:8px;gap:10px}
.native-jobs[data-job-page=jobRecruit] .nj-entries a{height:30px;font-size:14px}
.native-jobs[data-job-page=jobRecruit] .nj-list{margin-top:8px}
.native-jobs[data-job-page=jobRecruit] .nj-recruit{margin:8px 14px 0;padding:10px 12px;border-radius:8px}
.native-jobs[data-job-page=jobRecruit] .nj-company-head{gap:12px;align-items:center}
.native-jobs[data-job-page=jobRecruit] .nj-company-head .nj-photo{width:48px;height:48px;border-radius:6px}
.native-jobs[data-job-page=jobRecruit] .nj-company-head .nj-name{font-size:18px;gap:10px}
.native-jobs[data-job-page=jobRecruit] .nj-company-head .nj-name>a{min-width:0;flex:initial}
.native-jobs[data-job-page=jobRecruit] .nj-company-head .nj-badge{font-size:12px;padding:2px 7px}
.native-jobs[data-job-page=jobRecruit] .nj-location{min-height:32px;margin-top:6px;padding-top:6px;gap:10px;align-items:center}
.native-jobs[data-job-page=jobRecruit] .nj-address{font-size:13px;line-height:1.4}
.native-jobs[data-job-page=jobRecruit] .nj-location-side{width:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.native-jobs[data-job-page=jobRecruit] .nj-distance{font-size:12px;min-height:0;gap:6px}
.native-jobs[data-job-page=jobRecruit] .nj-location-actions{gap:5px}
.native-jobs[data-job-page=jobRecruit] .nj-location-actions button{width:auto;min-width:48px;height:28px;flex-direction:row;gap:3px;padding:0 5px;border-radius:5px;font-size:12px}
.native-jobs[data-job-page=jobRecruit] .nj-location-actions span{font-size:16px}
.native-jobs[data-job-page=jobRecruit] .nj-positions{margin-top:6px;border-radius:5px}
.native-jobs[data-job-page=jobRecruit] .nj-positions [role=cell]{padding:3px 7px;font-size:13px;line-height:1.4}
.native-jobs[data-job-page=jobRecruit] .nj-recruit-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:6px}
.native-jobs[data-job-page=jobRecruit] .nj-chips{margin:0;gap:5px}
.native-jobs[data-job-page=jobRecruit] .nj-chips span{padding:3px 7px;font-size:12px;border-radius:4px}
.native-jobs[data-job-page=jobRecruit] .nj-recruit-footer>.nj-note{margin:0;font-size:12px}
.native-jobs[data-job-page=jobRecruit] .nj-recruit-footer>.nj-contact{margin-left:auto;min-height:28px;min-width:104px;padding:3px 10px;border-radius:5px;font-size:14px;font-weight:700}
@media(max-width:600px){
 .native-jobs[data-job-page=jobRecruit] .nj-company-head .nj-name{font-size:16px}
 .native-jobs[data-job-page=jobRecruit] .nj-location{align-items:flex-start;flex-direction:column;gap:5px}
 .native-jobs[data-job-page=jobRecruit] .nj-location-side{width:100%;justify-content:space-between}
 .native-jobs[data-job-page=jobRecruit] .nj-recruit-footer>.nj-note{flex:1}
}
@media(min-width:800px){
 .native-jobs[data-job-page=jobRecruit] .nj-title{height:36px}
 .native-jobs[data-job-page=jobRecruit] .nj-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;align-items:center}
 .native-jobs[data-job-page=jobRecruit] .nj-entries{margin-top:0}
 .native-jobs[data-job-page=jobRecruit] .nj-recruit{padding-top:6px;padding-bottom:6px}
}
/* Service top entries only; other category and service-row rules remain unchanged. */
.native-jobs[data-job-page=jobMarket]{max-width:900px;font-size:14px}
.native-jobs[data-job-page=jobMarket] .nj-title{height:36px;grid-template-columns:42px 1fr 42px}
.native-jobs[data-job-page=jobMarket] .nj-title a{font-size:28px;padding-left:14px}
.native-jobs[data-job-page=jobMarket] .nj-title h1{font-size:21px}
.native-jobs[data-job-page=jobMarket] .nj-top{padding:10px 14px}
.native-jobs[data-job-page=jobMarket] .nj-search{height:38px;padding:0 6px 0 12px;gap:7px}
.native-jobs[data-job-page=jobMarket] .nj-search input{font-size:14px}
.native-jobs[data-job-page=jobMarket] .nj-search button{width:68px;height:30px;font-size:14px}
.native-jobs[data-job-page=jobMarket] .nj-entries{margin-top:8px}
.native-jobs[data-job-page=jobMarket] .nj-entries a{height:30px;font-size:14px}
.native-jobs[data-job-page=jobMarket] .nj-list{margin-top:8px}
.native-jobs[data-job-page=jobMarket] .nj-seeker{padding:8px 14px;gap:12px;min-height:92px}
.native-jobs[data-job-page=jobMarket] .nj-photo{width:48px;height:48px;border-radius:6px;font-size:24px}
.native-jobs[data-job-page=jobMarket] .nj-photo .nj-photo-error{font-size:12px}
.native-jobs[data-job-page=jobMarket] .nj-name{font-size:18px;gap:6px}
.native-jobs[data-job-page=jobMarket] .nj-badge{font-size:12px;padding:2px 6px;border-radius:4px}
.native-jobs[data-job-page=jobMarket] .nj-meta{margin-top:2px;font-size:13px;line-height:1.4}
.native-jobs[data-job-page=jobMarket] .nj-want{margin-top:2px;font-size:14px;line-height:1.4}
.native-jobs[data-job-page=jobMarket] .nj-note{margin-top:2px;font-size:12px;line-height:1.4}
.native-jobs[data-job-page=jobMarket] .nj-seeker-actions{width:60px;gap:6px}
.native-jobs[data-job-page=jobMarket] .nj-seeker-actions>*{min-height:28px;padding:3px 5px;font-size:13px;border-radius:16px}
@media(min-width:800px){
 .native-jobs[data-job-page=jobMarket] .nj-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);gap:12px;align-items:center}
 .native-jobs[data-job-page=jobMarket] .nj-entries{margin-top:0}
}
.native-category[data-native-category=s] .nc-search input{background:#f7f8fa;border:0;border-radius:36px}
.native-category[data-native-category=s] .nc-search button,.native-category[data-native-category=s] .nc-entry-actions a{background:linear-gradient(135deg,#ff5b28,#ff3615);color:white;border:0;border-radius:36px}
.native-category[data-native-category=s] .nc-entry-actions{border-bottom:0}
.native-category[data-native-category=s] .ns-job-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;margin:16px 28px 0;background:#fff;border-radius:28px}
.native-category[data-native-category=s] .ns-job-entries a{min-height:116px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:24px;background:#fff0ed;line-height:1.3}
.native-category[data-native-category=s] .ns-job-entries a:nth-child(2){background:#fff3e0}
.native-category[data-native-category=s] .ns-job-entries img{width:44px;height:44px;border-radius:10px}
.native-category[data-native-category=s] .ns-job-entries strong{margin-top:5px;font-size:23px;font-weight:800}
.native-category[data-native-category=s] .ns-job-entries span{margin-top:1px;font-size:18px;color:#666}
@media(max-width:600px){
 .native-jobs{--nj-u:.5px}
 body:has(.native-jobs) main{padding:0 0 40px}
 .native-category[data-native-category=s] .ns-job-entries{gap:8px;padding:8px;margin:8px 14px 0;border-radius:14px}
 .native-category[data-native-category=s] .ns-job-entries a{min-height:58px;padding:5px 3px;border-radius:12px}
 .native-category[data-native-category=s] .ns-job-entries img{width:22px;height:22px;border-radius:5px}
 .native-category[data-native-category=s] .ns-job-entries strong{margin-top:2.5px;font-size:11.5px}
 .native-category[data-native-category=s] .ns-job-entries span{font-size:9px}
}
