/* Wazifiq design system — clean white/light, deep navy text, blue/teal accents */
:root{
  --navy:#0a2540; --navy-2:#103a63; --blue:#1668dc; --blue-dark:#0f4fa8; --teal:#0e7c86; --teal-dark:#0a5f66;
  --ink:#12263a; --muted:#5b7186; --bg:#f6f9fc; --card:#ffffff; --line:#e3ebf2; --gold:#f5b93f;
  --radius:14px; --shadow:0 6px 24px rgba(10,37,64,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-dark);text-decoration:underline}
:focus-visible{outline:3px solid rgba(22,104,220,.45);outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:2000}
.skip-link:focus{left:8px;top:8px}
.btn-primary{background:var(--blue);border-color:var(--blue)}
.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.btn-teal{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}
.btn-outline-teal{color:var(--teal);border:1px solid var(--teal)}
.btn-outline-teal:hover{background:var(--teal);color:#fff}
h1,h2,h3,h4{color:var(--navy);font-weight:700}
.min-w-0{min-width:0}

/* header */
.announcement-bar{background:var(--navy);color:#dcebfb;text-align:center;padding:6px 12px;font-size:.9rem}
.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(10,37,64,.04)}
.brand{font-size:1.35rem;font-weight:800;color:var(--navy)!important;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none!important}
.brand.light{color:#fff!important}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:800}
.brand-mark.big{width:52px;height:52px;font-size:1.4rem;border-radius:12px}
.nav-link{color:var(--ink)!important;font-weight:500}
.nav-link:hover{color:var(--blue)!important}

/* hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 55%,#0d4d5c 100%);color:#eaf3fd;padding:56px 0 64px}
.hero-kicker{letter-spacing:.18em;font-size:.78rem;color:#9fd8dd;font-weight:700;margin-bottom:.5rem}
.hero-title{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.12;margin-bottom:.6rem}
.hero-sub{color:#c9dff5;max-width:560px}
.hero-search{background:#fff;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-top:22px}
.hero-search-grid{display:grid;grid-template-columns:1fr 200px auto;gap:10px}
.popular{margin-top:10px;font-size:.9rem;color:var(--muted)}
.popular a{margin-inline-start:8px;font-weight:600}
.hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:20px;color:#eaf3fd}
.hero-panel h2{color:#fff}
.hero-country{display:flex;justify-content:space-between;align-items:center;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.14);color:#eaf3fd}
.hero-country:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,.06)}

/* sections */
.section{padding:52px 0}
.section-sm{padding:34px 0 52px}
.section.alt{background:#eef4f9}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}
.section-head h2{font-size:1.55rem;margin:0}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.trust-strip strong{display:block;font-size:1.6rem;color:var(--navy)}
.trust-strip span{color:var(--muted);font-size:.9rem}

/* cards */
.job-card,.content-card,.company-card,.cat-card,.country-card,.blog-card,.plan-card,.testimonial{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 2px 10px rgba(10,37,64,.04)}
.job-card{display:block;transition:transform .15s ease,box-shadow .15s ease}
.job-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.job-title{font-size:1.06rem;margin:0 0 2px}
.job-title a{color:var(--navy)}
.company-line{color:var(--ink);font-weight:600;font-size:.92rem}
.company-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:11px;background:linear-gradient(135deg,#dbeafe,#ccfbf1);color:var(--navy-2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.15rem;overflow:hidden}
.company-avatar img{width:100%;height:100%;object-fit:cover}
.company-avatar.lg{width:60px;height:60px;flex-basis:60px;font-size:1.5rem}
.company-avatar.xl{width:76px;height:76px;flex-basis:76px;font-size:1.9rem}
.job-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:.86rem;margin-top:5px}
.job-meta i{color:var(--teal)}
.salary-line{color:var(--teal-dark);font-weight:700;font-size:.92rem;margin-top:6px}
.verified-badge{color:var(--teal);font-size:.8rem;font-weight:700}
.cat-card{display:flex;flex-direction:column;gap:4px;color:var(--ink);height:100%}
.cat-card i{font-size:1.35rem;color:var(--blue)}
.cat-card span{font-weight:700;color:var(--navy)}
.cat-card small,.country-card small,.company-card small{color:var(--muted)}
.cat-card:hover,.country-card:hover,.company-card:hover{text-decoration:none;box-shadow:var(--shadow)}
.country-card{display:flex;flex-direction:column;gap:2px;color:var(--ink);height:100%}
.country-card .flag-code{font-weight:800;color:var(--teal);letter-spacing:.08em}
.company-card{display:flex;flex-direction:column;gap:3px;color:var(--ink);height:100%}
.company-card.big p{color:var(--muted);font-size:.9rem;margin:4px 0 0}
.blog-card h3,.blog-card h2{font-size:1.05rem}
.blog-card p{color:var(--muted);font-size:.92rem}
.plan-card{height:100%;display:flex;flex-direction:column}
.plan-card.featured{border:2px solid var(--gold);box-shadow:var(--shadow)}
.plan-price{font-size:1.7rem;font-weight:800;color:var(--navy)}
.plan-price small{font-size:.85rem;color:var(--muted);font-weight:500}
.plan-feats{list-style:none;padding:0;margin:0 0 16px;flex:1}
.plan-feats li{padding:4px 0;color:var(--ink)}
.plan-feats i{color:var(--teal);margin-inline-end:6px}
.testimonial blockquote{font-size:1rem;color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:4px;background:#eaf2fb;color:var(--navy-2);border:1px solid #cfdff2;border-radius:999px;padding:3px 11px;font-size:.83rem;font-weight:600}
.chip.sm{font-size:.75rem;padding:1px 8px}
a.chip:hover{background:#d7e8fa;text-decoration:none}
.chip-on{background:var(--blue)!important;color:#fff!important}
.chip-reset{background:#fdecec;color:#a33;border-color:#f3c2c2}
.empty-state{background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:36px;text-align:center;color:var(--muted)}
.empty-state i{font-size:2rem;color:var(--teal);display:block;margin-bottom:10px}
.filter-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.content-card{margin-bottom:0}
.rich-text{overflow-wrap:anywhere}
.rich-text img{max-width:100%;height:auto}
.detail-list{list-style:none;padding:0;margin:0}
.detail-list li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line)}
.detail-list li span{color:var(--muted)}
.sticky-side{position:sticky;top:90px}
.mini-job{padding:9px 0;border-bottom:1px solid var(--line)}
.mini-job a{font-weight:600;color:var(--navy)}
.mini-job small{display:block;color:var(--muted)}
.doc-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.note-row{padding:8px 0;border-bottom:1px solid var(--line)}
.notif-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.notif-row.unread{background:#f2f8ff;border-radius:8px;padding-inline:8px}
.match-score{font-size:1.5rem;font-weight:800;color:var(--teal)}
.match-reasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding:0 0 12px 18px;border-inline-start:2px solid var(--line);padding-inline-start:16px;margin-inline-start:4px}
.timeline li::before{content:"";position:absolute;inset-inline-start:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--teal)}
.pipeline-track{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}
.pipeline-step{flex:1;min-width:90px;text-align:center;font-size:.78rem;color:var(--muted)}
.pipeline-step span{display:block;height:6px;border-radius:3px;background:var(--line);margin-bottom:5px}
.pipeline-step.done{color:var(--navy);font-weight:700}
.pipeline-step.done span{background:var(--teal)}
.kanban-counts{display:flex;flex-wrap:wrap;gap:6px}
.or-divider{display:flex;align-items:center;gap:10px;color:var(--muted);margin:14px 0}
.or-divider::before,.or-divider::after{content:"";flex:1;border-top:1px solid var(--line)}
.error-code{font-size:4.5rem;font-weight:800;color:var(--blue)}
.log-tail{background:#0b1c2c;color:#bfe3c8;font-size:.72rem;max-height:260px;overflow:auto;padding:10px;border-radius:8px;white-space:pre-wrap}
.cta-band{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;border-radius:var(--radius);padding:26px;margin:10px 0}
.cta-band h2{color:#fff}

/* footer */
.site-footer{background:var(--navy);color:#c9dff5;margin-top:0;padding:44px 0 0}
.footer-h{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:6px 0}
.footer-links a{color:#c9dff5}
.footer-text{color:#9db8d2}
.social-links a{color:#c9dff5;font-size:1.2rem;margin-inline-end:12px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding:16px 0;text-align:center;color:#9db8d2;font-size:.9rem}
.cookie-banner{position:fixed;bottom:14px;inset-inline:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:14px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between;z-index:1080;flex-wrap:wrap}
.to-top{position:fixed;bottom:18px;inset-inline-end:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:none;z-index:1070}
.to-top.show{display:block}

/* dashboards */
.dash-body{background:var(--bg)}
.dash-wrap{display:flex;min-height:100vh}
.dash-sidebar{width:264px;flex:0 0 264px;background:var(--navy);color:#dcebfb;padding:20px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}
.dash-user{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.07);border-radius:10px;padding:10px;margin-bottom:16px}
.dash-user small{display:block;color:#9db8d2}
.dash-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.dash-avatar.initials{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:800}
.dash-nav{display:flex;flex-direction:column;gap:2px}
.dash-nav a{color:#dcebfb;padding:9px 12px;border-radius:8px;display:flex;align-items:center;gap:10px;font-weight:500}
.dash-nav a:hover,.dash-nav a.active{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}
.dash-main{flex:1;min-width:0}
.dash-topbar{background:#fff;border-bottom:1px solid var(--line);padding:12px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50}
.dash-title{font-size:1.25rem;margin:0}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;height:100%;box-shadow:0 2px 10px rgba(10,37,64,.04)}
.stat-card .stat-num{display:block;font-size:1.65rem;font-weight:800;color:var(--navy)}
.stat-card span:last-child{color:var(--muted);font-size:.9rem}
.auth-body{background:linear-gradient(135deg,var(--navy),#0d4d5c);min-height:100vh}
.autocomplete-box{position:absolute;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:1090;max-height:260px;overflow:auto;min-width:240px}
.autocomplete-box button{display:block;width:100%;text-align:start;background:none;border:0;padding:8px 12px}
.autocomplete-box button:hover{background:#eef4f9}
.progress{height:10px}
.table td,.table th{vertical-align:middle}
input,select,textarea{font-size:16px}
@media (max-width:991px){
  .dash-sidebar{position:fixed;inset-inline-start:-280px;z-index:1200;transition:inset-inline-start .2s ease}
  .dash-sidebar.open{inset-inline-start:0}
  .hero-search-grid{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:repeat(2,1fr)}
  .sticky-side{position:static}
}
@media (max-width:576px){ .section{padding:36px 0} .stat-card .stat-num{font-size:1.35rem} }

/* Official logo lockups (CMS-overridable via site_logo settings) */
.brand-logo{height:38px;width:auto;max-width:200px;object-fit:contain}
.brand-logo.footer-logo{height:42px}
.brand-logo.sidebar-logo{height:36px}
.brand-logo.auth-logo{height:46px}
.brand img.brand-logo{vertical-align:middle}
@media (max-width:576px){ .brand-logo{height:32px} }

/* Briefcase logo (user-chosen artwork, green #0B5A34 / gold #F2A007) sits on a
   white chip on dark surfaces — the artwork itself is never recoloured. */
.logo-chip{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:5px 10px;line-height:0}
.brand-logo.badge-logo{height:110px;max-width:220px}
.brand-logo{max-width:230px}
