/* ============================================================
   rozgar.online — Clean Modern theme
   Cream #FDF6EC · Teal #14B8A6 · Navy #1E293B
   ============================================================ */
:root{
  --bg:#FDF6EC;
  --bg-soft:#FAF3E3;
  --card:#FFFFFF;
  --primary:#14B8A6;
  --primary-dark:#0D9488;
  --primary-deep:#0F766E;
  --primary-tint:#CCFBF1;
  --primary-tint-soft:#F0FDFA;
  --navy:#1E293B;
  --text:#334155;
  --muted:#64748B;
  --border:#E7E0D2;
  --shadow:0 8px 28px rgba(30,41,59,.08);
  --shadow-lg:0 18px 50px rgba(30,41,59,.14);
  --radius:18px;
  --radius-sm:12px;
  --nav-bg:rgba(253,246,236,.82);
  --input-bg:#FFFFFF;
  --skeleton:#EDE6D4;
  --danger:#DC2626;
}
[data-theme="dark"]{
  --bg:#0A1628;
  --bg-soft:#0D1B31;
  --card:#101E38;
  --navy:#F1F5F9;
  --text:#CBD5E1;
  --muted:#94A3B8;
  --border:#1E2D4D;
  --shadow:0 8px 28px rgba(0,0,0,.45);
  --shadow-lg:0 18px 50px rgba(0,0,0,.55);
  --nav-bg:rgba(10,22,40,.82);
  --input-bg:#16263F;
  --skeleton:#1B2C4C;
  --primary-tint-soft:#0E2F33;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:background .3s ease,color .3s ease;
}
/* Premium Urdu typography — Hafiz chose Gulzar (2026-10-19) */
html[lang="ur"] body{font-family:"Gulzar","Noto Nastaliq Urdu",serif;line-height:2}
/* premium selection + scrollbar + focus */
::selection{background:var(--primary);color:#fff}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--bg-soft)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary),var(--primary-deep));border-radius:8px;border:2px solid var(--bg-soft)}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}
img{max-width:100%;display:block}
a{color:var(--primary-dark);text-decoration:none}
[data-theme="dark"] a{color:#2DD4BF}
h1,h2,h3,h4{font-family:"Bricolage Grotesque","Instrument Sans",-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--navy);line-height:1.15;letter-spacing:-.025em}
html[lang="ur"] h1,html[lang="ur"] h2,html[lang="ur"] h3,html[lang="ur"] h4{font-family:"Gulzar","Noto Nastaliq Urdu",serif;letter-spacing:0;line-height:1.9}
.container{width:min(1160px,92%);margin:0 auto}
section{padding:84px 0}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:999px;font-weight:700;font-size:1rem;
  border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  position:relative;overflow:hidden;white-space:nowrap;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 3px 10px rgba(2,8,23,.16),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(2,8,23,.2),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-outline{background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--primary),var(--primary-deep)) border-box;border:2px solid transparent;color:var(--primary-deep)}
[data-theme="dark"] .btn-outline{color:#2DD4BF;background:linear-gradient(#101E38,#101E38) padding-box,linear-gradient(135deg,#2DD4BF,#0D9488) border-box}
.btn-outline:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(2,8,23,.12)}
.btn-white{background:#fff;color:var(--primary-deep)}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.btn-sm{padding:10px 20px;font-size:.9rem}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .25s ease;
}
.nav.scrolled{box-shadow:var(--shadow)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:34px;width:auto;max-width:200px;object-fit:contain;display:block;flex-shrink:0}
/* 2026-10-20: in dark mode the header's dark glass would swallow the wordmark's charcoal half,
   so the logo gets the same white badge treatment as the footer logo. */
[data-theme="dark"] .brand img{background:#fff;border-radius:10px;padding:3px 8px}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{
  padding:10px 16px;border-radius:999px;font-weight:600;color:var(--text);font-size:.95rem;
  transition:background .15s ease,color .15s ease;
}
.nav-links a:hover{background:var(--primary-tint-soft);color:var(--primary-deep)}
[data-theme="dark"] .nav-links a:hover{color:#2DD4BF}
.nav-links a.active{background:var(--primary);color:#fff}
.nav-actions{display:flex;align-items:center;gap:10px}
.icon-btn{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--border);
  background:var(--card);color:var(--text);cursor:pointer;font-size:1.05rem;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .15s ease,box-shadow .15s ease;
}
.icon-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.lang-toggle{
  height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--border);
  background:var(--card);color:var(--text);font-weight:700;cursor:pointer;font-size:.9rem;
  transition:transform .15s ease;
}
.lang-toggle:hover{transform:translateY(-2px)}
.hamburger{display:none}

