:root{
  --jk-brand:#00b8b2;
  --jk-brand-deep:#008e8b;
  --jk-blue:#2484d8;
  --jk-blue-deep:#1769b0;
  --jk-orange:#f3a13b;
  --jk-salary:#ff5b55;
  --jk-dark:#172630;
  --jk-dark-soft:#213945;
  --jk-ink:#18333e;
  --jk-text:#344d57;
  --jk-muted:#72858e;
  --jk-line:#dce6e9;
  --jk-line-strong:#c9d9dd;
  --jk-bg:#f2f6f8;
  --jk-surface:#fff;
  --jk-soft:#eaf8f7;
  --jk-blue-soft:#edf4ff;
  --jk-warm-soft:#fff6e7;
  --jk-radius:12px;
  --jk-radius-lg:18px;
  --jk-shadow:0 7px 22px rgba(24,63,78,.065);
  --jk-shadow-hover:0 16px 36px rgba(20,77,94,.14);
  --jk-gap:16px;
}

.job-source{display:block;margin-top:9px;color:#647b85;font-size:12px;line-height:1.45}
.source-disclosure .company-panel{cursor:default;align-items:center}
.source-disclosure .company-panel small{display:inline-block;margin-top:8px;color:#667b84}
.official-source-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #0aa9a7;border-radius:10px;color:#087f8d;text-decoration:none;font-weight:700;white-space:nowrap}
.official-source-link:hover{background:#e3f8f6;transform:translateY(-1px)}
.external-source-card{border-color:#bfe7e4;background:#f7fffe}
.footer-trust [data-open-sources]{font-size:12px;color:#8ca0a8}
.footer-trust [data-open-sources] a{color:inherit;text-decoration:underline;text-underline-offset:3px}

html{background:var(--jk-bg)}
body{color:var(--jk-ink);background:var(--jk-bg);font-family:Inter,"PingFang HK","Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body>header{height:68px;padding:0 max(5%,calc((100vw - 1320px)/2));border-bottom:3px solid var(--jk-brand);background:linear-gradient(110deg,#122b34 0%,#192733 58%,#202b48 100%);box-shadow:0 5px 18px rgba(13,35,45,.16)}
.brand b{color:#45ddd4;font-size:24px;letter-spacing:-.5px}
.brand b{display:flex;align-items:center;gap:9px}
.brand b:before{content:'JK';display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:linear-gradient(145deg,var(--jk-brand),var(--jk-blue));color:#fff;font-size:12px;font-weight:900;letter-spacing:-.4px;box-shadow:0 7px 16px rgba(0,145,156,.2)}
.brand span{color:#c4d4da;border-left-color:rgba(255,255,255,.2)}
.site-ad{padding:8px 18px;border:1px solid rgba(85,222,213,.28);border-radius:9px;background:rgba(0,184,178,.09);color:#d8e8ec;font-size:13px}
.site-ad b{margin-right:8px;color:#54ded5}
.visitor{color:#c3d2d8}

button,input,select,textarea{font:inherit}
button{border-radius:9px}
button,a,[data-job-title],[data-region],[data-path],.cat{transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
button:focus-visible,a:focus-visible,[data-job-title]:focus-visible,[data-region]:focus-visible{outline:3px solid rgba(0,166,166,.25);outline-offset:3px}
.primary,.detail-apply,.filter-search,.job-actions .apply{background:linear-gradient(135deg,var(--jk-brand),#08b7ac)!important;color:#fff!important}
.primary:hover,.detail-apply:hover,.filter-search:hover,.job-actions .apply:hover{background:linear-gradient(135deg,#079492,#079f98)!important;color:#fff!important}
input,select,textarea{border-color:var(--jk-line-strong)!important}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,166,166,.13)!important;border-color:var(--jk-brand)!important}

/* 首頁：四欄秩序與明快的招聘品牌感 */
.home-polished .hero{position:relative;min-height:440px;padding:58px max(6%,calc((100vw - 1320px)/2));grid-template-columns:minmax(520px,1.18fr) minmax(370px,.82fr);gap:64px;background-color:#087f98;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),radial-gradient(circle at 84% 25%,rgba(92,235,224,.28),transparent 24%),radial-gradient(circle at 18% 82%,rgba(255,181,79,.11),transparent 23%),linear-gradient(120deg,#087d8a 0%,#087f9f 46%,#2269bb 100%);background-size:48px 48px,48px 48px,auto,auto,auto}
.home-polished .hero:before{width:420px;height:420px;right:4%;top:-230px;border-color:rgba(255,255,255,.2)}
.home-polished .hero:after{right:31%;bottom:-165px;border-color:rgba(255,255,255,.15)}
.home-polished .hero h1{font-size:50px;letter-spacing:-2px}
.hero-kicker{border-radius:8px;background:rgba(255,255,255,.12)}
.home-polished .hero .search{height:68px;min-height:68px;border-radius:12px;box-shadow:0 18px 42px rgba(4,48,84,.25)}
.home-polished .hero .search>input,.home-polished .hero .search>.region-menu,.home-polished .hero .search>.primary{height:50px}
.home-polished .hero .search>.primary{border-radius:9px!important;background:#123d5a!important}
.hero-hot{display:flex!important;width:100%;max-width:690px;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px}
.hero-hot>span{display:flex;flex:0 0 auto;align-items:center;margin-right:2px;color:#dff5f6}
.hero-hot button{flex:0 0 auto;width:auto;min-width:98px;min-height:34px;padding:0 13px;border-radius:8px!important;text-align:center;white-space:nowrap}
.hero-metrics{display:grid;max-width:520px;margin-top:28px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hero-metric{padding-left:14px;border-left:2px solid rgba(143,240,224,.55)}
.hero-metric b{font-size:25px}
.hero-panel{align-self:stretch;padding:26px;border:1px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 24px 60px rgba(5,43,72,.24)}
.hero-panel-label{display:inline-block;padding:5px 9px;border-radius:7px;background:var(--jk-soft);color:var(--jk-brand-deep)}
.hero-route{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hero-route button,.hero-route button:first-child{grid-column:auto;min-width:0;min-height:88px;padding:12px;border-radius:10px;text-align:left}
.hero-route button:first-child{background:#163f59}
.hero-privacy{margin-top:16px}

.home-polished .content,.home-rich{padding-right:max(5%,calc((100vw - 1320px)/2));padding-left:max(5%,calc((100vw - 1320px)/2));background:var(--jk-bg)}
.home-polished .content{padding-top:42px;padding-bottom:18px}
.home-rich{padding-top:0;padding-bottom:72px}
.home-section{max-width:1320px;padding:34px 0}
.section-head,.home-section-head{min-height:56px;align-items:flex-end}
.section-head h2,.home-section-head h2,.home-polished .section-head h2{color:var(--jk-ink);font-size:25px;letter-spacing:-.4px}
.home-section-head h2:after,.home-polished .section-head h2:after{content:'';display:block;width:34px;height:3px;margin-top:9px;border-radius:2px;background:linear-gradient(90deg,var(--jk-brand),var(--jk-blue))}
.section-head a,.home-section-head a{color:var(--jk-brand-deep);font-weight:700}
.section-head a:hover,.home-section-head a:hover{color:var(--jk-blue);transform:translateX(3px)}

.home-polished .categories,.home-polished .grid,.hot-job-grid,.company-showcase,.path-grid,.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jk-gap);align-items:stretch}
.home-polished .categories{margin:20px 0 30px}
.home-polished .cat,.district-card,.home-job,.home-company,.path-card,.insight-card,.card{height:100%;border:1px solid var(--jk-line);border-radius:var(--jk-radius);background:linear-gradient(180deg,#fff 0%,#fcfefe 100%);box-shadow:var(--jk-shadow)}
.home-polished .cat{min-width:0;min-height:142px;padding:20px;text-align:left}
.home-polished .cat:nth-child(n) .cat-icon{border-radius:9px;background:var(--jk-soft);color:var(--jk-brand-deep)}
.home-polished .cat:nth-child(4n+2) .cat-icon{background:var(--jk-blue-soft);color:var(--jk-blue)}
.home-polished .cat:nth-child(4n+3) .cat-icon{background:var(--jk-warm-soft);color:var(--jk-orange)}
.home-polished .cat:nth-child(4n+4) .cat-icon{background:#eef8ed;color:#438b52}
.home-polished .cat:hover,.district-card:hover,.home-job:hover,.home-company:hover,.path-card:hover,.insight-card:hover{border-color:#70cbc5!important;box-shadow:var(--jk-shadow-hover);transform:translateY(-3px)}
.hot-keywords{display:flex!important;align-items:stretch;flex-wrap:wrap;gap:10px;margin-top:4px}
.hot-keywords button,.district-card{display:grid;flex:0 0 176px;width:176px;min-width:176px;min-height:104px;padding:16px;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;gap:7px 9px;border:1px solid var(--jk-line);border-radius:12px;background:#fff;color:var(--jk-ink);text-align:left;white-space:normal;box-shadow:var(--jk-shadow)}
.hot-keywords button b,.district-card b{display:block;max-width:100%;margin:0;overflow:hidden;color:var(--jk-ink);font-size:17px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.hot-keywords button>span:not(.discovery-icon),.district-card>span:not(.discovery-icon){display:block;grid-column:1/-1;color:var(--jk-muted);font-size:12px;line-height:1.45;white-space:nowrap}
.discovery-icon{display:grid!important;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--jk-soft);color:var(--jk-brand-deep)}
.district-card .discovery-icon{background:var(--jk-blue-soft);color:var(--jk-blue)}
.discovery-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hot-keywords button:hover{border-color:#62c9c2;background:var(--jk-soft)}
.district-grid{display:flex!important;align-items:stretch;flex-wrap:wrap;gap:12px}
.hot-job-grid,.company-showcase{grid-auto-rows:1fr}
.home-job,.home-company{position:relative;min-height:166px;padding:19px;overflow:hidden}
.home-job:before,.home-company:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--jk-brand),var(--jk-blue));opacity:0;transform:scaleY(.35);transition:.2s ease}
.home-job:hover:before,.home-company:hover:before{opacity:1;transform:scaleY(1)}
.home-job-top{align-items:flex-start}
.home-job-pay,.job-pay,.detail-pay{color:var(--jk-salary)}
.home-job-pay{padding:4px 8px;border-radius:7px;background:#fff1ef;font-weight:800}
.company-mark,.avatar{border-radius:10px;background:linear-gradient(135deg,var(--jk-soft),var(--jk-blue-soft));color:var(--jk-brand-deep)}
.path-card{min-height:178px;padding:23px;background:#fff}
.path-card:nth-child(n){background:#fff}
.path-card:before{content:'';display:block;width:36px;height:4px;margin-bottom:15px;border-radius:2px;background:linear-gradient(90deg,var(--jk-brand),var(--jk-blue))}
.path-number{position:absolute;right:18px;top:14px;color:rgba(40,120,240,.11)}
.insight-card{min-height:176px;padding:22px}
.insight-card.featured{border-color:#17445c;background:linear-gradient(145deg,#153d52,#176379);color:#fff}
.trust-home{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jk-gap);padding:20px;border:1px solid #d6eae8;border-radius:var(--jk-radius-lg);background:#eaf7f6}
.trust-intro,.trust-point{min-height:132px;padding:18px;border-radius:11px;background:#fff}
.trust-intro{background:linear-gradient(145deg,#0a9095,#1974b8);color:#fff}
.trust-intro p{color:#e1f4f4}

/* 工作区：直线、等高、固定控制尺寸 */
.consumer-shell{background:var(--jk-bg);grid-template-columns:188px 400px minmax(560px,1fr);grid-template-rows:68px minmax(0,1fr)}
.consumer-filters{height:68px;padding:11px 18px;gap:8px;border-bottom-color:#cce5e7;background:linear-gradient(90deg,#def3f4,#eaf7f8)}
.journey-modes{display:grid!important;flex:0 0 282px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.journey-modes button{width:100%;min-width:0;height:42px;padding:0 7px;border:1px solid var(--jk-line);border-radius:9px;background:#fff;white-space:nowrap}
.hover-filter{flex:0 0 112px;width:112px}
.filter-trigger{width:100%;min-width:0;height:42px;padding:0 12px;border-radius:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.consumer-filters>input{height:42px!important;border-radius:9px!important}
.consumer-filters>button{height:42px!important;min-width:94px;padding:0 14px!important;border-radius:9px!important}
.consumer-primary{padding:18px 12px;border-right-color:var(--jk-line)}
.consumer-primary h4{margin:12px 0 7px;color:#87979e;letter-spacing:.08em}
.consumer-primary button{min-height:43px;margin:3px 0;padding:0 12px;border-radius:9px}
.consumer-primary button.active{background:#dcf5f2;color:var(--jk-brand-deep);box-shadow:inset 4px 0 var(--jk-brand)}
.consumer-stream{padding:14px;background:#edf2f5;border-right-color:var(--jk-line)}
.stream-head{background:#eef4f7}
.sort-tabs{height:42px;padding:4px;border:1px solid #e2ebed;border-radius:10px}
.sort-tabs button{height:32px;padding:0 8px;border-radius:7px}
.sort-tabs button.active{background:#dff5f2;color:var(--jk-brand-deep)}
.consumer-job,.mode-card,.insight-list-card,.crm-candidate-card,.simple-message,.simple-application{border:1px solid #dfe8eb;border-radius:var(--jk-radius);box-shadow:0 3px 12px rgba(21,58,72,.035)}
.consumer-job{min-height:142px;padding:16px;margin-bottom:10px}
.consumer-job.active,.mode-card.active,.crm-candidate-card.active{border-color:var(--jk-brand);box-shadow:0 0 0 3px rgba(0,184,178,.11)}
.consumer-detail{padding:30px 36px;background:#fff}
.detail-top{align-items:flex-start}
.job-actions{display:grid;grid-template-columns:repeat(4,88px);gap:8px}
.job-actions button{width:88px;height:42px;padding:0 8px;border-radius:9px}
.detail-section{padding:22px 0}
.company-panel{width:100%;border:1px solid #e4ecee;border-radius:10px;background:#f7fafb;color:inherit;font:inherit;text-align:left;cursor:pointer}
.company-panel:hover{border-color:var(--jk-brand);background:#f2fbfa;box-shadow:0 6px 18px rgba(0,184,178,.08)}
.recruiter-avatar{border-radius:12px;background:var(--jk-warm-soft);color:#aa6a12}
.filter-menu{border-color:var(--jk-line);border-radius:11px;box-shadow:0 16px 42px rgba(20,56,70,.15)}

/* 企业与个人系统统一使用四栏基线 */
.crm-kpis,.crm-profile-grid,.quality-gate>div,.contact-permissions,.pipeline-grid,.progress-board,.account-stat-grid,.simple-status,.simple-application-steps,.application-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.crm-kpis section,.crm-profile-grid section,.account-stat-grid section,.simple-status section,.simple-application-steps>div,.application-timeline>div{height:100%;border:1px solid var(--jk-line);border-radius:11px;background:#fff}
.crm-hero,.simple-welcome,.overview-hero{border:1px solid #d6e9e7;border-radius:16px;background:linear-gradient(135deg,#e4f8f6,#edf4ff)}
.crm-panel,.simple-help,.friendly-resume-review,.simple-message-body{border-color:var(--jk-line);border-radius:14px;box-shadow:var(--jk-shadow)}
.crm-stage-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.crm-stage-actions button{width:100%;min-height:42px;padding:0 8px;border-radius:9px}
.crm-contact-actions,.crm-inline-actions,.friendly-actions,.quick-replies{gap:8px}
.crm-contact-actions button,.crm-inline-actions button,.friendly-actions>button,.quick-replies button{min-width:112px;min-height:42px;border-radius:9px}
.resume-template{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.resume-template button{width:100%;min-height:42px;border-radius:9px}
.plain-choice{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.plain-choice button{width:100%;min-height:54px}
.simple-step-card,.resume-step-row{border-radius:11px}

.site-footer{padding:48px max(5%,calc((100vw - 1320px)/2)) 24px;background:#14303b}
.footer-top{grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:32px}
.footer-column a{min-height:26px;margin:6px 0}

@media(max-width:1280px){
  .consumer-shell{grid-template-columns:168px 350px minmax(500px,1fr)}
  .journey-modes{flex-basis:252px}
  .hover-filter{flex-basis:104px;width:104px}
  .job-actions{grid-template-columns:repeat(4,82px)}
  .job-actions button{width:82px}
}

@media(max-width:1100px){
  .home-polished .categories,.home-polished .grid,.hot-job-grid,.company-showcase,.path-grid,.insight-grid,.trust-home{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-route{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consumer-filters{overflow-x:auto}
}

@media(max-width:760px){
  .home-polished .categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-polished .grid,.hot-job-grid,.company-showcase,.path-grid,.insight-grid,.trust-home{grid-template-columns:1fr}
  .hero-hot{display:flex!important;max-width:none}
  .hot-keywords,.district-grid{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding:2px 16px 10px 1px;scroll-snap-type:x proximity;scrollbar-width:none}
  .hot-keywords::-webkit-scrollbar,.district-grid::-webkit-scrollbar{display:none}
  .hot-keywords button,.district-card{flex-basis:168px;width:168px;min-width:168px;scroll-snap-align:start}
  .hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-route{grid-template-columns:1fr}
  .crm-kpis,.crm-profile-grid,.quality-gate>div,.contact-permissions,.pipeline-grid,.progress-board,.account-stat-grid,.simple-status,.simple-application-steps,.application-timeline,.crm-stage-actions,.resume-template,.plain-choice{grid-template-columns:1fr}
}
