:root{--jf-accent:#126c83;--jf-ink:#182535;--jf-line:#e7e9ed;--jf-bg:#fff;--jf-muted:#64748b} .jf-wrap{max-width:1140px;margin:0 auto;padding:24px 20px;color:var(--jf-ink);font-family:inherit}.jf-wrap *{box-sizing:border-box}.jf-wrap h1,.jf-wrap h2,.jf-wrap h3{line-height:1.3;color:var(--jf-ink);margin:0 0 12px}.jf-wrap h1{font-size:clamp(26px,3vw,38px)}.jf-wrap h2{font-size:21px}.jf-wrap h3{font-size:15px}.jf-wrap p{line-height:1.6}.jf-wrap a{text-decoration:none}.jf-wrap a:hover{text-decoration:underline}.jf-hero{background:linear-gradient(115deg,#126c83,#23465d 68%,#4b6e7d);padding:50px 34px;color:white;border-radius:7px}.jf-hero h1,.jf-hero p{color:white}.jf-hero h1{font-size:clamp(30px,4vw,48px);font-weight:800}.jf-search{display:flex;gap:9px;margin:18px 0 12px;max-width:760px}.jf-search input{min-width:0;flex:2;padding:12px;border:1px solid #dce3e8;border-radius:7px;background:#fff;color:#172534;font-size:14px}.jf-search input[name=job_location]{flex:1}.jf-search button,.jf-btn{background:var(--jf-accent);color:white!important;border:0;border-radius:6px;padding:11px 17px;font-weight:700;font-size:13px;display:inline-block;cursor:pointer;text-decoration:none!important}.jf-search button:hover,.jf-btn:hover{filter:brightness(.88)}.jf-categories{display:flex;align-items:center;gap:9px;overflow:auto;padding:15px 0;white-space:nowrap}.jf-categories strong{font-size:11px;color:var(--jf-accent)}.jf-categories a{border:1px solid var(--jf-line);border-radius:5px;padding:7px 10px;font-size:12px;color:var(--jf-ink);background:#f7f9fa}.jf-section{padding:30px 0}.jf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.jf-card{background:var(--jf-bg);border:1px solid var(--jf-line);border-left:3px solid var(--jf-accent);border-radius:7px;padding:15px;min-width:0;display:flex;flex-direction:column;gap:10px}.jf-card-top{display:flex;gap:10px;align-items:flex-start}.jf-logo{width:40px;height:40px;flex:0 0 40px;border-radius:6px;background:#e6f4f7;display:grid;place-items:center;color:var(--jf-accent);overflow:hidden}.jf-logo img{width:100%;height:100%;object-fit:cover}.jf-card h3{font-size:14px;margin:0}.jf-card h3 a{color:var(--jf-ink)}.jf-card p{margin:3px 0;font-size:12px;color:var(--jf-muted)}.jf-card .jf-best{margin:5px 0 10px;flex:1}.jf-best strong{color:var(--jf-accent)}.jf-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.jf-card-bottom small{font-size:10px;color:#8895a5}.jf-tag{align-self:flex-start;font-size:11px;color:var(--jf-accent);background:#e7f3f5;padding:4px 8px;border-radius:4px}.jf-empty{grid-column:1/-1}.jf-campaign>h1{font-size:25px}.jf-ad-slot{min-height:150px;display:flex;justify-content:center;align-items:flex-start;padding:18px;border:1px dashed #e6e8ec;background:#fafbfc;color:#99a3af;margin:16px 0 24px}.jf-ad-slot span{text-transform:uppercase;font-size:10px;letter-spacing:2px}.jf-detail-intro{padding:18px 0;border-bottom:1px solid var(--jf-line);margin-bottom:24px}.jf-detail-intro p{max-width:740px}.jf-detail-intro small{color:var(--jf-muted)}.jf-detail-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:26px}.jf-detail-main{min-width:0}.jf-detail-main h2{margin-top:25px}.jf-detail-main ul{padding-left:22px}.jf-info{background:#f3f8f9;border:1px solid #e3eff1;border-radius:8px;padding:16px;margin:16px 0}.jf-facts{border:1px solid var(--jf-line);padding:8px 15px;border-radius:7px}.jf-facts p{margin:7px 0}.jf-procon{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jf-procon .jf-info:last-child{background:#fff6f5;border-color:#f3e6e3}.jf-panel{padding:20px;border:1px solid var(--jf-line);border-radius:9px;margin-bottom:16px;box-shadow:0 4px 18px #00000007}.jf-panel .jf-btn{display:block;text-align:center}.jf-panel small{display:block;margin-top:10px;color:var(--jf-muted)}.jf-job-body{overflow-wrap:anywhere}.jf-wrap .screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}@media(max-width:850px){.jf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jf-detail-columns{grid-template-columns:1fr}.jf-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jf-panel{margin-bottom:0}}@media(max-width:600px){.jf-wrap{padding:16px 14px}.jf-hero{padding:32px 18px}.jf-grid,.jf-sidebar,.jf-procon{grid-template-columns:1fr}.jf-search{flex-direction:column}.jf-search input,.jf-search button{width:100%}.jf-card{padding:14px}.jf-ad-slot{min-height:110px}.jf-detail-intro{padding:12px 0}.jf-section{padding:22px 0}}

/* Standalone theme-independent shell: only on JobFlow pages. */
body.jf-standalone{margin:0;background:#fafafa;color:#182535;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.jf-standalone .jf-site-main{min-height:65vh}body.jf-standalone .jf-wrap{max-width:1140px;margin:0 auto;padding:24px 18px}body.jf-standalone .jf-site-header{background:white;border-bottom:2px solid var(--jf-accent)}.jf-header-inner{max-width:1140px;margin:auto;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:22px}.jf-brand{display:inline-grid;place-items:center;background:var(--jf-accent);color:white!important;border-radius:5px;width:32px;height:32px;text-decoration:none}.jf-header-search{display:flex;flex:0 1 360px;min-width:0;background:#edf5f7;border:1px solid #dce7eb;border-radius:7px;padding:4px}.jf-header-search input{width:100%;min-width:0;background:transparent;border:0;padding:7px;font-size:13px;color:#182535}.jf-header-search button{background:var(--jf-accent);color:white;border:0;border-radius:5px;min-width:32px;cursor:pointer}.jf-site-header nav,.jf-site-footer nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.jf-site-header nav a{color:#182535;font-size:13px;text-decoration:none}.jf-site-footer{background:#292525;color:#ddd;border-top:3px solid var(--jf-accent);margin-top:60px}.jf-footer-inner{max-width:1140px;margin:auto;padding:32px 18px 26px;display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between}.jf-footer-inner p{font-size:12px;color:#b7b1b1}.jf-footer-inner a{font-size:12px;color:#ddd;text-decoration:none}.jf-disclaimer{flex-basis:100%;border-top:1px solid #504949;padding-top:18px}.jf-standalone .jf-hero{border-radius:0}.jf-standalone .jf-section{padding-top:26px}@media(max-width:600px){.jf-header-inner{gap:10px;padding:10px 12px}.jf-header-search{flex:1}.jf-site-header nav{gap:8px}.jf-site-header nav a{font-size:11px}.jf-site-header nav a:first-child{display:none}.jf-footer-inner{display:block}.jf-site-footer nav{margin-top:20px}}
/* v0.3 layout refinements */
.jf-standalone .jf-wrap{max-width:1100px}.jf-site-main .jf-home{padding-top:0}.jf-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#08758f 0%,#173d58 62%,#315e76 100%);min-height:260px;display:flex;flex-direction:column;justify-content:center}.jf-hero:after{content:"";position:absolute;inset:auto -10% -50px -10%;height:92px;transform:rotate(-5deg);background:rgba(13,155,180,.14);pointer-events:none}.jf-hero>*{position:relative;z-index:1}.jf-hero p{margin:4px 0 8px}.jf-home .jf-categories{border-bottom:1px solid var(--jf-line)}.jf-home .jf-section{padding-top:26px}.jf-card{min-height:158px;box-shadow:0 1px 2px rgba(20,30,50,.025)}.jf-card h3{font-weight:750}.jf-card .jf-best{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.jf-card-top>div:last-child{min-width:0}.jf-card-top h3,.jf-card-top p{overflow:hidden;text-overflow:ellipsis}.jf-results h1{font-size:23px;margin:20px 0}.jf-results>.jf-search{max-width:none}.jf-sort{margin:10px 0 30px}.jf-sort select{border:1px solid var(--jf-line);border-radius:6px;background:white;padding:10px}.jf-pagination{display:flex;gap:12px;justify-content:center;margin:36px auto}.jf-pagination a,.jf-pagination span{padding:8px 13px;border:1px solid var(--jf-line);border-radius:6px}.jf-campaign>h1{font-size:24px;margin:4px 0 14px}.jf-campaign .jf-ad-slot{min-height:180px;border:0;background:transparent;margin:0 0 24px}.jf-load-more{display:block;margin:35px auto 25px;padding:12px 26px;background:white;border:1px solid var(--jf-accent);border-radius:7px;color:var(--jf-accent);font-weight:700;cursor:pointer}.jf-load-more:disabled{opacity:.6;cursor:wait}.jf-detail-intro{max-width:850px}.jf-detail-main>.jf-info:first-of-type{border-left:3px solid var(--jf-accent)}.jf-panel{background:white}.jf-job-body{line-height:1.7}.jf-site-footer{margin-top:55px}@media(max-width:600px){.jf-header-inner{flex-wrap:wrap}.jf-header-search{order:3;flex-basis:100%}.jf-hero{min-height:0;padding:30px 18px}.jf-hero h1{font-size:32px}.jf-card{min-height:0}.jf-campaign .jf-ad-slot{min-height:75px}.jf-results h1,.jf-campaign>h1{font-size:21px}.jf-detail-columns{gap:18px}}

.jf-faq details{border:1px solid var(--jf-line);border-radius:8px;background:white;margin:9px 0;padding:14px}.jf-faq summary{cursor:pointer;font-weight:700}.jf-faq p{margin-bottom:0}
/* v0.4: campaign and responsive refinements */
.jf-campaign-note{font-size:1rem;color:#526477;margin:0 0 1.3rem}.jf-campaign>.jf-grid{margin-top:1.6rem}.jf-campaign>.jf-ad-slot{min-height:100px;max-height:140px;background:#f7f9fc;border:1px dashed #dce3eb;border-radius:12px}.jf-campaign>.jf-ad-slot span{font-size:11px;letter-spacing:.12em;color:#78889a}.jf-detail .jf-info{border-radius:12px}.jf-categories{overflow-x:auto;scrollbar-width:thin;flex-wrap:nowrap}.jf-categories a{white-space:nowrap}.jf-card{min-width:0}.jf-card h3{overflow-wrap:anywhere}.jf-job-list{padding-left:1.4rem}.jf-job-list li{margin:.55rem 0}.jf-verification{padding:1rem 1.2rem;background:#eef7f9;border-left:3px solid var(--jf-accent);border-radius:8px;margin:1.2rem 0}.jf-site-header .jf-header-inner{max-width:1200px}.jf-site-main{min-height:50vh}@media(max-width:760px){.jf-campaign h1{font-size:clamp(1.6rem,7vw,2.5rem);line-height:1.16}.jf-campaign>.jf-ad-slot{min-height:72px}.jf-categories{gap:.5rem}.jf-card{padding:1.1rem}.jf-detail-columns{display:block}.jf-sidebar{margin-top:1.5rem}.jf-wrap{padding-left:16px;padding-right:16px}}

.jf-demo-tag{display:inline-block;background:#fff0cf;color:#754800;border:1px solid #efc97a;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:800;margin-bottom:12px;letter-spacing:.025em}.jf-demo-banner{padding:17px 20px;background:#fff2d7;border:1px solid #e6c079;border-radius:12px;color:#67410c;margin:18px 0 24px}.jf-demo-banner strong{display:block;margin-bottom:4px}.jf-card .jf-demo-tag{width:fit-content}