/* ---------- Hero ---------- */
.hero{
  position:relative;padding:150px 0 90px;overflow:visible;
  background:
    linear-gradient(120deg,rgba(12,100,90,.82) 0%,rgba(13,130,118,.68) 45%,rgba(18,158,143,.48) 100%),
    url('../assets/cities/lahore.jpg') center/cover no-repeat;
  color:#fff;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(10,60,55,.55) 0%,transparent 45%);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.16) 1.5px,transparent 1.5px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom,black 55%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,black 55%,transparent 100%);
}
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;animation:drift 11s ease-in-out infinite alternate}
.hero-blob.b1{width:420px;height:420px;background:#5EEAD4;top:-120px;right:-80px}
.hero-blob.b2{width:340px;height:340px;background:#0D9488;bottom:-140px;left:-100px;animation-delay:-5s}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(46px,30px) scale(1.12)}}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;z-index:5}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:20px 0 16px;text-wrap:balance}
.hero h1 .accent{color:#FDE68A}
.hero-tag{
  display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);
  padding:8px 18px;border-radius:999px;font-weight:700;font-size:.9rem;backdrop-filter:blur(6px);
}
.hero p.lead{font-size:1.15rem;color:rgba(255,255,255,.92);max-width:520px;margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.hero-stats{display:flex;gap:34px;flex-wrap:wrap}
.hero-stat b{display:block;font-size:1.7rem;font-weight:800}
.hero-stat span{font-size:.9rem;color:rgba(255,255,255,.85)}

/* Phone mockup */
.phone-wrap{display:flex;justify-content:center;perspective:1200px}
.phone{
  width:300px;height:610px;background:#0B1220;border-radius:44px;padding:12px;
  box-shadow:0 40px 80px rgba(0,0,0,.35),inset 0 0 0 2px rgba(255,255,255,.12);
  transform:rotateY(-8deg) rotateX(3deg);transition:transform .5s ease;position:relative;
  animation:floaty 6s ease-in-out infinite;
}
.phone:hover{transform:rotateY(0) rotateX(0)}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -14px}}
.phone-screen{background:var(--bg);border-radius:34px;height:100%;overflow:hidden;display:flex;flex-direction:column}
.phone-notch{width:110px;height:24px;background:#0B1220;border-radius:0 0 16px 16px;margin:0 auto}
.phone-app{padding:14px;flex:1;overflow:hidden}
.phone-greet{font-size:.72rem;color:var(--muted);margin-bottom:2px}
.phone-title{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:10px}
.phone-search{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:9px 12px;font-size:.72rem;color:var(--muted);margin-bottom:12px;box-shadow:var(--shadow)}
.mini-card{background:var(--card);border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;animation:slideup .7s ease both}
.mini-card:nth-child(2){animation-delay:.15s}.mini-card:nth-child(3){animation-delay:.3s}.mini-card:nth-child(4){animation-delay:.45s}
@keyframes slideup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.mini-logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.mini-info b{display:block;font-size:.76rem;color:var(--navy)}
.mini-info span{font-size:.66rem;color:var(--muted)}
.mini-apply{margin-left:auto;background:var(--primary);color:#fff;font-size:.64rem;font-weight:700;padding:6px 12px;border-radius:999px;flex-shrink:0}
.phone-tabs{display:flex;background:var(--card);border-top:1px solid var(--border);padding:10px 6px 16px}
.phone-tab{flex:1;text-align:center;font-size:.6rem;color:var(--muted)}
.phone-tab.on{color:var(--primary-dark);font-weight:700}

/* ---------- Section headers ---------- */
.sec-head{text-align:center;max-width:680px;margin:0 auto 54px}
.sec-kicker{display:inline-block;background:var(--primary-tint);color:var(--primary-deep);font-weight:700;font-size:.82rem;padding:7px 18px;border-radius:999px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em}
[data-theme="dark"] .sec-kicker{color:#2DD4BF}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:800;margin-bottom:12px}
.sec-head p{color:var(--muted);font-size:1.06rem}

/* ---------- Cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.card{
  background:var(--card);border-radius:var(--radius);padding:34px 30px;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.06),0 16px 40px rgba(16,24,40,.08);
  border:1px solid var(--border);transition:transform .22s ease,box-shadow .22s ease;
  position:relative;overflow:hidden;
}
.card:hover{transform:translateY(-10px);box-shadow:0 2px 4px rgba(16,24,40,.05),0 14px 30px rgba(20,184,166,.13),0 28px 56px rgba(16,24,40,.12)}
.card .icon-ring{
  width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;margin-bottom:20px;color:var(--primary-deep);
  background:linear-gradient(135deg,var(--primary-tint),var(--primary-tint-soft));
  border:1px solid var(--primary-tint);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 16px rgba(20,184,166,.14);
}
.card .icon-ring svg{width:30px;height:30px}
.card h3{font-size:1.25rem;margin-bottom:10px}
.card p{color:var(--muted);font-size:.96rem;margin-bottom:18px}
.feat-list{list-style:none;margin-bottom:22px}
.feat-list li{padding:7px 0 7px 30px;position:relative;font-size:.94rem;color:var(--text)}
.feat-list li::before{content:"✓";position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:50%;background:var(--primary-tint);color:var(--primary-deep);font-weight:800;font-size:.72rem;display:flex;align-items:center;justify-content:center}
.card-link{font-weight:700;color:var(--primary-dark);display:inline-flex;align-items:center;gap:8px}
[data-theme="dark"] .card-link{color:#2DD4BF}
.card-link .arr{transition:transform .18s ease}
.card-link:hover .arr{transform:translateX(5px)}

/* Features grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 18px rgba(16,24,40,.06)}
.feat:hover{transform:translateY(-6px);box-shadow:0 2px 4px rgba(16,24,40,.05),0 14px 30px rgba(20,184,166,.12),0 24px 48px rgba(16,24,40,.1)}
.feat .fi{font-size:1.9rem;margin-bottom:14px;display:inline-flex;color:var(--primary-deep)}
.feat .fi svg{width:30px;height:30px}
.feat h3{font-size:1.08rem;margin-bottom:8px}
.feat p{color:var(--muted);font-size:.92rem}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
.step{text-align:center;padding:10px}
.step-num{
  width:58px;height:58px;border-radius:50%;margin:0 auto 18px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;
  font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px rgba(20,184,166,.35);
}
.step h3{margin-bottom:8px}
.step p{color:var(--muted);font-size:.94rem}

/* Stats band — deep dark with glowing numbers */
.stats-band{background:linear-gradient(135deg,#0A1628 0%,#0E2A33 60%,#0B3B36 100%);border-radius:26px;padding:52px 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;color:#fff;box-shadow:0 24px 60px rgba(10,22,40,.35),0 0 0 1px rgba(45,212,191,.12);position:relative;overflow:hidden}
.stats-band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(45,212,191,.16) 1.5px,transparent 1.5px);background-size:24px 24px}
.stats-band::after{content:"";position:absolute;top:-60px;left:20%;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.35),transparent 70%);filter:blur(40px)}
.stat{position:relative;z-index:1}
.stat b{display:block;font-size:2.4rem;font-weight:800;color:#fff;text-shadow:0 0 28px rgba(45,212,191,.6)}
.stat span{color:rgba(255,255,255,.85);font-size:.92rem}

/* Download */
.dl{background:var(--bg-soft);border-radius:28px;padding:64px 48px;text-align:center;border:1px solid var(--border);position:relative;overflow:hidden}
.dl h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:12px}
.dl p{color:var(--muted);margin-bottom:30px;max-width:560px;margin-left:auto;margin-right:auto}
.dl-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.store-note{font-size:.85rem;color:var(--muted)}
.qr-hint{margin-top:8px;font-size:.85rem;color:var(--muted)}

/* ---------- Footer ---------- */
footer{background:#0F172A;color:#CBD5E1;padding:64px 0 28px;margin-top:0}
[data-theme="dark"] footer{background:#0A0F1E}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
.foot-brand img{height:36px;width:auto;max-width:230px;object-fit:contain;display:block;margin-bottom:16px;background:#fff;border-radius:10px;padding:4px 10px}
.foot-brand p{font-size:.92rem;color:#94A3B8;max-width:300px}
.foot-col h4{color:#fff;font-size:1rem;margin-bottom:18px}
.foot-col a{display:block;color:#94A3B8;padding:6px 0;font-size:.93rem;transition:color .15s,padding-left .15s}
.foot-col a:hover{color:#2DD4BF;padding-left:6px}
.foot-bottom{border-top:1px solid #1E293B;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.86rem;color:#64748B}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:linear-gradient(120deg,#0B3B36 0%,#0F766E 45%,#14B8A6 100%);color:#fff;padding:150px 0 70px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.15) 1.5px,transparent 1.5px);background-size:26px 26px;mask-image:linear-gradient(to bottom,black 60%,transparent);-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent)}
.page-hero::after{content:"";position:absolute;top:-90px;right:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(94,234,212,.4),transparent 70%);filter:blur(50px)}
.page-hero .hero-tag{position:relative}
.page-hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:18px 0 14px;position:relative;text-wrap:balance}
.page-hero p{color:rgba(255,255,255,.92);position:relative;max-width:660px;font-size:1.08rem}
.page-hero .hero-ctas{position:relative;margin-top:28px}
/* Role cover photos in page heroes (owner request 2026-10-21): each section
   hero carries a real photo defining its audience — Jobs / Job Seekers /
   Skilled Workers / Employers — under a deep-teal scrim so the white hero
   text stays readable in both themes. The photo is an <img class="ph-img">
   (first child of the header); ::after becomes the scrim (replacing the
   glow circle) and the dot pattern rides above it, content above all. */
.page-hero.ph-photo{background:#0B3B36}
.page-hero .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.page-hero.ph-photo::after{content:"";position:absolute;inset:0;width:auto;height:auto;top:0;right:0;border-radius:0;filter:none;background:linear-gradient(115deg,rgba(8,47,43,.93) 0%,rgba(11,59,54,.80) 42%,rgba(15,118,110,.55) 78%,rgba(20,184,166,.42) 100%);z-index:1}
.page-hero.ph-photo::before{z-index:1;opacity:.55}
.page-hero.ph-photo .container{position:relative;z-index:2}

/* ---------- Filters / search ---------- */
.toolbar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin:-34px 0 30px;position:relative;z-index:5}
.search-row{display:flex;gap:12px;flex-wrap:wrap}
.search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:var(--input-bg);border:1px solid var(--border);border-radius:14px;padding:0 16px}
.search-box input{flex:1;border:none;background:transparent;padding:14px 0;font-size:1rem;color:var(--text);outline:none}
.search-box input::placeholder{color:var(--muted)}
.search-box .s-ic{color:var(--muted);font-size:1.15rem}
.select{background:var(--input-bg);border:1px solid var(--border);border-radius:14px;padding:13px 16px;font-size:.95rem;color:var(--text);outline:none;cursor:pointer;min-width:170px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.chip{
  padding:9px 20px;border-radius:999px;border:1.5px solid var(--border);background:var(--input-bg);
  font-weight:600;font-size:.9rem;color:var(--text);cursor:pointer;transition:all .16s ease;
}
.chip:hover{border-color:var(--primary);color:var(--primary-dark)}
.chip.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 8px rgba(2,8,23,.18)}

/* ---------- Job / worker / company cards ---------- */
.listing{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.listing-3{grid-template-columns:repeat(3,1fr)}
.job-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;gap:16px}
.job-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.co-desc{font-size:.88rem;color:var(--text-soft);margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.co-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.co-careers{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.84rem;color:var(--primary-deep);background:var(--primary-tint);border-radius:999px;padding:7px 14px;text-decoration:none}
.co-careers:hover{filter:brightness(.97)}
.co-careers .ic-xs{margin:0}
.co-site{font-size:.84rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.co-site:hover{color:var(--primary-deep)}
.co-logo{width:56px;height:56px;border-radius:16px;flex-shrink:0;background:linear-gradient(135deg,var(--primary-tint),var(--primary-tint-soft));border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.35rem;color:var(--primary-deep);overflow:hidden;position:relative}
.co-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:9px;background:#FFFFFF;border-radius:16px}
.job-body{flex:1;min-width:0}
.job-body h3{font-size:1.06rem;margin-bottom:4px}
.job-meta{font-size:.86rem;color:var(--muted);margin-bottom:10px}
.job-tags{display:flex;gap:8px;flex-wrap:wrap}
.tag{font-size:.74rem;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--primary-tint-soft);color:var(--primary-deep);border:1px solid var(--primary-tint)}
[data-theme="dark"] .tag{color:#2DD4BF}
.tag.cat-gov{background:#DBEAFE;color:#1D4ED8;border-color:#BFDBFE}
.tag.cat-private{background:#E0E7FF;color:#4338CA;border-color:#C7D2FE}
.tag.cat-overseas{background:#FEF3C7;color:#B45309;border-color:#FDE68A}
.tag.cat-remote{background:#F3E8FF;color:#7E22CE;border-color:#E9D5FF}
.tag.cat-internship{background:#FCE7F3;color:#BE185D;border-color:#FBCFE8}
.tag.expired{background:#F1F5F9;color:#64748B;border-color:#E2E8F0}
.deadline{font-size:.8rem;color:var(--danger);font-weight:600;margin-top:8px}
.load-more-wrap{text-align:center;margin-top:36px}

/* Worker cards */
.worker-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:center}
.worker-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.avatar{width:76px;height:76px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:#fff;font-size:1.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(20,184,166,.3)}
.worker-card h3{font-size:1.08rem;margin-bottom:4px}
.worker-trade{color:var(--primary-dark);font-weight:700;font-size:.92rem;margin-bottom:8px}
[data-theme="dark"] .worker-trade{color:#2DD4BF}
.worker-meta{font-size:.85rem;color:var(--muted);margin-bottom:6px}
.worker-rating{color:#F59E0B;font-weight:700;font-size:.9rem}

/* ---------- Skeleton ---------- */
.skel{background:linear-gradient(90deg,var(--skeleton) 25%,var(--border) 50%,var(--skeleton) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:10px}
@keyframes shimmer{to{background-position:-200% 0}}
.skel-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;gap:16px}
.skel-card .skel-logo{width:56px;height:56px;border-radius:16px;flex-shrink:0}
.skel-lines{flex:1}.skel-line{height:14px;margin-bottom:10px}
.skel-line.w60{width:60%}.skel-line.w40{width:40%}.skel-line.w80{width:80%}

/* ---------- Empty / error states ---------- */
.state{text-align:center;padding:70px 24px;background:var(--card);border:1px dashed var(--border);border-radius:var(--radius);grid-column:1/-1}
.state .s-ic{font-size:3.4rem;margin-bottom:16px;display:block}
.state h3{margin-bottom:8px;font-size:1.25rem}
.state p{color:var(--muted);margin-bottom:22px;max-width:440px;margin-left:auto;margin-right:auto}
.result-count{color:var(--muted);font-size:.92rem;margin-bottom:18px}
.result-count b{color:var(--navy)}

/* ---------- Modal ---------- */
.modal-back{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;padding:0}
.modal-back.open{opacity:1;pointer-events:auto}
.modal{background:var(--bg);border-radius:24px 24px 0 0;width:min(680px,100%);max-height:88vh;overflow-y:auto;padding:30px 28px 40px;transform:translateY(60px);transition:transform .3s cubic-bezier(.2,.9,.3,1.1)}
.modal-back.open .modal{transform:none}
.modal-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}
.modal-head h2{font-size:1.4rem;flex:1}
.modal-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:1.1rem;flex-shrink:0}
.modal-sec{margin:20px 0}
.modal-sec h4{margin-bottom:8px;font-size:1rem}
.modal-sec p{font-size:.95rem;white-space:pre-wrap}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;font-size:.93rem;margin:14px 0}
.kv dt{color:var(--muted)}.kv dd{color:var(--text);font-weight:600}
.modal-ctas{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}

/* ---------- Legal pages ---------- */
.legal{max-width:820px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:48px;box-shadow:var(--shadow)}
.legal h1{font-size:1.9rem;margin-bottom:6px;padding-bottom:14px;border-bottom:3px solid var(--primary)}
.legal h2{font-size:1.25rem;margin:30px 0 10px;color:var(--primary-deep)}
[data-theme="dark"] .legal h2{color:#2DD4BF}
.legal p,.legal li{font-size:.97rem;margin-bottom:10px}
.legal ul,.legal ol{padding-left:24px;margin-bottom:14px}
.legal table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.9rem}
.legal th,.legal td{border:1px solid var(--border);padding:10px;text-align:left}
.legal th{background:var(--primary-tint-soft)}
.legal .updated{color:var(--muted);font-size:.88rem;margin-bottom:24px}
.legal .step{background:#FEF2F2;border-left:4px solid var(--danger);padding:16px 18px;margin:16px 0;border-radius:0 12px 12px 0}
[data-theme="dark"] .legal .step{background:#2A1414}
.toc{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px 24px;margin:24px 0}
.toc b{display:block;margin-bottom:10px}
.toc a{display:block;padding:5px 0;font-size:.93rem}

/* ---------- Reveal animations ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.visible{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,80px);background:var(--navy);color:#fff;padding:14px 26px;border-radius:999px;font-weight:600;font-size:.94rem;z-index:300;opacity:0;transition:all .3s ease;box-shadow:var(--shadow-lg);max-width:90%}
[data-theme="dark"] .toast{background:#F1F5F9;color:#0F172A}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Back to top ---------- */
.to-top{position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:1.3rem;cursor:pointer;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all .25s;z-index:90}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{transform:translateY(-4px)}

/* ---------- RTL ---------- */
html[dir="rtl"] .feat-list li{padding:7px 30px 7px 0}
html[dir="rtl"] .feat-list li::before{left:auto;right:0}
html[dir="rtl"] .card-link .arr{transform:scaleX(-1)}
html[dir="rtl"] .card-link:hover .arr{transform:scaleX(-1) translateX(5px)}
html[dir="rtl"] .foot-col a:hover{padding-left:0;padding-right:6px}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .hero-ctas,.hero-stats{justify-content:center}
  .phone{transform:none;width:280px;height:580px}
  .grid-3,.feat-grid,.listing,.listing-3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr;gap:34px}
  .stats-band{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hamburger{display:inline-flex}
  .kv{grid-template-columns:1fr;gap:2px}
}
@media(max-width:600px){
  section{padding:60px 0}
  .grid-3,.feat-grid,.grid-2,.listing,.listing-3{grid-template-columns:1fr}
  .legal{padding:30px 22px}
  .dl{padding:44px 24px}
  .toolbar{margin-top:-24px}
  .nav-actions .btn{display:none}
  .stats-band{grid-template-columns:1fr 1fr;padding:36px 24px}
}
.mobile-menu{position:fixed;inset:0;z-index:150;background:var(--bg);padding:100px 8% 40px;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;gap:6px}
html[dir="rtl"] .mobile-menu{transform:translateX(-100%)}
.mobile-menu.open{transform:none}
.mobile-menu a{font-size:1.3rem;font-weight:700;padding:14px 0;border-bottom:1px solid var(--border);color:var(--navy)}
.mobile-menu .mm-x{position:absolute;top:24px;right:8%;font-size:1.6rem}

/* ============================================================
   PREMIUM LAYER — advanced theme upgrades (Hafiz 2026-10-19)
   ============================================================ */

/* ---------- Grain / noise texture overlay for depth ---------- */
body::after{
  content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
[data-theme="dark"] body::after{opacity:.08}

/* ---------- Gradient text utility ---------- */
.grad-text{
  background:linear-gradient(100deg,#FDE68A 10%,#5EEAD4 55%,#FDE68A 90%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:gradShift 6s ease-in-out infinite;
}
@keyframes gradShift{0%,100%{background-position:0% center}50%{background-position:100% center}}

/* ---------- Premium hero mesh ---------- */
.hero{
  background:
    radial-gradient(900px 480px at 12% 18%,rgba(94,234,212,.5),transparent 60%),
    radial-gradient(760px 520px at 88% 8%,rgba(45,212,191,.42),transparent 60%),
    radial-gradient(700px 600px at 55% 110%,rgba(13,148,136,.55),transparent 60%),
    linear-gradient(135deg,#0B5E56 0%,#0F766E 38%,#14B8A6 72%,#2DD4BF 100%);
}
.hero-blob.b3{width:300px;height:300px;background:#FDE68A;top:34%;right:32%;opacity:.28;animation-delay:-2.5s}
.hero-blob.b4{width:220px;height:220px;background:#5EEAD4;bottom:8%;right:6%;opacity:.35;animation-delay:-7s}
.hero-tag{
  box-shadow:0 8px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.25);
  letter-spacing:.02em;
}
.hero h1{font-size:clamp(2.5rem,5.4vw,3.9rem);font-weight:800;text-shadow:0 2px 30px rgba(0,0,0,.18)}
.hero p.lead{font-size:1.18rem}

/* ---------- Button shine sweep ---------- */
.btn::after{
  content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;
}
.btn:hover::after{left:130%}
.btn-primary{box-shadow:0 3px 10px rgba(2,8,23,.16),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-primary:hover{box-shadow:0 6px 16px rgba(2,8,23,.2),inset 0 1px 0 rgba(255,255,255,.28)}

/* ---------- Floating glass cards around the phone ---------- */
.float-card{
  position:absolute;z-index:3;max-width:190px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-radius:16px;padding:12px 14px;color:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.3);
  animation:floaty 7s ease-in-out infinite;font-size:.8rem;line-height:1.4;
}
.float-card b{display:block;font-size:.84rem;margin-bottom:2px}
.float-card .fc-sub{opacity:.85;font-size:.74rem}
.float-card.fc1{top:6%;left:-24px;animation-delay:-1.5s}
.float-card.fc2{bottom:14%;right:-20px;animation-delay:-4s}
.float-card.fc3{bottom:-4%;left:6%;animation-delay:-2.8s;max-width:170px}
.hero-visual{position:relative}

/* ---------- 3D tilt (JS adds .tilt on desktop) ---------- */
.tilt{transform-style:preserve-3d;will-change:transform}
.tilt .tilt-inner{transform:translateZ(28px)}

/* ---------- Marquee / ticker ---------- */
.marquee{overflow:hidden;padding:26px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-soft);position:relative}
.marquee-track{display:flex;gap:0;width:max-content;animation:marquee 28s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{
  display:flex;align-items:center;gap:10px;padding:10px 30px;white-space:nowrap;
  font-weight:700;font-size:1rem;color:var(--primary-deep);
  border-right:1px dashed var(--border);
}
[data-theme="dark"] .marquee-item{color:#2DD4BF}
.marquee-item .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0}
@keyframes marquee{to{transform:translateX(-50%)}}
html[dir="rtl"] .marquee-track{animation-name:marqueeR}
@keyframes marqueeR{to{transform:translateX(50%)}}

/* ---------- Interactive feature showcase tabs ---------- */
.showcase-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.showcase-tab{
  padding:12px 26px;border-radius:999px;border:1.5px solid var(--border);
  background:var(--card);font-weight:700;font-size:.95rem;color:var(--text);cursor:pointer;
  transition:all .2s ease;
}
.showcase-tab:hover{border-color:var(--primary);transform:translateY(-2px)}
.showcase-tab.on{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:transparent;box-shadow:0 3px 10px rgba(2,8,23,.16)}
.showcase-panel{display:none;animation:panelIn .45s cubic-bezier(.2,.7,.3,1)}
.showcase-panel.on{display:block}
@keyframes panelIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
.showcase-card{
  background:var(--card);border:1px solid var(--border);border-radius:26px;padding:48px;
  box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;
  position:relative;overflow:hidden;
}
.showcase-card::before{
  content:"";position:absolute;top:-90px;right:-90px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(20,184,166,.16),transparent 70%);pointer-events:none;
}
.showcase-card h3{font-size:1.6rem;margin-bottom:12px}
.showcase-card p{color:var(--muted);margin-bottom:20px;font-size:1.02rem}
.showcase-visual{
  min-height:230px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:4rem;
  background:linear-gradient(135deg,var(--primary-tint-soft),var(--primary-tint));
  border:1px solid var(--primary-tint);position:relative;overflow:hidden;
}
.showcase-visual::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(20,184,166,.25) 1.5px,transparent 1.5px);background-size:22px 22px;
}

/* ---------- Success stories (generic, no fake testimonials) ---------- */
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.story{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px;
  box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease;position:relative;overflow:hidden;
}
.story:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.story::before{content:"\201C";position:absolute;top:6px;right:22px;font-size:4.4rem;color:var(--primary-tint);font-family:Georgia,serif;line-height:1}
.story .who{display:flex;align-items:center;gap:12px;margin-top:18px}
.story .who .avatar{width:48px;height:48px;font-size:1.05rem;margin:0}
.story .who b{display:block;font-size:.95rem;color:var(--navy)}
.story .who span{font-size:.82rem;color:var(--muted)}
.story p{font-size:.95rem;color:var(--text)}

/* ---------- Animated counters ---------- */
.count-up{font-variant-numeric:tabular-nums}

/* ---------- Dark mode premium glows ---------- */
[data-theme="dark"] .hero{box-shadow:inset 0 -1px 0 rgba(94,234,212,.25)}
[data-theme="dark"] .card,[data-theme="dark"] .feat,[data-theme="dark"] .job-card,[data-theme="dark"] .worker-card{
  box-shadow:0 8px 28px rgba(0,0,0,.45),inset 0 1px 0 rgba(94,234,212,.07);
  border-color:#1E2D4D;
}
[data-theme="dark"] .stats-band{
  background:linear-gradient(135deg,#0B3B37,#0F766E);
  box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 60px rgba(20,184,166,.15);
}
[data-theme="dark"] .btn-primary{background:linear-gradient(135deg,#0D9488,#115E59);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.25)}
[data-theme="dark"] .phone{box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 70px rgba(20,184,166,.18),inset 0 0 0 2px rgba(255,255,255,.12)}
[data-theme="dark"] .float-card{background:rgba(16,30,56,.55);box-shadow:0 18px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(94,234,212,.2)}
[data-theme="dark"] .showcase-card{box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 50px rgba(20,184,166,.08)}

/* ---------- Premium spacing + refined borders ---------- */
.card,.feat,.job-card,.worker-card,.story{border-width:1px}
.sec-head{margin-bottom:60px}

/* ---------- Responsive for new premium blocks ---------- */
@media(max-width:960px){
  .showcase-card{grid-template-columns:1fr;padding:34px 26px}
  .stories{grid-template-columns:1fr}
  .float-card{display:none}
}

/* ============ Premium upgrade layer (2026-10-19) ============ */

/* Footer: 5 columns */
.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}

/* Section divider hairline */
.sec-div{height:1px;border:none;background:linear-gradient(90deg,transparent,var(--border) 20%,var(--border) 80%,transparent);margin:0 auto;max-width:1160px}

/* Alternating band helper */
.band{background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* Static chips (non-clickable) */
.chip.static{cursor:default}
.chip.static:hover{border-color:var(--border);color:var(--text)}

/* Mobile menu dividers */
.mm-div{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 4px 6px}

/* ---------- Settings page ---------- */
.set-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:6px 28px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);margin-bottom:24px}
.set-card > h3{padding:22px 0 4px;font-size:1.05rem}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}
.set-row:last-child{border-bottom:none}
.set-row b{display:block;font-size:.98rem}
.set-row span{font-size:.86rem;color:var(--muted)}
.seg{display:flex;background:var(--input-bg);border:1px solid var(--border);border-radius:999px;padding:4px;gap:4px;flex-shrink:0}
.seg button{border:none;background:transparent;padding:9px 18px;border-radius:999px;font-weight:700;font-size:.88rem;color:var(--muted);cursor:pointer;font-family:inherit;transition:all .18s ease}
.seg button.on{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 2px 8px rgba(2,8,23,.18)}
.switch{position:relative;width:52px;height:30px;flex-shrink:0;cursor:pointer;display:inline-block}
.switch input{opacity:0;width:0;height:0}
.switch .knob{position:absolute;inset:0;background:var(--border);border-radius:999px;transition:.2s}
.switch .knob::before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.switch input:checked + .knob{background:var(--primary)}
.switch input:checked + .knob::before{transform:translateX(22px)}
[dir="rtl"] .switch input:checked + .knob::before{transform:translateX(-22px)}
.set-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;border-bottom:1px solid var(--border);color:var(--text);font-weight:600;font-size:.98rem}
.set-link:last-child{border-bottom:none}
.set-link:hover{color:var(--primary-dark)}
.set-link .go{color:var(--muted)}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;cursor:pointer}
.switch-row b{display:block;font-size:.98rem}
.switch-row span{font-size:.86rem;color:var(--muted)}

/* ---------- FAQ accordion ---------- */
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 20px;font-weight:700;font-size:.99rem;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:inherit}
.faq-q:hover{color:var(--primary-dark)}
.faq-x{font-size:1.4rem;font-weight:400;color:var(--primary);transition:transform .2s;flex-shrink:0;line-height:1}
.faq-item.open .faq-x{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease}
.faq-item.open .faq-a{max-height:320px}
.faq-a p{padding:0 20px 20px;color:var(--muted);font-size:.94rem}

/* ---------- Contact form ---------- */
.form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:34px 30px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06)}
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;margin-bottom:8px;font-size:.94rem}
.field input,.field textarea{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:14px;padding:14px 16px;font-size:1rem;color:var(--text);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,184,166,.15)}
.field textarea{resize:vertical;min-height:130px}

/* ---------- Role page extras ---------- */
.role-hero-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.role-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);color:#fff;border-radius:999px;padding:10px 20px;font-weight:600;font-size:.9rem}
.trades-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:800px;margin:0 auto}
.qr-wrap{background:#fff;border-radius:20px;padding:18px;display:inline-block;box-shadow:0 12px 32px rgba(16,24,40,.14)}
.qr-wrap img{display:block;border-radius:8px}

@media(max-width:960px){
  .foot-grid{grid-template-columns:1fr 1fr}
}

/* ============ CITIES SHOWCASE ============ */
.cities-sec{padding:84px 0;background:var(--bg-soft,#FDF6EC)}
.sec-head{max-width:640px;margin:0 auto 40px;text-align:center}
.sec-tag{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0D9488;background:#CCFBF1;border-radius:999px;padding:8px 18px;margin-bottom:16px}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;color:var(--text);margin:0 0 12px}
.sec-head p{color:var(--muted,#64748B);font-size:1.05rem;margin:0}
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.city-card{position:relative;display:block;border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 8px 24px rgba(15,118,110,.12);transition:transform .35s ease,box-shadow .35s ease}
.city-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(15,118,110,.25)}
.city-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.city-card:hover img{transform:scale(1.08)}
.city-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,40,38,.85) 0%,rgba(10,40,38,.25) 55%,transparent 100%)}
.city-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px;color:#fff}
.city-info h3{margin:0 0 4px;font-size:1.25rem;font-weight:700}
.city-info span{font-size:.85rem;opacity:.9;display:inline-flex;align-items:center;gap:6px}
.city-info .go{margin-left:auto}
@media(max-width:900px){.city-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:480px){.city-grid{gap:10px}.city-info{padding:12px}.city-info h3{font-size:1rem}}

/* Dark mode cities */
[data-theme="dark"] .cities-sec{background:#0A1628}
[data-theme="dark"] .sec-head h2{color:#F1F5F9}
[data-theme="dark"] .sec-head p{color:#94A3B8}
[data-theme="dark"] .sec-tag{background:rgba(20,184,166,.15);color:#5EEAD4}

/* ---------- SVG icon system (emoji-free) ---------- */
.ic{width:20px;height:20px;flex:none;display:inline-block;vertical-align:-3px;max-width:20px;max-height:20px}
svg.ic{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important}
svg.ic-sm{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important}
svg.ic-xs{width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important}
svg.ic-lg{width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important}
.ic-sm{width:16px;height:16px}
.ic-xs{width:14px;height:14px}
.ic-lg{width:72px;height:72px}
.icon-btn .ic{width:20px;height:20px;vertical-align:0}
.search-box .s-ic .ic{width:20px;height:20px;vertical-align:-4px}
.state .s-ic .ic{width:60px;height:60px;color:var(--primary)}
.story .who .avatar .ic{width:22px;height:22px;color:#fff}
.float-card b{display:flex;align-items:center;gap:6px}
.float-card .ic{color:#0F766E}
.phone-tab .ic{width:18px;height:18px;margin-bottom:2px}
.phone-search .ic{vertical-align:-3px}
.showcase-tab .ic{margin-right:6px}
.showcase-visual .ic{color:var(--primary-deep);position:relative;z-index:1}
.modal-x{display:inline-flex;align-items:center;justify-content:center}
.modal-x .ic{width:18px;height:18px}
.to-top{display:inline-flex;align-items:center;justify-content:center}
.to-top .ic{width:20px;height:20px}
.btn .ic{vertical-align:-3px}
.job-meta .ic,.worker-meta .ic{vertical-align:-2px;margin-right:2px}
.worker-rating .ic{vertical-align:-2px;margin-right:3px;color:#F59E0B}
.deadline .ic{vertical-align:-2px;margin-right:4px}
.go .ic,.arr .ic{vertical-align:-2px}

/* ---------- hero city background (faded, switchable) ---------- */
.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.hero-bg.show{opacity:1}
.hero-clip{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.hero::before{z-index:1}
.hero::after{z-index:1}
.hero-blob{z-index:1}

/* ---------- hero city selector ---------- */
.hero-city{position:relative;margin-top:26px;display:inline-block;z-index:5}
.city-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700;font-size:.95rem;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .25s ease;font-family:inherit}
.city-pill:hover{background:rgba(255,255,255,.24)}
.city-pill .chev{opacity:.8}
.city-menu{position:absolute;top:calc(100% + 10px);inset-inline-start:0;min-width:248px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.28);padding:8px;z-index:60;display:grid;gap:2px;max-height:340px;overflow:auto}
.city-menu[hidden]{display:none!important}
.city-opt{display:flex;align-items:center;gap:12px;padding:8px 10px;border:0;background:transparent;border-radius:12px;cursor:pointer;font:inherit;font-size:.95rem;color:var(--text);text-align:start;width:100%}
.city-opt:hover{background:var(--bg-soft)}
.city-opt img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}
.city-opt span{flex:1;font-weight:600}
.city-opt .ic{color:var(--primary);opacity:0;transition:opacity .2s}
.city-opt.on{background:var(--primary-tint)}
.city-opt.on .ic{opacity:1}

/* ---------- city card location pin ---------- */
.city-pin{position:absolute;top:12px;inset-inline-start:12px;z-index:3;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.94);color:#0F766E;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.city-pin .ic{width:18px;height:18px;max-width:18px;max-height:18px}
.city-pin svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}

.city-info .go .ic{width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important}
.city-info .go svg{width:14px!important;height:14px!important}
/* ---------- worker directory cards ---------- */
.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.avatar{position:relative;overflow:hidden}
.avatar span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0}
.avatar img{position:relative;z-index:1}
.avatar-lg{width:96px!important;height:96px!important;font-size:2rem!important}
.w-verified{display:inline-flex;vertical-align:-2px;color:var(--primary-deep)}
.w-verified .ic{width:16px;height:16px}
.worker-jobs{color:var(--muted);font-weight:400;font-size:.82rem}
.modal-sub{color:var(--muted);margin:-6px 0 8px;font-size:.9rem}

/* ---------- job seekers directory ---------- */
.seeker-facts{margin-top:12px;display:grid;gap:4px;font-size:.88rem;color:var(--muted)}
.seeker-facts b{color:var(--text);font-weight:600}
.hire-pill{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;background:var(--primary);color:#fff;border:0;border-radius:999px;padding:9px 30px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 8px 18px rgba(20,184,166,.35);transition:transform .2s ease,background .2s ease}
.hire-pill:hover{transform:translateY(-2px);background:var(--primary-deep)}
.hire-note{margin-top:20px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:.9rem;color:var(--muted);line-height:1.55}

/* ---------- daily jobs ---------- */
.daily-banner{display:flex;align-items:center;gap:10px;background:var(--primary-tint-soft);border:1px solid var(--primary);color:var(--primary-deep);border-radius:16px;padding:13px 18px;font-weight:700;margin-bottom:18px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.daily-banner:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,184,166,.18)}
.daily-banner span{flex:1}
.daily-date{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:7px 16px;font-size:.9rem;font-weight:600;backdrop-filter:blur(6px)}
.daily-cat{margin-bottom:46px}
.daily-cat:last-child{margin-bottom:10px}
.daily-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.daily-head h2{font-size:1.45rem;margin:0}
.daily-count{margin-top:3px}
.tag-new{background:#0D9488;color:#fff;border-color:#0D9488}

/* ==== 2026-10-20 round: city card names + auth pages ==== */
/* City names: the global h3 rule (navy) beat the white inherited from
   .city-info — pin them white with a shadow + a stronger bottom scrim. */
.city-info h3{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.city-info span{text-shadow:0 1px 8px rgba(0,0,0,.55)}
.city-card::after{z-index:1;background:linear-gradient(180deg,rgba(6,32,30,0) 30%,rgba(6,32,30,.45) 55%,rgba(6,32,30,.92) 100%)}
/* Auth (login / signup / account) */
.nav-login{font-weight:600;color:var(--text);padding:8px 6px}
.nav-login:hover{color:var(--primary-dark)}
.user-chip{display:inline-flex;align-items:center;gap:8px}
.user-chip .chip-av{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex:none}
.user-chip .chip-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-card{max-width:520px;margin:0 auto}
.auth-tabs{display:flex;gap:6px;background:var(--primary-tint-soft);border-radius:999px;padding:5px;margin-bottom:26px}
.auth-tab{flex:1;border:0;background:transparent;padding:11px;border-radius:999px;font-weight:700;font-size:1rem;color:var(--muted);cursor:pointer;font-family:inherit}
.auth-tab.on{background:var(--card);color:var(--navy);box-shadow:0 2px 8px rgba(16,24,40,.10)}
[data-theme="dark"] .auth-tab.on{color:#fff}
.auth-submit{width:100%;margin-top:6px}
.auth-err{color:#B91C1C;background:#FEF2F2;border:1px solid #FECACA;border-radius:12px;padding:11px 14px;font-size:.94rem;margin:0 0 14px}
[data-theme="dark"] .auth-err{color:#FCA5A5;background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.35)}
.auth-note{text-align:center;color:var(--muted);margin-top:16px;font-size:.95rem}
.auth-note a{color:var(--primary-dark);font-weight:600}
.auth-hint{display:block;color:var(--muted);font-size:.85rem;margin-top:6px}
.auth-fine{text-align:center;color:var(--muted);font-size:.9rem;margin-top:18px}
.auth-fine a{color:var(--primary-dark);font-weight:600}
.field select{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:14px;padding:14px 16px;font-size:1rem;color:var(--text);font-family:inherit;outline:none}
.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,184,166,.15)}
.acct-head{display:flex;gap:16px;align-items:center;margin-bottom:8px}
.acct-rows{margin-top:14px;border-top:1px solid var(--border)}
.acct-row{display:flex;justify-content:space-between;gap:14px;padding:13px 2px;border-bottom:1px solid var(--border)}
.acct-row span{color:var(--muted)}
.acct-row b{color:var(--text)}


/* ---------- Auth (advanced split) ---------- */
.auth-shell{display:grid;grid-template-columns:1.02fr .98fr;max-width:1060px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg)}
.auth-visual{position:relative;padding:42px 38px;color:#fff;background:linear-gradient(150deg,rgba(11,59,54,.90),rgba(15,118,110,.84) 55%,rgba(20,184,166,.80)),url('../assets/cities/lahore.jpg') center/cover no-repeat;display:flex;flex-direction:column;gap:24px;min-height:540px}
.auth-visual .av-brand img{height:42px;background:#fff;border-radius:10px;padding:5px 9px}
.auth-visual h2{color:#fff;font-size:1.85rem;line-height:1.16;letter-spacing:-.02em;margin-bottom:10px}
.auth-visual p{color:rgba(255,255,255,.92);max-width:430px}
.av-points{display:grid;gap:12px}
.av-point{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:rgba(255,255,255,.95);line-height:1.45}
.av-point .ic{flex:none;margin-top:2px;color:#5EEAD4;width:19px;height:19px}
.av-stats{display:flex;gap:28px;margin-top:auto;flex-wrap:wrap}
.av-stat b{display:block;font-size:1.5rem;font-weight:800}
.av-stat span{font-size:.85rem;color:rgba(255,255,255,.86)}
.auth-side{padding:38px 36px}
.auth-side .auth-fine{margin-top:20px}
.pw-wrap{position:relative}
.pw-wrap input{width:100%;padding-inline-end:46px}
.pw-eye{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px;display:flex;border-radius:8px}
.pw-eye:hover{color:var(--primary-deep)}
.caps-hint{color:#B45309;font-size:.85rem;margin:6px 0 0;display:flex;gap:6px;align-items:center}
[data-theme="dark"] .caps-hint{color:#FCD34D}
.pw-meter{height:6px;border-radius:99px;background:var(--bg-soft);margin-top:8px;overflow:hidden}
.pw-meter i{display:block;height:100%;width:0;border-radius:99px;background:#DC2626;transition:width .25s ease,background .25s ease}
.pw-label{font-size:.82rem;color:var(--muted);margin-top:5px;display:block;min-height:1em}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-side{padding:28px 22px}}

/* ---------- Account hub ---------- */
.hub-greet{margin-bottom:20px}
.hub-greet h2{font-size:1.7rem;color:var(--navy);margin-bottom:4px}
[data-theme="dark"] .hub-greet h2{color:#fff}
.hub-greet p{color:var(--muted)}
.hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}
.hub-stat{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;text-align:center}
.hub-stat b{display:block;font-size:1.45rem;color:var(--primary-deep)}
[data-theme="dark"] .hub-stat b{color:#2DD4BF}
.hub-stat span{font-size:.85rem;color:var(--muted)}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px}
.hub-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.hub-card .ic{color:var(--primary-deep);width:22px;height:22px}
.hub-card h4{margin:10px 0 4px;color:var(--navy);font-size:1rem}
[data-theme="dark"] .hub-card h4{color:#fff}
.hub-card p{color:var(--muted);font-size:.88rem;margin:0;line-height:1.45}
@media(max-width:640px){.hub-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.hub-stat{padding:12px 6px}.hub-stat b{font-size:1.15rem}}

/* 2026-10-21: full city list — search box + monogram tiles in hero city menu */
.city-search{position:sticky;top:-8px;z-index:2;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font:inherit;font-size:.92rem;margin-bottom:4px;box-shadow:0 6px 14px rgba(0,0,0,.10)}
.city-search:focus{outline:2px solid var(--primary);outline-offset:0}
.city-opt .thumb{width:44px;height:44px;border-radius:10px;background:var(--primary-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;flex:none}

/* 2026-10-21: homepage Today's Jobs rail + popular searches */
.today-sec{padding:72px 0 6px}
.rail-wrap{position:relative}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
.rail-card{flex:0 0 292px;scroll-snap-align:start;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:9px;text-decoration:none;color:var(--text)}
a.rail-card:hover{border-color:var(--primary)}
.rail-title{font-size:1rem;line-height:1.3;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.rail-meta{color:var(--muted);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-tags{display:flex;flex-wrap:wrap;gap:6px}
.rail-apply{margin-top:auto;align-self:flex-start;background:var(--primary);color:#fff;padding:8px 18px;border-radius:999px;font-weight:700;font-size:.88rem;text-decoration:none}
.rail-apply:hover{filter:brightness(1.07)}
.rail-skel{justify-content:center;gap:12px;min-height:150px}
.rail-btn{position:absolute;top:36%;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.rail-btn.prev{inset-inline-start:-14px}
.rail-btn.next{inset-inline-end:-14px}
@media (max-width:820px){.rail-btn{display:none}.rail-card{flex-basis:252px}}
.today-cta{text-align:center;margin-top:8px}
.pop-sec{padding:6px 0 54px}
.pop-h{font-size:1.15rem;text-align:center;margin-bottom:16px}
.pop-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.pop-links a{padding:8px 15px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-size:.9rem;font-weight:600;text-decoration:none}
.pop-links a:hover{border-color:var(--primary);color:var(--primary)}

/* 2026-10-21: header account dropdown (profile photo click) */
.nav-actions{position:relative}
.user-chip{cursor:pointer}
.chip-caret{transition:transform .2s ease}
.user-chip[aria-expanded="true"] .chip-caret{transform:rotate(180deg)}
.user-menu{position:absolute;top:calc(100% + 12px);inset-inline-end:0;width:302px;max-width:calc(100vw - 24px);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 50px rgba(10,40,35,.20);padding:16px;z-index:130;text-align:start}
.user-menu[hidden]{display:none}
.um-head{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border)}
.um-av{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex:none}
.um-id{min-width:0}
.um-id b{display:block;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.um-id span{color:var(--muted);font-size:.85rem;word-break:break-all}
.um-rows{padding:8px 0;border-bottom:1px solid var(--border)}
.um-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:.9rem}
.um-row span{color:var(--muted)}
.um-row b{font-weight:600}
.um-link{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;font-weight:600;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}
.um-link:hover{color:var(--primary-deep)}
.um-logout{width:100%;margin-top:12px}

/* 2026-10-21: Take a Tour (guided spotlight walkthrough) */
.tour-veil{position:fixed;inset:0;z-index:300;pointer-events:none;display:none}
.tour-spot{position:fixed;z-index:301;border-radius:14px;border:2px solid var(--primary);box-shadow:0 0 0 9999px rgba(5,28,24,.74);pointer-events:none;transition:all .3s ease}
.tour-card{position:fixed;z-index:302;pointer-events:auto;width:350px;max-width:calc(100vw - 24px);background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:start}
.tour-card-center{left:50%;top:50%;transform:translate(-50%,-50%)}
.tour-card-sheet{left:12px;right:12px;bottom:12px;width:auto}
.tour-card h3{margin:2px 0 8px;font-size:1.15rem;padding-inline-end:26px}
.tour-card p{color:var(--muted);line-height:1.55;margin:0 0 14px;font-size:.94rem}
.tour-count{font-size:.74rem;font-weight:700;letter-spacing:.05em;color:var(--primary-deep);text-transform:uppercase}
.tour-dots{display:flex;gap:6px;margin-bottom:14px}
.tour-dots span{width:7px;height:7px;border-radius:50%;background:var(--border)}
.tour-dots span.on{background:var(--primary);width:20px;border-radius:99px}
.tour-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tour-sp{flex:1}
.tour-skip{background:none;border:0;color:var(--muted);font-weight:600;cursor:pointer;padding:6px 4px;font:inherit;font-size:.9rem}
.tour-x{position:absolute;top:10px;inset-inline-end:12px;background:none;border:0;color:var(--muted);font-size:.95rem;cursor:pointer;line-height:1;padding:4px}
.tour-prompt{position:fixed;bottom:18px;inset-inline-end:18px;z-index:290;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:14px 16px;box-shadow:0 18px 44px rgba(10,40,35,.22);display:flex;gap:12px;align-items:center;max-width:min(370px,calc(100vw - 36px))}
.tour-prompt-tx{display:flex;flex-direction:column;gap:1px}
.tour-prompt-tx span{color:var(--muted);font-size:.88rem}
.tour-prompt .tour-x{position:static}

/* 2026-10-21: shared list pagination (same pattern as jobs.html) */
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px 0 6px}
.pager-btn{min-width:48px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 14px}
.pager-btn.is-off{opacity:.35;pointer-events:none}
.pager-info{font-weight:700;font-size:15px;color:var(--text);min-width:110px;text-align:center}

/* Admin Panel link: hidden for everyone by default (owner directive,
   2026-10-21). app.js adds .admin-ok only for the owner account. */
.admin-link{display:none!important}
.admin-link.admin-ok{display:inline-block!important}

/* Prepare page (exam practice) — added 2026-10-21 */
.bank-note{color:var(--muted);margin-top:6px}
.exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:8px}
.exam-card{text-align:start;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;cursor:pointer;font:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:6px}
.exam-card:hover{border-color:#14B8A6}
.exam-card.is-on{border-color:#14B8A6;box-shadow:0 0 0 2px rgba(20,184,166,.35)}
.exam-name{font-weight:800;font-size:20px;letter-spacing:.4px}
.exam-meta{color:var(--muted);font-size:13.5px}
.exam-meta b{color:var(--text)}
.quiz-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:26px;max-width:760px;margin:0 auto}
.pq-intro{text-align:center;padding:16px 0}
.pq-intro-txt{color:var(--muted);margin-bottom:16px}
.pq-loading{text-align:center;color:var(--muted);padding:22px 0}
.pq-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13.5px;margin-bottom:8px}
.pq-bar{height:8px;border-radius:99px;background:var(--border);overflow:hidden;margin-bottom:18px}
.pq-bar span{display:block;height:100%;background:linear-gradient(90deg,#0F766E,#14B8A6);border-radius:99px;transition:width .25s}
.pq-q{font-size:20px;line-height:1.5;margin-bottom:18px;color:var(--text)}
.pq-opts{display:grid;gap:10px}
.pq-opt{text-align:start;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:13px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.pq-opt:hover:not(:disabled){border-color:#14B8A6}
.pq-opt.is-right{border-color:#16A34A;background:rgba(22,163,74,.12);font-weight:600}
.pq-opt.is-wrong{border-color:#DC2626;background:rgba(220,38,38,.10)}
.pq-fb{margin-top:16px;border-radius:12px;padding:13px 16px;font-size:15px}
.pq-fb.is-right{background:rgba(22,163,74,.10);border:1px solid rgba(22,163,74,.4)}
.pq-fb.is-wrong{background:rgba(220,38,38,.07);border:1px solid rgba(220,38,38,.35)}
.pq-concept{margin-top:6px;color:var(--muted);font-size:14px}
.pq-nav{margin-top:18px;text-align:end}
.pq-done{text-align:center;padding:10px 0}
.pq-score{font-size:44px;font-weight:800;color:#0F766E}
.pq-score-msg{font-size:17px;margin-top:6px}
.pq-tomorrow{color:var(--muted);margin:10px 0 18px}
.prep-chips{display:flex;flex-wrap:wrap;gap:9px}
.prep-chips span{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:99px;padding:7px 14px;font-size:14px}
.prep-note{margin-top:26px;color:var(--muted);font-size:14px;line-height:1.65;max-width:760px}

/* Prepare v2 — app-style categorization (2026-10-21) */
.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.board-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 12px;text-align:center;cursor:pointer;font:inherit;color:var(--text)}
.board-card strong{display:block;font-size:17px}
.board-card span{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
.board-card:hover{border-color:var(--primary)}
.mode-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.mode-btn{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;cursor:pointer}
.mode-btn.is-on{background:var(--primary);border-color:var(--primary);color:#fff}
.mode-opts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.mode-lab{font-weight:700;display:flex;gap:8px;align-items:center}
.prep-mini{color:var(--muted);font-size:13.5px}
.tip-list{margin:8px 0 0;padding-inline-start:20px;color:var(--muted)}
.tip-list li{margin:4px 0}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.plan-day{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px}
.plan-d{color:var(--primary);font-weight:800;font-size:12.5px}
.plan-day strong{display:block;margin:5px 0 4px}
.plan-day p{color:var(--muted);font-size:13.5px;margin:0}
.prog-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
.prog-stat strong{display:block;font-size:26px;color:var(--primary)}
.prog-stat span{color:var(--muted);font-size:13px}
.mock-timer{font-weight:800;font-size:17px;color:#b45309;margin:0 0 8px}
.mock-nav{display:flex;justify-content:space-between;gap:8px;margin-top:14px}
.pq-opt.is-picked{border-color:var(--primary);background:rgba(20,184,166,.12)}
.rv-title{margin:16px 0 6px}
.review-item{border-top:1px solid var(--border);padding:10px 0}
.review-item .rq{font-weight:700;margin:0 0 4px}
.rv-ok{color:#0f766e;margin:2px 0}
.rv-bad{color:#b91c1c;margin:2px 0}

/* Nav/hero fixes (2026-10-21, Hafiz screenshot): white hero button was
   unstyled (.btn-light had no rule) and the inline nav needs to hand
   over to the hamburger earlier (desktop-mode phones report ~980px). */
.btn-light{background:#fff;color:var(--primary-deep,#0f766e);box-shadow:0 6px 18px rgba(2,44,38,.25)}
.btn-light:hover{background:#ecfdf5}
@media(max-width:1100px){
  .nav-inner{flex-wrap:wrap;height:auto;padding:10px 0 8px;row-gap:4px}
  .brand img{height:29px}
  .nav-actions{gap:6px}
  .nav-links{display:flex;order:3;flex-basis:100%;flex-wrap:nowrap;justify-content:space-between;gap:0}
  .nav-links a{font-size:11.5px;padding:6px 4px;white-space:nowrap;letter-spacing:-.1px}
  .hamburger{display:inline-flex}
}

/* Audit fixes (2026-10-22) */
.legal .step{text-align:start}
.legal .step ol{padding-inline-start:22px}
@media(max-width:700px){.legal table{display:block;overflow-x:auto}}

/* Official sources + footer independence (2026-10-22) */
.src-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:26px 28px}
.src-card h2{margin:0 0 8px;font-size:1.25rem}
.src-card p{color:var(--muted);line-height:1.65;margin:0 0 14px}
.src-links{display:flex;flex-wrap:wrap;gap:8px}
.src-links a{text-decoration:none}
.foot-indep{max-width:1200px;margin:0 auto;padding:14px 24px 0;text-align:center;color:var(--muted);font-size:.85rem;line-height:1.6}
.foot-indep a{color:var(--primary-deep);font-weight:700}

/* Colorful path-card icons (2026-10-22) */
.card .icon-ring.ic-seeker{background:linear-gradient(135deg,#6366F1,#A855F7);color:#fff;border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px rgba(2,8,23,.22)}
.card .icon-ring.ic-worker{background:linear-gradient(135deg,#F59E0B,#F97316);color:#fff;border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px rgba(2,8,23,.22)}
.card .icon-ring.ic-employer{background:linear-gradient(135deg,#0EA5E9,#2563EB);color:#fff;border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px rgba(2,8,23,.22)}

/* Companies contrast pass (2026-10-22) */
.co-logo{background:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08),0 2px 8px rgba(2,8,23,.16)}
.co-logo img{padding:11px;background:#FFFFFF}
.co-careers{background:var(--primary);color:#FFFFFF}
.co-careers:hover{filter:brightness(1.07)}

/* Store download cards (2026-10-22) */
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;text-align:center}
.store-card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:28px 22px;display:flex;flex-direction:column;align-items:center}
.store-ic{width:74px;height:74px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;margin-bottom:16px;box-shadow:0 6px 16px rgba(2,8,23,.18),inset 0 1px 0 rgba(255,255,255,.35)}
.store-ic svg{width:30px;height:30px}
.store-ic span{font-size:8.5px;font-weight:800;letter-spacing:.08em}
.store-ic b{font-size:32px;line-height:1;font-weight:800}
.ic-huawei{background:linear-gradient(145deg,#F02D3A,#C7000B);color:#fff}
.ic-apkpure{background:linear-gradient(145deg,#2BD97C,#0EA968);color:#fff}
.ic-uptodown{background:#FFFFFF;border:1px solid var(--border);color:#1B86C9;box-shadow:0 6px 16px rgba(2,8,23,.10)}
.ic-uptodown span{font-size:9.5px;letter-spacing:0;text-transform:lowercase}
.store-pill{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(20,184,166,.14);color:var(--primary-deep);font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:12px}
[data-theme="dark"] .store-pill{color:#5EEAD4;background:rgba(20,184,166,.18)}
.store-card h3{font-size:1.18rem;margin:0 0 8px}
.store-card p{color:var(--muted);font-size:.93rem;line-height:1.55;margin:0 0 20px;flex:1}
.store-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;border-radius:16px;color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(2,8,23,.20)}
.store-btn:hover{filter:brightness(1.07)}
.sb-huawei{background:linear-gradient(135deg,#E8263A,#C7000B)}
.sb-apkpure{background:linear-gradient(135deg,#25D07D,#0EA968)}
.sb-uptodown{background:linear-gradient(135deg,#38B6E8,#1B86C9)}
.sb-chip{width:42px;height:42px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb-chip svg{width:24px;height:24px}
.sb-chip b{font-size:22px;line-height:1}
.sb-tx{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.sb-tx small{font-size:9.5px;font-weight:700;letter-spacing:.14em;opacity:.85}
.sb-tx strong{font-size:16.5px}
.play-soon{text-align:center;color:var(--muted);font-weight:700;margin:18px 0 0}
@media(max-width:880px){.store-grid{grid-template-columns:1fr}}

.store-pill.soon{background:rgba(100,116,139,.14);color:var(--muted)}
[data-theme="dark"] .store-pill.soon{background:rgba(148,163,184,.16);color:var(--muted)}
.sb-soon{background:var(--bg-soft);color:var(--muted);border:1px solid var(--border);box-shadow:none;cursor:default}
.sb-soon:hover{filter:none}
