:root{
 --green-950:#06281f;--green-900:#0b3d2e;--green-800:#11543e;--green-700:#166a4d;--green-600:#1f8b63;--green-500:#2ea676;--green-100:#def4e9;--green-50:#f1fbf6;
 --blue-950:#071d31;--blue-900:#0b2945;--blue-800:#10385d;--blue-700:#165084;--blue-600:#1f69aa;--blue-50:#eef7ff;
 --ink:#10202b;--muted:#667580;--line:#dfe6e9;--line-strong:#ccd7dc;--soft:#f6f8f9;--white:#fff;--orange:#f59d3d;--red:#d84b4b;--yellow:#d49a22;
 --shadow-sm:0 2px 10px rgba(8,32,40,.06);--shadow:0 14px 40px rgba(9,35,43,.10);--shadow-lg:0 25px 80px rgba(8,31,41,.16);--radius:18px;--radius-sm:12px;--radius-xs:9px;
 --font-display:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;background:#fff;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.ui-icon{width:20px;height:20px;flex:0 0 20px}.site-container,.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.muted{color:var(--muted)}.text-link{color:var(--green-700);font-weight:700}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#bfead8}.eyebrow.dark{color:var(--green-700)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;margin:0;color:var(--ink)}h1{font-size:clamp(2.35rem,5vw,4.75rem);letter-spacing:-.045em}h2{font-size:clamp(1.9rem,3.2vw,3.1rem);letter-spacing:-.035em}h3{font-size:1.15rem}.lead{font-size:1.18rem;line-height:1.65;color:#e3efe9;max-width:680px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:10px;font-family:var(--font-display);font-weight:700;font-size:.9rem;cursor:pointer;transition:.2s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green-700);color:#fff;box-shadow:0 8px 20px rgba(22,106,77,.16)}.btn-primary:hover{background:var(--green-800)}.btn-secondary{background:var(--blue-700);color:#fff}.btn-secondary:hover{background:var(--blue-800)}.btn-light{background:#fff;color:var(--ink);border-color:#fff}.btn-outline{background:#fff;color:var(--ink);border-color:var(--line-strong)}.btn-outline:hover{border-color:var(--green-600);color:var(--green-800)}.btn-quiet{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.btn-small{min-height:34px;padding:6px 12px;font-size:.78rem}.btn-lg{min-height:52px;padding:13px 22px;border-radius:12px;font-size:.96rem}.btn-danger{background:#fff2f2;color:#b83232;border-color:#f0caca}.btn-warning{background:#fff9ed;color:#8a5c08;border-color:#ecd49c}.btn-success{background:#effaf4;color:#147048;border-color:#bee3ce}
/* public header */
.public-header{height:76px;display:flex;align-items:center;position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,228,231,.85)}.nav-shell{display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:180px;height:48px;object-fit:contain;object-position:left center}.public-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.public-nav a{font-family:var(--font-display);font-weight:600;font-size:.86rem;color:#44535d;padding:10px 11px;border-radius:8px}.public-nav a:hover,.public-nav a.active{color:var(--green-800);background:var(--green-50)}.nav-actions{display:flex;gap:8px}.nav-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff}.nav-toggle .ui-icon{width:22px;height:22px}
.flash{position:relative;z-index:55}.flash>div{margin-top:12px;padding:12px 16px;border-radius:12px;display:flex;gap:10px;align-items:center}.flash-success>div{background:#ecf9f2;border:1px solid #bfe6d2;color:#12663f}.flash-error>div{background:#fff1f1;border:1px solid #f0c6c6;color:#a83232}
/* public home */
.hero-pro{position:relative;isolation:isolate;background:linear-gradient(110deg,#061f19 0%,#0b3d2e 54%,#0e4938 100%);overflow:hidden;min-height:690px;display:flex;align-items:center}.hero-pro:before{content:"";position:absolute;inset:0 0 0 47%;background:url('../img/home-hero.jpg') center/cover no-repeat;z-index:-2}.hero-pro:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,31,25,1) 0%,rgba(6,31,25,.98) 40%,rgba(6,31,25,.72) 58%,rgba(6,31,25,.12) 83%),linear-gradient(0deg,rgba(6,31,25,.25),transparent 45%);z-index:-1}.hero-pro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.65fr);gap:65px;padding:86px 0 72px}.hero-pro-copy{max-width:710px}.hero-pro-copy h1{color:#fff;margin:16px 0 22px}.hero-pro-copy h1 span{color:#80d6aa}.hero-pro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#d1e5dc;font-size:.9rem}.hero-proof span{display:flex;align-items:center;gap:7px}.hero-proof .ui-icon{width:17px;height:17px;color:#6fe0a5}.hero-search-card{align-self:end;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:20px;box-shadow:var(--shadow-lg);backdrop-filter:blur(12px)}.hero-search-card h3{font-size:1.22rem;margin-bottom:4px}.hero-search-card>p{margin:0 0 16px;color:var(--muted);font-size:.92rem}.hero-search{display:grid;gap:10px}.hero-search .field{position:relative}.hero-search .field .ui-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#6f7e88;width:18px}.hero-search input,.hero-search select{width:100%;height:48px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px 0 40px;color:var(--ink);outline:none}.hero-search select{padding-left:12px}.hero-search input:focus,.hero-search select:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(46,166,118,.12)}.popular-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.popular-tags span{font-size:.75rem;background:var(--soft);border:1px solid var(--line);padding:5px 8px;border-radius:999px;color:#56656f}.hero-stats{position:relative;margin-top:-32px;z-index:4}.hero-stat-card{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.hero-stat-card>div{padding:24px 26px;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;border-right:1px solid var(--line)}.hero-stat-card>div:last-child{border-right:0}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--green-50);color:var(--green-700)}.stat-icon .ui-icon{width:21px;height:21px}.hero-stat-card strong{font-family:var(--font-display);font-size:1.4rem;line-height:1}.hero-stat-card span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}
.section{padding:88px 0}.section-soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.section-head.center{justify-content:center;text-align:center}.section-head.center>div{max-width:720px}.section-head h2{margin-top:10px}.section-head p{color:var(--muted);font-size:1.05rem;margin:12px 0 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;box-shadow:var(--shadow-sm);transition:.2s}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.feature-card .feature-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--green-50);color:var(--green-700);margin-bottom:18px}.feature-card h3{font-size:1.1rem}.feature-card p{color:var(--muted);margin:9px 0 0}
.job-track,.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.job-card,.job-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm);position:relative}.job-card{display:flex;flex-direction:column;min-height:260px}.job-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-type{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--green-50);color:var(--green-700);font-weight:700;font-size:.72rem}.job-date{font-size:.76rem;color:var(--muted)}.job-card h3,.job-row h3{margin-top:17px;font-size:1.07rem}.job-card h3 a:hover,.job-row h3 a:hover{color:var(--green-700)}.company{font-weight:600;color:#56646d;margin:7px 0 12px}.job-meta{display:flex;gap:12px;flex-wrap:wrap;color:#71808a;font-size:.82rem}.job-link{margin-top:auto;padding-top:22px;color:var(--green-700);font-family:var(--font-display);font-weight:700;font-size:.86rem}.job-carousel{position:relative}.carousel-btn{display:none}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.journey{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow-sm)}.journey-head{padding-bottom:20px;border-bottom:1px solid var(--line)}.journey-head span{font-size:.75rem;font-weight:800;color:var(--green-700);letter-spacing:.1em}.journey-head h3{font-size:1.45rem;margin-top:9px}.journey ol{list-style:none;margin:24px 0;padding:0;display:grid;gap:20px}.journey li{display:grid;grid-template-columns:36px 1fr;gap:13px}.journey li>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--green-700);color:#fff;font-family:var(--font-display);font-size:.8rem}.journey li p{margin:4px 0 0;color:var(--muted)}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sector-grid>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:17px;text-align:center;font-family:var(--font-display);font-weight:700;font-size:.88rem}.photo-split{display:grid;grid-template-columns:1fr 1fr;min-height:540px;border-radius:24px;overflow:hidden;background:var(--green-950);box-shadow:var(--shadow-lg)}.photo-split-media{position:relative;min-height:430px;background:url('../img/food-lab-professionals.jpg') center/cover}.photo-split-content{padding:60px;color:#fff;display:flex;flex-direction:column;justify-content:center}.photo-split-content h2{color:#fff;margin:10px 0 18px}.photo-split-content p{color:#d4e5de}.check-list{display:grid;gap:12px;margin:22px 0}.check-list span{display:flex;align-items:flex-start;gap:9px}.check-list .ui-icon{color:#73dda8;margin-top:2px}.faq-public{max-width:860px;margin:auto;display:grid;gap:10px}.faq-public details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 18px}.faq-public summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-family:var(--font-display);font-weight:700}.faq-public details p{color:var(--muted);margin:0;padding:0 0 18px}.cta-band{background:linear-gradient(105deg,var(--green-950),var(--green-800));padding:58px 0;color:#fff}.cta-grid{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta-band h2{color:#fff;margin:10px 0}.cta-band p{margin:0;color:#cbe1d7}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
/* Public inner pages */
.page-hero{background:linear-gradient(115deg,var(--green-950),var(--green-800));padding:86px 0 82px;color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:420px;height:420px;border:80px solid rgba(255,255,255,.03);border-radius:50%;right:-120px;top:-150px}.page-hero.compact{padding:62px 0}.page-hero h1{color:#fff;max-width:840px}.page-hero p{max-width:720px;color:#cfe3da;font-size:1.1rem}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.content-copy p{color:var(--muted);font-size:1.05rem}.content-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);min-height:460px}.content-photo img{width:100%;height:100%;object-fit:cover}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.info-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.info-card h3{font-size:1rem}.info-card p{font-size:.9rem;color:var(--muted);margin-bottom:0}.jobs-layout{padding-top:42px}.filter-bar{display:grid;grid-template-columns:1.5fr repeat(4,.75fr) auto;gap:10px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);margin-top:-76px;position:relative;z-index:4}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--font-display);font-size:.72rem;font-weight:700;color:#5a6871}.field input,.field select,.field textarea,.form-control{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:9px 11px;color:var(--ink);outline:none;transition:.16s}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.form-control:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(46,166,118,.12)}.result-head{display:flex;align-items:center;justify-content:space-between;margin:34px 0 14px}.result-head h2{font-size:1.5rem}.result-head span{color:var(--muted);font-size:.9rem}.job-list{display:grid;gap:12px}.job-row{display:grid;grid-template-columns:62px 1fr auto;gap:18px;align-items:center;padding:20px}.job-logo{width:58px;height:58px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:#fff;font-family:var(--font-display);font-weight:800;color:var(--green-700);overflow:hidden}.job-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.job-row h3{margin-top:8px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tags span{padding:4px 8px;border-radius:999px;background:#f3f6f7;color:#66747d;font-size:.72rem}.empty-state{grid-column:1/-1;padding:38px;text-align:center;border:1px dashed var(--line-strong);border-radius:14px;background:#fafcfc}.empty-state.compact{padding:18px}.empty-state p{color:var(--muted);margin:7px 0 0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}.article-image{height:170px;background:url('../img/article-resource-1.jpg') center/cover}.article-card:nth-child(2n) .article-image{background:url('../img/article-resource-2.jpg') center/cover}.article-card:nth-child(3n) .article-image{background:url('../img/article-resource-3.jpg') center/cover}.article-body{padding:20px}.article-body small{font-weight:700;color:var(--green-700)}.article-body h3{margin:7px 0 9px}.article-body p{color:var(--muted);font-size:.92rem}.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px}.contact-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow-sm)}.contact-card{background:var(--green-950);color:#fff}.contact-card h2{color:#fff}.contact-card p{color:#cfe0d9}.contact-list{display:grid;gap:18px;margin-top:30px}.contact-list>div{display:grid;grid-template-columns:40px 1fr;gap:12px}.contact-list .ui-icon{width:22px;color:#75d9a6;margin-top:4px}.contact-list small{display:block;color:#aac5ba}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.auth-wrap{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1fr}.auth-art{background:linear-gradient(180deg,rgba(6,40,31,.3),rgba(6,40,31,.88)),url('../img/default-page-hero.jpg') center/cover;display:flex;align-items:flex-end;padding:60px;color:#fff}.auth-art h2{color:#fff;font-size:2.4rem}.auth-art p{color:#d7e8e0;max-width:560px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:50px}.auth-card{width:min(500px,100%)}.auth-card h1{font-size:2.2rem}.auth-card>p{color:var(--muted);margin-bottom:26px}.auth-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.auth-choice a{padding:14px;border:1px solid var(--line);border-radius:12px;text-align:center;font-weight:700}.auth-choice a:hover{border-color:var(--green-500);background:var(--green-50)}
/* footer */
.public-footer{background:#071c25;color:#b8c8cf;padding-top:58px}.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px;padding-bottom:44px}.footer-brand img{width:185px;filter:brightness(0) invert(1);margin-bottom:18px}.footer-brand p{max-width:390px}.footer-main h4{color:#fff;font-size:.9rem;margin-bottom:16px}.footer-main a,.footer-main p{display:block;color:#adbec6;margin:8px 0;font-size:.9rem}.footer-main a:hover{color:#fff}.footer-proof{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}.footer-proof span{display:flex;align-items:center;gap:6px;font-size:.78rem}.footer-proof .ui-icon{width:16px}.footer-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;margin:0;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.05);color:#dce8ed;font-size:.72rem;font-weight:800;letter-spacing:.02em}.footer-socials a:hover{background:#fff;color:#0b3d2e;border-color:#fff}.footer-socials a.whatsapp{min-width:auto;padding-inline:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem}.back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:0;border-radius:12px;background:var(--green-700);color:#fff;box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:40}.back-top.show{opacity:1;transform:none;pointer-events:auto}
/* portal shells */
.portal-shell,.admin-shell{background:#f4f7f8;min-height:100vh}.portal-sidebar,.admin-sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#092b22;color:#d5e7df;z-index:80;padding:20px 14px;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(5,28,23,.08)}.portal-employer .portal-sidebar{background:#0a3153}.admin-sidebar{background:#071923}.portal-brand,.admin-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:4px 10px 22px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:14px}.portal-brand img,.admin-brand img{width:178px;height:44px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}.portal-brand span,.admin-brand span{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#91b9aa;margin-left:3px}.admin-brand span{color:#7894a4}.side-nav{display:grid;gap:4px}.side-nav a,.sidebar-footer a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:9px;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:#bdd5cc;position:relative}.portal-employer .side-nav a{color:#bfd1e3}.admin-nav a{color:#9fb4c0}.side-nav a:hover,.sidebar-footer a:hover{background:rgba(255,255,255,.07);color:#fff}.side-nav a.active{background:#fff;color:var(--green-900);box-shadow:0 6px 14px rgba(0,0,0,.09)}.portal-employer .side-nav a.active{color:var(--blue-900)}.admin-nav a.active{background:#0f3242;color:#fff}.side-nav .ui-icon,.sidebar-footer .ui-icon{width:18px;height:18px}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.09);display:grid;gap:4px}.admin-label{font-size:.66rem;font-weight:800;letter-spacing:.13em;color:#65808f;padding:4px 12px 8px}.nav-dot{width:6px;height:6px;border-radius:50%;background:#e28742;margin-left:auto}.portal-main,.admin-main{margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.portal-topbar,.admin-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-left>div{display:grid}.topbar-left small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#85939c}.topbar-left strong{font-family:var(--font-display);font-size:.96rem}.sidebar-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;justify-content:center}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:#fff;color:#53636d}.icon-btn .ui-icon{width:18px}.user-chip{display:flex;align-items:center;gap:9px;padding-left:10px}.user-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-family:var(--font-display);font-weight:800}.portal-employer .user-avatar{background:#e9f3fc;color:var(--blue-800)}.user-avatar.admin{background:#1d4253;color:#fff}.user-chip>span:last-child{display:grid}.user-chip b{font-size:.79rem}.user-chip small{font-size:.68rem;color:#80909a}.system-live{display:flex;align-items:center;gap:7px;font-size:.75rem;color:#5c6d76;border:1px solid var(--line);padding:7px 10px;border-radius:999px}.system-live i{width:7px;height:7px;border-radius:50%;background:#2eaf75;box-shadow:0 0 0 3px #d9f4e6}.portal-content,.admin-content{padding:28px 30px 36px;flex:1;width:100%;max-width:1540px;margin:0 auto}.portal-footer{display:flex;justify-content:space-between;gap:20px;padding:17px 30px;border-top:1px solid var(--line);background:#fff;color:#798991;font-size:.74rem}.portal-footer a{color:var(--green-700);font-weight:700}.portal-flash{margin:14px 30px 0;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:9px;font-size:.86rem}.portal-flash.success{background:#ebf8f1;border:1px solid #bce4cd;color:#126d43}.portal-flash.error{background:#fff0f0;border:1px solid #efc3c3;color:#a73838}.sidebar-backdrop{display:none}
/* portal page components, compatible with existing views */
.dashboard-hero,.dashboard-page-head{background:transparent;padding:0;margin-bottom:22px}.dashboard-hero .container,.dashboard-page-head .container,.dashboard-body .container{width:100%;margin:0}.dashboard-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0}.dashboard-title h1,.dashboard-page-head h1{font-size:1.85rem;margin-top:5px}.dashboard-title p,.dashboard-page-head p{color:var(--muted);margin:7px 0 0}.dashboard-body{padding:0}.dashboard-page-head.admin-head{margin-bottom:18px}.metric-grid{display:grid;gap:14px;margin-bottom:18px}.metric-grid.four{grid-template-columns:repeat(4,1fr)}.metric-grid.six{grid-template-columns:repeat(6,1fr)}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:var(--shadow-sm);min-width:0}.metric span{display:block;color:#71818b;font-size:.76rem;font-weight:600}.metric strong{display:block;font-family:var(--font-display);font-size:1.8rem;line-height:1.1;margin:9px 0 5px;color:#18313d}.metric small{color:#93a0a7;font-size:.7rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-head h2,.panel h2{font-size:1rem}.panel-head a{font-size:.75rem;color:var(--green-700);font-weight:700}.list-table{display:grid}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf1f2}.list-row:last-child{border-bottom:0}.list-row>div{display:grid;min-width:0}.list-row strong{font-size:.88rem}.list-row span{font-size:.75rem;color:#829099;white-space:normal}.quick-links{display:grid;align-content:start;gap:8px}.quick-links h2{margin-bottom:8px}.quick-links>a{padding:13px;border:1px solid var(--line);border-radius:10px;display:grid}.quick-links>a:hover{border-color:var(--green-400);background:var(--green-50)}.quick-links b{font-size:.83rem}.quick-links span{font-size:.72rem;color:var(--muted);margin-top:2px}.notice{display:flex;align-items:flex-start;gap:18px;padding:14px 16px;border-radius:10px;margin-bottom:16px}.notice strong{min-width:180px}.notice span{color:#685a38}.notice.warning{background:#fff8e8;border:1px solid #f0d99e;color:#7a540f}.status-pill,.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.67rem;font-weight:700;white-space:nowrap;background:#eef2f3;color:#63727a}.status-active,.status-approved,.status-offered,.status-completed{background:#e8f7ef;color:#126942}.status-pending,.status-applied,.status-reviewed{background:#fff5df;color:#8a6014}.status-shortlisted,.status-interviewing{background:#edf4ff;color:#245f98}.status-rejected,.status-declined,.status-inactive,.status-changes-requested{background:#fff0f0;color:#aa3838}.status-paused,.status-closed{background:#f2f2f2;color:#646464}.progress{height:8px;background:#e9eff0;border-radius:999px;overflow:hidden;margin:18px 0 8px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green-600),#65c99a);border-radius:999px}.progress-label{display:flex;justify-content:space-between;gap:12px;font-size:.74rem}.progress-label span{color:var(--muted)}.panel-kicker{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--green-700)}
.portal-content form:not(.inline-form),.admin-content form:not(.inline-form){max-width:none}.form-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.form-section h2{font-size:1rem;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row.three{grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group label{font-size:.74rem;font-weight:700;color:#5d6a72}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:9px;padding:9px 11px;background:#fff;outline:none}.form-group textarea{min-height:130px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(46,166,118,.12)}.checkbox-row{display:flex;gap:18px;flex-wrap:wrap;margin:9px 0 14px}.checkbox-row label{display:flex;align-items:center;gap:7px;font-size:.8rem}.skill-checks{display:flex;gap:7px;flex-wrap:wrap}.skill-checks label{position:relative}.skill-checks input{position:absolute;opacity:0}.skill-checks span{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;cursor:pointer}.skill-checks input:checked+span{background:var(--green-50);border-color:#8dd1b1;color:var(--green-800)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf1f2;vertical-align:middle}th{font-family:var(--font-display);font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;color:#71808a;background:#fbfcfc}td{font-size:.82rem;color:#394951}tr:last-child td{border-bottom:0}.actions{display:flex;gap:7px;flex-wrap:wrap}.page-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.page-actions h1{font-size:1.8rem}.page-actions p{color:var(--muted);margin:5px 0 0}.cards-list{display:grid;gap:12px}.data-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow-sm)}.data-card-head{display:flex;justify-content:space-between;gap:18px}.data-card h3{font-size:1rem}.data-card p{color:var(--muted);font-size:.82rem}.data-meta{display:flex;gap:12px;flex-wrap:wrap;color:#718089;font-size:.74rem}.candidate-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;grid-template-columns:1fr auto;gap:20px;box-shadow:var(--shadow-sm)}.candidate-head{display:flex;align-items:center;gap:12px}.candidate-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-family:var(--font-display);font-weight:800}.match-score{min-width:64px;text-align:center;padding:8px;border-radius:10px;background:#eef9f3;color:#11663f;font-family:var(--font-display);font-weight:800}.doc-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
/* admin-specific */
.admin-content{background:#f4f7f8}.admin-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.admin-metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow-sm);position:relative}.admin-metric .metric-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#edf7f2;color:var(--green-700);margin-bottom:18px}.admin-metric strong{font-family:var(--font-display);font-size:1.7rem}.admin-metric span{display:block;font-size:.76rem;color:#768690}.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}.admin-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.admin-card-head h2{font-size:1rem}.admin-card-head a{font-size:.74rem;color:var(--green-700);font-weight:700}
/* mobile */
@media (max-width:1100px){.public-nav{display:none;position:absolute;top:68px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch}.public-nav.open{display:flex}.public-nav a{padding:12px}.nav-toggle{display:flex;margin-left:auto}.nav-actions{display:none}.filter-bar{grid-template-columns:1fr 1fr 1fr;margin-top:-58px}.filter-bar .grow{grid-column:span 2}.filter-btn{align-self:end}.feature-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.job-track,.job-grid{grid-template-columns:repeat(2,1fr)}.hero-pro-grid{grid-template-columns:1fr .7fr}.hero-stat-card>div{padding:18px}.metric-grid.six{grid-template-columns:repeat(3,1fr)}.admin-overview{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.hero-pro{min-height:auto}.hero-pro:before{inset:0;background-position:65% center;opacity:.42}.hero-pro:after{background:rgba(6,31,25,.84)}.hero-pro-grid{grid-template-columns:1fr;padding:74px 0 70px}.hero-pro-copy{max-width:760px}.hero-search-card{max-width:620px}.hero-stat-card{grid-template-columns:repeat(2,1fr)}.hero-stat-card>div:nth-child(2){border-right:0}.hero-stat-card>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.journey-grid,.content-grid,.photo-split,.contact-grid{grid-template-columns:1fr}.photo-split-media{min-height:420px}.photo-split-content{padding:42px}.sector-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-main>div:last-child{grid-column:2/-1}.portal-sidebar,.admin-sidebar{transform:translateX(-102%);transition:.24s}.portal-sidebar.open,.admin-sidebar.open{transform:none}.portal-main,.admin-main{margin-left:0}.sidebar-toggle{display:flex}.sidebar-backdrop{position:fixed;inset:0;background:rgba(3,17,23,.45);z-index:70}.sidebar-backdrop.show{display:block}.metric-grid.four{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.admin-grid{grid-template-columns:1fr}.portal-content,.admin-content{padding:24px 20px}.portal-topbar,.admin-topbar{padding:0 20px}.portal-flash{margin-inline:20px}.filter-bar{margin-top:0}.page-hero.compact{padding-bottom:40px}}
@media (max-width:700px){.site-container,.container{width:min(100% - 28px,1180px)}.public-header{height:68px}.brand img{width:155px}.hero-pro-grid{padding:58px 0 62px}.hero-pro-copy h1{font-size:2.55rem}.hero-search-card{padding:16px}.hero-stats{margin-top:-22px}.hero-stat-card>div{grid-template-columns:36px 1fr;padding:15px}.stat-icon{width:36px;height:36px}.hero-stat-card strong{font-size:1.18rem}.section{padding:62px 0}.section-head{align-items:flex-start;flex-direction:column}.feature-grid,.job-track,.job-grid,.article-grid{grid-template-columns:1fr}.journey{padding:22px}.photo-split-content{padding:30px 24px}.filter-bar{grid-template-columns:1fr}.filter-bar .grow{grid-column:auto}.job-row{grid-template-columns:48px 1fr}.job-row>.btn{grid-column:2;justify-self:start}.job-logo{width:48px;height:48px}.form-grid,.form-row,.form-row.three{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.cta-grid{align-items:flex-start;flex-direction:column}.auth-wrap{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:40px 22px}.portal-topbar,.admin-topbar{height:68px}.user-chip>span:last-child,.system-live{display:none}.portal-content,.admin-content{padding:20px 14px}.portal-flash{margin:12px 14px 0}.metric-grid.four,.metric-grid.six,.admin-overview{grid-template-columns:1fr 1fr}.dashboard-title,.page-actions{align-items:flex-start;flex-direction:column}.dashboard-title .btn,.page-actions .btn{width:100%}.candidate-card{grid-template-columns:1fr}.portal-footer{padding:14px;flex-direction:column}.notice{flex-direction:column;gap:5px}.notice strong{min-width:0}}
@media (max-width:480px){.hero-pro-actions,.cta-actions{display:grid;grid-template-columns:1fr;width:100%}.hero-pro-actions .btn,.cta-actions .btn{width:100%}.hero-proof{display:grid;gap:9px}.hero-stat-card{grid-template-columns:1fr}.hero-stat-card>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.hero-stat-card>div:last-child{border-bottom:0!important}.sector-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.metric-grid.four,.metric-grid.six,.admin-overview{grid-template-columns:1fr}.portal-topbar .icon-btn{display:none}}
/* extended portal modules */
.metric-grid.three{grid-template-columns:repeat(3,1fr)}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:16px;align-items:start}.form-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm)}.wide-panel{max-width:1100px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.field.span-2{grid-column:1/-1}.field small{color:#8a989f;font-size:.72rem}.form-section{margin-top:22px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:22px 0 0}.check-control{display:flex;align-items:center;gap:8px;color:#4e5e67;font-size:.84rem;margin-bottom:14px}.inline-checks{display:flex;gap:20px;flex-wrap:wrap}.skill-select{display:flex;flex-wrap:wrap;gap:8px}.skill-select label{position:relative}.skill-select input{position:absolute;opacity:0;pointer-events:none}.skill-select span{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.74rem;cursor:pointer;transition:.15s}.skill-select input:checked+span{background:var(--green-50);border-color:#8fd2b2;color:var(--green-800);font-weight:700}.documents-panel{position:sticky;top:96px}.document-row{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f2}.document-row:last-of-type{border-bottom:0}.doc-icon{width:40px;height:40px;border-radius:10px;background:#eef7f2;color:var(--green-700);display:grid;place-items:center;font-size:.7rem;font-family:var(--font-display);font-weight:800}.document-row>div{display:grid}.document-row strong{font-size:.79rem;overflow-wrap:anywhere}.document-row small{font-size:.68rem;color:#8c99a0}.security-note{margin-top:18px;padding:14px;border-radius:10px;background:#f5f8f9;border:1px solid var(--line)}.security-note strong{font-size:.78rem}.security-note p{font-size:.72rem;color:var(--muted);margin:5px 0 0}.table-title{font-weight:700;color:var(--ink)}.table-note{display:block;color:#a36f17;margin-top:4px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-actions>a,.table-actions button{border:0;background:none;padding:0;color:var(--green-700);font-size:.75rem;font-weight:700;cursor:pointer}.table-actions form{display:flex;gap:8px}.table-actions button:last-child{color:#b73b3b}
.wil-summary{display:grid;grid-template-columns:1fr .65fr 1.2fr;gap:14px;margin-bottom:16px}.wil-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow-sm);display:grid}.wil-summary span{font-size:.72rem;color:#7a8991}.wil-summary strong{font-family:var(--font-display);font-size:1rem;margin-top:6px}.wil-summary small{font-size:.72rem;color:var(--muted)}.wil-progress .progress{margin:10px 0 5px}.wil-progress .progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green-600),#65c99a);border-radius:999px}.wil-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:0 0 18px;position:relative}.timeline-item:before{content:"";position:absolute;left:5px;top:11px;bottom:-4px;width:1px;background:var(--line)}.timeline-item:last-child:before{display:none}.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--green-600);margin-top:5px;position:relative;z-index:2}.timeline-content{padding-bottom:2px}.timeline-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.timeline-top>div{display:grid}.timeline-top span{font-size:.72rem;color:var(--muted)}.timeline-content>b{font-size:.75rem;color:var(--green-700)}.timeline-content p{font-size:.8rem;color:#53636d;margin:6px 0}.review-comment{padding:10px;border-radius:9px;background:#f6f8f9;margin-top:8px}.review-comment strong{font-size:.7rem}.review-comment p{margin:3px 0 0}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.candidate-card{display:block}.candidate-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.avatar.lg{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eaf7f1;color:var(--green-800);font-family:var(--font-display);font-weight:800}.candidate-card-head h3{font-size:1rem}.candidate-card-head p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.match-score{display:grid;min-width:64px}.match-score strong{font-size:1rem}.match-score span{font-size:.62rem}.candidate-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.candidate-facts span{padding:10px;background:#f6f8f9;border-radius:9px;font-size:.72rem;color:#596972}.candidate-facts b{display:block;color:#87959c;font-size:.63rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.compliance-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.compliance-chips span{font-size:.68rem;padding:5px 8px;border-radius:999px;background:#fff7df;color:#8b6516}.candidate-actions{display:flex;gap:7px;flex-wrap:wrap;padding-top:13px;border-top:1px solid var(--line)}.btn-light-outline{background:#fff;border-color:var(--line);color:#53636d}.status-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:13px;align-items:end}.status-form label{grid-column:1/-1;font-size:.69rem;font-weight:700;color:#6a7981}.status-form select{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff}.button-pair{display:flex;gap:8px;flex-wrap:wrap}.btn-danger-soft{background:#fff1f1;color:#ab3939;border-color:#efcccc}.back-link.dark{display:inline-flex;color:#5e6d75;font-size:.78rem;margin-bottom:10px}.wil-review-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.placement-list{position:sticky;top:96px;display:grid;gap:6px}.placement-list h2{margin-bottom:8px}.placement-item{display:grid;padding:11px;border:1px solid var(--line);border-radius:9px}.placement-item:hover,.placement-item.active{background:var(--blue-50);border-color:#b8d4ea}.placement-item strong{font-size:.8rem}.placement-item span,.placement-item small{font-size:.68rem;color:var(--muted)}.wil-review-card{border:1px solid var(--line);border-radius:11px;padding:16px;margin-bottom:11px}.wil-review-card h4{font-size:.75rem;margin:14px 0 5px}.wil-review-card p{font-size:.8rem;color:#596972;margin:0}.status-review{grid-template-columns:.6fr 1.4fr auto;align-items:end;margin-top:14px}.status-review .btn{margin-bottom:0}.notice.success{background:#ebf8f1;border:1px solid #bce4cd;color:#126d43}
@media(max-width:1100px){.candidate-grid{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.documents-panel{position:static}.wil-review-layout{grid-template-columns:1fr}.placement-list{position:static;grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.metric-grid.three{grid-template-columns:1fr}.wil-summary{grid-template-columns:1fr}.candidate-facts{grid-template-columns:1fr 1fr}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.field.span-2{grid-column:auto}.wil-grid{grid-template-columns:1fr}.status-review{grid-template-columns:1fr}.placement-list{grid-template-columns:1fr}.candidate-card-head{grid-template-columns:auto 1fr}.candidate-card-head .match-score{grid-column:1/-1;justify-self:start}.status-form{grid-template-columns:1fr}.inline-checks{display:grid;gap:8px}}
/* admin CMS utilities */
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.chip-link{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.74rem;font-weight:700;color:#617079}.chip-link:hover{border-color:#9ec4b2;color:var(--green-800);background:var(--green-50)}.filter-inline{display:flex;background:#fff;border:1px solid var(--line);padding:10px;border-radius:12px;box-shadow:var(--shadow-sm)}.filter-inline input,.filter-inline select{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff}.action-link{border:0;background:none;padding:0;font-size:.73rem;font-weight:700;cursor:pointer}.action-link.good{color:#14704a}.action-link.bad{color:#b63e3e}.moderation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.moderation-card .panel-head{align-items:flex-start}.moderation-card .panel-head h2{margin:9px 0 4px}.moderation-card .panel-head p{margin:0;color:var(--muted);font-size:.76rem}.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#56666f;font-size:.82rem}.inline-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0;padding:0}.inline-details>div{padding:10px;background:#f7f9fa;border-radius:8px}.inline-details dt{font-size:.62rem;text-transform:uppercase;color:#8a989f}.inline-details dd{margin:2px 0 0;font-size:.75rem;font-weight:700}.cms-two{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:16px;align-items:start}.cms-stack{display:grid;gap:14px}.faq-admin{display:grid;gap:8px;margin-top:14px}.faq-admin details{border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fbfcfc}.faq-admin summary{cursor:pointer;list-style:none;padding:12px 0;font-weight:700;font-size:.8rem}.faq-admin summary span{float:right;font-size:.65rem;color:#7b8991;text-transform:uppercase}.faq-admin p{font-size:.78rem;color:#617079}.simple-scroll-list{display:grid;max-height:560px;overflow:auto}.simple-scroll-list>div{display:grid;padding:11px 0;border-bottom:1px solid #edf1f2}.simple-scroll-list strong{font-size:.8rem}.simple-scroll-list span{font-size:.7rem;color:#84929a}.contact-inbox{display:grid;gap:12px}.enquiry.unread{border-left:4px solid var(--green-600)}.enquiry>p{font-size:.82rem;color:#53636d}.enquiry .panel-head{margin-bottom:5px}.enquiry h2{margin-top:4px}.enquiry a{color:var(--green-700)}code{padding:2px 5px;background:#edf2f4;border-radius:5px;font-size:.78em}
@media(max-width:1000px){.moderation-grid,.cms-two{grid-template-columns:1fr}.inline-details{grid-template-columns:1fr 1fr}.filter-inline{display:grid;grid-template-columns:1fr auto auto;width:100%}}
@media(max-width:620px){.moderation-grid{grid-template-columns:1fr}.inline-details{grid-template-columns:1fr}.filter-inline{grid-template-columns:1fr}.filter-inline .btn{width:100%}.toolbar{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.chip-link{flex:0 0 auto}}
/* featured opportunity carousel */
.job-carousel{position:relative}.job-carousel .job-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 8px}.job-carousel .job-track::-webkit-scrollbar{display:none}.job-carousel .job-card{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow);place-items:center;font-size:27px;line-height:1;cursor:pointer}.carousel-prev{left:-21px}.carousel-next{right:-21px}.carousel-btn:hover{background:var(--green-700);color:#fff;border-color:var(--green-700)}
@media(max-width:900px){.job-carousel .job-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:620px){.job-carousel .job-card{flex-basis:86%}.carousel-btn{display:none!important}}
#jobResults{transition:opacity .18s ease}#jobResults.is-loading{opacity:.48;pointer-events:none}.filter-btn:disabled{opacity:.6;cursor:wait;transform:none}


/* Targeted fixes: inner-page photography, responsive hero image, dark-area logo rendering, admin sidebar scroll, standalone admin auth. */
.page-hero{--page-hero-image:url('../img/default-page-hero.jpg');background-image:linear-gradient(90deg,rgba(6,40,31,.94) 0%,rgba(6,40,31,.86) 48%,rgba(6,40,31,.48) 100%),var(--page-hero-image);background-size:cover;background-position:center 46%;background-repeat:no-repeat;isolation:isolate}
.page-jobs .page-hero,.page-job .page-hero{--page-hero-image:url('../img/jobs-hero.jpg');background-position:center 42%}
.page-employer-services .page-hero{--page-hero-image:url('../img/employer-services-hero.jpg');background-position:center 42%}
.page-resources .page-hero,.page-blog .page-hero{--page-hero-image:url('../img/resources-hero.jpg');background-position:center 48%}
.page-about .page-hero{--page-hero-image:url('../img/about-hero.jpg');background-position:center 45%}
.page-contact .page-hero{--page-hero-image:url('../img/contact-hero.jpg');background-position:center 40%}
.page-register-candidate .page-hero,.page-candidate-dashboard .page-hero,.page-candidate-profile .page-hero{--page-hero-image:url('../img/candidate-register-hero.jpg');background-position:center 43%}
.page-register-employer .page-hero{--page-hero-image:url('../img/employer-register-hero.jpg');background-position:center 44%}
.page-privacy .page-hero,.page-terms .page-hero,.page-legal .page-hero{--page-hero-image:url('../img/default-page-hero.jpg');background-position:center 46%}
.footer-brand img,.portal-brand img,.admin-brand img{filter:none}
.admin-sidebar{height:100vh;height:100dvh;overflow:hidden}.admin-sidebar .admin-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:#315363 transparent}.admin-sidebar .admin-nav::-webkit-scrollbar{width:6px}.admin-sidebar .admin-nav::-webkit-scrollbar-track{background:transparent}.admin-sidebar .admin-nav::-webkit-scrollbar-thumb{background:#315363;border-radius:999px}.admin-sidebar .sidebar-footer{flex:0 0 auto;margin-top:12px;background:#071923}
.admin-auth-shell{margin:0;min-height:100vh;background:#f4f7f8}.admin-auth-main{min-height:100vh}.admin-auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr)}.admin-auth-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px 54px 58px;color:#fff;background:linear-gradient(180deg,rgba(4,22,29,.28),rgba(4,22,29,.92)),url('../img/admin-auth-hero.jpg') center/cover no-repeat}.admin-auth-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:max-content}.admin-auth-brand img{width:205px;height:auto}.admin-auth-brand span{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:#a9c5d2}.admin-auth-copy{max-width:620px}.admin-auth-copy h1{color:#fff;font-size:clamp(2.5rem,5vw,4.8rem);margin:14px 0 18px}.admin-auth-copy p{max-width:590px;color:#d7e5eb;font-size:1.05rem}.admin-auth-copy .check-list{margin-top:24px}.admin-auth-panel{display:flex;align-items:center;justify-content:center;padding:50px;background:#fff}.admin-auth-card{width:min(500px,100%);padding:36px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.admin-auth-card h2{font-size:2.1rem;margin:10px 0}.admin-auth-card>p{color:var(--muted);margin:0 0 26px}.admin-auth-return{display:block;text-align:center;margin-top:18px;color:var(--green-700);font-weight:700;font-size:.82rem}.admin-auth-flash{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1000;width:min(620px,calc(100% - 28px));padding:12px 15px;border-radius:11px;display:flex;gap:8px;align-items:center;box-shadow:var(--shadow)}.admin-auth-flash.success{background:#ebf8f1;border:1px solid #bce4cd;color:#126d43}.admin-auth-flash.error{background:#fff0f0;border:1px solid #efc3c3;color:#a73838}
@media(max-width:900px){.hero-pro{background-image:linear-gradient(90deg,rgba(6,31,25,.80) 0%,rgba(6,31,25,.60) 48%,rgba(6,31,25,.28) 100%),url('../img/home-hero.jpg');background-size:cover;background-position:68% center;background-repeat:no-repeat}.hero-pro:before{display:none}.hero-pro:after{background:linear-gradient(180deg,rgba(6,31,25,.12),rgba(6,31,25,.32))}.page-hero{background-image:linear-gradient(90deg,rgba(6,40,31,.79) 0%,rgba(6,40,31,.64) 55%,rgba(6,40,31,.34) 100%),var(--page-hero-image);background-position:64% center}.page-employer-services .page-hero,.page-contact .page-hero{background-position:62% center}.admin-auth-wrap{grid-template-columns:1fr}.admin-auth-art{min-height:330px;padding:30px 28px}.admin-auth-copy h1{font-size:2.5rem}.admin-auth-panel{padding:32px 22px}.admin-sidebar{height:100dvh}}
@media(max-width:600px){.hero-pro{background-position:72% center;background-image:linear-gradient(90deg,rgba(6,31,25,.76) 0%,rgba(6,31,25,.56) 52%,rgba(6,31,25,.22) 100%),url('../img/home-hero.jpg')}.page-hero{padding-top:68px;padding-bottom:66px;background-position:70% center;background-image:linear-gradient(90deg,rgba(6,40,31,.76) 0%,rgba(6,40,31,.57) 56%,rgba(6,40,31,.25) 100%),var(--page-hero-image)}.page-hero.compact{padding-top:54px;padding-bottom:52px}.admin-auth-art{min-height:280px;padding:24px 20px}.admin-auth-brand img{width:178px}.admin-auth-copy p,.admin-auth-copy .check-list{display:none}.admin-auth-panel{padding:24px 14px}.admin-auth-card{padding:26px 20px;border-radius:16px}.admin-auth-card h2{font-size:1.75rem}}

/* =========================================================
   FoodnBev UI Reference Refresh — 2026-08-28
   Visual-only layer matching the approved reference direction.
   Backend routes, data flows and permissions remain unchanged.
   ========================================================= */
:root{
 --ui-navy:#07131f;--ui-navy-2:#0b1d2b;--ui-green:#0d8f5b;--ui-green-dark:#08714a;--ui-blue:#166bb1;--ui-surface:#f7f9fb;--ui-border:#e7ebef;--ui-text:#18242d;--ui-sub:#70808b;
 --shadow-sm:0 1px 5px rgba(18,38,50,.05);--shadow:0 10px 26px rgba(18,38,50,.08);
}
body{background:#fff;color:var(--ui-text)}
.site-container,.container{width:min(1240px,calc(100% - 44px))}
.section{padding:68px 0}.section-soft{background:#f7f9fb}.section-head{margin-bottom:26px}.section-head h2{font-size:clamp(1.7rem,2.6vw,2.45rem)}.section-head p{font-size:.96rem}.section-link{display:inline-flex;align-items:center;gap:7px;color:#14734f;font-weight:700;font-size:.82rem}.section-link .ui-icon{width:16px;height:16px}

/* reference-style dark public navigation */
.public-header{height:70px;background:rgba(6,18,29,.98);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}
.public-header .brand img{width:172px;height:44px}.public-nav{gap:2px}.public-nav a{color:#dce6ec;font-size:.79rem;padding:9px 10px;border-radius:6px}.public-nav a:hover,.public-nav a.active{color:#fff;background:rgba(255,255,255,.08)}
.public-header .nav-actions{gap:8px}.public-header .btn{min-height:36px;padding:7px 14px;border-radius:6px;font-size:.78rem}.public-header .nav-login{border-color:rgba(255,255,255,.42);color:#fff;background:transparent}.public-header .nav-login:hover{background:#fff;color:#0b1720}.public-header .nav-register{background:#0ca467;box-shadow:none}.public-header .nav-register:hover{background:#078758}.public-header .nav-toggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}

/* home hero */
.hero-pro{min-height:555px;background:#07131f;align-items:stretch}
.hero-pro:before{inset:0 0 0 36%;background:url('../img/hero-foodbev.jpg') 70% 48%/cover no-repeat}
.hero-pro:after{background:linear-gradient(90deg,rgba(6,40,31,.94) 0%,rgba(6,40,31,.86) 48%,rgba(6,40,31,.48) 100%)}
.hero-pro-grid{display:block;padding:72px 0 86px}.hero-pro-copy{max-width:630px}.hero-pro-copy .eyebrow{font-size:.68rem;letter-spacing:.13em;color:#9ed6bc}.hero-pro-copy h1{font-size:clamp(2.55rem,4.5vw,4.3rem);line-height:1.06;margin:13px 0 18px;max-width:620px}.hero-pro-copy h1 span{color:#fff}.hero-pro-copy .lead{font-size:1rem;line-height:1.65;color:#d3dee5;max-width:590px}
.hero-audience-actions{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-top:28px}.audience-card{min-height:76px;padding:13px 15px;border-radius:7px;color:#fff;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px rgba(0,0,0,.16);transition:.18s}.audience-card:hover{transform:translateY(-2px);filter:brightness(1.04)}.audience-card.candidate{background:#0b9d61}.audience-card.employer{background:#176eb6}.audience-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16)}.audience-icon .ui-icon{width:19px;height:19px}.audience-card>span:nth-child(2){display:grid;line-height:1.2}.audience-card b{font-size:.86rem}.audience-card small{font-size:.68rem;color:rgba(255,255,255,.84);margin-top:4px}.audience-arrow .ui-icon{width:17px;height:17px}
.hero-proof{margin-top:22px;font-size:.76rem;color:#bdcbd4;gap:16px}.hero-proof .ui-icon{width:15px;height:15px;color:#46c98a}
.hero-stats{margin-top:-38px}.hero-stat-card{border-radius:9px;box-shadow:0 10px 32px rgba(11,31,44,.12)}.hero-stat-card>div{padding:19px 22px;grid-template-columns:36px 1fr;gap:10px}.stat-icon{width:36px;height:36px;border-radius:8px}.hero-stat-card strong{font-size:1.28rem}.hero-stat-card span{font-size:.72rem}

/* featured jobs like the reference cards */
.home-featured{padding-top:74px}.job-carousel .job-track{gap:14px}.job-carousel .job-card{flex-basis:calc((100% - 42px)/4)}.job-card{min-height:250px;padding:17px;border-radius:8px;box-shadow:none}.job-company-mark{width:44px;height:44px;border:1px solid #edf0f2;border-radius:8px;display:grid;place-items:center;margin-bottom:12px;background:#fff;overflow:hidden}.job-company-mark img{width:100%;height:100%;object-fit:contain;padding:4px}.job-company-mark span{font-weight:800;color:#40515d;font-size:.8rem}.job-card-top{align-items:center}.job-card h3{font-size:.91rem;line-height:1.3;margin-top:12px}.job-card .company{font-size:.76rem;margin:5px 0 10px}.job-card .job-meta{display:grid;gap:4px;font-size:.69rem}.job-card .job-type{font-size:.6rem;padding:3px 6px;border-radius:5px}.job-card .job-date{font-size:.65rem}.job-card .job-link{font-size:.72rem;padding-top:14px;display:inline-flex;gap:6px;align-items:center}.job-card .job-link .ui-icon{width:14px;height:14px}

/* About and employer sections modeled on reference */
.home-about{padding-top:54px;padding-bottom:64px}.about-ui-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:stretch}.about-ui-copy{padding:30px 0}.about-ui-copy h2{font-size:clamp(1.9rem,3vw,2.8rem);margin:9px 0 16px}.about-ui-copy>p{color:#667782;max-width:560px}.about-points{display:grid;gap:15px;margin:25px 0 27px}.about-points>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.about-points>div>span{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;background:#e8f7f0;color:#0a8555}.about-points .ui-icon{width:16px;height:16px}.about-points p{margin:0;display:grid}.about-points b{font-size:.83rem}.about-points small{font-size:.72rem;color:#7b8992;margin-top:2px}.about-ui-photo{min-height:430px;border-radius:8px;background:url('../img/food-lab-professionals.jpg') center 45%/cover no-repeat;box-shadow:0 14px 32px rgba(18,38,50,.12)}
.employer-ui-section{padding:0 0 66px}.employer-ui-card{display:grid;grid-template-columns:1.08fr .92fr;background:#07131f;min-height:410px;overflow:hidden;border-radius:0;box-shadow:0 18px 40px rgba(13,29,40,.12)}.employer-ui-copy{padding:52px 56px;color:#fff}.employer-ui-copy h2{color:#fff;font-size:clamp(2rem,3vw,3rem);margin:10px 0 16px}.employer-ui-copy>p{color:#ced9df;max-width:620px}.employer-ui-copy .check-list{margin:22px 0;display:grid;gap:8px}.employer-ui-copy .check-list span{font-size:.82rem;color:#dce7eb}.employer-ui-copy .check-list .ui-icon{color:#43cd8b}.employer-ui-photo{background:linear-gradient(90deg,rgba(7,19,31,.12),transparent),url('../img/employer-handshake-approved.png') center 42%/cover no-repeat;min-height:410px}.partner-strip{padding:24px 0 34px;background:#fff}.partner-strip>.site-container{text-align:center}.partner-strip>.site-container>span{font-size:.65rem;font-weight:800;letter-spacing:.12em;color:#87949c}.partner-pills{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:15px}.partner-pills b{font-size:.73rem;color:#4d5d67;background:#f7f9fa;border:1px solid #e6ebee;border-radius:999px;padding:8px 13px}
.journey{border-radius:8px;box-shadow:none}.feature-card{border-radius:8px;box-shadow:none}.feature-card:hover{box-shadow:var(--shadow-sm)}

/* inner page heroes */
.page-hero{padding:68px 0;background-color:#07131f}.page-hero.compact{padding:58px 0}.page-hero h1{font-size:clamp(2rem,4vw,3.3rem);color:#fff;max-width:700px}.page-hero p{color:#d5e0e5;max-width:670px}.page-hero .eyebrow{color:#9ed6bc}

/* job board compact search + list UI */
.jobs-layout{padding:0 0 68px;background:#f7f9fb}.jobs-layout>.container{position:relative}.filter-bar{position:relative;z-index:5;margin-top:-26px;background:#fff;border:1px solid #e5eaed;border-radius:8px;padding:13px;box-shadow:0 10px 30px rgba(21,41,55,.10);display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(120px,.8fr)) auto;gap:9px;align-items:end}.filter-bar .field{display:grid;gap:4px}.filter-bar label{font-size:.59rem;font-weight:700;color:#72818b}.filter-bar input,.filter-bar select{height:39px;border:1px solid #e1e6e9;border-radius:6px;padding:0 10px;background:#fff;font-size:.75rem;outline:none}.filter-bar input:focus,.filter-bar select:focus{border-color:#3fac7c;box-shadow:0 0 0 2px rgba(50,173,124,.10)}.filter-bar .btn{height:39px;min-height:39px;border-radius:6px;font-size:.74rem}.result-head{display:flex;justify-content:space-between;align-items:center;margin:32px 0 13px}.result-head h2{font-size:1.05rem}.result-head span{font-size:.7rem;color:#8a979e}.job-list{display:grid;gap:10px;max-width:950px}.job-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border-radius:7px;box-shadow:none}.job-row .job-logo{width:48px;height:48px;border:1px solid #e7ecef;border-radius:8px;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#475862;overflow:hidden}.job-row .job-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.job-row h3{font-size:.9rem;margin-top:7px}.job-row .company{margin:3px 0 6px;font-size:.73rem}.job-row .job-meta{font-size:.67rem}.job-row .tags{margin-top:7px}.job-row .tags span{font-size:.58rem;padding:3px 6px}.job-row>.btn{min-height:34px;padding:6px 11px;font-size:.7rem}

/* Candidate and Employer portal */
.portal-shell{background:#f6f8fa}.portal-sidebar{width:230px;padding:16px 12px;box-shadow:none}.portal-candidate .portal-sidebar{background:linear-gradient(180deg,#123b50 0%,#0a2e42 100%)}.portal-employer .portal-sidebar{background:linear-gradient(180deg,#0f6040 0%,#0a4934 100%)}.portal-brand{padding:2px 9px 16px;margin-bottom:11px}.portal-brand img{width:155px;height:40px}.portal-brand span{font-size:.6rem;color:rgba(255,255,255,.55)}.side-nav{gap:2px}.side-nav a,.sidebar-footer a{min-height:38px;padding:8px 10px;border-radius:5px;font-size:.74rem;color:#d2e2e8}.portal-employer .side-nav a{color:#d9eee3}.side-nav a.active{background:#159063;color:#fff;box-shadow:none}.portal-employer .side-nav a.active{background:#168456;color:#fff}.side-nav a:hover,.sidebar-footer a:hover{background:rgba(255,255,255,.09)}.portal-main{margin-left:230px}.portal-topbar{height:64px;padding:0 24px}.portal-content{padding:24px;max-width:1450px}.portal-footer{padding:15px 24px}.topbar-left small{font-size:.58rem}.topbar-left strong{font-size:.88rem}.user-avatar{width:32px;height:32px;border-radius:50%}.user-chip b{font-size:.72rem}.user-chip small{font-size:.61rem}.icon-btn{width:34px;height:34px;border-radius:7px}.dashboard-hero{margin-bottom:17px}.dashboard-title{align-items:center}.dashboard-title h1,.dashboard-page-head h1,.page-actions h1{font-size:1.55rem;letter-spacing:-.02em}.dashboard-title p,.dashboard-page-head p,.page-actions p{font-size:.79rem;margin-top:5px}.dashboard-title .eyebrow{font-size:.59rem}.portal-metrics{gap:10px}.portal-metrics .metric{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;padding:14px;border-radius:7px;box-shadow:none}.metric-mini-icon{width:36px;height:36px;border-radius:7px;display:grid;place-items:center;background:#edf3ff;color:#3972bc}.metric-mini-icon.warm{background:#fff2ec;color:#db7045}.metric-mini-icon.teal{background:#eaf8f7;color:#2c9b96}.metric-mini-icon.green{background:#eaf7ee;color:#2d9a5e}.metric-mini-icon.blue{background:#edf3ff;color:#3c73b6}.metric-mini-icon .ui-icon{width:17px;height:17px}.portal-metrics .metric>div{min-width:0}.portal-metrics .metric span:not(.metric-mini-icon){font-size:.66rem}.portal-metrics .metric strong{font-size:1.25rem;margin:3px 0 1px}.portal-metrics .metric small{font-size:.59rem}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:12px}.panel{border-radius:7px;padding:16px;box-shadow:none}.panel-head{margin-bottom:10px}.panel-head h2,.panel h2{font-size:.86rem}.panel-head a{font-size:.65rem}.portal-list .list-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;padding:10px 0;gap:10px}.list-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf5ef;color:#13724b;font-size:.68rem;font-weight:800}.list-avatar.employer{background:#eef4fb;color:#29669d}.portal-list .list-row strong{font-size:.76rem}.portal-list .list-row span{font-size:.64rem}.wil-overview .wil-big-number{display:flex;align-items:baseline;gap:5px;margin-top:20px}.wil-overview .wil-big-number strong{font-size:1.65rem}.wil-overview .wil-big-number span{font-size:.72rem;color:#829099}.progress{height:6px}.quick-links>a{border-radius:6px;padding:10px}.quick-links b{font-size:.74rem}.quick-links span{font-size:.62rem}
.table-wrap{border-radius:7px;box-shadow:none}.form-section,.data-card{border-radius:7px;box-shadow:none}

/* footer closer to the dark reference */
.public-footer{background:#07131f}.footer-main{padding-top:50px;padding-bottom:36px}.footer-main h4{font-size:.76rem}.footer-main a,.footer-main p{font-size:.72rem}.footer-bottom{border-top-color:rgba(255,255,255,.08);font-size:.66rem}

@media(max-width:1120px){
 .public-nav a{padding-inline:7px;font-size:.74rem}.public-header .brand img{width:150px}.filter-bar{grid-template-columns:repeat(3,1fr)}.filter-bar .grow{grid-column:span 2}.filter-bar .btn{width:100%}.job-carousel .job-card{flex-basis:calc((100% - 28px)/3)}
}
@media(max-width:900px){
 .site-container,.container{width:min(100% - 30px,1240px)}
 .public-header{height:64px}.public-header .nav-shell{gap:12px}.public-header .brand img{width:150px}.public-header .nav-toggle{display:flex;margin-left:auto}.public-header .nav-actions{display:none}.public-nav{position:absolute;left:15px;right:15px;top:58px;display:none;flex-direction:column;align-items:stretch;padding:10px;background:#0b1c29;border:1px solid rgba(255,255,255,.10);border-radius:8px;box-shadow:0 18px 42px rgba(0,0,0,.28)}.public-nav.open{display:flex}.public-nav a{padding:11px 12px;color:#e8eff2}.public-nav a:hover,.public-nav a.active{background:rgba(255,255,255,.08);color:#fff}
 .hero-pro{min-height:540px;background-image:none}.hero-pro:before{display:block;inset:0;background:url('../img/hero-foodbev.jpg') 66% center/cover no-repeat;opacity:1}.hero-pro:after{background:linear-gradient(90deg,rgba(6,40,31,.79) 0%,rgba(6,40,31,.64) 55%,rgba(6,40,31,.34) 100%)}.hero-pro-grid{padding:62px 0 78px}.hero-pro-copy{max-width:620px}.hero-pro-copy h1{font-size:clamp(2.35rem,7vw,3.65rem)}
 .about-ui-grid{grid-template-columns:1fr;gap:24px}.about-ui-photo{min-height:360px}.about-ui-copy{padding-bottom:0}.employer-ui-card{grid-template-columns:1fr}.employer-ui-copy{padding:42px 34px}.employer-ui-photo{min-height:330px}.job-carousel .job-card{flex-basis:calc((100% - 14px)/2)}
 .filter-bar{grid-template-columns:repeat(2,1fr);margin-top:-18px}.filter-bar .grow{grid-column:span 2}.jobs-layout{padding-top:0}
 .portal-sidebar{width:230px;transform:translateX(-100%);transition:transform .2s ease;z-index:200}.portal-sidebar.open{transform:none}.portal-main{margin-left:0}.portal-topbar{padding:0 16px}.portal-content{padding:18px 15px}.sidebar-toggle{display:flex}.dashboard-grid{grid-template-columns:1fr}.metric-grid.four,.metric-grid.three{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .site-container,.container{width:min(100% - 24px,1240px)}.section{padding:50px 0}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.section-head h2{font-size:1.7rem}.section-link{font-size:.76rem}
 .hero-pro{min-height:590px}.hero-pro:before{background-position:68% center}.hero-pro:after{background:linear-gradient(90deg,rgba(6,40,31,.76) 0%,rgba(6,40,31,.57) 56%,rgba(6,40,31,.25) 100%)}.hero-pro-grid{padding:54px 0 78px}.hero-pro-copy h1{font-size:2.35rem;max-width:94%}.hero-pro-copy .lead{font-size:.91rem;max-width:92%}.hero-audience-actions{grid-template-columns:1fr;max-width:330px}.audience-card{min-height:67px}.hero-proof{display:none}.hero-stats{margin-top:-25px}.hero-stat-card{grid-template-columns:1fr 1fr}.hero-stat-card>div{padding:14px 12px;grid-template-columns:31px 1fr;border-bottom:1px solid var(--line)}.hero-stat-card>div:nth-child(2){border-right:0}.hero-stat-card>div:nth-child(3),.hero-stat-card>div:nth-child(4){border-bottom:0}.stat-icon{width:31px;height:31px}.hero-stat-card strong{font-size:1rem}.hero-stat-card span{font-size:.62rem}
 .job-carousel .job-card{flex-basis:84%}.about-ui-photo{min-height:300px}.about-ui-copy h2{font-size:2rem}.employer-ui-copy{padding:34px 24px}.employer-ui-copy h2{font-size:2rem}.employer-ui-photo{min-height:280px}.partner-pills{justify-content:flex-start}
 .page-hero{padding:52px 0!important;background-position:66% center!important}.page-hero h1{font-size:2rem}.page-hero p{font-size:.88rem}.filter-bar{grid-template-columns:1fr;padding:11px;margin-top:-14px}.filter-bar .grow{grid-column:auto}.job-row{grid-template-columns:42px 1fr;padding:12px}.job-row .job-logo{width:40px;height:40px}.job-row>.btn{grid-column:2;justify-self:start}.job-list{gap:8px}.result-head{margin-top:25px}
 .portal-topbar{height:58px}.topbar-actions .icon-btn{display:none}.user-chip>span:last-child{display:none}.portal-content{padding:15px 12px}.dashboard-title{align-items:flex-start;flex-direction:column}.dashboard-title .btn{width:100%}.metric-grid.four,.metric-grid.three{grid-template-columns:1fr}.portal-metrics .metric{grid-template-columns:36px 1fr}.portal-footer{padding:13px 14px;flex-direction:column;gap:3px}.page-actions{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions .btn{flex:1}
}
.public-quick-tags{margin-top:18px}.public-quick-tags span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#dce7ec;font-size:.62rem;padding:4px 8px}.job-board-hero{padding-bottom:78px}
@media(max-width:620px){.public-quick-tags{gap:5px}.public-quick-tags span{font-size:.58rem}.job-board-hero{padding-bottom:62px!important}}
.mobile-auth-link{display:none!important}@media(max-width:900px){.public-nav .mobile-auth-link{display:block!important;border-top:1px solid rgba(255,255,255,.09);margin-top:4px;padding-top:12px}.public-nav .mobile-register-link{color:#73d9aa}}

/* Final approved FoodnBev logo: keep the supplied artwork unchanged and provide contrast on dark surfaces. */
.portal-brand img,.admin-brand img,.admin-auth-brand img,.footer-brand img{background:#fff;padding:5px 8px;border-radius:8px;box-sizing:border-box;filter:none!important;object-fit:contain}
.footer-brand img{padding:6px 9px}

/* Candidate proposal / agency placement workflow */
.status-proposed{background:#fff5df;color:#8a6014}.status-client-accepted{background:#e8f7ef;color:#126942}.status-client-rejected{background:#fff0f0;color:#aa3838}.client-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-review-card{display:block}.client-decision-form{margin-top:14px}.review-summary{margin:12px 0;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.review-summary strong{font-size:.76rem}.review-summary p{margin:6px 0 0;color:#596972;font-size:.82rem}.notice .btn{margin-left:auto;flex:0 0 auto}.table-note{display:block;margin-top:4px;color:var(--muted);font-size:.69rem}@media(max-width:900px){.client-review-grid{grid-template-columns:1fr}.notice{flex-wrap:wrap}.notice .btn{margin-left:0}}

/* Professional portal detail lightboxes and interaction states */
.portal-detail-trigger{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.portal-detail-trigger:hover{background:#f8fbfa}.portal-detail-trigger:focus-visible{outline:3px solid rgba(46,166,118,.22);outline-offset:-2px}.detail-hint{display:inline-flex;align-items:center;gap:5px;font-size:.65rem;color:#7c8a92;margin-top:5px}.detail-action{font-size:.7rem;font-weight:800;color:var(--green-700);border:0;background:transparent;padding:4px 0;cursor:pointer}.portal-modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:26px;background:rgba(3,16,22,.68);backdrop-filter:blur(5px)}.portal-modal.open{display:flex}.portal-modal-card{width:min(900px,100%);max-height:min(86vh,900px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 100px rgba(2,14,20,.32);border:1px solid rgba(255,255,255,.7)}.portal-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;background:#fff;border-bottom:1px solid var(--line)}.portal-modal-head h2{font-size:1.15rem}.portal-modal-head p{font-size:.75rem;color:var(--muted);margin:5px 0 0}.portal-modal-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:#58666f}.portal-modal-body{padding:22px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-item{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f9fbfb;min-width:0}.detail-item span{display:block;font-size:.62rem;font-weight:800;color:#849198;text-transform:uppercase;letter-spacing:.05em}.detail-item strong,.detail-item p{display:block;font-size:.78rem;margin:4px 0 0;overflow-wrap:anywhere}.detail-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.detail-section h3{font-size:.83rem;margin-bottom:8px}.detail-section p{font-size:.8rem;color:#53636d;margin:0;white-space:pre-line}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.portal-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.status-explainer{padding:12px 14px;border-radius:9px;background:#f4f8f7;border:1px solid #dce8e3;font-size:.76rem;color:#53636d}.status-explainer b{color:var(--ink)}.form-help{font-size:.68rem;color:var(--muted);margin-top:4px}.readonly-summary{display:grid;gap:8px}.readonly-summary>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.readonly-summary>div:last-child{border-bottom:0}.readonly-summary span{font-size:.69rem;color:#7d8a92}.readonly-summary strong{font-size:.76rem}.portal-modal .client-decision-form{margin-bottom:0}.is-submitting{opacity:.72;pointer-events:none}.is-submitting button[type=submit]{position:relative}.is-submitting button[type=submit]::after{content:'…';margin-left:4px}.profile-preview-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8fbfa;margin-bottom:16px}.profile-preview-card p{margin:3px 0 0;color:var(--muted);font-size:.72rem}
@media(max-width:760px){.portal-modal{padding:0;align-items:flex-end}.portal-modal-card{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.portal-modal-body{padding:17px}.portal-modal-head{padding:16px 17px}.detail-grid{grid-template-columns:1fr 1fr}.readonly-summary>div{grid-template-columns:1fr;gap:3px}}
@media(max-width:480px){.detail-grid{grid-template-columns:1fr}.portal-modal-card{max-height:94vh}.detail-actions .btn{flex:1}}

body.modal-open{overflow:hidden}

/* Candidate journey + client invoicing */
.journey-overview{margin-bottom:16px}.journey-steps{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px}.journey-steps>div{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfdfc;display:grid;align-content:start;gap:6px}.journey-steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green-700);color:#fff;font-size:.75rem}.journey-steps strong{font-size:.78rem}.journey-steps span{font-size:.7rem;color:var(--muted);line-height:1.45}.journey-current{background:#eef8f3;border:1px solid #cbe8d9;border-radius:10px;padding:16px;margin-bottom:16px}.journey-current h3{margin:4px 0 6px}.journey-current p{margin:0;color:#53636d}.next-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guidance-list{margin:8px 0 0;padding-left:20px;color:#53636d;font-size:.82rem}.guidance-list li{margin:5px 0}.next-action{background:#f7faf9;border-left:3px solid var(--green-600)}.next-action small{display:block;margin-top:8px;color:var(--muted)}.candidate-next-step{margin-bottom:16px;border-left:4px solid var(--green-600)}.candidate-next-step>p{color:var(--muted)}.candidate-next-step .next-step-grid>div{padding:12px;background:#f7faf9;border-radius:9px}.form-help{display:block;margin-top:8px;color:var(--muted);font-size:.7rem}.client-invoice-sheet table{min-width:0}
@media(max-width:1100px){.journey-steps{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.journey-steps{grid-template-columns:1fr 1fr}.next-step-grid{grid-template-columns:1fr}}
@media(max-width:480px){.journey-steps{grid-template-columns:1fr}}

/* =========================================================
   Responsive hardening — 320px and up — 2026-10-15
   Public website + Candidate/Client portals
   ========================================================= */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%}
iframe{max-width:100%}
input,select,textarea,button{font:inherit;max-width:100%}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
.site-container,.container,.portal-main,.portal-content,.dashboard-body,.panel,.form-panel,.admin-card{min-width:0}
.hero-pro-copy,.content-copy,.job-row>*,.candidate-card>*,.portal-list .list-row>*,.list-row>*,.document-row>*,.timeline-content,.profile-preview-card>*{min-width:0}
h1,h2,h3,h4,p,a,span,strong,small,td,th,dd{overflow-wrap:anywhere}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
.table-wrap table{margin:0}
.portal-modal,.portal-modal-card{max-width:100%}
.portal-sidebar{overflow-y:auto;overscroll-behavior:contain}
.side-nav{min-height:0}
.btn,.chip-link,.action-link{touch-action:manipulation}
.field input,.field select,.field textarea,.form-group input,.form-group select,.form-group textarea{font-size:16px}

/* tablet / compact desktop */
@media screen and (max-width:1024px){
  .hero-pro-grid{grid-template-columns:1fr!important;gap:28px}
  .hero-pro-copy{max-width:760px}
  .hero-search-card{max-width:680px}
  .info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-layout,.wil-grid,.wil-review-layout,.dashboard-grid{grid-template-columns:1fr!important}
  .documents-panel{position:static!important;top:auto!important}
  .candidate-grid,.placement-list,.client-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric-grid.four,.metric-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .about-ui-grid,.employer-ui-card{grid-template-columns:1fr!important}
  .employer-ui-photo{min-height:340px}
  .content-photo{min-height:380px}
  .footer-main{gap:32px}
}

/* tablet and phone navigation/layout */
@media screen and (max-width:768px){
  .site-container,.container{width:min(100% - 28px,1180px)}
  .public-header{height:66px}
  .nav-shell{gap:12px;position:relative}
  .brand img{width:150px;height:42px}
  .nav-toggle{width:42px;height:42px;flex:0 0 42px}
  .public-nav{top:calc(100% + 8px)!important;left:0!important;right:0!important;max-height:calc(100dvh - 86px);overflow-y:auto;border-radius:12px;padding:8px}
  .public-nav a{min-height:44px;display:flex;align-items:center}
  .hero-pro{min-height:auto}
  .hero-pro-grid{padding:50px 0 58px!important;gap:22px}
  .hero-pro-copy h1{font-size:clamp(2rem,9vw,3rem)!important;line-height:1.04}
  .lead{font-size:1rem;line-height:1.55}
  .hero-audience-actions{grid-template-columns:1fr!important;max-width:440px}
  .audience-card{min-height:70px}
  .hero-proof{gap:10px 14px}
  .hero-stats{margin-top:-18px}
  .hero-stat-card{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero-stat-card>div{padding:14px!important}
  .section{padding:52px 0}
  .section-head{gap:12px}
  .page-hero{padding:58px 0 54px}
  .page-hero.compact{padding:48px 0 44px}
  .page-hero h1{font-size:clamp(2rem,9vw,3rem)}
  .page-hero p{font-size:1rem;line-height:1.6}
  .feature-grid,.article-grid,.job-grid,.sector-grid,.journey-grid,.content-grid,.contact-grid,.photo-split{grid-template-columns:1fr!important}
  .info-cards{grid-template-columns:1fr}
  .photo-split-media,.content-photo,.about-ui-photo,.employer-ui-photo{min-height:300px}
  .photo-split-content,.employer-ui-copy{padding:28px 22px!important}
  .filter-bar{grid-template-columns:1fr!important;margin-top:0!important;padding:14px}
  .filter-bar .grow{grid-column:auto!important}
  .filter-btn{width:100%;align-self:stretch}
  .result-head{align-items:flex-start;gap:6px;flex-direction:column}
  .job-row{grid-template-columns:42px minmax(0,1fr)!important;gap:12px;padding:15px}
  .job-logo{width:42px;height:42px}
  .job-row>.btn,.job-row>.actions{grid-column:1/-1;width:100%}
  .job-row>.btn{justify-self:stretch}
  .job-row .btn{width:100%}
  .form-grid,.form-grid.two,.form-grid.three,.form-row,.form-row.three{grid-template-columns:1fr!important}
  .field.span-2,.form-grid .full{grid-column:auto!important}
  .contact-card,.form-card,.form-panel,.panel,.data-card,.candidate-card,.form-section{padding:18px}
  .auth-wrap{grid-template-columns:1fr!important;min-height:auto}
  .auth-art{min-height:300px;padding:34px 24px;display:flex}
  .auth-art h2{font-size:2rem}
  .auth-panel{padding:32px 18px}
  .auth-choice{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr!important;gap:28px 20px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{gap:8px}
  .cta-grid{align-items:flex-start;flex-direction:column;gap:24px}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}

  /* Candidate / Client portals */
  .portal-sidebar{width:min(290px,calc(100vw - 38px));padding:16px 12px}
  .portal-brand{padding:3px 8px 16px}
  .portal-brand img{width:164px;height:auto}
  .side-nav a,.sidebar-footer a{min-height:44px;padding:10px}
  .portal-main{margin-left:0}
  .portal-topbar{height:64px;padding:0 14px;gap:10px}
  .topbar-left{gap:9px;min-width:0}
  .topbar-left>div{min-width:0}
  .topbar-left strong{display:block;max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-actions{gap:7px}
  .user-chip{padding-left:0}
  .user-chip>span:last-child,.system-live{display:none}
  .portal-content{padding:18px 14px 28px}
  .portal-flash{margin:10px 14px 0}
  .portal-footer{padding:14px;flex-direction:column;gap:6px}
  .dashboard-title,.page-actions{align-items:flex-start;flex-direction:column;gap:12px}
  .dashboard-title h1,.dashboard-page-head h1,.page-actions h1{font-size:1.55rem}
  .dashboard-title .btn,.page-actions>.btn,.page-actions .actions{width:100%}
  .page-actions .actions{display:flex;flex-wrap:wrap;gap:8px}
  .page-actions .actions .btn{flex:1 1 190px}
  .metric-grid.four,.metric-grid.three,.metric-grid.six,.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-grid,.admin-grid,.profile-layout,.wil-grid,.wil-review-layout{grid-template-columns:1fr!important}
  .panel-head,.data-card-head,.timeline-top,.profile-preview-card{align-items:flex-start;flex-direction:column}
  .panel-head{gap:8px}
  .candidate-grid,.placement-list,.client-review-grid{grid-template-columns:1fr!important}
  .candidate-card{padding:16px}
  .candidate-card-head{grid-template-columns:auto minmax(0,1fr)!important}
  .candidate-card-head .match-score{grid-column:1/-1;justify-self:start}
  .candidate-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .status-form,.status-review{grid-template-columns:1fr!important}
  .wil-summary{grid-template-columns:1fr!important}
  .document-row{grid-template-columns:40px minmax(0,1fr);align-items:start}
  .document-row>:nth-child(n+3){grid-column:2}
  .inline-checks{display:grid;grid-template-columns:1fr;gap:9px}
  .notice{flex-direction:column;gap:6px}
  .notice strong{min-width:0}
  .toolbar{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;-webkit-overflow-scrolling:touch}
  .chip-link{flex:0 0 auto}
  .filter-inline{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:8px}
  .filter-inline input,.filter-inline select,.filter-inline .btn{width:100%}
  .table-wrap{border-radius:10px}
  .table-wrap table{min-width:660px}
  th,td{padding:11px 10px}
  .table-actions,.button-pair,.actions,.detail-actions,.portal-card-actions{gap:8px;flex-wrap:wrap}
  .portal-modal{padding:0;align-items:flex-end}
  .portal-modal-card{width:100%;max-height:92dvh;border-radius:18px 18px 0 0}
  .portal-modal-head,.portal-modal-body{padding:16px}
  .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .readonly-summary>div{grid-template-columns:1fr!important;gap:3px}
  .journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .next-step-grid{grid-template-columns:1fr!important}
}

/* small phones */
@media screen and (max-width:520px){
  .site-container,.container{width:calc(100% - 24px)}
  .brand img{width:142px}
  .hero-pro-grid{padding:44px 0 50px!important}
  .hero-pro-copy h1{font-size:clamp(1.9rem,10.5vw,2.55rem)!important}
  .hero-proof{display:grid}
  .hero-stat-card{grid-template-columns:1fr!important}
  .hero-stat-card>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .hero-stat-card>div:last-child{border-bottom:0!important}
  .section{padding:44px 0}
  .page-hero{padding:50px 0 46px}
  .page-hero.compact{padding:42px 0 40px}
  .page-hero h1{font-size:clamp(1.85rem,10vw,2.45rem)}
  .content-photo,.photo-split-media,.about-ui-photo,.employer-ui-photo{min-height:240px}
  .contact-card,.form-card,.form-panel,.panel,.data-card,.candidate-card,.form-section{padding:15px}
  .footer-main{grid-template-columns:1fr!important}
  .footer-brand{grid-column:auto}
  .footer-main>div:last-child{grid-column:auto!important}
  .footer-bottom{align-items:flex-start}
  .hero-pro-actions,.cta-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .hero-pro-actions .btn,.cta-actions .btn{width:100%}
  .public-nav{border-radius:10px}

  .portal-sidebar{width:calc(100vw - 28px);max-width:300px}
  .portal-topbar{padding:0 10px}
  .sidebar-toggle{width:40px;height:40px;flex:0 0 40px}
  .topbar-left small{font-size:.58rem}
  .topbar-left strong{font-size:.82rem;max-width:45vw}
  .portal-content{padding:14px 10px 24px}
  .portal-flash{margin:9px 10px 0;padding:10px 11px}
  .dashboard-title h1,.dashboard-page-head h1,.page-actions h1{font-size:1.4rem}
  .metric-grid.four,.metric-grid.three,.metric-grid.six,.portal-metrics{grid-template-columns:1fr!important}
  .metric{padding:14px}
  .candidate-facts{grid-template-columns:1fr!important}
  .journey-steps{grid-template-columns:1fr!important}
  .detail-grid{grid-template-columns:1fr!important}
  .portal-modal-card{max-height:94dvh}
  .portal-modal-head,.portal-modal-body{padding:14px}
  .detail-actions .btn,.portal-card-actions .btn,.page-actions .actions .btn,.button-pair .btn{flex:1 1 100%;width:100%}
  .list-row{align-items:flex-start;flex-direction:column;gap:7px}
  .portal-list .list-row{grid-template-columns:32px minmax(0,1fr)!important}
  .portal-list .list-row>:last-child{grid-column:2;justify-self:start}
  .document-row>:nth-child(n+3){grid-column:1/-1}
  .table-wrap table{min-width:620px}
}

/* 320–359px phones */
@media screen and (max-width:359px){
  .site-container,.container{width:calc(100% - 20px)}
  .public-header{height:62px}
  .brand img{width:128px;height:38px}
  .nav-toggle{width:40px;height:40px;flex-basis:40px}
  .hero-pro-copy h1{font-size:1.85rem!important}
  .lead{font-size:.94rem}
  .audience-card{padding:11px 12px;grid-template-columns:36px minmax(0,1fr) 18px}
  .audience-card b{font-size:.82rem}
  .page-hero h1{font-size:1.8rem}
  .photo-split-content,.employer-ui-copy{padding:22px 16px!important}
  .auth-panel{padding:24px 12px}
  .auth-card h1{font-size:1.8rem}
  .portal-sidebar{width:calc(100vw - 18px)}
  .portal-content{padding:12px 8px 22px}
  .portal-flash{margin-inline:8px}
  .panel,.form-panel,.form-section,.data-card,.candidate-card{padding:13px}
  .page-actions .actions{display:grid;grid-template-columns:1fr}
  .page-actions .actions .btn{width:100%}
  .table-wrap table{min-width:590px}
}
html.mobile-menu-open{overflow:hidden}
.invoice-lines{min-width:0!important;max-width:100%}
.table-wrap::-webkit-scrollbar,.invoice-select-table::-webkit-scrollbar{height:7px}
.table-wrap::-webkit-scrollbar-thumb,.invoice-select-table::-webkit-scrollbar-thumb{background:#aebbc1;border-radius:999px}
.table-wrap::-webkit-scrollbar-track,.invoice-select-table::-webkit-scrollbar-track{background:#eef2f3;border-radius:999px}

/* =========================================================
   FoodnBev professional information-state refresh — 2026-10-22
   Blue/teal guidance, green success, red only for true errors.
   ========================================================= */
.notice{border:1px solid #d9e4e8;background:#f7fafb;color:#315563;box-shadow:none}
.notice span{color:inherit}
.notice.info,.notice.warning{background:#eef7fa;border-color:#c7dfe7;color:#24586b}
.notice.info strong,.notice.warning strong{color:#16485b}
.notice.success{background:#edf8f2;border-color:#c6e4d3;color:#176647}
.status-pending,.status-applied,.status-reviewed,.status-proposed{background:#edf5fb;color:#2d6582}
.metric-mini-icon.warm{background:#edf5fb;color:#34759a}
.compliance-chips span{background:#edf7f8;color:#24707a}
.btn-warning{background:#edf5fb;color:#2d6582;border-color:#c7dfe7}.btn-warning:hover{background:#e3f0f7;color:#24586b}

/* Agreements & E-Signatures — 2026-10-22 */
.agreement-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.agreement-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:18px}.agreement-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.agreement-card-top h3{margin:6px 0 0;font-size:1.05rem}.agreement-card-meta{display:flex;gap:12px 20px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.agreement-card-meta span{display:flex;align-items:center;gap:6px}.agreement-card-meta .ui-icon{width:16px;height:16px;color:var(--green-700)}.agreement-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.agreement-portal-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:18px;align-items:start}.agreement-document-panel{min-width:0}.agreement-recipient-summary{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px;color:var(--muted);font-size:.8rem}.agreement-document{background:#fff;border:1px solid #dfe7e4;border-radius:14px;padding:clamp(22px,4vw,42px);box-shadow:0 10px 28px rgba(19,49,55,.04)}.agreement-document h2{font-size:1.6rem;padding-bottom:18px;border-bottom:2px solid var(--green-700)}.agreement-body-text{line-height:1.78;color:#344951;overflow-wrap:anywhere}.signature-panel{position:sticky;top:92px}.signature-panel>p{color:var(--muted);font-size:.9rem}.signature-pad-wrap{border:1px solid var(--line-strong);border-radius:12px;background:#fff;overflow:hidden}.signature-pad-wrap canvas{display:block;width:100%;height:170px;background:#fff;touch-action:none;cursor:crosshair}.signature-pad-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-top:1px solid var(--line);background:#f6f9f8}.signature-pad-actions small{color:var(--muted)}.signature-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;padding:14px;border:1px solid #cfe1dc;border-radius:10px;background:#f1f8f5;color:#315149;font-size:.86rem;line-height:1.45}.signature-consent input{margin-top:3px;flex:0 0 auto}.agreement-signature-record{margin-top:22px;padding:22px;border:1px solid #cce4d8;border-radius:14px;background:#f3faf6}.agreement-signature-record h3{margin:7px 0}.agreement-signature-record img{display:block;max-width:360px;max-height:130px;width:auto;height:auto;border-bottom:1px solid #9ab0a7;padding:8px 0;margin:8px 0 16px}.agreement-signing-meta{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.agreement-signing-meta span{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.agreement-signing-meta code{font-size:.7rem;word-break:break-all;color:#36555f}.agreement-void-message{display:grid;gap:4px;margin-top:20px;padding:16px;border-radius:11px;background:#eef5f7;border:1px solid #cedfe5;color:#31535e}.status-sent{background:#e9f3f6!important;color:#245d6d!important}.status-signed{background:#e8f7ef!important;color:#126942!important}.status-void{background:#eef1f2!important;color:#64727a!important}
@media(max-width:900px){.agreement-portal-layout{grid-template-columns:1fr}.signature-panel{position:static}.agreement-card-grid{grid-template-columns:1fr}}
@media(max-width:520px){.agreement-card{padding:17px}.agreement-card-top{flex-direction:column}.agreement-card-actions{display:grid;grid-template-columns:1fr;width:100%}.agreement-card-actions .btn{width:100%}.agreement-document{padding:20px 17px}.signature-pad-wrap canvas{height:150px}.signature-pad-actions{align-items:flex-start;flex-direction:column}.signature-panel .btn-lg{width:100%}}

/* =========================================================
   Candidate & Employer portal page information drawer
   ========================================================= */
.portal-info-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:88;width:46px;min-height:124px;border:1px solid #c9dce2;border-right:0;border-radius:14px 0 0 14px;background:#fff;color:#174e60;box-shadow:0 10px 30px rgba(10,36,48,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 7px;cursor:pointer;transition:.2s ease}.portal-info-tab:hover,.portal-info-tab:focus-visible{background:#eef7fa;color:#0f4457;box-shadow:0 12px 34px rgba(10,36,48,.2)}.portal-info-tab>span:last-child{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-display);font-size:.7rem;font-weight:800;letter-spacing:.04em}.portal-info-tab-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green-700);color:#fff;font-family:Georgia,serif;font-size:.86rem;font-weight:700;line-height:1}.portal-info-tab[aria-expanded="true"]{opacity:0;pointer-events:none;transform:translate(12px,-50%)}
.portal-info-backdrop{position:fixed;inset:0;background:rgba(5,23,31,.32);backdrop-filter:blur(1px);z-index:96;opacity:0;transition:opacity .22s ease}.portal-info-backdrop.show{opacity:1}.portal-info-backdrop[hidden]{display:none}
.portal-info-drawer{position:fixed;top:0;right:0;bottom:0;z-index:97;width:min(430px,calc(100vw - 24px));background:#fff;border-left:1px solid #d7e2e6;box-shadow:-22px 0 50px rgba(6,31,41,.18);transform:translateX(104%);transition:transform .26s cubic-bezier(.2,.75,.25,1);display:flex;flex-direction:column}.portal-info-drawer.open{transform:none}.portal-info-drawer-head{min-height:88px;padding:22px 22px 18px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f5faf8 0%,#eef7fa 100%)}.portal-info-drawer-head h2{margin:5px 0 0;font-size:1.35rem;color:#173743}.portal-info-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #cedce1;border-radius:10px;background:#fff;color:#48636d;font-size:1.55rem;line-height:1;display:grid;place-items:center;cursor:pointer}.portal-info-close:hover,.portal-info-close:focus-visible{background:#eaf5f1;color:var(--green-800);border-color:#bcd8cc}.portal-info-drawer-body{padding:24px 22px 28px;overflow-y:auto;overscroll-behavior:contain}.portal-info-intro{margin:0;color:#48616b;font-size:.96rem;line-height:1.65}.portal-info-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.portal-info-section h3{font-size:.82rem;margin:0 0 12px;color:#234a58;text-transform:uppercase;letter-spacing:.06em}.portal-info-section ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.portal-info-section li{position:relative;padding:11px 12px 11px 38px;border:1px solid #dce7ea;border-radius:10px;background:#f8fbfc;color:#49616a;font-size:.83rem;line-height:1.5}.portal-info-section li:before{content:"✓";position:absolute;left:12px;top:10px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#e7f6ee;color:#176b49;font-weight:900;font-size:.68rem}.portal-info-foot{margin-top:24px;padding:15px;border-radius:11px;background:#edf7f3;border:1px solid #cce3d8;display:grid;gap:4px}.portal-info-foot strong{font-size:.76rem;color:#175c43}.portal-info-foot span{font-size:.72rem;color:#59736a;line-height:1.45}.portal-info-open{overflow:hidden}
@media(max-width:900px){.portal-info-tab{top:auto;right:14px;bottom:18px;transform:none;width:auto;min-height:44px;border:1px solid #c9dce2;border-radius:999px;flex-direction:row;padding:8px 14px 8px 9px;box-shadow:0 8px 26px rgba(10,36,48,.2)}.portal-info-tab>span:last-child{writing-mode:horizontal-tb;transform:none;font-size:.72rem}.portal-info-tab[aria-expanded="true"]{transform:translateY(10px);opacity:0}.portal-info-drawer{width:min(420px,calc(100vw - 12px));border-radius:18px 0 0 18px;overflow:hidden}}
@media(max-width:520px){.portal-info-drawer{top:auto;left:0;right:0;bottom:0;width:100%;height:min(78vh,680px);border-left:0;border-top:1px solid #d7e2e6;border-radius:20px 20px 0 0;transform:translateY(104%)}.portal-info-drawer.open{transform:none}.portal-info-drawer-head{min-height:78px;padding:18px}.portal-info-drawer-body{padding:20px 18px 24px}.portal-info-tab{right:12px;bottom:14px}}


/* Candidate CV builder and structured job application */
.cv-builder-layout{max-width:1050px;display:grid;gap:14px}.cv-builder-intro{margin:0}.cv-builder-form{display:grid;gap:13px}.cv-section-card{padding:0;overflow:hidden}.cv-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(115deg,#f7fbf9,#f8fbfc)}.cv-section-head h2{margin:4px 0 3px;font-size:1.08rem}.cv-section-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.cv-entry-list{display:grid;gap:10px;padding:14px}.cv-entry-card{border:1px solid #e3eae7;border-radius:12px;padding:14px;background:#fff}.cv-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#344c55;font-size:.83rem}.cv-entry-number{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:5px;border-radius:50%;background:#e8f5ee;color:#176647;font-size:.67rem}.cv-remove-entry{border:0;background:transparent;color:#8b5555;font-weight:700;font-size:.72rem;cursor:pointer}.cv-remove-entry:hover{color:#a12727;text-decoration:underline}.cv-remove-entry:disabled{visibility:hidden}.cv-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px}.cv-entry-fields .field{margin:0}.cv-entry-fields .field label{font-size:.75rem}.cv-entry-fields .field input,.cv-entry-fields .field select,.cv-entry-fields .field textarea{min-height:42px}.cv-entry-fields .cv-field-full{grid-column:1/-1}.cv-builder-actions{display:flex;justify-content:space-between;gap:12px;padding:3px 0 12px}
.application-layout{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:16px;align-items:start}.application-job-card{position:sticky;top:100px;padding:20px;border:1px solid #dce8e3;border-radius:15px;background:linear-gradient(145deg,#f2f8f4,#f5f9fa);box-shadow:var(--shadow-sm)}.application-job-card h2{margin:8px 0 5px;font-size:1.18rem;color:#193b32}.application-job-card>p{margin:0;color:var(--muted);font-size:.84rem}.application-job-facts{display:grid;gap:0;margin:17px 0}.application-job-facts span{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #dfe9e4}.application-job-facts small{color:#7a8b84;font-size:.68rem}.application-job-facts strong{color:#344e46;font-size:.8rem}.application-job-card .btn{width:100%;justify-content:center}.application-form{padding:0;overflow:hidden}.application-steps{display:flex;justify-content:space-between;gap:8px;padding:14px 20px;background:#f7faf9;border-bottom:1px solid var(--line)}.application-steps span{display:flex;align-items:center;gap:7px;color:#62766e;font-size:.68rem;font-weight:700}.application-steps b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e3f3e9;color:#176647;font-size:.68rem}.application-section{padding:21px 22px;border-bottom:1px solid #edf1ef}.application-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.application-section-heading>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:9px;background:#edf7f1;color:#176647;font-size:.68rem;font-weight:900}.application-section-heading h2{margin:1px 0 3px;color:#263e37;font-size:1.02rem}.application-section-heading p{margin:0;color:#809088;font-size:.75rem;line-height:1.45}.application-form .form-grid{gap:13px}.application-form .field label{font-size:.76rem}.application-form input[readonly]{background:#f6f8f8;color:#718087}.application-cv-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;padding:12px 13px;border:1px solid #d8e9df;border-radius:10px;background:#f4faf6}.application-cv-summary>div{display:grid;gap:3px}.application-cv-summary strong{color:#275540;font-size:.79rem}.application-cv-summary span{color:#778981;font-size:.68rem}.application-cv-summary a{color:#176647;font-size:.71rem;font-weight:800;white-space:nowrap}.application-document-options{display:grid;gap:8px;margin-top:8px}.application-document-option{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e1e9e6;border-radius:9px;background:#fff;cursor:pointer}.application-document-option:has(input:checked){border-color:#8fc2a4;background:#f3faf5}.application-document-option input{width:17px;height:17px;accent-color:#176647}.application-document-option span{display:grid;gap:3px}.application-document-option strong{color:#384d55;font-size:.77rem}.application-document-option small{color:#849198;font-size:.65rem}.application-inline-note{color:#7a898e;font-size:.75rem}.application-motivation{margin-top:14px}.application-consent{background:#fbfcfc}.application-check{display:flex;align-items:flex-start;gap:10px;color:#455a61;font-size:.78rem;line-height:1.5;cursor:pointer}.application-check input{width:17px;height:17px;flex:0 0 17px;margin-top:2px;accent-color:#176647}.application-consent>p{margin:8px 0 0 27px;color:#829096;font-size:.69rem;line-height:1.5}.application-form-actions{display:flex;justify-content:space-between;gap:12px;padding:17px 22px;background:#fff}.application-form-actions .btn:last-child{margin-left:auto}
@media(max-width:850px){.application-layout{grid-template-columns:1fr}.application-job-card{position:static}.application-job-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.application-job-card .btn{width:auto}.cv-section-head{padding:16px}}
@media(max-width:620px){.cv-section-head{align-items:flex-start;flex-direction:column}.cv-section-head .btn{width:100%}.cv-entry-fields,.application-form .form-grid.two{grid-template-columns:1fr}.cv-entry-fields .cv-field-full{grid-column:auto}.cv-entry-card{padding:11px}.cv-builder-actions,.application-form-actions{display:grid;grid-template-columns:1fr}.cv-builder-actions .btn,.application-form-actions .btn{width:100%;justify-content:center}.application-form-actions .btn:last-child{margin-left:0}.application-section{padding:17px 15px}.application-steps{overflow-x:auto;justify-content:flex-start}.application-steps span{white-space:nowrap}.application-cv-summary{align-items:flex-start;flex-direction:column}.application-job-facts{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.application-job-facts{grid-template-columns:1fr}.cv-entry-list{padding:10px}.application-steps{padding:12px}.application-steps span{font-size:.62rem}}

/* Candidate supporting certificate uploads */
.cv-cert-upload-body{display:grid;gap:14px;padding:16px 20px}.cv-cert-upload-body .field{margin:0}.cv-cert-file-list{display:grid;gap:8px}.cv-cert-file-list>strong{color:#34544a;font-size:.8rem}.cv-cert-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2ebe6;border-radius:9px;background:#fff}.cv-cert-file-row>span{display:grid;gap:3px;min-width:0}.cv-cert-file-row b{color:#344c55;font-size:.75rem;overflow-wrap:anywhere}.cv-cert-file-row small{color:#819087;font-size:.65rem}.cv-cert-file-list>.form-help{margin-top:2px}.application-certificate-list{display:grid;gap:10px;margin-top:16px;padding:13px;border:1px solid #dce8e2;border-radius:11px;background:#f8fbf9}.application-certificate-list>div:first-child strong{color:#315344;font-size:.8rem}.application-certificate-list p{margin:3px 0 0;color:#74847d;font-size:.7rem;line-height:1.5}.application-certificate-list a{color:#176647;font-weight:700}.application-certificate-options{display:grid;gap:7px}.application-certificate-option{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e0e9e4;border-radius:8px;background:#fff;cursor:pointer}.application-certificate-option input{width:16px;height:16px;flex:0 0 16px;margin-top:2px;accent-color:#176647}.application-certificate-option span{display:grid;gap:3px;min-width:0}.application-certificate-option b{color:#40565d;font-size:.73rem;overflow-wrap:anywhere}.application-certificate-option small{color:#849198;font-size:.64rem}
@media(max-width:520px){.cv-cert-upload-body{padding:14px}.cv-cert-file-row{align-items:flex-start;flex-direction:column}.cv-cert-file-row .btn{width:100%;justify-content:center}}
