:root{--blue:#0758d7;--blue2:#0d72ee;--ink:#14213a;--muted:#6f7c91;--line:#e4eaf2;--bg:#f4f7fb;--green:#0c9861;--orange:#d87900;--red:#c83949;--radius:20px;--shadow:0 15px 42px rgba(26,45,80,.09)}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink)}button,input,select{font:inherit}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(220,228,239,.9);backdrop-filter:blur(15px)}.header-inner{max-width:1240px;height:70px;margin:auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.public-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(145deg,var(--blue),#35a3ff);box-shadow:0 9px 20px rgba(7,88,215,.23)}.public-brand strong{display:block;font-size:14px}.public-brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.admin-link{font-size:12px;color:#6f7c91;text-decoration:none;border:1px solid #dfe6ef;padding:9px 12px;border-radius:10px;background:#fff}.public-hero{background:radial-gradient(circle at 82% 15%,rgba(96,177,255,.35),transparent 24%),linear-gradient(125deg,#073f9f,#0869e5 65%,#1892ff);color:#fff}.hero-inner{max-width:1240px;margin:auto;padding:58px 22px;display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:55px}.hero-kicker,.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900}.hero-kicker{color:#cce1ff}.hero-copy h1{font-size:46px;line-height:1.06;margin:10px 0 16px;letter-spacing:-.035em}.hero-copy h1 span{color:#d5e8ff}.hero-copy>p{font-size:16px;line-height:1.7;color:#e0ecff;max-width:680px;margin:0}.hero-stats{display:flex;gap:15px;margin-top:29px}.hero-stats div{min-width:110px;padding:11px 15px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.hero-stats b{display:block;font-size:21px}.hero-stats span{font-size:11px;color:#dceaff}.hero-panel{background:#fff;color:var(--ink);border-radius:23px;padding:25px;box-shadow:0 25px 65px rgba(0,35,94,.25)}.hero-panel-icon{width:48px;height:48px;border-radius:14px;background:#eaf3ff;display:grid;place-items:center;font-size:22px}.hero-panel h2{margin:14px 0 4px;font-size:23px}.hero-panel p{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 16px}.hero-search,.search-control{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce5ef;border-radius:12px;padding:0 12px}.hero-search input,.search-control input{width:100%;height:45px;border:0;outline:0;background:transparent}.hero-search-btn{width:100%;height:46px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-weight:800;margin-top:10px;cursor:pointer}.jobs-section{max-width:1240px;margin:auto;padding:38px 22px 65px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:18px}.eyebrow{color:var(--blue)}.section-head h2{font-size:30px;margin:5px 0 0}.result-count{font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 14px}.result-count b{color:var(--blue)}.filter-bar{display:grid;grid-template-columns:1fr 210px 210px;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:17px;box-shadow:0 7px 25px rgba(24,47,80,.04)}.filter-bar select{height:46px;border:1px solid #dce5ef;background:#fff;border-radius:12px;padding:0 12px;color:#435067;outline:0}.jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.job-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(32,54,89,.05);transition:.2s}.job-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d3dfed}.job-cover{height:178px;position:relative;background:#edf3f9;overflow:hidden}.job-cover img{width:100%;height:100%;object-fit:cover}.job-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:5px;background:linear-gradient(145deg,#edf4fb,#dce9f7);color:#8797ad}.job-placeholder span{font-size:42px}.job-placeholder small{font-size:10px;font-weight:900;letter-spacing:.1em}.status-pill{position:absolute;top:12px;left:12px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid rgba(255,255,255,.75);box-shadow:0 5px 14px rgba(0,0,0,.1)}.status-continuous{background:#e6faef;color:#087f4f}.status-supplement{background:#fff2dd;color:#b96800}.status-paused{background:#ffeaed;color:#bf3140}.status-stopped{background:#edf0f4;color:#586478}.status-other{background:#e9f2ff;color:#0758d7}.job-body{padding:17px}.job-title-row h3{font-size:19px;line-height:1.22;margin:0 0 5px}.area{font-size:12px;color:var(--muted);margin:0}.quick-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 9px}.quick-info>div{display:flex;gap:8px;background:#f8fafc;border:1px solid #edf1f5;border-radius:12px;padding:10px;min-width:0}.quick-info>div>span{font-size:17px}.quick-info p{min-width:0;margin:0}.quick-info small{display:block;font-size:9px;color:#8a97a8;text-transform:uppercase;font-weight:900;margin-bottom:3px}.quick-info b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.4;font-weight:650;color:#3d4960}.salary-preview{display:flex;gap:9px;background:#edf6ff;border-radius:12px;padding:11px;margin-bottom:12px}.salary-preview>span{font-size:18px}.salary-preview small{display:block;color:#6480a4;font-size:9px;font-weight:900;margin-bottom:3px}.salary-preview strong{font-size:11px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-btn{width:100%;height:43px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.detail-btn span{font-size:18px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state div{font-size:42px}.empty-state h3{color:var(--ink);margin:10px 0 4px}.public-footer{background:#0e1b31;color:#fff;padding:30px max(22px,calc((100% - 1196px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.public-footer strong{font-size:14px}.public-footer p{margin:5px 0 0;font-size:12px;color:#9eabc0}.public-footer a{color:#b7c4d7;font-size:12px;text-decoration:none}.detail-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.detail-backdrop{position:absolute;inset:0;background:rgba(9,19,35,.65);backdrop-filter:blur(5px)}.detail-sheet{position:relative;width:min(860px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.modal-close{position:sticky;float:right;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid #dce5ee;background:rgba(255,255,255,.96);cursor:pointer;margin:14px}.detail-hero{position:relative;height:245px;background:#eaf1f8;clear:both}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero .job-placeholder{height:100%}.detail-main{padding:23px}.detail-main h2{font-size:28px;margin:0 0 5px;white-space:pre-line}.detail-meta{color:var(--muted);font-size:13px;margin-bottom:17px}.detail-status{display:inline-flex;margin-bottom:14px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-box{border:1px solid var(--line);border-radius:15px;padding:14px}.detail-box.wide{grid-column:span 2}.detail-box small{font-size:10px;color:#8190a5;font-weight:900;letter-spacing:.05em}.detail-box div{white-space:pre-line;font-size:13px;line-height:1.65;margin-top:6px}.contact-box{margin-top:14px;background:#eef6ff;border:1px solid #d7e9ff;border-radius:16px;padding:15px}.contact-box small{font-size:10px;color:#6382aa;font-weight:900}.contact-box .contact-text{white-space:pre-line;margin:5px 0 11px;font-weight:700;font-size:14px}.phone-buttons{display:flex;flex-wrap:wrap;gap:8px}.phone-btn{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 13px;border-radius:10px;background:var(--blue);color:#fff;text-decoration:none;font-size:12px;font-weight:900}.phone-btn.secondary{background:#fff;color:var(--blue);border:1px solid #c9def9}@media(max-width:960px){.hero-inner{grid-template-columns:1fr .7fr;gap:28px}.hero-copy h1{font-size:39px}.jobs-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{grid-template-columns:1fr 180px 180px}}@media(max-width:720px){.header-inner{height:62px;padding:0 13px}.public-brand strong{font-size:12px}.public-brand small{font-size:10px}.logo{width:37px;height:37px}.admin-link{font-size:10px;padding:7px 9px}.hero-inner{grid-template-columns:1fr;padding:34px 14px;gap:25px}.hero-copy h1{font-size:33px}.hero-copy>p{font-size:14px}.hero-stats{gap:7px}.hero-stats div{min-width:0;flex:1;padding:9px 10px}.hero-stats b{font-size:18px}.hero-stats span{font-size:9px}.hero-panel{padding:18px}.jobs-section{padding:27px 12px 42px}.section-head{align-items:flex-start;display:block}.section-head h2{font-size:24px}.result-count{display:inline-block;margin-top:10px}.filter-bar{grid-template-columns:1fr 1fr;padding:9px;gap:7px}.search-control{grid-column:span 2}.filter-bar select{min-width:0;font-size:11px;padding:0 8px}.jobs-grid{grid-template-columns:1fr;gap:12px}.job-cover{height:165px}.job-body{padding:14px}.public-footer{padding:25px 14px;display:block}.public-footer a{display:inline-block;margin-top:16px}.detail-modal{padding:0;align-items:flex-end}.detail-sheet{max-height:96vh;border-radius:22px 22px 0 0}.detail-hero{height:190px}.detail-main{padding:16px}.detail-main h2{font-size:24px}.detail-grid{grid-template-columns:1fr}.detail-box.wide{grid-column:span 1}.modal-close{margin:10px}.phone-buttons{display:grid;grid-template-columns:1fr 1fr}.phone-btn{padding:0 8px}}

/* ===== V2.2: LƯƠNG CỤ THỂ + LIÊN HỆ CỐ ĐỊNH ===== */
.header-zalo{font-size:12px;font-weight:850;color:#fff;text-decoration:none;background:#0b9f59;padding:10px 14px;border-radius:11px;box-shadow:0 7px 18px rgba(11,159,89,.18)}
.hero-zalo-btn{display:flex;align-items:center;justify-content:center;width:100%;height:46px;margin-top:9px;border-radius:12px;text-decoration:none;background:#0b9f59;color:#fff;font-size:12px;font-weight:900;letter-spacing:.02em}
.salary-preview-v22{margin-bottom:9px}.public-contact-line{display:flex;gap:9px;align-items:center;background:#f8fafc;border:1px solid #e9eef4;border-radius:12px;padding:10px 11px;margin-bottom:10px}.public-contact-line>span{font-size:18px}.public-contact-line small{display:block;font-size:9px;color:#8290a3;font-weight:900;margin-bottom:2px}.public-contact-line b{font-size:12px;color:#20314c}.job-actions-public{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px}.job-actions-public .detail-btn{margin:0}.apply-btn{height:43px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:11px;background:#0b9f59;color:#fff;font-size:11px;font-weight:900;padding:0 10px;box-shadow:0 7px 16px rgba(11,159,89,.15)}
.salary-detail-wrap{margin-top:17px}.salary-group{background:#f0f7ff;border:1px solid #dcecff;border-radius:15px;padding:14px}.salary-group.monthly{margin-top:10px;background:#f1faf5;border-color:#dcefe5}.salary-group h3{font-size:11px;letter-spacing:.06em;margin:0 0 10px;color:#0758d7}.salary-group.monthly h3{color:#087849}.salary-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.salary-detail-row{display:flex;gap:9px;align-items:flex-start;background:#fff;border:1px solid rgba(222,231,242,.9);border-radius:11px;padding:10px;min-width:0}.salary-detail-row>span{font-size:16px}.salary-detail-row p{margin:0;min-width:0}.salary-detail-row small{display:block;font-size:9px;text-transform:uppercase;color:#8290a3;font-weight:900;margin-bottom:3px}.salary-detail-row b{font-size:12px;line-height:1.4;color:#23324a;white-space:normal}.salary-empty{padding:14px;border-radius:12px;background:#fff7e9;color:#8d651c;font-size:12px}.contact-box-fixed{margin-top:13px}.contact-name b{display:block;font-size:16px}.contact-name span{display:block;color:#7a8798;font-size:11px;margin-top:4px}.public-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.phone-btn.zalo-primary{background:#0b9f59!important;border-color:#0b9f59!important;color:#fff!important;font-weight:900}.footer-zalo{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#0b9f59;color:#fff!important;border-radius:10px;padding:10px 13px;font-size:12px;font-weight:850}.floating-zalo{position:fixed;right:18px;bottom:18px;z-index:28;display:flex;align-items:center;gap:8px;padding:9px 13px 9px 9px;border-radius:999px;background:#0b9f59;color:#fff;text-decoration:none;box-shadow:0 13px 30px rgba(0,76,40,.28)}.floating-zalo span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b78d0;font-size:10px;font-weight:900}.floating-zalo b{font-size:11px;letter-spacing:.02em}
@media(max-width:720px){.header-zalo{padding:9px 10px;font-size:11px}.hero-stats div{min-width:0}.job-actions-public{grid-template-columns:1fr}.apply-btn,.detail-btn{height:45px}.salary-detail-grid{grid-template-columns:1fr}.public-modal-actions{grid-template-columns:1fr}.floating-zalo{right:10px;bottom:10px}.floating-zalo b{font-size:10px}.public-footer{padding-bottom:76px}}
