
:root{--green:#00b14f;--green-dark:#007f3a;--teal:#0f766e;--teal-soft:#effaf8;--soft:#f7faf8;--soft-2:#f3f8f5;--line:#dde8e1;--ink:#1d352c;--sub:#6a7d73;--gold:#ffb545;--shadow:0 18px 52px rgba(15,44,24,.08);--radius:18px;--container:1550px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.6 'Be Vietnam Pro',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
.container{max-width:var(--container);width:calc(100% - 48px);margin:auto}
.icon{width:18px;height:18px;flex:none}
.topbar{background:#f8fbf9;border-bottom:1px solid #edf2ef;color:#708279;font-size:12px}.topbar .container{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-mark{display:inline-flex;width:48px;height:48px}.brand-name{font-size:22px;font-weight:800;letter-spacing:-.6px;color:#0f3324;line-height:1.05}.brand-name small{display:block;font-size:10px;letter-spacing:2.2px;color:#5e8d70;margin-top:6px}
.navlinks{display:flex;align-items:center;gap:28px;margin-left:auto;font-weight:600;color:#395447}.navlinks a.active,.navlinks a:hover{color:var(--green)}.header-actions{display:flex;gap:10px;align-items:center}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--green),#00a649);color:#fff;box-shadow:0 14px 28px rgba(0,177,79,.17)}.btn-primary:hover{background:linear-gradient(135deg,#00a549,#009341)}.btn-outline{background:#fff;border:1px solid #c8d9cd;color:#244035}.btn-outline:hover{background:#f8fbf9}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;color:#214437}
.mobile-nav{display:none}
.hero{background:linear-gradient(180deg,#fff 0%,#f7fbf8 58%,#f2fbf6 100%);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;gap:28px;align-items:center;min-height:560px;padding:44px 0 34px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#edf9f1;color:#00a149;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green)}.hero h1{margin:16px 0 14px;font-size:clamp(36px,3.2vw,58px);line-height:1.14;letter-spacing:-1.8px;color:#16392b}.hero h1 span{color:var(--green)}.hero p{margin:0 0 24px;max-width:660px;font-size:16px;line-height:1.92;color:#66786f}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.fact-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#50645b;font-size:13px;box-shadow:0 10px 24px rgba(0,0,0,.03)}
.hero-visual{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center}.hero-bg{position:absolute;inset:30px 18px 18px 18px;border-radius:34px;background:radial-gradient(circle at 24% 18%,#dcf7e5 0,#eef9f3 42%,#ffffff 74%);border:1px solid #e3efe7}.girl-wrap{position:relative;z-index:2;width:min(100%,470px);padding-top:12px}.girl-wrap img{width:100%;height:auto;filter:drop-shadow(0 22px 32px rgba(2,59,27,.12))}.float-card{position:absolute;z-index:3;background:#fff;border:1px solid #e4ece7;border-radius:18px;box-shadow:var(--shadow);padding:14px 16px;display:flex;gap:12px;align-items:center;max-width:230px}.float-card strong{display:block;font-size:15px;color:#17392b}.float-card small{display:block;font-size:11px;color:#7b8d84}.float-card .mini{width:42px;height:42px;border-radius:14px;background:#eff8f2;color:#0f9348;display:grid;place-items:center}.float-card.one{top:26px;left:0}.float-card.two{right:0;bottom:56px}.float-card.three{right:44px;top:60px}
.search-wrap{position:relative;margin-top:-8px;z-index:4}.search-card{background:#fff;border:1px solid #e5eee8;border-radius:22px;box-shadow:0 24px 60px rgba(1,42,16,.08);padding:22px 24px}.search-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.search-head strong{font-size:20px;color:#163b2a}.search-head span{color:#73857c;font-size:12px}.search-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 170px;gap:12px}.field{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#557067}.field input,.field select{width:100%;height:100%;border:0;outline:none;background:transparent;color:#274337}.field:focus-within{border-color:var(--green);box-shadow:0 0 0 4px rgba(0,177,79,.08)}.keyword-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;color:#75867d;font-size:12px}.keyword-row button{border:0;background:#f0f8f2;color:#107d42;border-radius:999px;padding:7px 12px;font-weight:600}
.section{padding:72px 0}.section-tint{background:var(--soft)}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.head h2{margin:8px 0 0;font-size:32px;line-height:1.32;letter-spacing:-1px;color:#183d2b}.head p{margin:0;max-width:620px;color:var(--sub)}.more{color:#0f9448;font-weight:700}
.grid-with-banner{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 12px 26px rgba(0,0,0,.025)}.category .top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.category .ico{width:48px;height:48px;border-radius:14px;background:#eef8f2;color:#0f9347;display:grid;place-items:center}.category h3{margin:0;font-size:17px}.category p{margin:8px 0 12px;color:var(--sub);font-size:13px;line-height:1.8}.category a{color:#0f9448;font-weight:700;display:inline-flex;gap:6px;align-items:center}
.side-stack{display:grid;gap:14px}.banner{position:relative;overflow:hidden;border-radius:22px;min-height:220px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.banner.green{background:linear-gradient(135deg,#0e9b49 0%,#00b14f 55%,#4bd07f 100%);color:#fff}.banner.teal{background:linear-gradient(135deg,#123f3a 0%,#14605d 58%,#1f9d96 100%);color:#fff}.banner.light{background:linear-gradient(135deg,#f4fbf7 0%,#eff9f4 100%);border:1px solid var(--line);color:#17392c;box-shadow:none}.banner:before{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.12);width:180px;height:180px;right:-46px;top:-46px}.banner:after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.1);width:120px;height:120px;left:-34px;bottom:-34px}.banner h3{position:relative;z-index:1;margin:0 0 8px;font-size:24px;line-height:1.3}.banner p{position:relative;z-index:1;margin:0;color:inherit;opacity:.95;max-width:320px;line-height:1.8}.banner .badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);width:max-content;font-size:12px;font-weight:700}.banner .actions{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.banner .girl-mini{position:absolute;right:-8px;bottom:0;width:170px;opacity:.98}.banner.light .girl-mini{width:145px;right:2px}
.jobs-layout{display:grid;grid-template-columns:1.05fr .55fr;gap:18px;align-items:start}.jobs-list{display:grid;gap:14px}.job-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;box-shadow:0 12px 26px rgba(0,0,0,.025);transition:.2s}.job-item:hover{transform:translateY(-2px);border-color:#bce2c6;box-shadow:var(--shadow)}.company-icon{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#eff8f2,#e4f5ea);display:grid;place-items:center;color:#0c8e45;border:1px solid #dbeee3}.company-icon svg{width:24px;height:24px}.job-main h3{margin:0 0 8px;font-size:18px;line-height:1.4}.job-meta{display:flex;gap:8px;flex-wrap:wrap}.job-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#f4f7f5;color:#60726a;font-size:12px}.job-meta svg{width:14px;height:14px}.job-sub{margin-top:10px;color:#73857b;font-size:13px}.job-side{text-align:right}.job-side .salary{display:block;color:#0f9648;font-weight:800;font-size:15px;margin-bottom:12px}.job-side button{border:0;background:#eff8f2;color:#0d8e45;border-radius:10px;padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;gap:6px}.job-side button:hover{background:#e4f5ea}
.sidebar{display:grid;gap:14px;position:sticky;top:104px}.mini-banner{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 28px rgba(0,0,0,.03)}.mini-banner h4{margin:0 0 8px;font-size:20px;line-height:1.35}.mini-banner p{margin:0;color:var(--sub);line-height:1.8}.mini-banner .small-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#edf8f1;color:#0b8d44;font-size:11px;font-weight:700;margin-bottom:12px}.mini-banner .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.mini-banner .stat{padding:12px;border-radius:14px;background:#f6faf8;border:1px solid #e8f0eb}.mini-banner .stat strong{display:block;font-size:18px;color:#143d2b}.mini-banner .stat span{display:block;font-size:11px;color:#75867d;margin-top:2px}.mini-banner .girl-side{position:absolute;right:0;bottom:0;width:120px;opacity:.95}
.partner-wrap{display:grid;grid-template-columns:1fr .42fr;gap:18px}.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.partner{background:#fff;border:1px solid var(--line);border-radius:16px;min-height:84px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#7c8f84;letter-spacing:.04em;box-shadow:0 10px 24px rgba(0,0,0,.02)}
.service-layout{display:grid;grid-template-columns:repeat(3,1fr) .92fr;gap:16px}.service{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 26px rgba(0,0,0,.025)}.service .ico{width:52px;height:52px;border-radius:16px;background:#eef8f2;color:#0d9247;display:grid;place-items:center;margin-bottom:14px}.service h3{margin:0 0 8px;font-size:18px}.service p{margin:0;color:var(--sub);line-height:1.85}
.about-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:18px}.about-panel{border-radius:24px;padding:28px;background:linear-gradient(135deg,#0f4530 0%,#11734a 58%,#1ea464 100%);color:#fff;position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.about-panel:before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.08);right:-50px;top:-30px}.about-panel h3{position:relative;z-index:1;margin:0;font-size:34px;line-height:1.3}.about-panel p{position:relative;z-index:1;margin:0;max-width:360px;opacity:.92;line-height:1.8}.about-panel .nums{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.about-panel .num{padding:14px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}.about-panel .num strong{display:block;font-size:22px}.about-panel .num span{display:block;font-size:12px;opacity:.9}
.about-copy{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 12px 28px rgba(0,0,0,.025)}.about-copy p{color:var(--sub);line-height:1.95}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin-top:18px}.checks span{display:flex;align-items:center;gap:9px;font-weight:600;color:#286847}
.cta{background:linear-gradient(100deg,#0d6d3d,#00b14f);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:44px 0}.cta-inner h2{font-size:30px;margin:0 0 8px}.cta-inner p{margin:0;opacity:.88}.footer{background:#0d2d20;color:#c8dcd1;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px}.footer h4{color:#fff;margin:0 0 14px}.footer a{display:block;margin-bottom:10px}.footer p{font-size:12px;line-height:2;color:#aec8bc;margin:0}.footer-base{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;font-size:12px;color:#92b2a2}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(7,29,19,.62);z-index:100;align-items:center;justify-content:center;padding:16px}.modal-backdrop.open{display:flex}.modal{width:min(540px,100%);background:#fff;border-radius:18px;padding:28px;max-height:90vh;overflow:auto;box-shadow:0 24px 54px rgba(0,0,0,.2)}.modal h2{margin:0 0 8px}.modal p{color:var(--sub);font-size:12px}.modal label{display:block;font-weight:600;margin:14px 0 6px}.modal input,.modal textarea{width:100%;border:1px solid #d8e6dc;padding:12px 13px;border-radius:10px;outline:none}.modal textarea{height:90px;resize:vertical}.modal input:focus,.modal textarea:focus{border-color:var(--green)}.modal-actions{display:flex;gap:10px;margin-top:18px}.note{background:#f2f7f3;padding:12px;border-radius:10px}
@media(max-width:1180px){.search-grid{grid-template-columns:1fr 1fr}.search-grid .btn{grid-column:1/-1}.grid-with-banner,.jobs-layout,.partner-wrap,.about-layout{grid-template-columns:1fr}.jobs-layout .sidebar{position:static}.service-layout{grid-template-columns:1fr 1fr}.partners{grid-template-columns:repeat(3,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.container{width:calc(100% - 32px)}.navlinks,.header-actions .btn{display:none}.menu-toggle{display:inline-flex;margin-left:auto}.mobile-nav.open{display:flex;flex-direction:column;gap:14px;padding:14px 0 16px;border-top:1px solid var(--line)}.hero-inner{grid-template-columns:1fr;gap:12px;padding:34px 0 28px}.hero-visual{min-height:400px}.service-layout{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-inner{display:block}.cta-inner .btn{margin-top:18px}}
@media(max-width:620px){.topbar{display:none}.hero h1{font-size:30px;letter-spacing:-1px}.head{display:block}.head h2{font-size:26px}.search-grid,.category-grid,.partners,.service-layout,.footer-grid,.checks,.about-panel .nums{grid-template-columns:1fr}.job-item{grid-template-columns:1fr;align-items:flex-start}.job-side{text-align:left}.jobs-list{gap:12px}.sidebar{gap:12px}.hero-bg{inset:24px 0 16px 0}.girl-wrap{width:82%}.float-card{max-width:190px;padding:12px}.float-card.one{left:0;top:16px}.float-card.two{right:0;bottom:26px}.float-card.three{display:none}.service-layout{grid-template-columns:1fr}.partners{grid-template-columns:1fr 1fr}.section{padding:54px 0}}

/* Multi-page recruitment UI */
.page-banner{background:linear-gradient(110deg,#f2faf5,#ffffff 70%);border-bottom:1px solid var(--line);padding:30px 0}.breadcrumb{font-size:12px;color:#70877a;margin-bottom:12px}.breadcrumb a{color:#168d4d}.page-banner h1{font-size:33px;letter-spacing:-.9px;margin:0 0 6px}.page-banner p{margin:0;color:var(--sub)}
.list-layout{display:grid;grid-template-columns:265px minmax(0,1fr) 250px;gap:20px;align-items:start}.filter-box,.detail-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 22px rgba(0,0,0,.025)}.filter-box{position:sticky;top:100px}.filter-box h3{font-size:17px;margin:0 0 15px}.filter-box label{display:block;margin:12px 0 6px;color:#52685d;font-weight:600}.filter-box input,.filter-box select{width:100%;height:45px;background:white;border:1px solid var(--line);border-radius:10px;padding:0 12px}.filter-box .btn{width:100%;margin-top:18px}.page-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;color:#6d7e73;font-size:13px}.page-tools strong{color:#193d2a}.job-item{grid-template-columns:auto minmax(0,1fr) auto}.job-item h3 a:hover{color:var(--green)}.list-sidebar{display:grid;gap:16px;position:sticky;top:100px}.side-promo{border-radius:17px;overflow:hidden;position:relative;background:linear-gradient(140deg,#063f2b,#009b52);color:#fff;padding:24px;min-height:245px}.side-promo h3{position:relative;font-size:22px;line-height:1.35;margin:20px 0 10px}.side-promo p{position:relative;font-size:12px;line-height:1.8;opacity:.85}.side-promo:after{content:'';position:absolute;right:-70px;bottom:-70px;width:210px;height:210px;border:1px solid #ffffff55;border-radius:50%}.side-promo.light{background:linear-gradient(140deg,#f1f9f3,#dff4e8);color:#1c5535}.pager{display:flex;justify-content:center;gap:8px;padding:24px 0}.pager button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 14px}.pager button.active{background:var(--green);color:#fff;border-color:var(--green)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.detail-main{display:grid;gap:18px}.detail-title{display:flex;align-items:center;gap:18px}.detail-title h1{font-size:29px;line-height:1.3;margin:0 0 8px;letter-spacing:-.5px}.detail-title small{color:var(--sub)}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.detail-fact{background:#f4faf6;padding:14px;border-radius:12px;font-size:12px;color:#677a6f}.detail-fact strong{display:block;font-size:15px;color:#117841;margin-top:3px}.detail-box h2{font-size:21px;margin:0 0 16px}.detail-box p,.detail-box li{line-height:1.95;color:#607368}.detail-box li{margin-bottom:8px}.detail-side{position:sticky;top:102px;display:grid;gap:16px}.detail-side .btn{width:100%}.company-card{text-align:center}.company-card .company-icon{margin:0 auto 12px;width:68px;height:68px}.company-card h3{margin:0 0 10px}.company-card p{font-size:12px;color:var(--sub)}.related-row{border-top:1px solid var(--line);padding:14px 0}.related-row:first-child{border-top:0}.related-row a{font-weight:700}.related-row small{display:block;color:var(--sub);margin-top:4px}
.apply-modal{display:none;position:fixed;inset:0;background:#082b1ea9;z-index:200;align-items:center;justify-content:center;padding:20px}.apply-modal.open{display:flex}.apply-sheet{width:min(540px,100%);max-height:90vh;overflow:auto;border-radius:20px;background:#fff;padding:25px}.apply-sheet h2{margin:0 0 6px}.apply-sheet p{color:var(--sub)}.apply-sheet label{font-weight:600;display:block;margin:12px 0 6px}.apply-sheet input,.apply-sheet textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px}.apply-sheet .actions{display:flex;gap:10px;margin-top:16px}
@media(max-width:1200px){.list-layout{grid-template-columns:235px minmax(0,1fr)}.list-sidebar{display:none}}
@media(max-width:800px){.list-layout,.detail-layout{grid-template-columns:1fr}.filter-box,.detail-side{position:static}.detail-facts{grid-template-columns:1fr 1fr}.page-banner h1{font-size:27px}}
@media(max-width:520px){.detail-facts{grid-template-columns:1fr}.detail-title{align-items:flex-start}.job-item{grid-template-columns:auto 1fr}.job-side{grid-column:2}.filter-box{padding:16px}}

/* ═══════ Bổ sung cho bản chạy thật (Laravel) — dùng chung biến màu của thiết kế v10 ═══════ */
.wrap{max-width:var(--container);width:calc(100% - 48px);margin:auto}
@media(max-width:920px){.wrap{width:calc(100% - 32px)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--green);color:#fff;padding:8px 14px;z-index:300}.skip:focus{left:8px;top:8px}
.mut{color:var(--sub)}.center{text-align:center}
.btn-gold{background:linear-gradient(135deg,var(--green),#00a649);color:#fff;box-shadow:0 14px 28px rgba(0,177,79,.17)}.btn-gold:hover{background:linear-gradient(135deg,#00a549,#009341)}
.btn-ink{background:#0f4530;color:#fff}.btn-ink:hover{background:#0b3424}
.btn-line{background:transparent;border:1px solid #c8d9cd;color:#244035}.btn-ghost{background:#fff;border:1px solid #c8d9cd;color:#244035}.btn-ghost:hover{background:#f8fbf9}
.btn-zalo{background:#0068ff;color:#fff}.btn-sm{padding:8px 14px;font-size:13px;border-radius:10px}.btn-block{display:flex;width:100%}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hd-cta{display:flex;gap:10px;align-items:center}
.nav details{position:relative}.nav details summary{list-style:none;cursor:pointer;font-weight:600;color:#395447}.nav details summary:hover{color:var(--green)}.nav details>div{position:absolute;top:100%;left:0;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;margin-top:10px}.nav details>div a{display:block;padding:8px 10px;border-radius:8px}.nav details>div a:hover{background:var(--soft)}
.brand img{width:228px;height:54px;object-fit:contain}
.section-tint{background:var(--soft)}
.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:#f4f7f5;color:#60726a;font-size:12px;font-weight:600}.tag.sal{background:#e7f7ee;color:#0b8d44}.tag.hot{background:#fee9e7;color:#c0392b}.tag.ok{background:#e4f5ea;color:#0d8e45}.tag.gray{background:#eef2ef;color:#5b6b63}
.meta{display:flex;flex-wrap:wrap;gap:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;background:#f0f8f2;color:#107d42;font-weight:600;font-size:13px}.chip:hover,.chip.on{background:var(--green);color:#fff}.chip.dark{background:#fff;border:1px solid var(--line);color:#365246}.chip.dark:hover,.chip.dark.on{background:var(--green);border-color:var(--green);color:#fff}
.crumbs{font-size:12px;color:#70877a;padding:14px 0}.crumbs a{color:#168d4d}.crumbs i{margin:0 6px;font-style:normal}
.fld{margin-bottom:12px}.fld label{display:block;font-weight:600;font-size:13px;margin-bottom:5px;color:#365246}.fld input,.fld select,.fld textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink);outline:none}.fld textarea{min-height:96px;resize:vertical}.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(0,177,79,.1)}.fld .err{color:#c0392b;font-size:12px;margin-top:4px}.fld .hint{color:var(--sub);font-size:12px;margin-top:4px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px}.chk input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--green)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:600}.alert.ok{background:#e4f5ea;color:#0a6b35}.alert.err{background:#fee9e7;color:#9b2c20}.alert.warn{background:#fff6e0;color:#8a5a00}
.prose{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.prose h2{font-size:21px;margin:1.3em 0 .6em}.prose h2:first-child{margin-top:0}.prose p,.prose li{line-height:1.95;color:#607368}.prose ul,.prose ol{padding-left:1.3em}.prose img{height:auto;border-radius:12px}
.apply{background:#fff;border:2px solid var(--green);border-radius:18px;padding:22px}.apply h2{font-size:20px;margin:0 0 6px}
.feat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 22px rgba(0,0,0,.025)}.feat .ic{width:48px;height:48px;border-radius:14px;background:#eef8f2;color:#0f9347;display:grid;place-items:center;margin-bottom:12px}.feat .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.feat h3{margin:0 0 6px;font-size:17px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.steps{counter-reset:s;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}@media(max-width:960px){.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.steps{grid-template-columns:1fr}}.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.step:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7f7ee;color:#0b8d44;font-weight:800;margin-bottom:10px}.step h3{margin:0 0 6px;font-size:17px}.step p{margin:0;color:var(--sub)}
details.faq{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 18px;margin-bottom:10px}details.faq summary{cursor:pointer;font-weight:700;padding:13px 0;list-style:none}details.faq summary::after{content:'+';float:right;font-size:22px;line-height:1;color:var(--green)}details.faq[open] summary::after{content:'–'}details.faq .a{padding:0 0 14px;color:#607368;line-height:1.85}
.post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.post:hover{border-color:#bce2c6;box-shadow:var(--shadow)}.post img{aspect-ratio:1200/630;object-fit:cover;width:100%;background:#eef4f0}.post div{padding:16px}.post h3{margin:8px 0 6px;font-size:17px}
.cta-box{background:linear-gradient(100deg,#0d6d3d,#00b14f);color:#fff;border-radius:22px;padding:32px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.cta-box h2{margin:0}.cta-box .btn{margin-left:auto}
.pagi{display:flex;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap}.pagi a,.pagi span{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;font-weight:600;background:#fff;padding:0 8px}.pagi .on{background:var(--green);border-color:var(--green);color:#fff}.pagi .off{opacity:.4}
.save{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:inline-grid;place-items:center;flex:none}.save svg{width:17px;height:17px;fill:none;stroke:#60726a;stroke-width:2}.save.on{border-color:var(--green);background:#e7f7ee}.save.on svg{fill:var(--green);stroke:var(--green)}
.btn.save{display:inline-flex;width:auto;height:auto;border-radius:12px;padding:12px 18px;gap:6px;font-weight:700}
.job-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.job-side .row{display:flex;gap:8px;align-items:center}
.job-main h3 a{color:inherit}.job-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.company-icon img{width:100%;height:100%;object-fit:contain;border-radius:14px;background:#fff}
.pill-hot{background:#fee9e7;color:#c0392b;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;margin-left:8px;vertical-align:middle}
.float-contact{position:fixed;right:14px;bottom:90px;z-index:45;display:flex;flex-direction:column;gap:10px}@media(min-width:961px){.float-contact{bottom:24px}}.float-contact a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22);font-weight:800;font-size:12px}.float-contact .z{background:#0068ff}.float-contact .p{background:var(--green)}.float-contact svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mobile-bar{display:none}@media(max-width:960px){.mobile-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}body.has-bar{padding-bottom:76px}}
.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}
.hero-photo{width:100%;height:auto}
.mobile-nav a{font-weight:600}
.detail-facts{grid-template-columns:repeat(3,1fr)}@media(max-width:620px){.detail-facts{grid-template-columns:1fr 1fr}}
.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:620px){.hero-visual{min-height:360px}}.keyword-row .kw{background:#f0f8f2;color:#107d42;border-radius:999px;padding:7px 12px;font-weight:600}.keyword-row .kw:hover{background:var(--green);color:#fff}
.filter-box{position:sticky;top:100px}
.page-banner h1{font-size:clamp(26px,3vw,33px)}
.empty{background:#fff;border:1px dashed #cfe0d5;border-radius:16px;padding:26px;text-align:center;color:var(--sub)}
.side-promo .btn{position:relative;z-index:1}
svg.icon{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.company-icon svg,.ico svg,.mini svg{width:24px;height:24px}
.job-meta svg{width:14px;height:14px}
.ad-banner{display:block;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.ad-banner:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(15,44,24,.18)}.ad-banner img{width:100%;height:auto;display:block}
.ad-banner{width:100%;justify-self:stretch}.ad-banner img{width:100%;height:auto;aspect-ratio:5/6;object-fit:cover}.jobs-layout .sidebar{position:static}
