
  :root {
    --green: #0E5A2B;
    --green-dark: #094820;
    --green-light: #1a7a3c;
    --orange: #F39B22;
    --gold: #F5B940;
    --white: #FFFFFF;
    --off-white: #F7F7F5;
    --text: #1a1a18;
    --text-muted: #5a5a52;
    --border: #e8e8e2;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  html { scroll-behavior: smooth; }

  body {
    font-family: 'DM Sans', sans-serif;
    background: var(--white);
    color: var(--text);
    overflow-x: hidden;
  }

  /* ── NAV ── */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 48px;
    height: 72px;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(14,90,43,0.1);
    transition: box-shadow 0.3s;
  }
  nav.scrolled { box-shadow: 0 2px 24px rgba(0,0,0,0.08); }

  .nav-logo {
    display: flex; align-items: center; gap: 10px;
    text-decoration: none;
  }
  .nav-logo-icon {
    width: 44px; height: 44px;
    background: var(--orange);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    position: relative; overflow: hidden;
  }
  .nav-logo-svg { width: 44px; height: 44px; }
  .nav-logo-text {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.15;
    color: var(--green);
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .nav-links {
    display: flex; align-items: center; gap: 36px;
    list-style: none;
  }
  .nav-links a {
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text);
    opacity: 0.7;
    transition: opacity 0.2s, color 0.2s;
  }
  .nav-links a:hover { opacity: 1; color: var(--green); }

  .nav-cta {
    display: flex; align-items: center; gap: 12px;
  }
  .btn-outline {
    padding: 10px 22px;
    border: 1.5px solid var(--green);
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--green);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
  }
  .btn-outline:hover { background: var(--green); color: white; }

  .btn-primary {
    padding: 10px 24px;
    background: var(--orange);
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--text);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
  }
  .btn-primary:hover { background: var(--gold); transform: translateY(-1px); }

  /* ── HERO ── */
  .hero {
    min-height: 100vh;
    background: var(--green-dark);
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 0 0 100px;
    overflow: hidden;
  }

  .hero-bg {
    position: absolute; inset: 0;
    background: 
      linear-gradient(160deg, rgba(14,90,43,0.0) 0%, rgba(9,72,32,0.85) 60%, rgba(9,72,32,0.97) 100%),
      url('https://images.unsplash.com/photo-1625246333195-78d9c38ad449?w=1600&q=80') center/cover no-repeat;
  }

  .hero-grain {
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
    opacity: 0.3; pointer-events: none;
  }

  /* Sunrise arc */
  .hero-arc {
    position: absolute;
    bottom: -2px; left: 50%; transform: translateX(-50%);
    width: 140%; height: 180px;
    background: var(--off-white);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  }

  .hero-content {
    position: relative; z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: flex-end;
  }

  .hero-label {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(243,155,34,0.18);
    border: 1px solid rgba(243,155,34,0.4);
    border-radius: 2px;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 28px;
  }
  .hero-label::before {
    content: '';
    width: 6px; height: 6px;
    background: var(--orange);
    border-radius: 50%;
    animation: pulse 2s infinite;
  }
  @keyframes pulse {
    0%,100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.4); }
  }

  .hero-h1 {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(42px, 5.5vw, 76px);
    line-height: 1.0;
    color: var(--white);
    margin-bottom: 24px;
    letter-spacing: -0.02em;
  }
  .hero-h1 em {
    font-style: italic;
    font-weight: 300;
    color: var(--gold);
  }

  .hero-sub {
    font-size: 17px;
    line-height: 1.65;
    color: rgba(255,255,255,0.72);
    max-width: 560px;
    margin-bottom: 40px;
    font-weight: 300;
  }

  .hero-actions {
    display: flex; align-items: center; gap: 16px;
    margin-bottom: 56px;
  }
  .hero-btn-primary {
    padding: 16px 36px;
    background: var(--orange);
    border: none; border-radius: 4px;
    font-size: 14px; font-weight: 700;
    letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--text); cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: 0 8px 32px rgba(243,155,34,0.35);
  }
  .hero-btn-primary:hover { background: var(--gold); transform: translateY(-2px); box-shadow: 0 12px 40px rgba(243,155,34,0.45); }

  .hero-btn-ghost {
    padding: 16px 36px;
    border: 1.5px solid rgba(255,255,255,0.35);
    border-radius: 4px;
    font-size: 14px; font-weight: 600;
    letter-spacing: 0.05em; text-transform: uppercase;
    color: rgba(255,255,255,0.85); cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    background: transparent;
  }
  .hero-btn-ghost:hover { border-color: rgba(255,255,255,0.7); color: white; }

  .hero-stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid rgba(255,255,255,0.12);
    padding-top: 36px;
  }
  .hero-stat {
    padding-right: 24px;
    border-right: 1px solid rgba(255,255,255,0.1);
  }
  .hero-stat:last-child { border-right: none; padding-right: 0; padding-left: 24px; }
  .hero-stat:first-child { padding-left: 0; }
  .hero-stat-num {
    font-family: 'Fraunces', serif;
    font-size: 36px; font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 6px;
  }
  .hero-stat-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
  }

  /* Employer card */
  .hero-card {
    background: rgba(255,255,255,0.97);
    border-radius: 8px;
    padding: 40px 36px;
    box-shadow: 0 32px 80px rgba(0,0,0,0.3);
    align-self: flex-end;
  }
  .hero-card-tag {
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--green);
    margin-bottom: 16px;
    opacity: 0.6;
  }
  .hero-card h3 {
    font-family: 'Fraunces', serif;
    font-size: 28px; font-weight: 700;
    color: var(--text);
    line-height: 1.15;
    margin-bottom: 20px;
  }
  .hero-card p {
    font-size: 14px; color: var(--text-muted);
    line-height: 1.6; margin-bottom: 28px;
  }
  .hero-card-btn {
    display: block;
    width: 100%;
    padding: 15px;
    background: var(--green);
    color: white;
    text-align: center;
    border-radius: 4px;
    font-size: 14px; font-weight: 700;
    letter-spacing: 0.05em; text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s;
    margin-bottom: 12px;
  }
  .hero-card-btn:hover { background: var(--green-light); }
  .hero-card-secondary {
    display: block; text-align: center;
    font-size: 12px; color: var(--text-muted);
    text-decoration: none;
  }
  .hero-card-secondary:hover { color: var(--green); }

  /* ── TRUST BAR ── */
  .trust-bar {
    background: var(--green);
    padding: 20px 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    flex-wrap: wrap;
  }
  .trust-item {
    display: flex; align-items: center; gap: 10px;
    color: rgba(255,255,255,0.85);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .trust-item svg { flex-shrink: 0; opacity: 0.8; }
  .trust-divider {
    width: 1px; height: 28px;
    background: rgba(255,255,255,0.2);
  }

  /* ── SECTION COMMONS ── */
  section { padding: 100px 0; }
  .container { max-width: 1280px; margin: 0 auto; padding: 0 48px; }

  .section-label {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 20px;
  }
  .section-label::before {
    content: '';
    display: block; width: 24px; height: 2px;
    background: var(--orange);
  }

  .section-h2 {
    font-family: 'Fraunces', serif;
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--text);
    margin-bottom: 20px;
  }
  .section-lead {
    font-size: 18px; color: var(--text-muted);
    line-height: 1.65; font-weight: 300;
    max-width: 600px;
  }

  /* ── COMPLIANCE / TRUST SECTION ── */
  .compliance { background: var(--off-white); }

  .compliance-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
  }

  .compliance-cards {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  }
  .compliance-card {
    background: white;
    border-radius: 6px;
    padding: 28px 24px;
    border: 1px solid var(--border);
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .compliance-card:hover {
    border-color: rgba(14,90,43,0.25);
    box-shadow: 0 4px 24px rgba(14,90,43,0.07);
  }
  .compliance-icon {
    width: 44px; height: 44px;
    background: rgba(14,90,43,0.08);
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
    color: var(--green);
  }
  .compliance-card h4 {
    font-size: 14px; font-weight: 700;
    color: var(--text);
    margin-bottom: 8px;
    letter-spacing: -0.01em;
  }
  .compliance-card p {
    font-size: 13px; color: var(--text-muted);
    line-height: 1.6;
  }

  .compliance-featured {
    grid-column: 1 / -1;
    background: var(--green);
    color: white;
    border-color: transparent;
  }
  .compliance-featured .compliance-icon {
    background: rgba(255,255,255,0.12);
    color: var(--gold);
  }
  .compliance-featured h4 { color: white; }
  .compliance-featured p { color: rgba(255,255,255,0.75); }

  .compliance-statement {
    padding: 40px;
    background: white;
    border-radius: 8px;
    border: 1px solid var(--border);
  }
  .compliance-statement blockquote {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-style: italic;
    font-weight: 300;
    line-height: 1.55;
    color: var(--text);
    margin-bottom: 28px;
    padding-left: 24px;
    border-left: 3px solid var(--orange);
  }
  .compliance-checklist {
    list-style: none;
    display: flex; flex-direction: column; gap: 12px;
  }
  .compliance-checklist li {
    display: flex; align-items: center; gap: 12px;
    font-size: 14px; color: var(--text-muted);
  }
  .check-icon {
    width: 20px; height: 20px; flex-shrink: 0;
    background: var(--green);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white;
    font-size: 11px;
  }

  /* ── HOW IT WORKS ── */
  .process { background: var(--white); }

  .process-pipeline {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    position: relative;
    margin-top: 60px;
  }

  .process-pipeline::before {
    content: '';
    position: absolute;
    top: 40px;
    left: calc(100% / 14);
    right: calc(100% / 14);
    height: 2px;
    background: linear-gradient(to right, var(--green), var(--orange));
    z-index: 0;
  }

  .process-step {
    display: flex; flex-direction: column;
    align-items: center; text-align: center;
    padding: 0 8px;
    position: relative; z-index: 1;
  }

  .process-num {
    width: 80px; height: 80px;
    border-radius: 50%;
    background: white;
    border: 2px solid var(--border);
    display: flex; align-items: center; justify-content: center;
    font-family: 'Fraunces', serif;
    font-size: 22px; font-weight: 700;
    color: var(--green);
    margin-bottom: 20px;
    transition: all 0.3s;
    position: relative;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  }
  .process-step:hover .process-num {
    background: var(--green);
    border-color: var(--green);
    color: white;
    box-shadow: 0 8px 32px rgba(14,90,43,0.25);
  }

  .process-step h4 {
    font-size: 12px; font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--text);
    margin-bottom: 8px;
    text-transform: uppercase;
  }
  .process-step p {
    font-size: 12px; color: var(--text-muted);
    line-height: 1.5;
  }

  /* ── SECTORS ── */
  .sectors { background: var(--off-white); }

  .sectors-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 56px;
  }

  .sector-card {
    background: white;
    border-radius: 6px;
    padding: 32px 24px;
    border: 1px solid var(--border);
    cursor: default;
    transition: all 0.25s;
    position: relative;
    overflow: hidden;
  }
  .sector-card::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: transparent;
    transition: background 0.25s;
  }
  .sector-card:hover {
    border-color: rgba(14,90,43,0.2);
    box-shadow: 0 8px 40px rgba(14,90,43,0.08);
    transform: translateY(-3px);
  }
  .sector-card:hover::before { background: linear-gradient(to right, var(--green), var(--orange)); }

  .sector-emoji {
    font-size: 28px; margin-bottom: 16px;
    display: block;
  }
  .sector-card h3 {
    font-size: 15px; font-weight: 700;
    color: var(--text); margin-bottom: 8px;
  }
  .sector-card p {
    font-size: 13px; color: var(--text-muted);
    line-height: 1.55;
  }
  .sector-tag {
    display: inline-block;
    margin-top: 16px;
    padding: 4px 10px;
    background: rgba(14,90,43,0.07);
    border-radius: 2px;
    font-size: 11px; font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--green);
    text-transform: uppercase;
  }

  /* ── EMPLOYER PORTAL ── */
  .portal { background: var(--green-dark); }

  .portal .section-h2 { color: white; }
  .portal .section-lead { color: rgba(255,255,255,0.65); }
  .portal .section-label { color: var(--gold); }
  .portal .section-label::before { background: var(--gold); }

  .portal-layout {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
    align-items: center;
    margin-top: 20px;
  }

  .portal-features {
    list-style: none;
    display: flex; flex-direction: column; gap: 20px;
    margin: 36px 0 40px;
  }
  .portal-feature {
    display: flex; align-items: flex-start; gap: 16px;
  }
  .portal-feature-icon {
    width: 36px; height: 36px; flex-shrink: 0;
    background: rgba(255,255,255,0.07);
    border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    color: var(--gold);
  }
  .portal-feature-text h5 {
    font-size: 14px; font-weight: 600;
    color: white; margin-bottom: 4px;
  }
  .portal-feature-text p {
    font-size: 13px; color: rgba(255,255,255,0.5);
    line-height: 1.5;
  }

  /* Dashboard mockup */
  .dashboard-mock {
    background: #0f1e14;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 40px 100px rgba(0,0,0,0.5);
  }
  .dash-header {
    background: rgba(255,255,255,0.04);
    padding: 16px 24px;
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .dash-logo-text {
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--gold);
  }
  .dash-badge {
    background: rgba(14,90,43,0.5);
    border: 1px solid rgba(14,90,43,0.8);
    color: #5fbd7d;
    font-size: 10px; font-weight: 600;
    padding: 3px 10px; border-radius: 2px;
    letter-spacing: 0.08em;
  }

  .dash-body { padding: 24px; }

  .dash-cohorts {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    margin-bottom: 20px;
  }
  .dash-cohort {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 6px;
    padding: 16px;
  }
  .dash-cohort-num {
    font-family: 'Fraunces', serif;
    font-size: 28px; font-weight: 700;
    color: var(--gold); line-height: 1;
    margin-bottom: 4px;
  }
  .dash-cohort-label {
    font-size: 11px; color: rgba(255,255,255,0.45);
    text-transform: uppercase; letter-spacing: 0.06em;
  }
  .dash-cohort-sector {
    font-size: 12px; color: rgba(255,255,255,0.7);
    margin-top: 8px; font-weight: 500;
  }

  .dash-workers-label {
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-bottom: 12px;
  }
  .dash-workers { display: flex; flex-direction: column; gap: 8px; }

  .worker-row {
    display: grid;
    grid-template-columns: 40px 1fr 80px 70px 60px;
    gap: 12px;
    align-items: center;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 5px;
    padding: 12px 16px;
    transition: background 0.2s;
  }
  .worker-row:hover { background: rgba(255,255,255,0.06); }

  .worker-avatar {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, var(--green), var(--green-light));
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700; color: white;
  }
  .worker-id { font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.8); }
  .worker-role { font-size: 11px; color: rgba(255,255,255,0.45); margin-top: 2px; }
  .worker-avail { font-size: 10px; color: rgba(255,255,255,0.45); text-align: center; }
  .status-badge {
    font-size: 9px; font-weight: 700;
    padding: 3px 8px; border-radius: 2px;
    text-transform: uppercase; letter-spacing: 0.06em;
    text-align: center;
  }
  .status-verified { background: rgba(14,90,43,0.4); color: #5fbd7d; border: 1px solid rgba(95,189,125,0.2); }
  .status-interview { background: rgba(243,155,34,0.2); color: var(--orange); border: 1px solid rgba(243,155,34,0.3); }
  .passport-ok {
    font-size: 9px; color: rgba(255,255,255,0.35);
    text-align: center;
    letter-spacing: 0.04em;
  }
  .passport-ok.ready { color: #5fbd7d; }

  /* ── ABOUT ── */
  .about { background: var(--white); }
  .about-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 80px; align-items: center;
  }
  .about-image-mock {
    aspect-ratio: 4/3;
    background: 
      linear-gradient(160deg, rgba(14,90,43,0.3) 0%, rgba(243,155,34,0.2) 100%),
      url('https://images.unsplash.com/photo-1500937386664-56d1dfef3854?w=800&q=80') center/cover;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
  }
  .about-image-mock::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(14,90,43,0.6), transparent 60%);
  }
  .about-image-caption {
    position: absolute; bottom: 24px; left: 24px; right: 24px;
    z-index: 2;
    color: white;
    font-size: 14px; font-weight: 500;
    font-style: italic;
    opacity: 0.9;
  }
  .about-pillars {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 12px; margin-top: 32px;
  }
  .about-pillar {
    padding: 20px;
    background: var(--off-white);
    border-radius: 5px;
    border-left: 3px solid var(--green);
  }
  .about-pillar h5 {
    font-size: 13px; font-weight: 700;
    color: var(--text); margin-bottom: 4px;
  }
  .about-pillar p { font-size: 12px; color: var(--text-muted); line-height: 1.5; }

  /* ── WORKER REG ── */
  .worker-reg {
    background: linear-gradient(135deg, var(--orange) 0%, var(--gold) 100%);
    position: relative; overflow: hidden;
  }
  .worker-reg::before {
    content: '';
    position: absolute; top: -100px; right: -100px;
    width: 500px; height: 500px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
  }
  .worker-reg .section-label { color: rgba(9,72,32,0.7); }
  .worker-reg .section-label::before { background: rgba(9,72,32,0.5); }
  .worker-reg .section-h2 { color: var(--green-dark); }
  .worker-reg .section-lead { color: rgba(9,72,32,0.75); max-width: 500px; }

  .reg-layout {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 80px; align-items: center;
  }

  .reg-form-mock {
    background: white;
    border-radius: 8px;
    padding: 36px;
    box-shadow: 0 24px 80px rgba(9,72,32,0.15);
  }
  .reg-form-mock h4 {
    font-size: 16px; font-weight: 700;
    color: var(--text); margin-bottom: 8px;
  }
  .reg-form-mock p {
    font-size: 13px; color: var(--text-muted); margin-bottom: 24px;
  }
  .form-row {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
    margin-bottom: 12px;
  }
  .form-field {
    display: flex; flex-direction: column; gap: 6px;
    margin-bottom: 12px;
  }
  .form-field label {
    font-size: 11px; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--text-muted);
  }
  .form-field input, .form-field select {
    padding: 12px 14px;
    border: 1.5px solid var(--border);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
    color: var(--text);
    background: var(--off-white);
    outline: none;
    transition: border-color 0.2s;
  }
  .form-field input:focus, .form-field select:focus { border-color: var(--green); background: white; }

  .form-submit {
    width: 100%;
    padding: 15px;
    background: var(--green);
    color: white; border: none; border-radius: 4px;
    font-size: 14px; font-weight: 700;
    letter-spacing: 0.05em; text-transform: uppercase;
    cursor: pointer;
    margin-top: 8px;
    transition: background 0.2s;
  }
  .form-submit:hover { background: var(--green-light); }

  .reg-info-points {
    display: flex; flex-direction: column; gap: 24px;
  }
  .reg-info-point {
    display: flex; align-items: flex-start; gap: 16px;
  }
  .reg-info-num {
    font-family: 'Fraunces', serif;
    font-size: 32px; font-weight: 700;
    color: rgba(9,72,32,0.25);
    line-height: 1;
    flex-shrink: 0;
  }
  .reg-info-text h5 {
    font-size: 15px; font-weight: 700;
    color: var(--green-dark); margin-bottom: 4px;
  }
  .reg-info-text p { font-size: 14px; color: rgba(9,72,32,0.65); line-height: 1.55; }

  /* ── FOOTER ── */
  footer {
    background: var(--text);
    color: white;
    padding: 80px 0 40px;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    margin-bottom: 40px;
  }
  .footer-brand p {
    font-size: 14px; color: rgba(255,255,255,0.5);
    line-height: 1.65; margin: 20px 0 28px;
    max-width: 280px;
  }
  .footer-ethical {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(14,90,43,0.25);
    border: 1px solid rgba(14,90,43,0.5);
    border-radius: 2px;
    padding: 8px 14px;
    font-size: 11px; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: #5fbd7d;
  }

  .footer-col h5 {
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-bottom: 20px;
  }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
  .footer-col a {
    font-size: 14px; color: rgba(255,255,255,0.6);
    text-decoration: none; transition: color 0.2s;
  }
  .footer-col a:hover { color: white; }

  .footer-bottom {
    display: flex; justify-content: space-between; align-items: center;
  }
  .footer-bottom p { font-size: 12px; color: rgba(255,255,255,0.3); }
  .footer-address { font-size: 12px; color: rgba(255,255,255,0.3); text-align: right; line-height: 1.6; }

  /* Scroll animations */
  .fade-in {
    opacity: 0; transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
  .fade-in.visible { opacity: 1; transform: translateY(0); }
  .fade-in-delay-1 { transition-delay: 0.1s; }
  .fade-in-delay-2 { transition-delay: 0.2s; }
  .fade-in-delay-3 { transition-delay: 0.3s; }

  /* Responsive */
  @media (max-width: 1024px) {
    .hero-content { grid-template-columns: 1fr; }
    .hero-card { display: none; }
    nav { padding: 0 24px; }
    .nav-links { display: none; }
    .hero-stats { grid-template-columns: repeat(2, 1fr); }
    .hero-stat { padding: 12px; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .compliance-grid, .about-grid, .reg-layout, .portal-layout { grid-template-columns: 1fr; }
    .process-pipeline { grid-template-columns: 1fr; }
    .process-pipeline::before { display: none; }
    .sectors-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .container { padding: 0 24px; }
    section { padding: 72px 0; }
  }

  /* ── V2 PORTAL / OPERATIONAL SYSTEM ── */
  .sectors-grid-six { grid-template-columns: repeat(3, 1fr); }
  .portal-preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .portal-preview-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:6px; padding:18px; }
  .portal-preview-card strong { display:block; color:white; font-size:13px; margin-bottom:5px; }
  .portal-preview-card span { color:rgba(255,255,255,.48); font-size:11px; line-height:1.4; }
  .prototype-note, .prototype-warning { margin-top:16px; font-size:11px; line-height:1.5; color:rgba(255,255,255,.42); }
  .inline-success { display:none; margin-left:12px; font-size:12px; color:var(--green); font-weight:700; }
  .inline-success.visible { display:inline-block; }
  .inline-success.error { color:#9d2f2f; background:#fff3f1; border:1px solid #efc3bd; border-radius:4px; padding:10px 12px; margin-left:0; margin-top:12px; }
  .kp-invalid-field { outline:2px solid rgba(157,47,47,.32); outline-offset:4px; border-radius:5px; }
  .form-submit[aria-busy="true"] { cursor:wait; opacity:.82; }

  .portal-overlay {
    position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center;
    background:rgba(6,26,13,.76); backdrop-filter:blur(7px); padding:24px;
  }
  .portal-overlay.open { display:flex; }
  .portal-login-card {
    width:min(440px,100%); background:white; border-radius:10px; padding:34px; position:relative;
    box-shadow:0 30px 100px rgba(0,0,0,.35);
  }
  .portal-login-card h2 { font-family:'Fraunces',serif; font-size:30px; color:var(--text); margin-bottom:10px; }
  .portal-login-card p { color:var(--text-muted); font-size:14px; line-height:1.6; margin-bottom:18px; }
  .portal-code-input { width:100%; padding:14px; border:1.5px solid var(--border); border-radius:4px; font:inherit; margin-bottom:12px; }
  .portal-login-button { width:100%; padding:14px; }
  .portal-close { position:absolute; top:12px; right:15px; border:0; background:transparent; font-size:28px; cursor:pointer; color:#777; }
  .login-error { display:none; color:#9d2f2f; font-size:12px; margin-top:10px; font-weight:700; }
  .login-error.visible { display:block; }
  .portal-login-card .prototype-warning { color:#8a6c27; background:#fff8e8; border:1px solid #f1dfb2; padding:10px; border-radius:4px; }

  .portal-app { display:none; position:fixed; inset:0; z-index:1800; background:#f4f5f1; overflow:auto; }
  .portal-app.open { display:block; }
  .app-shell { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
  .app-sidebar { background:var(--green-dark); color:white; padding:28px 18px; position:sticky; top:0; height:100vh; }
  .app-brand { font-size:20px; line-height:1.05; letter-spacing:.08em; font-weight:800; color:white; margin-bottom:8px; }
  .app-brand span { color:var(--gold); }
  .app-role { color:rgba(255,255,255,.45); font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:26px; }
  .app-nav { display:block; width:100%; text-align:left; border:0; background:transparent; color:rgba(255,255,255,.65); padding:11px 12px; border-radius:5px; margin-bottom:4px; cursor:pointer; font:inherit; font-size:13px; }
  .app-nav:hover, .app-nav.active { background:rgba(255,255,255,.09); color:white; }
  .app-nav.active { box-shadow:inset 3px 0 0 var(--orange); }
  .app-exit { margin-top:24px; color:var(--gold); }
  .app-main { padding:34px 42px 80px; min-width:0; }
  .app-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:24px; border-bottom:1px solid #ddd; margin-bottom:30px; }
  .app-topbar h2 { font-family:'Fraunces',serif; font-size:28px; margin-top:7px; }
  .demo-pill { font-size:10px; background:#fff0d6; color:#91621e; padding:5px 8px; border-radius:3px; font-weight:800; letter-spacing:.08em; }
  .app-panel { display:none; }
  .app-panel.active { display:block; }
  .app-panel > h3 { font-family:'Fraunces',serif; font-size:30px; margin-bottom:8px; }
  .app-muted { color:var(--text-muted); font-size:14px; line-height:1.6; margin-bottom:24px; }

  .summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:24px 0; }
  .staff-summary { grid-template-columns:repeat(4,1fr); }
  .summary-card { background:white; border:1px solid var(--border); border-radius:7px; padding:22px; }
  .summary-card strong { display:block; font-family:'Fraunces',serif; font-size:30px; color:var(--green); margin-bottom:6px; }
  .summary-card span { font-size:12px; color:var(--text-muted); }
  .app-info-box { background:#edf6ef; border-left:3px solid var(--green); padding:16px 18px; font-size:13px; line-height:1.6; color:#33543d; margin:20px 0; }

  .filter-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
  .filter-grid input, .filter-grid select, .portal-form input, .portal-form select, .portal-form textarea {
    width:100%; padding:11px 12px; border:1px solid #dcded8; border-radius:4px; background:white; font:inherit; font-size:13px;
  }
  .worker-table-wrap { overflow:auto; background:white; border:1px solid var(--border); border-radius:7px; }
  .worker-table { width:100%; border-collapse:collapse; min-width:900px; }
  .worker-table th { text-align:left; background:#f2f3ef; padding:12px; font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:#666; }
  .worker-table td { padding:13px 12px; border-top:1px solid #eee; font-size:12px; color:#444; }
  .worker-link { color:var(--green); font-weight:800; cursor:pointer; text-decoration:none; }
  .profile-card { background:white; border:1px solid var(--border); border-radius:8px; padding:24px; color:var(--text-muted); }
  .profile-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
  .profile-item { background:var(--off-white); border-radius:5px; padding:13px; }
  .profile-item small { display:block; color:#777; text-transform:uppercase; font-size:9px; letter-spacing:.08em; margin-bottom:4px; }
  .profile-item strong { color:var(--text); font-size:13px; }

  .portal-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0; }
  .portal-form label { display:flex; flex-direction:column; gap:6px; color:#555; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .portal-form label.full, .checklist-fieldset.full { grid-column:1/-1; }
  .portal-form textarea { min-height:90px; resize:vertical; }
  .record-tabs { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0; }
  .record-tab { background:#eceee8; color:#62665e; border-radius:99px; padding:7px 10px; font-size:10px; font-weight:800; }
  .record-tab.active { background:var(--green); color:white; }
  .checklist-fieldset { border:1px solid #ddd; border-radius:6px; padding:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  .checklist-fieldset legend { padding:0 8px; color:var(--green); font-size:11px; font-weight:800; text-transform:uppercase; }
  .checklist-fieldset label { flex-direction:row; align-items:center; text-transform:none; font-weight:500; letter-spacing:0; }
  .checklist-fieldset input { width:auto; }

  .staff-worker-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  .staff-worker-card { background:white; border:1px solid var(--border); border-radius:7px; padding:18px; }
  .staff-worker-card h4 { margin-bottom:6px; }
  .staff-worker-card p { color:var(--text-muted); font-size:12px; line-height:1.5; }
  .prototype-list { display:grid; gap:10px; }
  .prototype-list > div { background:white; border:1px solid var(--border); border-radius:7px; padding:18px; display:flex; justify-content:space-between; gap:18px; }
  .prototype-list span { color:var(--text-muted); font-size:12px; }

  .company-verification { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; border-top:1px solid rgba(255,255,255,.08); padding:30px 0; margin-top:-10px; }
  .company-verification strong { font-size:14px; }
  .company-verification p { color:rgba(255,255,255,.45); font-size:12px; line-height:1.65; margin-top:8px; }
  .verification-grid { display:grid; gap:8px; }
  .verification-grid span { color:rgba(255,255,255,.45); font-size:12px; }
  .verification-grid b { color:rgba(255,255,255,.78); margin-right:6px; }

  @media (max-width: 1024px) {
    .sectors-grid-six { grid-template-columns:repeat(2,1fr); }
    .app-shell { grid-template-columns:1fr; }
    .app-sidebar { position:static; height:auto; display:flex; flex-wrap:wrap; gap:4px; }
    .app-brand, .app-role { width:100%; }
    .app-nav { width:auto; }
    .summary-grid, .staff-summary { grid-template-columns:repeat(2,1fr); }
    .filter-grid { grid-template-columns:repeat(2,1fr); }
    .company-verification { grid-template-columns:1fr; }
  }
  @media (max-width: 700px) {
    .sectors-grid-six, .portal-preview-grid, .summary-grid, .staff-summary, .filter-grid, .portal-form-grid, .profile-grid, .staff-worker-grid, .checklist-fieldset { grid-template-columns:1fr; }
    .app-main { padding:24px 16px 60px; }
    .app-topbar { align-items:flex-start; }
    .app-topbar .btn-outline { display:none; }
  }


  /* ── STAFF FORMS & UPLOAD WORKSPACE ── */
  .forms-workspace-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .forms-panel-card {
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
    padding:20px;
  }
  .forms-panel-card h4 {
    margin-bottom:14px;
    color:var(--text);
  }
  .staff-field-label {
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    color:#666;
  }
  .staff-field-label select {
    padding:11px 12px;
    border:1px solid #dcded8;
    border-radius:4px;
    background:white;
    font:inherit;
  }
  .selected-worker-summary {
    margin-top:12px;
    padding:12px;
    border-radius:5px;
    background:var(--off-white);
    color:var(--text-muted);
    font-size:12px;
    line-height:1.55;
  }
  .form-type-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .form-type-button {
    border:1px solid var(--border);
    background:var(--off-white);
    color:var(--text-muted);
    border-radius:5px;
    padding:11px 10px;
    text-align:left;
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:700;
  }
  .form-type-button.active,
  .form-type-button:hover {
    border-color:var(--green);
    background:#edf6ef;
    color:var(--green);
  }
  .upload-dropzone {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:170px;
    border:2px dashed #cfd5cc;
    border-radius:8px;
    background:#fafbf8;
    cursor:pointer;
    padding:20px;
    transition:.2s;
  }
  .upload-dropzone:hover {
    border-color:var(--green);
    background:#f2f8f3;
  }
  .upload-dropzone input { display:none; }
  .upload-icon {
    font-size:28px;
    color:var(--green);
    margin-bottom:8px;
  }
  .upload-dropzone strong {
    font-size:13px;
    color:var(--text);
    margin-bottom:4px;
  }
  .upload-dropzone small {
    color:#888;
    font-size:11px;
  }
  .upload-preview-list {
    margin-top:12px;
    display:grid;
    gap:7px;
  }
  .upload-preview-item {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border:1px solid var(--border);
    border-radius:5px;
    font-size:11px;
    background:white;
  }
  .upload-preview-item span:last-child {
    color:#888;
    white-space:nowrap;
  }
  .worker-photo-preview {
    margin-top:12px;
    min-height:100px;
    border:1px solid var(--border);
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:var(--off-white);
    color:#888;
    font-size:12px;
  }
  .worker-photo-preview img {
    width:100%;
    max-height:240px;
    object-fit:contain;
    display:block;
  }
  .attachment-register {
    display:grid;
    gap:8px;
  }
  .attachment-row {
    display:grid;
    grid-template-columns:120px 1fr 140px;
    gap:12px;
    align-items:center;
    border:1px solid var(--border);
    border-radius:6px;
    padding:11px 12px;
    background:var(--off-white);
    font-size:11px;
  }
  .attachment-row strong { color:var(--green); }
  .attachment-row span { color:#666; }
  .attachment-empty { color:#888; font-size:12px; padding:8px 0; }

  @media (max-width: 800px) {
    .forms-workspace-grid { grid-template-columns:1fr; }
    .form-type-grid { grid-template-columns:1fr; }
    .attachment-row { grid-template-columns:1fr; }
  }


  /* ── CLEAR STAFF ENTRY POINT ── */
.staff-dashboard-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:8px;
  }
  .staff-dashboard-heading h3 {
    font-family:'Fraunces',serif;
    font-size:30px;
    margin-bottom:5px;
  }
  .staff-work-title {
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.09em;
    color:#666;
    margin:28px 0 12px;
  }
  .staff-work-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-bottom:26px;
  }
  .staff-work-card {
    appearance:none;
    border:1px solid var(--border);
    background:#fff;
    border-radius:8px;
    padding:18px;
    text-align:left;
    cursor:pointer;
    font-family:inherit;
    transition:transform .18s, box-shadow .18s, border-color .18s;
  }
  .staff-work-card:hover {
    transform:translateY(-2px);
    border-color:rgba(14,90,43,.35);
    box-shadow:0 8px 24px rgba(14,90,43,.08);
  }
  .staff-work-card-featured {
    background:var(--green);
    border-color:var(--green);
  }
  .staff-work-icon {
    display:inline-flex;
    width:30px;
    height:30px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(14,90,43,.08);
    color:var(--green);
    font-family:'Fraunces',serif;
    font-size:11px;
    font-weight:700;
    margin-bottom:13px;
  }
  .staff-work-card strong {
    display:block;
    color:var(--text);
    font-size:14px;
    margin-bottom:6px;
  }
  .staff-work-card small {
    display:block;
    color:var(--text-muted);
    font-size:11px;
    line-height:1.5;
  }
  .staff-work-card-featured .staff-work-icon {
    background:rgba(255,255,255,.13);
    color:var(--gold);
  }
  .staff-work-card-featured strong { color:#fff; }
  .staff-work-card-featured small { color:rgba(255,255,255,.68); }

  @media (max-width: 900px) {
    .staff-work-grid { grid-template-columns:repeat(2,1fr); }
    .staff-dashboard-heading { flex-direction:column; }
  }
  @media (max-width: 600px) {
    .staff-work-grid { grid-template-columns:1fr; }}

  /* V11 HERO POSITION FIX
     Keep the approved V4 hero design, but vertically centre the hero content
     inside the viewport with safe clearance below the fixed navigation. */
  @media (min-width: 1025px) {
    .hero {
      min-height: 100vh;
      align-items: center;
      padding: 118px 0 82px;
    }
  }


  /* ── V12 CONNECTED SYSTEM WORKFLOW ── */
  .staff-panel-heading {
    display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;
  }
  .queue-count {
    display:inline-flex;align-items:center;justify-content:center;
    background:#fff0d6;color:#91621e;border:1px solid #f0d79e;
    border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800;white-space:nowrap;
  }
  .staff-application-list,.verification-grid,.document-register,.deployment-list {
    display:grid;gap:12px;
  }
  .application-card,.verification-card,.document-card,.deployment-card {
    background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px;
  }
  .application-card-top,.verification-card-top,.deployment-card-top {
    display:flex;justify-content:space-between;gap:16px;align-items:flex-start;
  }
  .application-card h4,.verification-card h4,.deployment-card h4 {
    margin:5px 0 4px;font-size:15px;color:var(--text);
  }
  .application-meta,.verification-meta,.deployment-meta {
    color:var(--text-muted);font-size:12px;line-height:1.55;
  }
  .application-actions,.verification-actions,.deployment-actions {
    display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;
  }
  .action-small {
    border:1px solid var(--green);background:white;color:var(--green);
    border-radius:4px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer;
  }
  .action-small.primary { background:var(--green);color:#fff; }
  .action-small.orange { background:var(--orange);border-color:var(--orange);color:#1a1a18; }
  .action-small.muted { border-color:#ccc;color:#666; }
  .status-chip {
    display:inline-flex;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800;
    letter-spacing:.06em;text-transform:uppercase;background:#edf6ef;color:var(--green);
  }
  .status-chip.new { background:#fff0d6;color:#91621e; }
  .status-chip.screening { background:#eef2f7;color:#52627a; }
  .status-chip.selected { background:#e8eefb;color:#365eab; }
  .empty-state {
    background:#fff;border:1px dashed #cfd3ca;border-radius:8px;padding:26px;
    color:var(--text-muted);font-size:13px;text-align:center;
  }
  .document-card {
    display:grid;grid-template-columns:120px 1fr 150px;gap:14px;align-items:center;
  }
  .document-card strong { color:var(--green); }
  .document-card small { color:var(--text-muted);line-height:1.45; }
  .worker-card-actions { margin-top:12px;display:flex;gap:8px;flex-wrap:wrap; }
  .worker-detail-card {
    margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px;
  }
  .worker-detail-grid {
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;
  }
  .worker-detail-item { background:var(--off-white);padding:12px;border-radius:5px; }
  .worker-detail-item small { display:block;color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px; }
  .worker-detail-item strong { font-size:12px;color:var(--text); }
  .request-id { font-size:10px;color:#888;font-weight:700;letter-spacing:.05em; }
  .live-demo-note {
    display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--green);
  }
  .live-demo-dot { width:7px;height:7px;border-radius:50%;background:var(--green); }
  @media(max-width:800px){
    .document-card{grid-template-columns:1fr}
    .worker-detail-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media(max-width:520px){
    .worker-detail-grid{grid-template-columns:1fr}
    .staff-panel-heading,.application-card-top,.verification-card-top,.deployment-card-top{flex-direction:column}
  }


  /* ── V14 WORKER-CENTRIC STAFF WORKFLOW ── */
  .worker-search-bar {
    display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:16px;
  }
  .worker-search-bar input,.worker-search-bar select {
    padding:12px;border:1px solid #dcded8;border-radius:5px;background:#fff;font:inherit;font-size:13px;
  }
  .worker-record-workspace {
    margin-top:22px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:22px;
  }
  .worker-record-header {
    display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #eee;
  }
  .worker-record-header-actions { display:flex;gap:8px;align-items:center;flex-wrap:wrap; }
  .worker-record-tabs {
    display:flex;gap:6px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #eee;margin-bottom:18px;
  }
  .worker-record-tab {
    border:1px solid var(--border);background:var(--off-white);color:#666;padding:9px 12px;border-radius:5px;cursor:pointer;font-size:11px;font-weight:800;
  }
  .worker-record-tab.active { background:var(--green);border-color:var(--green);color:#fff; }
  .worker-record-panel { display:none; }
  .worker-record-panel.active { display:block; }
  .worker-record-section-heading {
    display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:13px;
  }
  .worker-record-section-heading h4 { margin-bottom:4px; }
  .worker-record-section-heading p { color:var(--text-muted);font-size:12px;line-height:1.5; }
  .record-action-grid {
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;
  }
  .record-action-card {
    background:var(--off-white);border:1px solid var(--border);border-radius:7px;padding:16px;text-align:left;cursor:pointer;
  }
  .record-action-card:hover { border-color:var(--green);background:#f2f8f3; }
  .record-action-card span {
    display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#edf6ef;color:var(--green);font-size:10px;font-weight:800;margin-bottom:10px;
  }
  .record-action-card strong { display:block;font-size:13px;color:var(--text);margin-bottom:5px; }
  .record-action-card small { color:var(--text-muted);font-size:11px;line-height:1.45; }
  .record-action-panel {
    background:#fafbf8;border:1px solid var(--border);border-radius:7px;padding:18px;margin:12px 0 18px;
  }
  .record-action-panel h5 { margin-bottom:14px;color:var(--green);font-size:13px; }
  .staff-worker-card { cursor:default; }
  .staff-worker-card.selected { border-color:var(--green);box-shadow:0 0 0 2px rgba(14,90,43,.08); }
  @media(max-width:800px){
    .worker-search-bar{grid-template-columns:1fr}
    .record-action-grid{grid-template-columns:1fr}
    .worker-record-header{flex-direction:column}
  }


  /* V16 — clearly visible but discreet Staff Portal entry in footer */
  .footer-staff-access {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding:18px 0 8px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .footer-staff-access span {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:rgba(255,255,255,.38);
  }
  .footer-staff-access button {
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.04);
    color:#fff;
    border-radius:4px;
    padding:8px 12px;
    font:inherit;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
  }
  .footer-staff-access button:hover {
    border-color:rgba(255,255,255,.55);
    background:rgba(255,255,255,.08);
  }
  @media(max-width:700px){
    .footer-staff-access{justify-content:flex-start;flex-wrap:wrap}
  }


  /* V17 — clear "Why Kazi Pathways" section replacing unexplained hero statistics */
  .why-kp-section{
    background:#fff;
    padding:72px 0 76px;
    border-bottom:1px solid var(--border);
  }
  .why-kp-heading{
    max-width:720px;
    margin-bottom:34px;
  }
  .why-kp-heading h2{
    margin:8px 0 12px;
    max-width:680px;
  }
  .why-kp-heading > p{
    color:var(--text-muted);
    font-size:15px;
    line-height:1.7;
    max-width:650px;
  }
  .why-kp-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .why-kp-item{
    padding:28px 25px 30px;
    min-height:190px;
    border-right:1px solid var(--border);
  }
  .why-kp-item:last-child{border-right:none}
  .why-kp-icon{
    display:flex;
    width:34px;height:34px;
    align-items:center;justify-content:center;
    border-radius:50%;
    background:#eef6ef;
    color:var(--green);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    margin-bottom:20px;
  }
  .why-kp-item h3{
    color:var(--green);
    font-size:17px;
    margin-bottom:9px;
  }
  .why-kp-item p{
    color:var(--text-muted);
    font-size:12px;
    line-height:1.65;
    margin:0;
  }
  @media(max-width:900px){
    .why-kp-grid{grid-template-columns:repeat(2,1fr)}
    .why-kp-item:nth-child(2){border-right:none}
    .why-kp-item:nth-child(-n+2){border-bottom:1px solid var(--border)}
  }
  @media(max-width:560px){
    .why-kp-section{padding:50px 0}
    .why-kp-grid{grid-template-columns:1fr}
    .why-kp-item{border-right:none;border-bottom:1px solid var(--border);min-height:auto}
    .why-kp-item:last-child{border-bottom:none}
  }


  /* ── V18 MODERN FOOTER ── */
  .kp-modern-footer{
    background:#082f1d;
    color:#fff;
    padding:0;
  }

  .footer-cta-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:58px 0 52px;
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .footer-cta-copy{
    max-width:760px;
  }

  .footer-section-label{
    color:var(--orange) !important;
    margin-bottom:10px;
  }

  .footer-cta-copy h2{
    font-family:'Fraunces',serif;
    font-size:clamp(30px,3vw,48px);
    line-height:1.08;
    color:#fff;
    margin:0;
  }

  .footer-cta-actions{
    display:flex;
    gap:12px;
    flex-shrink:0;
  }

  .footer-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:4px;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    letter-spacing:.03em;
    cursor:pointer;
  }

  .footer-cta-primary{
    border:1px solid var(--orange);
    background:var(--orange);
    color:#17120a;
  }

  .footer-cta-secondary{
    border:1px solid rgba(255,255,255,.32);
    color:#fff;
    background:transparent;
  }

  .footer-main-grid{
    display:grid;
    grid-template-columns:1.35fr .8fr .8fr 1.15fr;
    gap:58px;
    padding:54px 0 48px;
  }

  .footer-logo-row{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
  }

  .footer-logo-row span{
    font-weight:800;
    font-size:17px;
    line-height:1.05;
    letter-spacing:.07em;
    color:#fff;
  }

  .footer-brand-copy{
    max-width:330px;
    color:rgba(255,255,255,.63);
    font-size:13px;
    line-height:1.7;
    margin-bottom:22px;
  }

  .footer-socials{
    display:flex;
    gap:9px;
  }

  .footer-social-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--orange);
    color:#172018;
    text-decoration:none;
    font-weight:900;
    font-size:17px;
    transition:transform .18s, filter .18s;
  }

  .footer-social-text{
    font-size:13px;
  }

  .footer-social-icon:hover{
    transform:translateY(-2px);
    filter:brightness(1.06);
  }

  .footer-modern-col h5,
  .footer-contact-col h5{
    color:#fff;
    font-size:14px;
    margin-bottom:18px;
  }

  .footer-modern-col{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-modern-col a{
    color:rgba(255,255,255,.68);
    text-decoration:none;
    font-size:12px;
    margin-bottom:11px;
    transition:color .18s;
  }

  .footer-modern-col a:hover{
    color:var(--orange);
  }

  .footer-contact-col{
    display:flex;
    flex-direction:column;
    gap:9px;
  }

  .footer-contact-button{
    display:flex;
    align-items:center;
    gap:11px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:7px;
    text-decoration:none;
    background:rgba(255,255,255,.035);
    transition:border-color .18s, background .18s, transform .18s;
  }

  .footer-contact-button:hover{
    border-color:rgba(243,155,34,.55);
    background:rgba(243,155,34,.07);
    transform:translateX(2px);
  }

  .footer-contact-icon{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--orange);
    color:#122116;
    font-size:16px;
    font-weight:900;
  }

  .footer-contact-button b{
    display:block;
    color:#fff;
    font-size:12px;
    margin-bottom:2px;
  }

  .footer-contact-button small{
    display:block;
    color:rgba(255,255,255,.48);
    font-size:10px;
    line-height:1.35;
    word-break:break-word;
  }

  .footer-due-diligence{
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:50px;
    padding:28px 0;
    border-top:1px solid rgba(255,255,255,.09);
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .footer-dd-label{
    display:block;
    color:var(--orange);
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin-bottom:7px;
  }

  .footer-dd-intro strong{
    display:block;
    font-size:13px;
    color:#fff;
    margin-bottom:6px;
  }

  .footer-dd-intro p{
    color:rgba(255,255,255,.48);
    font-size:11px;
    line-height:1.55;
    max-width:430px;
  }

  .footer-dd-details{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
  }

  .footer-dd-details div{
    padding-left:16px;
    border-left:2px solid rgba(243,155,34,.55);
  }

  .footer-dd-details span{
    display:block;
    color:rgba(255,255,255,.42);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.07em;
    margin-bottom:5px;
  }

  .footer-dd-details strong{
    display:block;
    color:#fff;
    font-size:11px;
    line-height:1.45;
  }

  .footer-bottom-modern{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:26px;
    align-items:center;
    padding:20px 0 24px;
  }

  .footer-bottom-modern p{
    color:rgba(255,255,255,.36);
    font-size:10px;
  }

  .footer-bottom-links{
    display:flex;
    gap:16px;
  }

  .footer-bottom-links a{
    color:rgba(255,255,255,.42);
    text-decoration:none;
    font-size:10px;
  }

  .footer-bottom-links a:hover{
    color:#fff;
  }

  .footer-internal-access{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .footer-internal-access span{
    color:rgba(255,255,255,.30);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em;
  }

  .footer-internal-access button{
    border:1px solid rgba(255,255,255,.20);
    background:transparent;
    color:rgba(255,255,255,.72);
    border-radius:4px;
    padding:7px 10px;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
  }

  .footer-internal-access button:hover{
    border-color:var(--orange);
    color:#fff;
  }

  @media(max-width:1050px){
    .footer-main-grid{
      grid-template-columns:1.2fr 1fr 1fr;
    }
    .footer-contact-col{
      grid-column:1/-1;
      display:grid;
      grid-template-columns:repeat(3,1fr);
    }
    .footer-contact-col h5{
      grid-column:1/-1;
    }
    .footer-dd-details{
      grid-template-columns:1fr;
    }
  }

  @media(max-width:760px){
    .footer-cta-row{
      flex-direction:column;
      align-items:flex-start;
      padding:44px 0 38px;
    }
    .footer-main-grid{
      grid-template-columns:1fr 1fr;
      gap:36px 28px;
    }
    .footer-modern-brand{
      grid-column:1/-1;
    }
    .footer-contact-col{
      grid-template-columns:1fr;
    }
    .footer-due-diligence{
      grid-template-columns:1fr;
      gap:22px;
    }
    .footer-bottom-modern{
      grid-template-columns:1fr;
      gap:12px;
    }
    .footer-internal-access{
      justify-content:flex-start;
    }
  }

  @media(max-width:520px){
    .footer-main-grid{
      grid-template-columns:1fr;
    }
    .footer-cta-actions{
      width:100%;
      flex-direction:column;
    }
    .footer-cta-btn{
      width:100%;
    }
  }


  .footer-contact-icon svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .footer-whatsapp .footer-contact-icon svg path:nth-child(2){
    stroke-width:1.35;
  }


  /* V20 — each Kazi Pathways number clearly supports both calls and WhatsApp */
  .footer-dual-contact{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 0;
  }
  .footer-dual-icons{
    display:flex;
    gap:6px;
    flex-shrink:0;
  }
  .footer-mini-contact-icon{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--orange);
    color:#122116;
    text-decoration:none;
    transition:transform .18s,filter .18s;
  }
  .footer-mini-contact-icon:hover{
    transform:translateY(-2px);
    filter:brightness(1.06);
  }
  .footer-mini-contact-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .footer-mini-contact-icon svg path:nth-child(2){
    stroke-width:1.35;
  }
  .footer-dual-number strong{
    display:block;
    color:#fff;
    font-size:12px;
    margin-bottom:2px;
    white-space:nowrap;
  }
  .footer-dual-number small{
    display:block;
    color:rgba(255,255,255,.48);
    font-size:10px;
  }
  .footer-email-row{
    margin-top:5px;
  }


  /* V21 — reference-style footer icons: clean orange outlines, no filled circles */
  .footer-mini-contact-icon{
    width:26px !important;
    height:26px !important;
    background:transparent !important;
    color:var(--orange) !important;
    border-radius:0 !important;
  }
  .footer-mini-contact-icon:hover{
    transform:translateY(-1px) !important;
    filter:none !important;
    color:#ffad35 !important;
  }
  .footer-mini-contact-icon svg{
    width:21px !important;
    height:21px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.7 !important;
  }
  .footer-dual-icons{
    gap:9px !important;
    min-width:62px;
  }
  .footer-dual-contact{
    gap:10px !important;
  }

  /* Email icon follows the same restrained outline treatment */
  .footer-email-row{
    background:transparent !important;
    border:none !important;
    padding:10px 0 !important;
  }
  .footer-email-row:hover{
    background:transparent !important;
    border-color:transparent !important;
    transform:none !important;
  }
  .footer-email-row .footer-contact-icon{
    width:26px !important;
    height:26px !important;
    flex:0 0 26px !important;
    background:transparent !important;
    color:var(--orange) !important;
    border-radius:0 !important;
  }
  .footer-email-row .footer-contact-icon svg{
    width:21px !important;
    height:21px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.7 !important;
  }

  /* Social icons: orange line/text only, like the reference site's footer */
  .footer-social-icon{
    width:28px !important;
    height:28px !important;
    background:transparent !important;
    color:var(--orange) !important;
    border-radius:0 !important;
    font-size:18px !important;
  }
  .footer-social-icon:hover{
    transform:translateY(-1px) !important;
    filter:none !important;
    color:#ffad35 !important;
  }
  .footer-social-text{
    font-size:14px !important;
  }


  /* V22 — official Kazi Pathways company logo, preserving original proportions */
  .official-nav-logo{
    display:flex;
    align-items:center;
    width:auto;
    height:58px;
    max-width:245px;
    overflow:visible;
  }
  .official-nav-logo-img{
    display:block;
    width:auto;
    height:52px;
    max-width:235px;
    object-fit:contain;
    object-position:left center;
  }
  .official-footer-logo{
    display:block !important;
    width:260px;
    max-width:100%;
    margin-bottom:20px !important;
  }
  .official-footer-logo-img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:left center;
  }
  @media(max-width:700px){
    .official-nav-logo{height:52px;max-width:205px}
    .official-nav-logo-img{height:45px;max-width:200px}
    .official-footer-logo{width:230px}
  }


  /* V23 — white main footer content panel for correct logo contrast */
  .kp-modern-footer .footer-main-grid{
    background:#fff;
    color:var(--green);
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding-left:max(48px, calc((100vw - 1200px)/2));
    padding-right:max(48px, calc((100vw - 1200px)/2));
  }

  .kp-modern-footer .footer-modern-col h5,
  .kp-modern-footer .footer-contact-col h5{
    color:var(--green);
  }

  .kp-modern-footer .footer-brand-copy{
    color:#52655a;
  }

  .kp-modern-footer .footer-modern-col a{
    color:#52655a;
  }

  .kp-modern-footer .footer-modern-col a:hover{
    color:var(--green);
  }

  .kp-modern-footer .footer-dual-number strong,
  .kp-modern-footer .footer-email-row b{
    color:var(--green);
  }

  .kp-modern-footer .footer-dual-number small,
  .kp-modern-footer .footer-email-row small{
    color:#6d7d73;
  }

  .kp-modern-footer .footer-mini-contact-icon,
  .kp-modern-footer .footer-email-row .footer-contact-icon,
  .kp-modern-footer .footer-social-icon{
    color:var(--orange) !important;
  }

  .kp-modern-footer .footer-email-row{
    color:var(--green);
  }

  .kp-modern-footer .footer-main-grid a:focus-visible{
    outline:2px solid var(--orange);
    outline-offset:3px;
  }

  @media(max-width:760px){
    .kp-modern-footer .footer-main-grid{
      padding-left:24px;
      padding-right:24px;
    }
  }


  /* V24 — What We Do + simplified About section */
  .what-we-do{
    padding:90px 0;
    background:#f7f8f4;
  }
  .what-we-do-intro{
    max-width:820px;
    margin-bottom:40px;
  }
  .what-we-do-intro .section-lead{
    max-width:780px;
  }
  .pathway-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#fff;
  }
  .pathway-card{
    padding:30px 25px 32px;
    border-right:1px solid var(--border);
    min-height:250px;
  }
  .pathway-card:last-child{border-right:none}
  .pathway-number{
    display:inline-flex;
    width:34px;height:34px;
    align-items:center;justify-content:center;
    border-radius:50%;
    background:#eef6ef;
    color:var(--green);
    font-size:10px;
    font-weight:800;
    margin-bottom:22px;
  }
  .pathway-card h3{
    color:var(--green);
    font-size:18px;
    margin-bottom:10px;
  }
  .pathway-card p{
    color:var(--text-muted);
    font-size:12px;
    line-height:1.7;
  }

  .what-we-do-outcomes{
    display:grid;
    grid-template-columns:.95fr 1.35fr;
    gap:60px;
    padding:64px 0 50px;
    align-items:start;
  }
  .outcomes-copy h3{
    font-family:'Fraunces',serif;
    font-size:34px;
    line-height:1.12;
    margin:8px 0 14px;
  }
  .outcomes-copy p{
    color:var(--text-muted);
    font-size:13px;
    line-height:1.75;
  }
  .outcome-grid{
    display:grid;
    gap:10px;
  }
  .outcome-item{
    background:#fff;
    border-left:3px solid var(--green);
    padding:18px 20px;
  }
  .outcome-item span{
    display:block;
    font-weight:800;
    color:var(--green);
    font-size:13px;
    margin-bottom:5px;
  }
  .outcome-item p{
    color:var(--text-muted);
    font-size:12px;
    line-height:1.6;
  }

  .ethical-strip{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:45px;
    align-items:center;
    background:var(--green);
    color:#fff;
    padding:30px 34px;
    border-radius:8px;
  }
  .ethical-kicker{
    display:block;
    color:var(--orange);
    font-size:9px;
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:.12em;
    margin-bottom:7px;
  }
  .ethical-strip h3{
    font-family:'Fraunces',serif;
    font-size:26px;
    line-height:1.2;
    margin:0;
  }
  .ethical-strip p{
    color:rgba(255,255,255,.72);
    font-size:12px;
    line-height:1.65;
  }

  .about-clean{
    padding:90px 0;
    background:#fff;
  }
  .about-clean-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:start;
    margin-bottom:42px;
  }
  .about-clean-copy p{
    color:var(--text-muted);
    font-size:15px;
    line-height:1.8;
    margin-bottom:18px;
  }
  .about-principles{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
  }
  .about-principle{
    background:#f7f8f5;
    border-top:3px solid var(--green);
    padding:22px 20px;
    min-height:170px;
  }
  .about-principle span{
    display:block;
    color:var(--orange);
    font-size:10px;
    font-weight:800;
    margin-bottom:16px;
  }
  .about-principle h3{
    color:var(--green);
    font-size:15px;
    margin-bottom:7px;
  }
  .about-principle p{
    color:var(--text-muted);
    font-size:11px;
    line-height:1.6;
  }

  @media(max-width:1000px){
    .pathway-grid,.about-principles{grid-template-columns:repeat(2,1fr)}
    .pathway-card:nth-child(2),.about-principle:nth-child(2){border-right:none}
    .pathway-card:nth-child(-n+2){border-bottom:1px solid var(--border)}
  }
  @media(max-width:760px){
    .what-we-do,.about-clean{padding:64px 0}
    .what-we-do-outcomes,.about-clean-grid,.ethical-strip{grid-template-columns:1fr;gap:28px}
  }
  @media(max-width:560px){
    .pathway-grid,.about-principles{grid-template-columns:1fr}
    .pathway-card{border-right:none;border-bottom:1px solid var(--border);min-height:auto}
    .pathway-card:last-child{border-bottom:none}
  }


  /* V25 — distinguish prospective employer enquiry from approved employer login */
  .employer-enquiry-btn{
    display:block;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
  }


  /* ── V26 ACCOUNT MANAGEMENT ── */
  .account-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .account-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
    padding:22px;
  }
  .account-card-kicker{
    color:var(--orange);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;
    margin-bottom:8px;
  }
  .account-card h4{margin-bottom:7px;color:var(--green)}
  .account-card > p{color:var(--text-muted);font-size:12px;margin-bottom:18px}
  .account-meta-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
    border-top:1px solid var(--border);
    font-size:11px;
  }
  .account-meta-row span{color:#888}
  .account-meta-row strong{color:var(--text)}
  .account-active{color:var(--green) !important}
  .portal-form-grid.single-column{grid-template-columns:1fr}
  .employer-account-list{display:grid;gap:10px;margin-top:16px}
  .employer-account-row{
    display:grid;
    grid-template-columns:1.2fr 1.3fr .7fr auto;
    gap:14px;
    align-items:center;
    background:#fff;
    border:1px solid var(--border);
    border-radius:7px;
    padding:15px 16px;
  }
  .employer-account-row strong{color:var(--green);font-size:12px}
  .employer-account-row span{color:var(--text-muted);font-size:11px}
  .employer-account-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
  .account-create-panel{margin-bottom:16px}
  .account-status{
    display:inline-flex;
    width:max-content;
    border-radius:99px;
    padding:5px 8px;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    background:#edf6ef;
    color:var(--green);
  }
  .account-status.inactive{background:#f0f0ee;color:#777}
  .account-reset-note{
    margin-top:8px;
    padding:9px 10px;
    background:#fff7e6;
    border:1px solid #ecd8a6;
    border-radius:5px;
    color:#76591f;
    font-size:10px;
    line-height:1.5;
  }
  @media(max-width:800px){
    .account-grid{grid-template-columns:1fr}
    .employer-account-row{grid-template-columns:1fr}
    .employer-account-actions{justify-content:flex-start}
  }


  /* ── V27 FULL ACCOUNT EXPERIENCE ── */
  .portal-security-note{
    margin-top:14px;
    padding:10px 12px;
    border:1px solid #dbe4dc;
    background:#f5f8f5;
    border-radius:5px;
    color:#52655a;
    font-size:10px;
    line-height:1.55;
  }
  .account-security-help{
    color:var(--text-muted) !important;
    font-size:11px !important;
    line-height:1.55 !important;
    margin:0 0 15px !important;
  }
  .account-workflow-box{
    display:grid;
    gap:7px;
    margin:0 0 16px;
    padding:15px 17px;
    background:#f5f8f5;
    border-left:3px solid var(--green);
    border-radius:5px;
    color:#52655a;
    font-size:11px;
    line-height:1.5;
  }
  .account-workflow-box strong{
    color:var(--green);
    font-size:12px;
    margin-bottom:2px;
  }
  .portal-user-line{
    display:block;
    color:var(--text-muted);
    font-size:10px;
    margin-top:3px;
  }


  /* V31 — Worker Eligibility is separate from, and immediately precedes,
     the original Worker Registration form. */
  .worker-eligibility{padding:90px 0;background:#fff}
  .eligibility-intro{max-width:850px;margin-bottom:40px}
  .candidate-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:52px}
  .candidate-profile-card{background:#f7f8f4;border-top:3px solid var(--green);padding:26px 24px;min-height:215px}
  .candidate-profile-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--orange);font-size:10px;font-weight:800;margin-bottom:20px}
  .candidate-profile-card h3{color:var(--green);font-size:17px;margin-bottom:10px}
  .candidate-profile-card p{color:var(--text-muted);font-size:12px;line-height:1.7}
  .eligibility-details{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;padding:48px 0;border-top:1px solid var(--border)}
  .eligibility-details h3{font-family:'Fraunces',serif;font-size:28px;color:var(--green);margin:7px 0 20px}
  .requirements-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
  .requirements-list>div{display:flex;gap:9px;align-items:flex-start;padding:8px 0}
  .requirements-list span{color:var(--orange);font-weight:900}
  .requirements-list p{font-size:11px;line-height:1.5;color:var(--text-muted)}
  .worker-sector-list{display:flex;flex-wrap:wrap;gap:8px}
  .worker-sector-list span{padding:9px 12px;border:1px solid #dce5dc;background:#f7faf7;border-radius:4px;color:var(--green);font-size:11px;font-weight:700}
  .sector-note{margin-top:18px;color:var(--text-muted);font-size:11px;line-height:1.6}
  .worker-no-fee{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:var(--green);padding:28px 30px;border-radius:8px;color:#fff;margin-top:10px}
  .no-fee-mark{color:var(--orange);border:1px solid var(--orange);padding:7px 9px;border-radius:3px;font-size:9px;font-weight:900;letter-spacing:.1em;white-space:nowrap}
  .worker-no-fee h3{font-family:'Fraunces',serif;font-size:25px;margin:0 0 8px}
  .worker-no-fee p{font-size:12px;line-height:1.6;color:rgba(255,255,255,.88)}
  .worker-no-fee .no-fee-small{font-size:10px;color:rgba(255,255,255,.62);margin-top:8px}
  .eligibility-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 0 0}
  .eligibility-cta span{display:block;color:var(--orange);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
  .eligibility-cta h3{font-family:'Fraunces',serif;color:var(--green);font-size:27px;margin-top:4px}
  @media(max-width:850px){
    .candidate-profile-grid{grid-template-columns:1fr}
    .candidate-profile-card{min-height:auto}
    .eligibility-details{grid-template-columns:1fr;gap:34px}
  }
  @media(max-width:600px){
    .worker-eligibility{padding:64px 0}
    .requirements-list{grid-template-columns:1fr}
    .worker-no-fee{grid-template-columns:1fr}
    .eligibility-cta{align-items:flex-start;flex-direction:column}
  }


  /* ── V32 LIVE WORKER APPLICATION WORKFLOW ── */
  .staff-applications-nav{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .nav-notification-badge,.work-card-badge{
    display:inline-flex;
    min-width:20px;height:20px;
    align-items:center;justify-content:center;
    padding:0 6px;
    border-radius:99px;
    background:var(--orange);
    color:#142016;
    font-size:9px;
    font-weight:900;
  }
  .nav-notification-badge:empty{display:none}
  .work-card-badge{vertical-align:middle;margin-left:5px}
  .summary-card-button{
    width:100%;
    border:1px solid var(--border);
    font:inherit;
    text-align:left;
    cursor:pointer;
  }
  .summary-card-button:hover{border-color:var(--green);background:#f5f9f5}
  .applications-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .live-status{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--green);font-size:10px;font-weight:800;
  }
  .live-status i{
    display:block;width:7px;height:7px;border-radius:50%;background:var(--green);
    box-shadow:0 0 0 4px rgba(14,90,43,.10);
  }
  .application-toolbar{
    display:grid;grid-template-columns:1fr 210px;gap:10px;margin-bottom:16px
  }
  .application-toolbar input,.application-toolbar select{
    padding:11px 12px;border:1px solid #d9ddd5;border-radius:5px;background:#fff;font:inherit;font-size:12px
  }
  .application-card.unread{
    border-left:4px solid var(--orange);
    background:#fffdf8;
  }
  .application-card.not-eligible{opacity:.72}
  .application-card .new-application-label{
    display:inline-flex;margin-left:7px;padding:3px 6px;border-radius:99px;
    background:#fff0d6;color:#91621e;font-size:8px;font-weight:900;letter-spacing:.06em;
  }
  .application-detail-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;
  }
  .application-detail-item{
    background:#f7f8f5;border-radius:5px;padding:10px;
  }
  .application-detail-item small{
    display:block;color:#8a8a82;font-size:8px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px
  }
  .application-detail-item strong{font-size:11px;color:var(--text)}
  .staff-live-toast{
    position:fixed;right:24px;top:92px;z-index:100002;
    display:none;grid-template-columns:1fr auto;gap:3px 14px;
    width:min(390px,calc(100vw - 30px));
    background:#fff;border:1px solid #dce5dc;border-left:4px solid var(--orange);
    border-radius:7px;padding:14px 15px;box-shadow:0 18px 55px rgba(0,0,0,.16)
  }
  .staff-live-toast.visible{display:grid}
  .staff-live-toast strong{color:var(--green);font-size:12px}
  .staff-live-toast span{grid-column:1;color:var(--text-muted);font-size:10px;line-height:1.45}
  .staff-live-toast button{
    grid-column:2;grid-row:1/3;border:0;background:var(--green);color:#fff;
    border-radius:4px;padding:8px 10px;font-size:10px;font-weight:800;cursor:pointer
  }
  @media(max-width:760px){
    .application-toolbar{grid-template-columns:1fr}
    .application-detail-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:500px){
    .application-detail-grid{grid-template-columns:1fr}
  }


  /* ── V33 STAFF-CONTROLLED EMPLOYER PUBLISHING ── */
  .employer-visibility-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:14px
  }
  .visibility-card{
    background:#fafbf8;border:1px solid var(--border);border-radius:7px;padding:20px
  }
  .visibility-card h5{color:var(--green);font-size:14px;margin-bottom:7px}
  .visibility-card > p{color:var(--text-muted);font-size:11px;line-height:1.55;margin-bottom:16px}
  .visibility-field{
    display:flex;flex-direction:column;gap:6px;margin-top:12px;
    color:#666;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em
  }
  .visibility-field select{
    padding:11px;border:1px solid #d9ddd5;border-radius:5px;background:#fff;font:inherit;
    color:var(--text);font-size:12px;text-transform:none;letter-spacing:normal
  }
  .visibility-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
  .visibility-status{
    display:inline-flex;align-items:center;border-radius:99px;padding:6px 9px;
    background:#efefec;color:#666;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em
  }
  .visibility-status.published{background:#edf6ef;color:var(--green)}
  .visibility-safe-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
  .visibility-safe-list span{
    padding:7px 9px;border-radius:4px;background:#fff;border:1px solid #dfe5dd;
    color:var(--green);font-size:10px;font-weight:700
  }
  .visibility-private-note{margin:16px 0 0 !important;font-size:10px !important}
  .staff-worker-visibility{
    display:inline-flex;margin-top:8px;padding:4px 7px;border-radius:99px;
    background:#efefec;color:#777;font-size:8px;font-weight:900;text-transform:uppercase
  }
  .staff-worker-visibility.published{background:#edf6ef;color:var(--green)}
  .employer-published-summary{
    display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;
    background:#edf6ef;border:1px solid #d8e8dc;border-radius:7px;padding:12px 15px;margin:14px 0 20px
  }
  .employer-published-summary strong{font-family:'Fraunces',serif;font-size:27px;color:var(--green)}
  .employer-published-summary span{font-size:10px;color:#52655a;max-width:190px;line-height:1.35}
  @media(max-width:800px){.employer-visibility-grid{grid-template-columns:1fr}}


  /* ── MOBILE WEBSITE NAVIGATION & RESPONSIVE FIX ── */
  .mobile-menu-toggle,
  .mobile-nav-panel { display:none; }

  @media (max-width:1024px) {
    nav {
      height:72px;
      padding:0 20px;
      gap:14px;
    }
    .official-nav-logo-img {
      display:block;
      width:auto;
      max-width:210px;
      height:50px;
      object-fit:contain;
    }
    .nav-links,
    .nav-cta { display:none !important; }
    .mobile-menu-toggle {
      display:flex;
      margin-left:auto;
      width:46px;
      height:46px;
      flex:0 0 46px;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:5px;
      border:1.5px solid var(--green);
      border-radius:5px;
      background:#fff;
      cursor:pointer;
      color:var(--green);
    }
    .mobile-menu-toggle span {
      display:block;
      width:21px;
      height:2px;
      background:currentColor;
      transition:transform .2s, opacity .2s;
    }
    .mobile-menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .mobile-menu-toggle.open span:nth-child(2){opacity:0}
    .mobile-menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .mobile-nav-panel {
      position:fixed;
      top:72px;
      left:0;
      right:0;
      z-index:99;
      max-height:calc(100vh - 72px);
      overflow-y:auto;
      background:#fff;
      border-top:1px solid rgba(14,90,43,.08);
      box-shadow:0 18px 40px rgba(0,0,0,.13);
      padding:12px 20px 24px;
    }
    .mobile-nav-panel.open { display:block; }
    .mobile-nav-panel a.mobile-nav-link {
      display:block;
      padding:13px 4px;
      border-bottom:1px solid var(--border);
      text-decoration:none;
      color:var(--text);
      font-size:14px;
      font-weight:600;
      letter-spacing:.025em;
    }
    .mobile-nav-panel a.mobile-nav-link:hover { color:var(--green); }
    .mobile-nav-actions {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      padding-top:18px;
    }
    .mobile-nav-actions .btn-outline,
    .mobile-nav-actions .btn-primary {
      display:flex;
      min-height:48px;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:11px 12px;
      font-size:12px;
    }
    body.mobile-menu-open { overflow:hidden; }
  }

  @media (max-width:700px) {
    nav { padding:0 16px; }
    .official-nav-logo-img { max-width:190px; height:46px; }
    .hero {
      min-height:auto;
      align-items:flex-start;
      padding:122px 0 105px;
    }
    .hero-content { padding:0 24px; }
    .hero-label {
      margin-bottom:22px;
      font-size:10px;
      line-height:1.45;
    }
    .hero-h1 {
      font-size:clamp(42px,12vw,58px);
      line-height:1.02;
      overflow-wrap:normal;
      word-break:normal;
    }
    .hero-sub { font-size:16px; line-height:1.55; }
    .hero-actions {
      display:grid;
      grid-template-columns:1fr 1fr;
      width:100%;
      gap:10px;
      margin-bottom:42px;
    }
    .hero-btn-primary,
    .hero-btn-ghost {
      width:100%;
      padding:14px 12px;
      text-align:center;
      font-size:12px;
    }
    .container { padding-left:20px; padding-right:20px; }
    .reg-layout { gap:34px; }
    .reg-form-mock { padding:26px 20px; min-width:0; width:100%; }
    .form-row { grid-template-columns:1fr; gap:0; }
    .form-field,
    .form-field input,
    .form-field select { min-width:0; width:100%; max-width:100%; }
    .reg-info-point { min-width:0; }
    .reg-info-text { min-width:0; }
    .reg-info-text p { overflow-wrap:anywhere; }
    section, .worker-reg, .process, .what-we-do, .about-clean { overflow:hidden; }
    .process-step { min-width:0; }
    .process-step p { overflow-wrap:anywhere; }
    .mobile-nav-actions { grid-template-columns:1fr; }
  }

  @media (max-width:390px) {
    .official-nav-logo-img { max-width:165px; height:42px; }
    .mobile-menu-toggle { width:42px; height:42px; flex-basis:42px; }
    .hero-content { padding:0 18px; }
    .hero-h1 { font-size:40px; }
  }


  /* ── MOBILE HERO ARC FIX ──
     Keep the desktop sunrise treatment unchanged, but make the mobile
     transition compact so it does not create a large blank white area. */
  @media (max-width:700px) {
    .hero {
      padding-bottom:72px;
    }
    .hero-arc {
      width:135%;
      height:72px;
      bottom:-1px;
      border-radius:50% 50% 0 0 / 100% 100% 0 0;
    }
  }

  @media (max-width:390px) {
    .hero-arc {
      height:62px;
      width:145%;
    }
  }


  /* PARTNER WITH US: text colour only */
  .partner-orange-text {
    color: var(--orange) !important;
  }


  /* PARTNER WITH US button: keep orange text but give it a solid white button surface */
  .partner-orange-text {
    color: var(--orange) !important;
    background: #ffffff !important;
    border-color: var(--orange) !important;
    opacity: 1 !important;
  }
  .partner-orange-text:hover {
    color: #ffffff !important;
    background: var(--orange) !important;
    border-color: var(--orange) !important;
  }


  /* ── COMPLETE WORKER REGISTRATION / ASSESSMENT FORM ── */
  .kp-form-section {
    margin: 22px 0 14px;
    padding: 10px 12px;
    background: rgba(14,90,43,.07);
    border-left: 4px solid var(--green);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .045em;
  }
  .kp-help { font-size:11px; color:#777; line-height:1.5; margin:-5px 0 12px; }
  .kp-check-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:8px 0 14px;
  }
  .kp-check-tile {
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:10px 11px;
    border:1px solid var(--border);
    border-radius:5px;
    background:var(--off-white);
    color:var(--text);
    font-size:12px;
    line-height:1.35;
    cursor:pointer;
  }
  .kp-check-tile input { width:auto !important; margin-top:2px; accent-color:var(--green); flex:0 0 auto; }
  .kp-radio-row {
    display:flex; flex-wrap:wrap; gap:8px; margin-top:5px;
  }
  .kp-radio-row label {
    display:flex; flex-direction:row; align-items:center; gap:6px;
    font-size:11px; text-transform:none; letter-spacing:0; font-weight:500;
    padding:7px 9px; background:var(--off-white); border:1px solid var(--border); border-radius:4px;
  }
  .kp-radio-row input { width:auto !important; accent-color:var(--green); }
  .kp-skill-matrix, .kp-language-matrix {
    display:grid; gap:7px; margin:10px 0 16px;
  }
  .kp-matrix-row {
    display:grid;
    grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(74px,.55fr));
    gap:6px;
    align-items:center;
    border-bottom:1px solid #ecece7;
    padding:7px 0;
  }
  .kp-matrix-row.kp-matrix-head { font-size:9px; font-weight:800; color:#666; text-transform:uppercase; }
  .kp-matrix-label { font-size:11px; font-weight:700; color:var(--text); }
  .kp-matrix-choice { display:flex; justify-content:center; align-items:center; }
  .kp-matrix-choice input { width:auto !important; accent-color:var(--green); }
  .kp-photo-upload {
    display:grid; grid-template-columns:150px 1fr; gap:15px; align-items:center;
    border:1px dashed #bcc8bd; border-radius:7px; padding:14px; background:#fafbf8; margin:8px 0 18px;
  }
  .kp-photo-preview {
    min-height:135px; border:1px solid var(--border); border-radius:5px; background:white;
    display:flex; align-items:center; justify-content:center; overflow:hidden; color:#888; font-size:10px; text-align:center; padding:8px;
  }
  .kp-photo-preview img { width:100%; height:135px; object-fit:cover; display:block; }
  .kp-photo-upload input[type=file] { width:100%; font-size:12px; }
  .kp-declaration {
    background:#fff8e8; border:1px solid #ead8a9; border-radius:6px; padding:14px; margin:12px 0;
    font-size:11px; line-height:1.55; color:#5a5138;
  }
  .kp-declaration label { display:flex; flex-direction:row; gap:9px; align-items:flex-start; text-transform:none; letter-spacing:0; font-size:11px; }
  .kp-declaration input { width:auto !important; margin-top:2px; accent-color:var(--green); }
  .staff-complete-form .kp-matrix-row { grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(70px,.55fr)); }
  @media(max-width:700px) {
    .kp-check-grid { grid-template-columns:1fr; }
    .kp-photo-upload { grid-template-columns:1fr; }
    .kp-photo-preview { max-width:180px; }
    .kp-matrix-row {
      grid-template-columns:1fr repeat(4,38px);
      gap:3px;
    }
    .kp-matrix-row.kp-matrix-head .kp-matrix-choice { font-size:7px; writing-mode:vertical-rl; transform:rotate(180deg); min-height:46px; }
    .kp-matrix-label { font-size:10px; }
  }


  /* ── V2 REGISTRATION SECTION LAYOUT FIX ──
     Long registration form now runs full-width beneath a compact intro,
     eliminating the large empty background column beside the form. */
  .worker-reg .reg-layout {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    align-items: start !important;
  }

  .worker-reg .reg-layout > .fade-in {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
  }

  .worker-reg .reg-info-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 8px;
  }

  .worker-reg .reg-info-point {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(9,72,32,.12);
    border-radius: 8px;
    padding: 18px;
    min-width: 0;
  }

  .worker-reg .reg-form-mock {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 38px 42px;
  }

  /* Keep the orange background as an accent rather than a giant empty canvas. */
  .worker-reg {
    background:
      linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 12%),
      linear-gradient(135deg, var(--orange) 0%, var(--gold) 100%);
  }

  @media (max-width: 800px) {
    .worker-reg .reg-info-points {
      grid-template-columns: 1fr;
    }

    .worker-reg .reg-form-mock {
      padding: 24px 18px;
    }
  }


  /* ── EXPANDING LONG-ANSWER FIELDS ── */
  textarea {
    width: 100%;
    min-height: 110px;
    resize: vertical;
    overflow-y: auto;
    box-sizing: border-box;
    line-height: 1.5;
  }

  /* Give the longer narrative fields more room from the outset */
  textarea[name*="address" i],
  textarea[name*="experience" i],
  textarea[name*="employment" i],
  textarea[name*="notes" i],
  textarea[name*="equipment" i],
  textarea[name*="countries" i],
  textarea[name*="condition" i] {
    min-height: 135px;
  }


  /* ── PUBLIC WORKER REGISTRATION GATING ──
     The long public form is hidden during normal site browsing and is revealed
     only when a Register as Worker action is selected. */
  .worker-reg.registration-gated {
    display: none;
  }

  .worker-reg.registration-gated.registration-open {
    display: block;
  }


  /* ── DEDICATED PUBLIC NAVIGATION ──
     Main menu items now behave as dedicated page views.
     Only the selected section is shown, instead of appending every section
     underneath and creating an endless page. */
  body.kp-routed .kp-public-view {
    display: none !important;
  }

  body.kp-routed .kp-public-view.kp-view-active {
    display: block !important;
  }

  /* Hero keeps its original flex layout on Home. */
  body.kp-routed .hero.kp-view-active {
    display: flex !important;
  }

  /* Registration is a dedicated public view. */
  body.kp-routed #workers.kp-view-active {
    display: block !important;
  }


  #nav a.kp-nav-current:not(.btn-primary):not(.btn-outline) {
    color: var(--green) !important;
    opacity: 1 !important;
  }


  /* Employer Portal direct staff contact */
  .employer-support-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 16px;
    margin:-10px 0 24px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:7px;
  }

  .employer-support-copy {
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
  }

  .employer-support-copy strong {
    color:var(--green-dark);
    font-size:13px;
  }

  .employer-support-copy span {
    color:var(--text-muted);
    font-size:11px;
  }

  .employer-support-numbers {
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
  }

  .employer-phone-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--green);
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
  }

  .employer-phone-link svg {
    width:21px;
    height:21px;
    color:var(--orange);
    flex:0 0 auto;
  }

  .employer-phone-link:hover {
    color:var(--orange);
  }

  @media (max-width:700px) {
    .employer-support-card {
      align-items:flex-start;
      flex-direction:column;
    }
    .employer-support-numbers {
      align-items:flex-start;
      flex-direction:column;
      gap:10px;
    }
  }


  /* ── SIMPLIFIED EMPLOYER PORTAL ── */
  #employerApp .app-sidebar .app-nav:not(.app-exit) {
    font-size:14px;
    padding:13px 12px;
  }

  .employer-workforce-overview {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:20px 0 22px;
    max-width:700px;
  }

  .employer-request-summary {
    display:flex;
    align-items:center;
    gap:15px;
    padding:18px 20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:7px;
  }

  .employer-request-summary strong {
    font-family:'Fraunces',serif;
    font-size:27px;
    color:var(--orange);
  }

  .employer-request-summary span {
    font-size:10px;
    line-height:1.35;
    color:#52655a;
    max-width:150px;
  }

  .employer-simple-filters {
    grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;
  }

  .employer-profile-section {
    margin-top:26px;
    padding-top:24px;
    border-top:1px solid #ddd;
  }

  .employer-profile-section > h4,
  .employer-request-form-card > h4,
  .employer-existing-requests > h4 {
    font-family:'Fraunces',serif;
    font-size:23px;
    margin-bottom:8px;
    color:var(--text);
  }

  .employer-request-layout {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
    gap:24px;
    align-items:start;
    margin-top:20px;
  }

  .employer-request-form-card,
  .employer-existing-requests {
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
    padding:22px;
  }

  .employer-request-list {
    display:grid;
    gap:10px;
  }

  .employer-request-card {
    border:1px solid var(--border);
    background:var(--off-white);
    border-radius:6px;
    padding:14px;
  }

  .employer-request-card-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:7px;
  }

  .employer-request-card strong {
    color:var(--green-dark);
    font-size:13px;
  }

  .employer-request-card small {
    display:block;
    color:var(--text-muted);
    font-size:11px;
    line-height:1.5;
  }

  .employer-request-status {
    flex:0 0 auto;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    padding:5px 7px;
    border-radius:3px;
    background:#fff0d6;
    color:#91621e;
  }

  .employer-empty-requests {
    color:var(--text-muted);
    font-size:12px;
    padding:14px;
    border:1px dashed #d8dbd4;
    border-radius:6px;
    background:#fafbf8;
  }

  @media (max-width:1100px) {
    .employer-simple-filters { grid-template-columns:repeat(2,1fr); }
    .employer-request-layout { grid-template-columns:1fr; }
  }

  @media (max-width:700px) {
    .employer-workforce-overview,
    .employer-simple-filters { grid-template-columns:1fr; }
  }


  /* ── EMPLOYER SELECTION WORKFLOW ── */
  .employer-workforce-heading,
  .employer-selection-title,
  .additional-request-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
  }
  .employer-additional-request-btn { white-space:nowrap; }
  .employer-four-filters { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }

  .employer-selection-section,
  .selection-submit-card,
  .additional-worker-request-card {
    margin-top:26px;
    padding:22px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
  }
  .employer-selection-section h4,
  .selection-submit-card h4,
  .additional-worker-request-card h4 {
    font-family:'Fraunces',serif;
    font-size:23px;
    color:var(--text);
    margin-bottom:6px;
  }
  .selected-workers-list {
    display:grid;
    gap:9px;
    margin:16px 0;
  }
  .selected-worker-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    padding:12px 14px;
    background:var(--off-white);
    border:1px solid var(--border);
    border-radius:6px;
  }
  .selected-worker-row strong { color:var(--green-dark); font-size:12px; }
  .selected-worker-row span { color:var(--text-muted); font-size:11px; }
  .selected-worker-remove {
    border:0;
    background:transparent;
    color:#9a3d2d;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
  }
  .worker-select-action {
    display:inline-flex;
    margin-top:16px;
    align-items:center;
    justify-content:center;
  }
  .portal-close-mini {
    border:0;
    background:transparent;
    font-size:25px;
    line-height:1;
    cursor:pointer;
    color:var(--text-muted);
  }
  #openSelectionSubmitButton:disabled {
    opacity:.45;
    cursor:not-allowed;
  }
  [hidden] { display:none !important; }

  @media (max-width:900px) {
    .employer-four-filters { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  }
  @media (max-width:700px) {
    .employer-workforce-heading,
    .employer-selection-title,
    .additional-request-head { flex-direction:column; }
    .employer-four-filters { grid-template-columns:1fr !important; }
    .employer-additional-request-btn { width:100%; }
  }


  .assessed-label {
    display:inline-block;
    margin-top:4px;
    color:var(--green);
    font-size:8px;
    font-weight:800;
    letter-spacing:.03em;
  }


  .employer-test-guide {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    margin:0 0 18px;
    background:#fff8e8;
    border:1px solid #f0d9a3;
    border-left:4px solid var(--orange);
    border-radius:6px;
  }
  .employer-test-guide strong {
    flex:0 0 auto;
    color:var(--green-dark);
    font-size:12px;
  }
  .employer-test-guide span {
    color:#6a624f;
    font-size:11px;
    line-height:1.5;
  }
  .employer-profile-header {
    display:grid;
    grid-template-columns:74px 1fr auto;
    gap:16px;
    align-items:start;
    margin-bottom:20px;
  }
  .employer-profile-photo {
    width:74px;
    height:88px;
    border-radius:6px;
    background:linear-gradient(145deg,#e8eee7,#d7e4d9);
    border:1px solid #cbd8cd;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--green);
    font-family:'Fraunces',serif;
    font-size:24px;
    font-weight:700;
  }
  .employer-profile-heading-copy h3 {
    margin:8px 0 4px;
    color:var(--text);
  }
  .employer-profile-heading-copy p {
    color:var(--text-muted);
    font-size:12px;
    line-height:1.4;
  }
  .employer-profile-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .employer-profile-action-row {
    display:flex;
    align-items:center;
    gap:14px;
    margin:18px 0;
  }
  .employer-profile-action-row span {
    color:var(--text-muted);
    font-size:11px;
  }
  @media (max-width:700px) {
    .employer-test-guide,
    .employer-profile-action-row { flex-direction:column; }
    .employer-profile-header { grid-template-columns:64px 1fr; }
    .employer-profile-header > .status-badge { grid-column:1/-1; width:max-content; }
    .employer-profile-photo { width:64px; height:78px; }
    .employer-profile-grid { grid-template-columns:1fr; }
  }


  /* Simple employer workforce basket */
  .workforce-choice-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:22px 0 28px;
  }
  .workforce-choice-card {
    position:relative;
    text-align:left;
    border:1px solid var(--border);
    background:#fff;
    border-radius:9px;
    padding:19px 18px 18px 54px;
    cursor:pointer;
    transition:.18s ease;
  }
  .workforce-choice-card:hover,
  .workforce-choice-card.active {
    border-color:var(--green);
    box-shadow:0 3px 14px rgba(18,75,43,.08);
  }
  .workforce-choice-card.active { background:#f6faf6; }
  .choice-number {
    position:absolute; left:16px; top:18px;
    width:26px; height:26px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--orange); color:#fff; font-weight:800; font-size:11px;
  }
  .workforce-choice-card strong { display:block; color:var(--green-dark); font-size:14px; margin-bottom:5px; }
  .workforce-choice-card small { display:block; color:var(--text-muted); font-size:11px; line-height:1.45; }
  .simple-section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; margin-bottom:16px; }
  .simple-section-head h4 { font-family:'Fraunces',serif; font-size:24px; color:var(--text); margin-bottom:5px; }

  .workforce-basket { display:grid; gap:9px; margin-bottom:14px; }
  .basket-row {
    display:grid;
    grid-template-columns:minmax(180px,1.4fr) minmax(100px,.55fr) 110px;
    gap:15px; align-items:center;
    padding:13px 15px;
    background:#fff; border:1px solid var(--border); border-radius:7px;
  }
  .basket-sector strong { display:block; color:var(--green-dark); font-size:12px; }
  .basket-sector small { color:var(--text-muted); font-size:10px; }
  .basket-available { font-size:10px; color:var(--text-muted); }
  .basket-available strong { color:var(--green); font-size:14px; margin-right:3px; }
  .basket-qty {
    width:100%; padding:9px 10px; border:1px solid #cfd7d0; border-radius:5px;
    font:inherit; text-align:center; background:#fff;
  }
  .basket-total {
    display:flex; justify-content:flex-end; align-items:center; gap:16px;
    margin:15px 0; padding:14px 16px; background:var(--green-dark); color:#fff; border-radius:7px;
  }
  .basket-total span { font-size:11px; font-weight:700; }
  .basket-total strong { font-family:'Fraunces',serif; font-size:27px; color:var(--gold); }
  .basket-review {
    margin:16px 0; padding:14px 16px; background:#f6faf6; border:1px solid #d9e6da; border-radius:6px;
    font-size:11px; line-height:1.7; color:#435448;
  }
  .basket-review strong { color:var(--green-dark); }
  .mini-selected-count { display:flex; align-items:baseline; gap:5px; padding:7px 11px; background:#f4f7f3; border-radius:5px; }
  .mini-selected-count strong { color:var(--orange); font-size:20px; }
  .mini-selected-count span { color:var(--text-muted); font-size:10px; }
  .employer-workflow-note { margin-top:26px; }

  @media(max-width:700px) {
    .workforce-choice-grid { grid-template-columns:1fr; }
    .basket-row { grid-template-columns:1fr 90px; }
    .basket-available { grid-column:1/2; }
    .basket-qty { grid-column:2/3; grid-row:1/3; align-self:center; }
  }


  #employerApp .employer-additional-sidebar {
    margin-top:6px;
    color:var(--gold);
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:14px;
  }
  #employerApp .employer-additional-sidebar:hover {
    color:white;
  }


  /* Dedicated Additional Workers page */
  #employerAdditionalWorkers .standalone-additional-request {
    margin-top:20px;
    max-width:920px;
  }

  #employerApp .employer-additional-sidebar {
    margin-top:6px;
    color:var(--gold);
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:14px;
  }

  #employerApp .employer-additional-sidebar.active {
    color:white;
  }


  /* ── SIMPLIFIED STAFF PORTAL ── */
  .staff-dashboard-summary { grid-template-columns:repeat(4,1fr); }
  .staff-primary-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:22px 0 26px;
  }
  .staff-primary-action {
    border:1px solid var(--border);
    background:#fff;
    border-radius:9px;
    padding:18px;
    text-align:left;
    cursor:pointer;
    font:inherit;
    transition:.18s;
  }
  .staff-primary-action:hover { border-color:rgba(14,90,43,.35); box-shadow:0 6px 20px rgba(14,90,43,.07); transform:translateY(-1px); }
  .staff-primary-action.featured { background:#f3f8f4; border-color:#bed4c3; }
  .staff-primary-action strong { display:block; color:var(--green-dark); font-size:14px; margin-bottom:6px; }
  .staff-primary-action small { display:block; color:var(--text-muted); font-size:11px; line-height:1.5; }
  .staff-registration-source {
    max-width:1100px;
    margin:0 auto 14px;
    padding:14px 16px;
    background:#edf6ef;
    border:1px solid #cfe0d2;
    border-radius:7px;
  }
  .staff-registration-source label { display:flex; flex-direction:column; gap:6px; font-size:11px; font-weight:700; color:#4a5d4e; }
  .staff-registration-source select { max-width:360px; padding:10px; border:1px solid #ccd5cc; border-radius:5px; background:white; font:inherit; }
  .staff-public-form-wrap { max-width:1100px; margin:0 auto; }
  .staff-public-form-wrap .reg-form-mock { max-width:none !important; width:100%; margin:0; }
  .staff-public-form-wrap .fade-in { opacity:1 !important; transform:none !important; }
  .staff-archive-card { max-width:850px; }
  .publish-toolbar {
    display:flex; align-items:end; justify-content:space-between; gap:14px;
    padding:14px 16px; margin:18px 0; background:#fff; border:1px solid var(--border); border-radius:7px;
  }
  .publish-toolbar label { display:flex; flex-direction:column; gap:6px; font-size:11px; font-weight:700; color:#555; }
  .publish-toolbar select { min-width:260px; padding:10px; border:1px solid #d5d8d2; border-radius:5px; background:#fff; font:inherit; }
  .staff-publish-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .staff-publish-card { background:#fff; border:1px solid var(--border); border-radius:8px; padding:17px; }
  .staff-publish-card-head { display:flex; align-items:flex-start; gap:10px; }
  .staff-publish-card-head input { margin-top:4px; }
  .staff-publish-card h4 { color:var(--green-dark); margin-bottom:4px; }
  .staff-publish-card p { color:var(--text-muted); font-size:11px; line-height:1.5; }
  .staff-publish-preview { margin-top:10px; padding:10px; background:var(--off-white); border-radius:5px; font-size:10px; color:#566158; line-height:1.5; }
  .staff-publish-state { display:inline-block; margin-top:10px; font-size:9px; font-weight:800; color:var(--green); }
  .mobilisation-list { display:grid; gap:10px; }
  .mobilisation-card { background:#fff; border:1px solid var(--border); border-radius:7px; padding:16px; }
  .application-full-details {
    display:none; margin-top:14px; padding:16px; background:#fafbf8; border:1px solid #e0e4dd; border-radius:6px;
  }
  .application-full-details.open { display:block; }
  .application-full-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .application-full-item { background:#fff; border:1px solid #eceee9; border-radius:5px; padding:9px; }
  .application-full-item small { display:block; color:#888; font-size:8px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:3px; }
  .application-full-item strong { display:block; font-size:11px; color:#444; overflow-wrap:anywhere; }
  @media(max-width:900px) {
    .staff-dashboard-summary, .staff-primary-actions, .staff-publish-grid { grid-template-columns:1fr 1fr; }
  }
  @media(max-width:700px) {
    .staff-dashboard-summary, .staff-primary-actions, .staff-publish-grid, .application-full-grid { grid-template-columns:1fr; }
    .publish-toolbar { flex-direction:column; align-items:stretch; }
    .publish-toolbar select { min-width:0; width:100%; }
  }


  /* V1BILLION — cleaner staff workspace */
  .staff-clean-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:22px 0 25px;
  }
  .staff-clean-action {
    display:flex; align-items:flex-start; gap:14px;
    border:1px solid var(--border); border-radius:8px; background:#fff;
    padding:18px; text-align:left; cursor:pointer; font:inherit; transition:.18s ease;
  }
  .staff-clean-action:hover { border-color:#b9d1be; box-shadow:0 5px 16px rgba(20,75,40,.06); }
  .staff-clean-action.featured { background:#f3f8f4; border-color:#bfd4c3; }
  .staff-clean-action div { flex:1; }
  .staff-clean-action strong { display:block; color:var(--green-dark); font-size:14px; margin-bottom:5px; }
  .staff-clean-action small { display:block; color:var(--text-muted); font-size:11px; line-height:1.5; }
  .worker-record-tabs-guide {
    display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 18px;
  }
  .worker-record-tabs-guide span {
    padding:7px 10px; border-radius:4px; background:#f2f5f1; border:1px solid #e0e6df;
    font-size:9px; font-weight:800; color:#536257; text-transform:uppercase; letter-spacing:.04em;
  }
  .request-workspace {
    margin-top:20px; padding:20px; border:1px solid #cbdacb; border-radius:9px; background:#f8fbf8;
  }
  .request-workspace-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; }
  .request-workspace-head h4 { font-family:'Fraunces',serif; font-size:22px; color:var(--green-dark); }
  .request-sector-needs { display:flex; flex-wrap:wrap; gap:9px; margin:16px 0; }
  .request-need-card { background:#fff; border:1px solid var(--border); border-radius:6px; padding:10px 13px; min-width:150px; }
  .request-need-card strong { display:block; color:var(--green-dark); font-size:11px; }
  .request-need-card span { color:var(--text-muted); font-size:10px; }
  .request-match-toolbar { display:flex; justify-content:space-between; align-items:center; margin:18px 0 8px; font-size:11px; }
  .request-suitable-workers { display:grid; gap:7px; max-height:440px; overflow:auto; }
  .request-worker-row {
    display:grid; grid-template-columns:24px 1fr auto; gap:10px; align-items:center;
    background:#fff; border:1px solid var(--border); border-radius:6px; padding:11px 12px; cursor:pointer;
  }
  .request-worker-row strong { display:block; color:#34453a; font-size:11px; }
  .request-worker-row small { display:block; color:var(--text-muted); font-size:9px; margin-top:2px; }
  .request-worker-row > span { font-size:9px; color:var(--green); font-weight:800; }
  .request-workspace-footer {
    display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:14px;
    padding-top:14px; border-top:1px solid #dce5dc; font-size:11px;
  }
  @media(max-width:700px) {
    .staff-clean-actions { grid-template-columns:1fr; }
    .request-workspace-footer { flex-direction:column; align-items:stretch; }
  }


  .application-real-form-shell { margin-top:12px; }
  .application-real-form-shell .application-form-view,
  #workerRecordRegistrationForm .application-form-view {
    width:100%;
    max-width:none;
    margin:0;
    box-shadow:none;
    border:1px solid var(--border);
  }
  .application-real-form-shell .fade-in,
  #workerRecordRegistrationForm .fade-in { opacity:1 !important; transform:none !important; }
  .application-review-footer {
    display:flex; gap:8px; margin-top:10px; padding:10px 0;
  }
  .employer-profile-publish-controls {
    display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end;
    margin-top:16px; padding:16px; background:#f7f9f6; border:1px solid var(--border); border-radius:7px;
  }
  .employer-profile-publish-controls label {
    display:flex; flex-direction:column; gap:6px; font-size:10px; font-weight:800; color:#555; text-transform:uppercase;
  }
  .employer-profile-publish-controls select { padding:10px; border:1px solid #d6dad4; border-radius:5px; background:#fff; font:inherit; }
  @media(max-width:700px) {
    .employer-profile-publish-controls { grid-template-columns:1fr; }
  }


  .request-type-pill {
    display:inline-flex;
    margin-right:8px;
    margin-bottom:7px;
    padding:5px 8px;
    border-radius:3px;
    background:#fff0d6;
    color:#91621e;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
  }
  .request-employer-details {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:14px 0;
  }
  .request-employer-details > div {
    background:#fff;
    border:1px solid var(--border);
    border-radius:5px;
    padding:10px;
  }
  .request-employer-details small {
    display:block;
    color:#888;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:3px;
  }
  .request-employer-details strong {
    font-size:11px;
    color:#444;
  }
  .selection-received-summary {
    display:flex;
    align-items:center;
    gap:12px;
    margin:16px 0 12px;
    padding:14px 16px;
    border-radius:7px;
    background:#edf6ef;
  }
  .selection-received-summary strong {
    font-family:'Fraunces',serif;
    font-size:28px;
    color:var(--green);
  }
  .selection-received-summary span {
    font-size:11px;
    color:#526155;
  }
  .selection-check {
    width:22px;
    height:22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf6ef;
    color:var(--green);
    font-size:11px;
    font-weight:900;
  }
  @media(max-width:700px) {
    .request-employer-details { grid-template-columns:1fr; }
  }


  /* Digital signature */
  .kp-signature-block { margin-top:16px; padding:16px; border:1px solid #d9e1d9; border-radius:7px; background:#fafcf9; }
  .kp-signature-block > label { display:block; font-size:11px; font-weight:800; color:#425448; margin-bottom:3px; }
  .kp-signature-canvas { display:block; width:100%; max-width:620px; height:150px; background:#fff; border:1px dashed #9eada1; border-radius:5px; touch-action:none; cursor:crosshair; }
  .kp-signature-actions { margin-top:8px; }
  .application-form-view .kp-signature-canvas { cursor:default; }

  /* Forgot password */
  .portal-forgot-link { display:block; margin:10px auto 0; border:0; background:transparent; color:var(--green); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
  .portal-forgot-panel { margin-top:13px; padding:14px; background:#f6f8f5; border:1px solid var(--border); border-radius:6px; text-align:left; }
  .portal-forgot-panel strong { display:block; color:var(--green-dark); font-size:12px; margin-bottom:5px; }
  .portal-forgot-panel p { font-size:10px; line-height:1.5; color:var(--text-muted); margin-bottom:9px; }
  .portal-reset-button { width:100%; margin-top:8px; }

  /* Staff worker contact access */
  .worker-quick-contact { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }
  .worker-quick-contact a { display:inline-flex; gap:5px; align-items:center; padding:6px 8px; border:1px solid #cfd9cf; border-radius:5px; background:#f7faf7; color:var(--green); text-decoration:none; font-size:9px; font-weight:800; }
  .worker-quick-contact a span { font-weight:600; color:#566158; }
  .worker-quick-contact.empty { font-size:9px; color:#999; }
  .worker-contact-strip { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 14px; margin:14px 0; background:#eef6ef; border:1px solid #d0e0d2; border-radius:7px; }
  .worker-contact-strip small { display:block; font-size:8px; color:#788579; letter-spacing:.05em; margin-bottom:2px; }
  .worker-contact-strip strong { color:var(--green-dark); font-size:13px; }
  .worker-contact-actions { display:flex; gap:7px; flex-wrap:wrap; }
  .worker-contact-actions a { text-decoration:none; }
  .whatsapp-action { background:#fff; color:var(--green); border-color:#bcd2c0; }
  @media(max-width:700px) { .worker-contact-strip { align-items:flex-start; flex-direction:column; } }


  .worker-contact-label {
    display:inline-flex; align-items:center; font-size:8px; font-weight:900;
    letter-spacing:.06em; color:#657267; margin-right:1px;
  }
  .worker-quick-contact a {
    font-size:10px !important;
    padding:7px 9px !important;
  }


  /* Worker contacts match the site's established orange outline phone/WhatsApp icons */
  .worker-quick-contact {
    display:flex !important;
    align-items:center;
    flex-wrap:wrap;
    gap:11px !important;
    margin:11px 0 !important;
  }
  .worker-contact-label {
    color:var(--green) !important;
    font-size:8px !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
  }
  .worker-contact-link,
  .worker-record-contact-link {
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    background:transparent !important;
    border:none !important;
    padding:3px 0 !important;
    color:var(--orange) !important;
    text-decoration:none !important;
    font-size:10px !important;
    font-weight:800 !important;
  }
  .worker-contact-link svg,
  .worker-record-contact-link svg {
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:0 0 21px;
  }
  .worker-contact-link svg path:nth-child(2),
  .worker-record-contact-link svg path:nth-child(2) { stroke-width:1.35; }
  .worker-contact-link span,
  .worker-record-contact-link span { color:var(--green-dark) !important; }
  .worker-contact-link:hover,
  .worker-record-contact-link:hover { color:#ffad35 !important; }

  .worker-contact-strip {
    border-left:3px solid var(--orange) !important;
    background:#fff !important;
  }
  .worker-contact-actions { display:flex; align-items:center; gap:14px !important; }

  /* Footer social set: Facebook, Instagram, TikTok, LinkedIn, YouTube */
  .footer-social-icon svg {
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .footer-social-icon[aria-label="Facebook"] svg path {
    fill:currentColor;
    stroke:none;
  }

  /* Company verification labels made clearly visible in company orange */
  .footer-dd-details span {
    color:var(--orange) !important;
    font-weight:800 !important;
    opacity:1 !important;
  }


  .worker-doc-group { margin-top:16px; border:1px solid var(--border); border-radius:8px; overflow:hidden; background:#fff; }
  .worker-doc-group-head { padding:14px 16px; background:#f7f9f6; border-bottom:1px solid var(--border); }
  .worker-doc-group-head > div { display:flex; align-items:center; gap:9px; }
  .worker-doc-group-head span { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--orange); color:#172018; font-size:9px; font-weight:900; }
  .worker-doc-group-head h5 { margin:0; color:var(--green-dark); font-size:13px; }
  .worker-doc-group-head p { margin:4px 0 0 33px; color:var(--text-muted); font-size:9px; line-height:1.5; }
  .worker-doc-row { display:grid; grid-template-columns:minmax(180px,1.5fr) 110px 130px minmax(150px,auto); gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid #edf0ec; }
  .worker-doc-row:last-child { border-bottom:0; }
  .worker-doc-name strong { display:block; font-size:10px; color:#354238; }
  .worker-doc-name small { display:block; margin-top:3px; font-size:8px; color:#899087; overflow-wrap:anywhere; }
  .worker-doc-status { justify-self:start; padding:4px 7px; border-radius:999px; font-size:8px; font-weight:900; }
  .worker-doc-status.ready { background:#eaf5ec; color:#3e6d48; }
  .worker-doc-status.missing { background:#f3f3f1; color:#858983; }
  .worker-doc-date { font-size:8px; color:#858b84; }
  .worker-doc-actions { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
  .doc-action { border:1px solid #ccd6cd; background:#fff; color:var(--green); border-radius:4px; padding:6px 8px; font-size:8px; font-weight:900; cursor:pointer; }
  .doc-action.upload { border-color:var(--orange); color:#9a651d; }
  .doc-action.view { background:var(--green); color:#fff; border-color:var(--green); }
  .worker-document-upload-panel { margin-top:18px; padding:16px; border:1px solid #d5ded5; border-left:3px solid var(--orange); border-radius:7px; background:#fbfcfa; }
  .worker-document-upload-panel[hidden] { display:none; }
  .worker-document-upload-panel > label:not(.upload-dropzone) { display:flex; flex-direction:column; gap:5px; max-width:380px; font-size:9px; font-weight:800; color:#5d685f; }
  .worker-document-upload-panel > label input { padding:9px; border:1px solid #d3d9d2; border-radius:4px; }
  @media(max-width:760px) {
    .worker-doc-row { grid-template-columns:1fr auto; gap:7px 10px; }
    .worker-doc-date { grid-column:1; }
    .worker-doc-actions { grid-column:2; grid-row:1 / span 2; }
    .worker-doc-group-head p { margin-left:0; }
  }


  /* V2 active Applications inbox + separate Archive */
  .application-view-tabs { display:flex; gap:8px; margin:18px 0; border-bottom:1px solid #dde2dc; padding-bottom:8px; }
  .application-view-tab { border:1px solid #d7ddd6; background:#fff; color:#58635a; padding:9px 12px; border-radius:5px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
  .application-view-tab span { display:inline-flex; min-width:20px; height:20px; align-items:center; justify-content:center; margin-left:5px; border-radius:99px; background:#f0f2ee; font-size:9px; }
  .application-view-tab.active { background:var(--green); border-color:var(--green); color:#fff; }
  .application-view-tab.active span { background:var(--orange); color:#142016; font-weight:900; }
  .application-archive-intro { display:flex; flex-direction:column; gap:4px; margin-bottom:13px; padding:13px 15px; border-left:3px solid var(--orange); background:#fff8ed; }
  .application-archive-intro strong { color:#78531e; font-size:12px; }
  .application-archive-intro span { color:#746957; font-size:10px; line-height:1.5; }
  .archived-application-card { opacity:.95; }
  .archive-reason { margin:10px 0; padding:8px 10px; background:#f5f5f2; border-radius:4px; color:#666; font-size:10px; }
  .status-chip.archived { background:#ecece9; color:#6f736d; }
  .dashboard-archive-count { display:block; margin-top:5px; color:#7c817b; font-size:9px; }

  /* Staff live notification centre */
  .staff-topbar-actions { display:flex; align-items:center; gap:10px; }
  .staff-notification-wrap { position:relative; }
  .staff-notification-button { position:relative; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border:1px solid #d6ddd5; border-radius:50%; background:#fff; cursor:pointer; }
  .staff-bell-icon { font-size:17px; }
  .staff-notification-badge { position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; align-items:center; justify-content:center; padding:0 5px; border-radius:99px; background:var(--orange); color:#172018; font-size:8px; font-weight:900; display:none; }
  .staff-notification-panel { position:absolute; top:48px; right:0; z-index:20; width:min(390px,85vw); background:#fff; border:1px solid #dfe4de; border-radius:8px; box-shadow:0 18px 50px rgba(20,42,25,.18); overflow:hidden; }
  .staff-notification-panel[hidden] { display:none; }
  .staff-notification-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:13px 14px; border-bottom:1px solid #edf0ec; }
  .staff-notification-head strong { display:block; color:var(--green-dark); font-size:12px; }
  .staff-notification-head span { display:block; color:#888; font-size:8px; margin-top:2px; }
  .staff-notification-head button { border:0; background:transparent; color:var(--green); font-size:9px; font-weight:800; cursor:pointer; }
  .staff-notification-list { max-height:380px; overflow:auto; }
  .staff-notification-item { width:100%; display:grid; grid-template-columns:9px 1fr; gap:8px; text-align:left; border:0; border-bottom:1px solid #f0f1ee; background:#fff; padding:11px 13px; cursor:pointer; }
  .staff-notification-item.unread { background:#f5faf6; }
  .staff-notification-dot { width:7px; height:7px; border-radius:50%; margin-top:4px; background:#d2d5d1; }
  .staff-notification-item.unread .staff-notification-dot { background:var(--orange); }
  .staff-notification-item strong { display:block; color:#39443b; font-size:10px; }
  .staff-notification-item small { display:block; margin-top:3px; color:#6f766f; font-size:9px; line-height:1.4; }
  .staff-notification-item em { display:block; margin-top:4px; color:#9a9f99; font-size:8px; font-style:normal; }
  .staff-notification-empty { padding:18px; color:#888; font-size:10px; }
  .staff-notification-settings-card { grid-column:1/-1; }
  .notification-channel-options { display:flex; gap:14px; flex-wrap:wrap; margin:12px 0 15px; }
  .notification-channel-options label { display:flex; align-items:center; gap:6px; font-size:10px; color:#555; }
  .notification-channel-options input { width:auto; }
  .prototype-notice.compact { margin-top:12px; padding:10px; background:#fff8e8; border:1px solid #f1dfb2; border-radius:5px; color:#806c42; font-size:9px; line-height:1.5; }

  /* Public employer enquiry submitted through the site */
  .public-enquiry-overlay { position:fixed; inset:0; z-index:2050; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(6,26,13,.78); backdrop-filter:blur(7px); }
  .public-enquiry-overlay.open { display:flex; }
  .public-enquiry-card { position:relative; width:min(720px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:10px; padding:28px; box-shadow:0 28px 90px rgba(0,0,0,.35); }
  .public-enquiry-card h2 { font-family:'Fraunces',serif; color:var(--green-dark); font-size:27px; margin-bottom:7px; }
  .public-enquiry-card > p { color:var(--text-muted); font-size:12px; line-height:1.5; margin-bottom:15px; }

  @media(max-width:700px) {
    .staff-notification-panel { position:fixed; top:76px; right:12px; left:12px; width:auto; }
    .application-view-tabs { flex-direction:column; }
    .staff-topbar-actions .btn-outline { display:none; }
  }



  /* Social footer refinement only — circular, authentic brand marks */
  .kp-modern-footer .footer-socials{
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    flex-wrap:nowrap !important;
    width:max-content;
    max-width:100%;
  }
  .kp-modern-footer .footer-social-label{
    color:var(--green);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
    line-height:1;
  }
  .kp-modern-footer .footer-social-icon-row{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
  }
  .kp-modern-footer .footer-social-icon{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1.5px solid #d6ddd8 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:var(--orange) !important;
    box-shadow:none !important;
    text-decoration:none !important;
    transition:border-color .18s, transform .18s, background .18s !important;
  }
  .kp-modern-footer .footer-social-icon:hover{
    transform:translateY(-2px) !important;
    border-color:var(--orange) !important;
    background:#fff8ed !important;
    filter:none !important;
  }
  .kp-modern-footer .footer-social-icon svg{
    width:20px !important;
    height:20px !important;
    display:block !important;
    overflow:visible;
  }
  .kp-modern-footer .footer-social-icon[aria-label="Facebook"] svg,
  .kp-modern-footer .footer-social-icon[aria-label="TikTok"] svg,
  .kp-modern-footer .footer-social-icon[aria-label="LinkedIn"] svg,
  .kp-modern-footer .footer-social-icon[aria-label="YouTube"] svg{
    fill:currentColor !important;
    stroke:none !important;
  }
  .kp-modern-footer .footer-social-icon[aria-label="Instagram"] svg{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.05 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }
  .kp-modern-footer .footer-social-icon[aria-label="Instagram"] .ig-dot{
    fill:currentColor !important;
    stroke:none !important;
  }
  @media(max-width:700px){
    .kp-modern-footer .footer-socials{
      align-items:flex-start !important;
      flex-direction:column;
      gap:9px !important;
      width:auto;
    }
    .kp-modern-footer .footer-social-icon-row{
      gap:8px;
    }
  }

/* Footer typography refinement: match Follow us / Email Us to Contact Us prominence */
.kp-modern-footer .footer-social-label{font-size:14px !important;font-weight:700 !important;line-height:1.2 !important;}
.kp-modern-footer .footer-email-row b{font-size:14px !important;font-weight:700 !important;line-height:1.2 !important;}
.kp-modern-footer .footer-email-row small{font-size:13px !important;line-height:1.35 !important;}

/* Production mobile/cross-browser worker registration hardening */
.kp-signature-canvas{touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;max-width:100%;}
@media(max-width:700px){
  #publicWorkerForm input,#publicWorkerForm select,#publicWorkerForm textarea{font-size:16px;max-width:100%;box-sizing:border-box}
  .kp-signature-canvas{height:170px}
}

/* Login password toggle: keep Show/Hide visually inside the field on desktop and mobile. */
.portal-password-wrap { position:relative; width:100%; margin:10px 0 12px; }
.portal-password-wrap .portal-password-input { width:100%; margin:0 !important; padding-right:78px !important; }
.portal-password-toggle {
  position:absolute; top:50%; right:12px; transform:translateY(-50%); z-index:2;
  display:inline-flex; align-items:center; justify-content:center; min-width:48px; height:32px;
  padding:0 7px; margin:0; border:0; border-radius:4px; background:transparent;
  color:var(--green); font:700 12px/1 'DM Sans',sans-serif; cursor:pointer; white-space:nowrap;
}
.portal-password-toggle:hover, .portal-password-toggle:focus-visible { background:rgba(14,90,43,.07); outline:none; }
.portal-password-toggle:focus-visible { box-shadow:0 0 0 2px rgba(14,90,43,.18); }
@media (max-width:700px) {
  .portal-password-wrap .portal-password-input { padding-right:72px !important; }
  .portal-password-toggle { right:8px; min-width:46px; }
}
