
  :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; }

  .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}
  }


  /* 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:minmax(240px,1fr) 190px 165px auto;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-layout-toggle{
    display:inline-flex;align-items:stretch;gap:5px;justify-content:flex-end;
  }
  .application-layout-toggle button{
    min-height:38px;padding:0 12px;border:1px solid #ccd3cd;border-radius:5px;
    background:#fff;color:#3f4942;font:inherit;font-size:10px;font-weight:800;cursor:pointer;
  }
  .application-layout-toggle button.active{
    background:var(--green);border-color:var(--green);color:#fff;
  }
  .application-browser-summary{
    display:flex;justify-content:space-between;gap:12px;align-items:center;
    margin:-4px 0 12px;color:#778078;font-size:9px;line-height:1.4;
  }
  .application-gallery-view{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .application-gallery-view .application-card{
    min-width:0;height:100%;display:flex;flex-direction:column;
  }
  .application-gallery-view .application-actions{margin-top:auto;padding-top:14px}
  .application-list-view .application-card{
    padding:13px 15px;
  }
  .application-list-view .application-card-top{
    align-items:center;
  }
  .application-list-view .application-worker-photo{
    width:46px;height:56px;
  }
  .application-list-view .application-actions{
    margin-top:9px;
  }
  .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:1050px){
    .application-gallery-view{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(max-width:760px){
    .application-toolbar{grid-template-columns:1fr}
    .application-toolbar > span:empty{display:none}
    .application-layout-toggle{justify-content:stretch}
    .application-layout-toggle button{flex:1}
    .application-browser-summary{align-items:flex-start;flex-direction:column;gap:3px}
    .application-gallery-view{grid-template-columns:1fr}
    .application-danger-zone{align-items:stretch;flex-direction:column}
    .application-delete-button{width:100%}
    .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;
  }
  .application-danger-zone{
    display:flex;justify-content:space-between;align-items:center;gap:18px;
    margin-top:18px;padding:18px 0 2px;border-top:1px solid #ead9d6;
  }
  .application-danger-zone > div{display:flex;flex-direction:column;gap:4px;max-width:760px}
  .application-danger-zone strong{color:#84251f;font-size:12px}
  .application-danger-zone span{color:#796562;font-size:10px;line-height:1.5}
  .application-delete-button{
    flex:0 0 auto;border:1px solid #c98781;background:#fff;color:#922d26;
    border-radius:5px;padding:9px 12px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;
  }
  .application-delete-button:disabled{opacity:.55;cursor:not-allowed}
  .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;}

/* V2 production alignment — Website Activity Alerts footer/action */
.staff-notification-view-all{display:block;padding:11px 14px;text-align:center;border-top:1px solid #edf0ec;color:var(--green);font-size:10px;font-weight:800;text-decoration:none;background:#fbfcfa}
.staff-notification-view-all:hover{background:#f3f8f4}
.staff-notification-head button:disabled{opacity:.42;cursor:default}
@media(max-width:1050px){.app-sidebar{overflow-y:auto}.app-sidebar .app-nav{font-size:12px;padding:9px 10px}}

/* KAZI PATHWAYS — feature01-final2-20260909 */

.kp-application-delete-overlay{
  position:fixed;
  inset:0;
  z-index:100500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(8,24,14,.52);
  backdrop-filter:blur(3px);
}

.kp-application-delete-modal{
  width:min(620px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:#fff;
  border:1px solid #e2e5e0;
  border-radius:10px;
  padding:28px;
  box-shadow:0 26px 90px rgba(0,0,0,.28);
}

.kp-application-delete-eyebrow{
  margin-bottom:10px;
  color:#9a2f29;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.kp-application-delete-modal h3{
  margin:0 0 13px;
  color:#162019;
  font-family:'Fraunces',Georgia,serif;
  font-size:28px;
  line-height:1.15;
}

.kp-application-delete-modal>p{
  margin:0;
  color:#4f5751;
  font-size:12px;
  line-height:1.65;
}

.kp-application-delete-warning{
  margin-top:18px;
  padding:14px 15px;
  border:1px solid #ecd8ae;
  border-radius:7px;
  background:#fff9ed;
}

.kp-application-delete-warning p{
  margin:0;
  color:#4c574f;
  font-size:11px;
  line-height:1.55;
}

.kp-application-delete-warning strong{
  color:#7a4d12;
}

.kp-application-delete-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:23px;
}

.kp-application-delete-cancel,
.kp-application-delete-confirm,
.kp-application-delete-done{
  min-height:42px;
  padding:0 16px;
  border-radius:6px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.kp-application-delete-cancel{
  border:1px solid #ccd1cc;
  background:#fff;
  color:#3d473f;
}

.kp-application-delete-confirm{
  border:1px solid #a42c25;
  background:#fff;
  color:#972b25;
}

.kp-application-delete-confirm:hover{
  background:#fff4f3;
}

.kp-application-delete-cancel:disabled,
.kp-application-delete-confirm:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.kp-application-delete-success{
  text-align:center;
}

.kp-application-delete-success-icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 13px;
  border-radius:50%;
  background:#edf7ef;
  color:var(--green);
  font-size:22px;
  font-weight:900;
}

.kp-application-delete-success
.kp-application-delete-ref{
  margin:8px 0 4px;
  color:var(--green);
  font-weight:900;
}

.kp-application-delete-done{
  margin-top:20px;
  border:1px solid var(--green);
  background:var(--green);
  color:#fff;
}

@media(max-width:640px){

  .kp-application-delete-overlay{
    padding:14px;
  }

  .kp-application-delete-modal{
    padding:22px 18px;
  }

  .kp-application-delete-modal h3{
    font-size:24px;
  }

  .kp-application-delete-actions{
    flex-direction:column-reverse;
  }

  .kp-application-delete-cancel,
  .kp-application-delete-confirm,
  .kp-application-delete-done{
    width:100%;
  }
}

/* ==========================================================
   KAZI PATHWAYS — WORKER RECORDS FINAL DESIGN
   ========================================================== */

.kp-worker-design-controls{
    width:100%;
    margin:18px 0 12px;
}

.kp-worker-search-row{
    width:100%;
}

.kp-worker-search-input{
    display:block;
    width:100%;
    height:52px;
    box-sizing:border-box;
    margin:0;
    padding:0 18px;
    border:1px solid #cfd8d3;
    border-radius:10px;
    background:#fff;
    color:#1d2939;
    font-size:16px;
    font-weight:400;
    outline:none;
    box-shadow:none;
}

.kp-worker-search-input:focus{
    border-color:#177447;
    box-shadow:0 0 0 3px rgba(23,116,71,.08);
}

.kp-worker-control-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px 12px;
    margin-top:12px;
}

.kp-worker-sort,
.kp-worker-view-button{
    width:100%;
    height:52px;
    box-sizing:border-box;
    border:1px solid #cfd8d3;
    border-radius:10px;
    background:#fff;
    color:#111827;
    font:inherit;
    font-size:16px;
    font-weight:650;
    box-shadow:none;
}

.kp-worker-sort{
    padding:0 16px;
}

.kp-worker-view-button{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    cursor:pointer;
}

.kp-worker-control-grid .kp-worker-view-button[data-kp-view="list"]{
    grid-column:1;
}

.kp-worker-view-button.active{
    border-color:#176f46;
    background:#176f46;
    color:#fff;
}

.kp-worker-record-count{
    margin-top:13px;
    color:#475467;
    font-size:14px;
    font-weight:400;
}

.kp-worker-hidden-old-filter{
    display:none !important;
}


/* GALLERY */

.staff-worker-grid.kp-worker-record-browser.kp-worker-gallery-mode{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px !important;
    align-items:stretch;
}

.staff-worker-grid.kp-worker-gallery-mode .staff-worker-card{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}


/* LIST */

.staff-worker-grid.kp-worker-record-browser.kp-worker-list-mode{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
}

.staff-worker-grid.kp-worker-list-mode .staff-worker-card{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box;
}


/* Worker card clean-up */

.staff-worker-grid .staff-worker-card{
    border:1px solid #e1e7e3 !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:none !important;
}

.staff-worker-grid .staff-worker-card:hover{
    border-color:#bfd0c6 !important;
    box-shadow:0 4px 14px rgba(16,24,40,.035) !important;
}

.staff-worker-grid .worker-card-actions button,
.staff-worker-grid .worker-card-actions .action-small{
    width:100%;
    min-height:42px;
    border:1px solid #aabbb2 !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#176846 !important;
    font-weight:700 !important;
}


/* DELETE SECTION — exact screenshot direction */

.kp-worker-delete-section{
    display:block !important;
    width:100%;
    box-sizing:border-box;
    margin:28px 0 38px !important;
    padding:28px 34px 30px !important;
    border:1px solid #ebd9d7 !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:none !important;
}

.kp-worker-delete-section h2{
    margin:0 0 10px !important;
    color:#8d1f24 !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:29px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
}

.kp-worker-delete-section p{
    max-width:860px;
    margin:0 0 24px !important;
    color:#475467 !important;
    font-size:15px !important;
    line-height:1.65 !important;
}

.kp-worker-delete-section .kp-worker-delete-button{
    min-width:260px;
    min-height:48px;
    padding:10px 24px;
    border:1px solid #b45155 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#9c242a !important;
    font:inherit;
    font-size:16px !important;
    font-weight:700 !important;
    cursor:pointer;
}

.kp-worker-delete-section .kp-worker-delete-button:hover{
    background:#fff7f7 !important;
    border-color:#9c242a !important;
}


/* DELETE CONFIRMATION */

.kp-worker-delete-backdrop{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:grid;
    place-items:center;
    padding:22px;
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(2px);
}

.kp-worker-delete-dialog{
    width:min(540px,100%);
    box-sizing:border-box;
    padding:26px;
    border:1px solid #e6e9e7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.20);
}

.kp-worker-delete-dialog h2{
    margin:0 0 11px;
    color:#101828;
    font-size:20px;
    line-height:1.35;
    font-weight:750;
}

.kp-worker-delete-dialog p{
    margin:0 0 16px;
    color:#475467;
    font-size:14px;
    line-height:1.6;
}

.kp-worker-delete-warning{
    margin:0 0 18px;
    padding:13px 15px;
    border:1px solid #f0d4b1;
    border-radius:10px;
    background:#fff8ef;
    color:#59462f;
    font-size:13px;
    line-height:1.55;
}

.kp-worker-delete-modal-error{
    margin:0 0 15px;
    padding:12px 14px;
    border:1px solid #efc3c3;
    border-radius:9px;
    background:#fff5f5;
    color:#a21d25;
    font-size:13px;
}

.kp-worker-delete-modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
}

.kp-worker-delete-modal-actions button{
    min-height:42px;
    padding:9px 16px;
    border-radius:9px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.kp-delete-cancel{
    border:1px solid #d0d5dd;
    background:#fff;
    color:#344054;
}

.kp-delete-confirm{
    border:1px solid #a8282d;
    background:#a8282d;
    color:#fff;
}

.kp-worker-delete-success{
    margin:0 0 15px;
    padding:12px 15px;
    border:1px solid #b9ddc8;
    border-radius:10px;
    background:#f3faf5;
    color:#17683f;
    font-size:14px;
    font-weight:650;
}


/* TABLET / MOBILE */

@media(max-width:820px){

    .staff-worker-grid.kp-worker-gallery-mode{
        grid-template-columns:1fr !important;
    }

}

@media(max-width:640px){

    .kp-worker-design-controls{
        margin-top:14px;
    }

    .kp-worker-search-input{
        height:50px;
        font-size:15px;
    }

    .kp-worker-control-grid{
        gap:9px;
    }

    .kp-worker-sort,
    .kp-worker-view-button{
        height:50px;
        font-size:15px;
    }

    .kp-worker-delete-section{
        padding:23px 20px 24px !important;
    }

    .kp-worker-delete-section h2{
        font-size:25px !important;
    }

    .kp-worker-delete-section .kp-worker-delete-button{
        width:100%;
        min-width:0;
    }

    .kp-worker-delete-modal-actions{
        flex-direction:column-reverse;
    }

    .kp-worker-delete-modal-actions button{
        width:100%;
    }
}

/* ============================================================
   KAZI PATHWAYS — FEATURE 04 OPTIONAL MIDDLE NAME
   STAFF V2
   ============================================================ */

.kp-middle-name-field{
    min-width:0;
}

.kp-middle-name-field .kp-middle-name-optional{
    margin-left:3px;
    color:#888;
    font-weight:500;
    text-transform:none;
    letter-spacing:0;
}

.kp-name-three-column-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.kp-middle-name-field input{
    width:100%;
}

@media(max-width:800px){

    .kp-name-three-column-row{
        grid-template-columns:1fr !important;
    }

}

/* FEATURE 04 — STABLE LAYOUT / NO JITTER */
.kp-name-three-column-row{
    align-items:start !important;
}

.kp-name-three-column-row > *{
    min-width:0 !important;
}

.kp-middle-name-field{
    contain:layout style !important;
}

.kp-middle-name-field input{
    box-sizing:border-box !important;
}


/* FEATURE 02 — WORKER RECORDS FINAL START */
.worker-record-browser-toolbar{display:grid!important;grid-template-columns:minmax(300px,1fr) 170px 180px auto auto!important;gap:9px!important;margin:18px 0 12px!important}
.worker-record-browser-toolbar input,.worker-record-browser-toolbar select{width:100%!important;min-height:44px!important;padding:11px 12px!important;background:#fff!important;border:1px solid #d3d9d4!important;border-radius:6px!important;box-shadow:none!important}
.worker-view-toggle{min-height:44px!important;padding:10px 14px!important;background:#fff!important;border:1px solid #ccd3cd!important;border-radius:6px!important;color:#333!important;font-weight:800!important;box-shadow:none!important}
.worker-view-toggle.active{background:#0E5A2B!important;border-color:#0E5A2B!important;color:#fff!important}
.worker-record-result-count{margin:0 0 12px!important;color:#66706a!important;font-size:12px!important}
.worker-record-browser-grid.list-mode{display:flex!important;flex-direction:column!important;gap:10px!important}
.worker-record-browser-grid.list-mode .worker-record-browser-card{width:100%!important}
.worker-record-browser-grid.gallery-mode{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.worker-record-browser-card{animation:none!important;transition:none!important;transform:none!important}
.worker-record-workspace{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;animation:none!important;transition:none!important;transform:none!important;overflow-anchor:none!important}
.worker-record-header{margin-top:0!important;background:#fff!important;border:1px solid #dfe3dd!important;border-radius:10px!important;padding:28px 30px!important;box-shadow:none!important}
.worker-record-header h3{font-family:Georgia,serif!important;font-size:32px!important;line-height:1.15!important;color:#111!important}
.worker-record-header-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.worker-edit-panel{margin:18px 0!important;padding:24px!important;background:#fff!important;border:1px solid #dfe3dd!important;border-radius:10px!important}
.worker-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.worker-edit-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:18px!important}
.worker-delete-zone{margin-top:30px!important;border:1px solid #efb5b0!important;background:#fffafa!important;border-radius:10px!important;padding:27px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;box-shadow:none!important}
.worker-delete-zone h4,.worker-delete-zone h3{font-family:Georgia,serif!important;color:#9e1d16!important;font-size:24px!important;line-height:1.2!important;margin:0 0 7px!important}
.worker-delete-zone p{margin:0!important;color:#6d504e!important;font-size:13px!important;line-height:1.55!important;max-width:1000px!important}
.worker-delete-button{padding:14px 22px!important;min-height:46px!important;border:1px solid #c94f47!important;border-radius:6px!important;background:#fff!important;color:#9e1d16!important;font-weight:800!important;white-space:nowrap!important;box-shadow:none!important}
.worker-delete-modal-wrap{position:fixed!important;inset:0!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(0,0,0,.42)!important;overflow:auto!important}
.worker-delete-modal{width:min(680px,100%)!important;background:#fff!important;border:0!important;border-radius:10px!important;padding:34px 36px!important;box-shadow:0 24px 80px rgba(0,0,0,.30)!important;animation:none!important;transform:none!important}
.worker-delete-modal h3{font-family:Georgia,serif!important;font-size:31px!important;line-height:1.1!important;color:#111!important;margin:0 0 18px!important}
.worker-delete-modal>p{color:#555!important;line-height:1.55!important;font-size:16px!important;margin:0!important}
.worker-delete-warning{padding:16px!important;margin-top:18px!important;background:#fff6e7!important;border:1px solid #efd19c!important;border-radius:7px!important;color:#555!important;font-size:13px!important;line-height:1.5!important}
.worker-delete-reset{margin-top:12px!important;padding:13px 14px!important;background:#f7eceb!important;border-left:4px solid #9e1d16!important;color:#555!important;font-size:13px!important;line-height:1.5!important}
.worker-delete-modal-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:24px!important}
.worker-delete-modal-actions button{min-height:44px!important;padding:12px 18px!important;border-radius:5px!important;background:#fff!important;font-weight:800!important;box-shadow:none!important}
.worker-delete-modal-actions .action-small.muted{border:1px solid #c7ccc8!important;color:#333!important}
.worker-delete-confirm{border:1px solid #a42c25!important;background:#fff!important;color:#9e1d16!important}
.worker-record-browser-toolbar,.worker-record-browser-grid,.worker-record-workspace,.worker-edit-panel,.worker-delete-zone,.worker-delete-modal{animation:none!important;transition:none!important}
@media(max-width:1050px){.worker-record-browser-toolbar{grid-template-columns:1fr 1fr 1fr!important}.worker-record-browser-toolbar input{grid-column:1/-1!important}.worker-record-browser-grid.gallery-mode{grid-template-columns:repeat(2,minmax(0,1fr))!important}.worker-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.worker-record-browser-toolbar{grid-template-columns:1fr 1fr!important}.worker-record-browser-toolbar input,.worker-record-browser-toolbar select:first-of-type{grid-column:1/-1!important}.worker-record-browser-grid.gallery-mode{grid-template-columns:1fr!important}.worker-edit-grid{grid-template-columns:1fr!important}.worker-delete-zone{display:block!important}.worker-delete-button{width:100%!important;margin-top:16px!important}.worker-delete-modal{padding:28px 22px!important}.worker-delete-modal h3{font-size:27px!important}.worker-delete-modal-actions{display:grid!important;grid-template-columns:1fr!important}.worker-delete-modal-actions button{width:100%!important}}
/* FEATURE 02 — WORKER RECORDS FINAL END */

/* Worker Delete button — desktop overflow fix */
.worker-delete-zone{
    min-width:0 !important;
}

.worker-delete-zone > div{
    min-width:0 !important;
    flex:1 1 auto !important;
}

.worker-delete-button{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:100% !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
}

@media (min-width:721px){
    .worker-delete-zone{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) max-content !important;
        align-items:center !important;
        gap:24px !important;
    }
}

/* Worker delete modal — match reference colours */
.worker-delete-modal{
    background:#fff !important;
    color:#111 !important;
}

.worker-delete-modal h3{
    color:#111 !important;
}

.worker-delete-modal > p{
    color:#333 !important;
    font-weight:600 !important;
}

.worker-delete-warning{
    background:#fffaf2 !important;
    border:1px solid #eadfcf !important;
    color:#0E5A2B !important;
}

.worker-delete-warning > div:first-child,
.worker-delete-warning > div:first-child strong{
    color:#0E5A2B !important;
}

.worker-delete-reset{
    background:#fff !important;
    border:0 !important;
    border-left:4px solid #9e1d16 !important;
    color:#0E5A2B !important;
}

.worker-delete-reset strong{
    color:#0E5A2B !important;
}

.worker-delete-modal-actions .action-small.muted{
    background:#fff !important;
    border:0 !important;
    color:#111 !important;
}

.worker-delete-confirm{
    background:#fff !important;
    border:1px solid #b95b55 !important;
    color:#9e1d16 !important;
}


/* Worker delete confirmation title — green */
.worker-delete-modal h3{
    color:#0E5A2B !important;
}


/* FEATURE 02 — EXACT BUTTONS */

/* Gallery / List */
.worker-view-toggle{
    border:1px solid #ccd3cd !important;
    background:#fff !important;
    padding:11px 14px !important;
    border-radius:6px !important;
    font-weight:800 !important;
    color:#333 !important;
    cursor:pointer !important;
    min-height:auto !important;
    box-shadow:none !important;
}

.worker-view-toggle.active{
    background:#0E5A2B !important;
    border-color:#0E5A2B !important;
    color:#fff !important;
}

/* Delete Worker Record */
.worker-delete-button{
    padding:10px 13px !important;
    border:1px solid #d8a8a4 !important;
    border-radius:5px !important;
    background:#fff !important;
    color:#9b251f !important;
    font-weight:800 !important;
    cursor:pointer !important;
    min-height:auto !important;
    box-shadow:none !important;
    white-space:nowrap !important;
}

/* Yes, Delete Permanently */
.worker-delete-confirm{
    min-height:42px !important;
    padding:0 16px !important;
    border:1px solid #a42c25 !important;
    border-radius:5px !important;
    background:#fff !important;
    color:#9b251f !important;
    font-weight:700 !important;
    cursor:pointer !important;
    box-shadow:none !important;
}


/* ============================================================
   03 APPLICATIONS — MATCH 04 WORKER RECORDS
   Gallery / List + Delete UI
   ============================================================ */

/* ---------- GALLERY / LIST BUTTONS ---------- */

/* cover existing Applications toggle class variants */
.applications-view-toggle,
.application-view-toggle,
.app-view-toggle,
.applications-toolbar .view-btn,
.application-toolbar .view-btn,
.application-browser-toolbar .view-btn,
.applications-browser-toolbar .view-btn,
.applications-toolbar button[data-view],
.application-toolbar button[data-view]{
    min-width:112px !important;
    min-height:46px !important;
    height:46px !important;
    padding:0 18px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid #ccd3cd !important;
    border-radius:6px !important;

    background:#fff !important;
    color:#333 !important;

    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;

    box-shadow:none !important;
    cursor:pointer !important;
    white-space:nowrap !important;
}

/* active view — same as Worker Records */
.applications-view-toggle.active,
.application-view-toggle.active,
.app-view-toggle.active,
.applications-toolbar .view-btn.active,
.application-toolbar .view-btn.active,
.application-browser-toolbar .view-btn.active,
.applications-browser-toolbar .view-btn.active,
.applications-toolbar button[data-view].active,
.application-toolbar button[data-view].active{
    background:#0E5A2B !important;
    border-color:#0E5A2B !important;
    color:#fff !important;
}


/* ---------- APPLICATION DELETE DANGER ZONE ---------- */

.application-delete-zone,
.app-delete-zone,
.application-danger-zone,
.app-danger-zone{
    margin-top:30px !important;
    padding:27px !important;

    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    align-items:center !important;
    gap:24px !important;

    border:1px solid #efb5b0 !important;
    border-radius:10px !important;
    background:#fffafa !important;

    box-shadow:none !important;
}

.application-delete-zone > div,
.app-delete-zone > div,
.application-danger-zone > div,
.app-danger-zone > div{
    min-width:0 !important;
}

.application-delete-zone h3,
.application-delete-zone h4,
.app-delete-zone h3,
.app-delete-zone h4,
.application-danger-zone h3,
.application-danger-zone h4,
.app-danger-zone h3,
.app-danger-zone h4{
    margin:0 0 7px !important;

    font-family:Georgia,serif !important;
    font-size:24px !important;

    color:#9b251f !important;
}

.application-delete-zone p,
.app-delete-zone p,
.application-danger-zone p,
.app-danger-zone p{
    margin:0 !important;
    color:#6d504e !important;
    font-size:13px !important;
    line-height:1.55 !important;
}


/* Delete Application button — exactly same treatment as Worker Record */
.application-delete-button,
.app-delete-button,
.delete-application-button{
    flex:0 0 auto !important;

    width:auto !important;
    max-width:100% !important;

    padding:10px 13px !important;

    border:1px solid #d8a8a4 !important;
    border-radius:5px !important;

    background:#fff !important;
    color:#9b251f !important;

    font-size:13px !important;
    font-weight:800 !important;

    white-space:nowrap !important;

    box-shadow:none !important;
    cursor:pointer !important;
}


/* ---------- APPLICATION DELETE MODAL ---------- */

.application-delete-modal-wrap,
.app-delete-modal-wrap{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:20px !important;
    background:rgba(0,0,0,.42) !important;
}

.application-delete-modal,
.app-delete-modal{
    width:min(680px,100%) !important;

    padding:34px 36px !important;

    background:#fff !important;
    border-radius:10px !important;

    box-shadow:0 24px 80px rgba(0,0,0,.30) !important;

    color:#111 !important;
}


/* heading GREEN — same decision made on Worker Record modal */
.application-delete-modal h3,
.app-delete-modal h3{
    margin:0 0 18px !important;

    font-family:Georgia,serif !important;
    font-size:31px !important;
    line-height:1.1 !important;

    color:#0E5A2B !important;
}


/* normal explanation */
.application-delete-modal > p,
.app-delete-modal > p{
    color:#333 !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.55 !important;
}


/* Important warning */
.application-delete-warning,
.app-delete-warning{
    margin-top:18px !important;

    padding:16px !important;

    background:#fffaf2 !important;
    border:1px solid #eadfcf !important;
    border-radius:7px !important;

    color:#0E5A2B !important;

    font-size:13px !important;
    line-height:1.5 !important;
}

.application-delete-warning strong,
.app-delete-warning strong{
    color:#0E5A2B !important;
}


/* backend behaviour note */
.application-delete-reset,
.app-delete-reset{
    margin-top:12px !important;

    padding:13px 14px !important;

    background:#fff !important;

    border:0 !important;
    border-left:4px solid #9b251f !important;

    color:#0E5A2B !important;
}

.application-delete-reset strong,
.app-delete-reset strong{
    color:#0E5A2B !important;
}


/* modal buttons */
.application-delete-modal-actions,
.app-delete-modal-actions{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;

    gap:10px !important;
    margin-top:24px !important;
}

.application-delete-modal-actions button,
.app-delete-modal-actions button{
    min-height:42px !important;
    padding:0 16px !important;

    border-radius:5px !important;

    font-weight:700 !important;
    box-shadow:none !important;
}


/* Cancel */
.application-delete-modal-actions .muted,
.application-delete-cancel,
.app-delete-cancel{
    border:0 !important;
    background:#fff !important;
    color:#111 !important;
}


/* Yes, Delete Permanently */
.application-delete-confirm,
.app-delete-confirm{
    border:1px solid #a42c25 !important;
    background:#fff !important;
    color:#9b251f !important;

    white-space:nowrap !important;
}


/* ---------- DESKTOP ---------- */

@media(min-width:721px){

    .applications-view-toggle,
    .application-view-toggle,
    .app-view-toggle,
    .applications-toolbar .view-btn,
    .application-toolbar .view-btn,
    .application-browser-toolbar .view-btn,
    .applications-browser-toolbar .view-btn{
        min-width:118px !important;
        height:48px !important;
    }

}


/* ---------- MOBILE ---------- */

@media(max-width:720px){

    .applications-view-toggle,
    .application-view-toggle,
    .app-view-toggle,
    .applications-toolbar .view-btn,
    .application-toolbar .view-btn,
    .application-browser-toolbar .view-btn,
    .applications-browser-toolbar .view-btn{
        width:100% !important;
        min-width:0 !important;
    }

    .application-delete-zone,
    .app-delete-zone,
    .application-danger-zone,
    .app-danger-zone{
        display:block !important;
    }

    .application-delete-button,
    .app-delete-button,
    .delete-application-button{
        width:100% !important;
        margin-top:16px !important;
    }

    .application-delete-modal,
    .app-delete-modal{
        padding:28px 22px !important;
    }

    .application-delete-modal-actions,
    .app-delete-modal-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    .application-delete-modal-actions button,
    .app-delete-modal-actions button{
        width:100% !important;
    }

}


/* ============================================================
   APPLICATIONS = WORKER RECORDS
   EXACT UNIFORM GALLERY/LIST + DELETE
   ============================================================ */


/* ---------- GALLERY / LIST ---------- */

/* same outer spacing as Worker Records */
.application-layout-toggle{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    min-width:230px !important;
    width:230px !important;
    justify-content:stretch !important;
}

/* EXACT same button treatment as Worker Records */
.application-layout-toggle button{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    height:44px !important;

    padding:11px 14px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid #ccd3cd !important;
    border-radius:6px !important;

    background:#fff !important;
    color:#333 !important;

    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;

    box-shadow:none !important;
    cursor:pointer !important;
}

/* ACTIVE = same Kazi green */
.application-layout-toggle button.active{
    background:#0E5A2B !important;
    border-color:#0E5A2B !important;
    color:#fff !important;
}


/* ---------- DELETE SECTION ---------- */

/* EXACT Worker Records danger box */
.application-danger-zone{
    margin-top:30px !important;
    padding:27px !important;

    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    align-items:center !important;
    gap:24px !important;

    border:1px solid #efb5b0 !important;
    border-radius:10px !important;

    background:#fffafa !important;

    box-shadow:none !important;
}

.application-danger-zone > div{
    min-width:0 !important;
    max-width:none !important;
    display:block !important;
}

/* Delete Application heading */
.application-danger-zone strong{
    display:block !important;
    margin:0 0 7px !important;

    font-family:Georgia,serif !important;
    font-size:24px !important;
    line-height:1.2 !important;

    color:#9b251f !important;
}

/* Delete explanation */
.application-danger-zone span{
    display:block !important;
    margin:0 !important;

    color:#6d504e !important;

    font-size:13px !important;
    line-height:1.55 !important;
}


/* EXACT Worker Records delete button */
.application-delete-button{
    flex:0 0 auto !important;

    width:auto !important;
    min-width:auto !important;
    max-width:100% !important;

    min-height:auto !important;
    height:auto !important;

    padding:10px 13px !important;

    border:1px solid #d8a8a4 !important;
    border-radius:5px !important;

    background:#fff !important;
    color:#9b251f !important;

    font-size:13px !important;
    font-weight:800 !important;

    line-height:1.2 !important;
    white-space:nowrap !important;

    box-shadow:none !important;
    cursor:pointer !important;
}


/* ---------- APPLICATION DELETE MODAL ---------- */

/* overlay same as Worker Records */
.kp-application-delete-overlay{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:20px !important;

    background:rgba(0,0,0,.42) !important;

    backdrop-filter:none !important;
}

/* modal same size/design */
.kp-application-delete-modal{
    width:min(680px,100%) !important;
    max-height:calc(100vh - 40px) !important;

    padding:34px 36px !important;

    overflow:auto !important;

    background:#fff !important;

    border:0 !important;
    border-radius:10px !important;

    box-shadow:0 24px 80px rgba(0,0,0,.30) !important;
}


/* remove extra red-style eyebrow visual */
.kp-application-delete-eyebrow{
    margin:0 0 10px !important;
    color:#0E5A2B !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
}


/* heading same green decision as Worker Records */
.kp-application-delete-modal h3{
    margin:0 0 18px !important;

    font-family:Georgia,serif !important;
    font-size:31px !important;
    line-height:1.1 !important;

    color:#0E5A2B !important;
}


/* body */
.kp-application-delete-modal > p{
    margin:0 !important;

    color:#333 !important;

    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.55 !important;
}


/* warning */
.kp-application-delete-warning{
    margin-top:18px !important;

    padding:16px !important;

    background:#fffaf2 !important;

    border:1px solid #eadfcf !important;
    border-radius:7px !important;

    color:#0E5A2B !important;
}

.kp-application-delete-warning p{
    margin:0 !important;

    color:#0E5A2B !important;

    font-size:13px !important;
    line-height:1.5 !important;
}

.kp-application-delete-warning strong{
    color:#0E5A2B !important;
}


/* modal actions */
.kp-application-delete-actions{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;

    gap:10px !important;
    margin-top:24px !important;
}


/* Cancel */
.kp-application-delete-cancel{
    min-height:42px !important;
    padding:0 16px !important;

    border:0 !important;
    border-radius:5px !important;

    background:#fff !important;
    color:#111 !important;

    font-size:13px !important;
    font-weight:700 !important;

    box-shadow:none !important;
}


/* Yes, Delete Permanently */
.kp-application-delete-confirm{
    min-height:42px !important;
    padding:0 16px !important;

    border:1px solid #a42c25 !important;
    border-radius:5px !important;

    background:#fff !important;
    color:#9b251f !important;

    font-size:13px !important;
    font-weight:700 !important;

    white-space:nowrap !important;

    box-shadow:none !important;
}


/* ---------- DESKTOP ---------- */
@media(min-width:721px){

    .application-layout-toggle{
        width:230px !important;
        min-width:230px !important;
    }

    .application-layout-toggle button{
        min-height:44px !important;
        height:44px !important;
    }

    .application-delete-button{
        width:auto !important;
        margin:0 !important;
    }
}


/* ---------- MOBILE ---------- */
@media(max-width:720px){

    .application-layout-toggle{
        width:100% !important;
        min-width:0 !important;
    }

    .application-layout-toggle button{
        width:100% !important;
    }

    .application-danger-zone{
        display:block !important;
    }

    .application-delete-button{
        width:100% !important;
        margin-top:16px !important;
    }

    .kp-application-delete-modal{
        padding:28px 22px !important;
    }

    .kp-application-delete-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    .kp-application-delete-actions button{
        width:100% !important;
    }
}


/* ============================================================
   FEATURE 04 — OPTIONAL MIDDLE NAME
   Existing V2 design preserved
   ============================================================ */

[data-kp-middle-name-field]{
    min-width:0 !important;
}

.kp-middle-name-label{
    display:block !important;
}

.kp-middle-name-label small{
    display:inline !important;
    font-size:inherit !important;
    font-weight:500 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    color:#888 !important;
}

/*
 When First / Middle / Surname share a grid,
 allow three equal columns on desktop.
*/
[data-kp-middle-name-field]:has(input[data-kp-middle-name]){
    box-sizing:border-box !important;
}

@media(min-width:801px){

    [data-kp-middle-name-field]{
        min-width:0 !important;
    }
}

@media(max-width:800px){

    [data-kp-middle-name-field]{
        width:100% !important;
    }
}


/* FEATURE 04 — KEEP ALL THREE NAME FIELDS VISIBLE */
.kp-three-name-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
}

.kp-name-first,
.kp-name-middle,
.kp-name-surname,
[data-kp-middle-name-field]{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-width:0 !important;
}

[data-kp-middle-name-field] input{
    display:block !important;
    width:100% !important;
}

@media(max-width:800px){
    .kp-three-name-row{
        grid-template-columns:1fr !important;
    }
}


/* FEATURE 04 FINAL — FIRST | MIDDLE | SURNAME */
.form-row.kp-three-name-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:start !important;
}

.form-row.kp-three-name-row > .form-field{
    display:flex !important;
    flex-direction:column !important;
    visibility:visible !important;
    opacity:1 !important;
    min-width:0 !important;
}

.form-row.kp-three-name-row input{
    display:block !important;
    width:100% !important;
}

.kp-name-optional{
    color:#888 !important;
    font-weight:500 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
}

@media(max-width:800px){
    .form-row.kp-three-name-row{
        grid-template-columns:1fr !important;
    }
}

/* KP STAFF NEW APPLICATION NAME ROW FINAL 20260909 */

#staffRegistrationForm .kp-staff-name-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}

#staffRegistrationForm .kp-staff-name-row>.form-field{
  display:grid!important;
  grid-template-rows:22px auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

#staffRegistrationForm .kp-staff-name-row>.form-field>label{
  display:block!important;
  height:22px!important;
  min-height:22px!important;
  margin:0 0 7px!important;
  padding:0!important;
  line-height:18px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

#staffRegistrationForm .kp-staff-name-row>.form-field>input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

@media(max-width:720px){

  #staffRegistrationForm .kp-staff-name-row{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

}

/* KP REAL STAFF WORKER GALLERY UNIFORM 20260909 */


/*
|--------------------------------------------------------------------------
| GALLERY GRID
|--------------------------------------------------------------------------
*/

.staff-worker-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;

  /*
   * Every card in each gallery row receives the same height.
   */
  grid-auto-rows:1fr !important;

  gap:16px !important;
  align-items:stretch !important;

  width:100% !important;
}


/*
|--------------------------------------------------------------------------
| CARD
|--------------------------------------------------------------------------
*/

.staff-worker-grid > .staff-worker-card{
  box-sizing:border-box !important;

  width:100% !important;
  min-width:0 !important;
  height:100% !important;

  /*
   * Four permanent vertical zones:
   *
   * 1 identity/details
   * 2 contact
   * 3 visibility
   * 4 button
   *
   * This is what makes every worker card line up.
   */
  display:grid !important;
  grid-template-rows:
    minmax(0,1fr)
    76px
    27px
    52px !important;

  gap:0 !important;

  padding:18px !important;
  margin:0 !important;

  overflow:hidden !important;

  background:#fff !important;
  border:1px solid #dfe3dd !important;
  border-radius:8px !important;
}


/*
|--------------------------------------------------------------------------
| TOP / IDENTITY
|--------------------------------------------------------------------------
*/

.staff-worker-card-head{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;

  gap:16px !important;
  align-items:start !important;

  min-width:0 !important;
  width:100% !important;

  margin:0 !important;
  padding:0 0 14px !important;

  overflow:hidden !important;
}


/*
|--------------------------------------------------------------------------
| PHOTO
|--------------------------------------------------------------------------
*/

.staff-worker-card-head .worker-list-photo{
  width:92px !important;
  height:108px !important;

  min-width:92px !important;
  min-height:108px !important;
  max-width:92px !important;
  max-height:108px !important;

  border-radius:6px !important;

  overflow:hidden !important;

  flex:none !important;
}

.staff-worker-card-head .worker-list-photo img{
  display:block !important;

  width:100% !important;
  height:100% !important;

  object-fit:cover !important;
}


/*
|--------------------------------------------------------------------------
| TEXT COLUMN
|--------------------------------------------------------------------------
*/

.staff-worker-card-copy{
  display:flex !important;
  flex-direction:column !important;

  min-width:0 !important;
  width:100% !important;

  overflow:hidden !important;
}


/* Screening / status chip */
.staff-worker-card-copy .demo-pill{
  align-self:stretch !important;

  width:100% !important;
  min-height:29px !important;

  display:flex !important;
  align-items:center !important;

  margin:0 0 9px !important;

  box-sizing:border-box !important;
}


/*
 * Worker ID + Name
 *
 * Give every card exactly the same name area.
 */
.staff-worker-card-copy h4{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;

  min-height:48px !important;
  max-height:48px !important;

  margin:0 0 8px !important;

  line-height:24px !important;

  overflow:hidden !important;

  overflow-wrap:anywhere !important;
  word-break:normal !important;
}


/*
 * Sector, region, experience, English, passport.
 *
 * The card itself stays aligned even when one worker has more text.
 */
.staff-worker-card-copy p{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:7 !important;

  min-height:126px !important;
  max-height:126px !important;

  margin:0 !important;

  font-size:12px !important;
  line-height:18px !important;

  overflow:hidden !important;

  overflow-wrap:anywhere !important;
}


/*
|--------------------------------------------------------------------------
| CONTACT — SAME POSITION ON EVERY CARD
|--------------------------------------------------------------------------
*/

.staff-worker-grid
.staff-worker-card
.worker-quick-contact{
  box-sizing:border-box !important;

  display:flex !important;
  align-content:flex-start !important;
  align-items:flex-start !important;

  flex-wrap:wrap !important;

  width:100% !important;
  min-width:0 !important;

  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;

  gap:8px 12px !important;

  margin:0 !important;
  padding:11px 0 8px !important;

  overflow:hidden !important;

  border-top:1px solid #edf0ed !important;
}


.staff-worker-grid
.worker-quick-contact
.worker-contact-label{
  flex:0 0 100% !important;

  height:13px !important;
  margin:0 !important;

  line-height:13px !important;
}


.staff-worker-grid
.worker-quick-contact
.worker-contact-link{
  max-width:100% !important;

  overflow:hidden !important;
}


.staff-worker-grid
.worker-quick-contact
.worker-contact-link span{
  max-width:145px !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;

  white-space:nowrap !important;
}


/*
|--------------------------------------------------------------------------
| INTERNAL ONLY / PUBLISHED
|--------------------------------------------------------------------------
*/

.staff-worker-grid
.staff-worker-card
.staff-worker-visibility{
  align-self:center !important;

  display:inline-flex !important;
  align-items:center !important;

  width:max-content !important;
  max-width:100% !important;

  height:22px !important;

  margin:2px 0 3px !important;

  box-sizing:border-box !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}


/*
|--------------------------------------------------------------------------
| BUTTON — EXACT SAME BOTTOM LINE
|--------------------------------------------------------------------------
*/

.staff-worker-grid
.staff-worker-card
.worker-card-actions{
  display:flex !important;

  align-items:flex-end !important;

  width:100% !important;
  min-width:0 !important;

  height:52px !important;

  margin:0 !important;
  padding-top:8px !important;
}


.staff-worker-grid
.staff-worker-card
.worker-card-actions .action-small{
  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  width:100% !important;

  min-height:43px !important;
  height:43px !important;

  margin:0 !important;

  box-sizing:border-box !important;

  white-space:nowrap !important;
}


/*
|--------------------------------------------------------------------------
| Remove accidental card movement / stretching animations
|--------------------------------------------------------------------------
*/

.staff-worker-grid > .staff-worker-card,
.staff-worker-grid > .staff-worker-card:hover{
  transform:none !important;
  translate:none !important;

  transition:
    border-color .15s ease,
    box-shadow .15s ease !important;
}


/*
|--------------------------------------------------------------------------
| FEATURE-02 NEW GALLERY CLASSES
|
| Keep these uniform too, in case current JS switches to the newer renderer.
|--------------------------------------------------------------------------
*/

.kp-worker-gallery{
  display:grid !important;

  grid-template-columns:
    repeat(3,minmax(0,1fr)) !important;

  grid-auto-rows:1fr !important;

  gap:16px !important;

  align-items:stretch !important;
}


.kp-worker-gallery-card{
  height:100% !important;

  display:grid !important;

  grid-template-rows:
    minmax(125px,auto)
    1fr
    50px !important;

  min-width:0 !important;

  box-sizing:border-box !important;
}


.kp-worker-gallery-top{
  min-width:0 !important;
}


.kp-worker-gallery-grid{
  align-content:start !important;
}


.kp-worker-gallery-bottom{
  align-self:end !important;
  min-height:50px !important;
}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media(max-width:1180px){

  .staff-worker-grid,
  .kp-worker-gallery{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:720px){

  .staff-worker-grid,
  .kp-worker-gallery{
    grid-template-columns:1fr !important;

    grid-auto-rows:auto !important;
  }


  .staff-worker-grid > .staff-worker-card{
    height:auto !important;

    grid-template-rows:
      auto
      auto
      auto
      auto !important;
  }


  .staff-worker-card-head{
    grid-template-columns:
      76px minmax(0,1fr) !important;
  }


  .staff-worker-card-head .worker-list-photo{
    width:76px !important;
    height:91px !important;

    min-width:76px !important;
    min-height:91px !important;
  }


  .staff-worker-card-copy h4{
    min-height:auto !important;
    max-height:none !important;

    -webkit-line-clamp:3 !important;
  }


  .staff-worker-card-copy p{
    min-height:auto !important;
    max-height:none !important;

    -webkit-line-clamp:unset !important;
  }


  .staff-worker-grid
  .staff-worker-card
  .worker-quick-contact{
    height:auto !important;
    min-height:68px !important;
    max-height:none !important;
  }


  .staff-worker-grid
  .staff-worker-card
  .worker-card-actions{
    height:auto !important;
  }

}

/* END KP REAL STAFF WORKER GALLERY UNIFORM */

/* KAZI PATHWAYS — POINT 05 PHYSICAL FORMS FINAL 20260909 */
.kp-physical-heading{align-items:flex-start!important}.kp-physical-heading h3{margin:.15rem 0 .35rem!important}.kp-physical-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#0e5a2b;margin-bottom:4px}
.kp-physical-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 10px}.kp-physical-toolbar .btn-primary{min-height:42px}.kp-physical-toolbar select,.kp-physical-search{min-height:42px;border:1px solid #d6dbd4;border-radius:8px;background:#fff;padding:0 12px;font:inherit;color:#233328}.kp-physical-search{flex:1 1 290px;min-width:220px}.kp-physical-toolbar .action-small.active{background:#0e5a2b!important;color:#fff!important;border-color:#0e5a2b!important}.kp-physical-count{font-size:12px;color:#667067;margin:8px 0 12px}.kp-physical-error{border-color:#d7a04c!important;background:#fff7e9!important}
.kp-physical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.kp-physical-card{display:grid;grid-template-rows:210px 1fr;min-width:0;background:#fff;border:1px solid #dfe4de;border-radius:10px;overflow:hidden;box-shadow:0 2px 7px rgba(12,54,31,.04)}.kp-physical-card-preview{display:grid;place-items:center;background:#f0f3ed;border-bottom:1px solid #e1e5df;overflow:hidden}.kp-physical-card-preview img{width:100%;height:100%;object-fit:cover;display:block}.kp-physical-pdf-tile{display:grid;place-items:center;gap:6px;padding:24px;text-align:center;color:#647067}.kp-physical-pdf-tile span{display:grid;place-items:center;width:70px;height:86px;border:2px solid #aeb8af;border-radius:5px;background:#fff;color:#9c251c;font-weight:900;font-size:20px}.kp-physical-pdf-tile small{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-physical-card-body{display:flex;flex-direction:column;min-width:0;padding:15px}.kp-physical-name{font-size:17px;line-height:1.25;color:#183c28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px}.kp-physical-meta{font-size:12px;line-height:1.55;color:#69716b;margin:9px 0;overflow-wrap:anywhere}.kp-physical-status{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;min-height:25px;padding:4px 8px;border-radius:999px;background:#eef5ef;color:#0e5a2b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.kp-physical-status.digitised_application,.kp-physical-status.digitised_worker{background:#e8f6ed;color:#0d6a35}.kp-physical-status.processing{background:#fff3da;color:#8b5b00}.kp-physical-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:auto;padding-top:15px}.kp-physical-actions .action-small{min-height:36px;justify-content:center}.physical-green{background:#0e5a2b!important;color:#fff!important;border-color:#0e5a2b!important}.physical-danger{background:#fff!important;color:#9e1d16!important;border-color:#d8aaa6!important}.physical-danger:hover{background:#fff1f0!important}.kp-physical-actions button:disabled,.kp-physical-row-actions button:disabled{opacity:.45;cursor:not-allowed}
.kp-physical-list-wrap{overflow:auto;border:1px solid #dfe4de;border-radius:10px;background:#fff}.kp-physical-list{width:100%;border-collapse:collapse;min-width:920px}.kp-physical-list th,.kp-physical-list td{padding:12px;border-bottom:1px solid #ecefec;text-align:left;vertical-align:middle;font-size:12px}.kp-physical-list th{background:#f7f8f5;color:#38483d;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.kp-physical-row-actions{display:flex;gap:6px;white-space:nowrap}.kp-physical-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}.kp-physical-pagination span{font-size:12px;color:#657067}.kp-physical-empty{text-align:center;color:#687269;padding:35px!important}.kp-physical-note{margin-top:16px!important}
.kp-physical-overlay{position:fixed;inset:0;z-index:4300;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(21,45,31,.56);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:auto}.kp-physical-modal{width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid #e1e5df;border-radius:18px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.kp-physical-modal.wide{width:min(1120px,100%)}.kp-physical-modal.review{width:min(1500px,calc(100vw - 36px));height:calc(100vh - 36px);max-height:none;padding:18px;overflow:hidden}.kp-physical-modal h3{margin:0 0 8px;color:#144c31}.kp-physical-modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.kp-physical-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}.kp-physical-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#3b463e}.kp-physical-form-grid label.full{grid-column:1/-1}.kp-physical-form-grid input,.kp-physical-form-grid select{width:100%;min-height:42px;border:1px solid #cfd5ce;border-radius:7px;padding:0 10px;font:inherit;box-sizing:border-box}.kp-physical-uploadbox{padding:16px;border:1px dashed #aeb8ae;border-radius:9px;background:#f8faf6}.kp-physical-uploadbox input{border:0;padding:8px 0 0;min-height:0}.kp-physical-uploadbox small{font-weight:500;color:#687268}.kp-physical-view-image{display:grid;place-items:center;min-height:300px;max-height:65vh;overflow:auto;background:#eef1ed;border:1px solid #dfe3dd;border-radius:8px;padding:12px}.kp-physical-view-image img{max-width:100%;height:auto;display:block}.kp-physical-view-pdf{width:100%;height:65vh;border:1px solid #dfe3dd;border-radius:8px;background:#fff}.kp-physical-delete-note{padding:12px;border:1px solid #edc2be;border-radius:8px;background:#fff4f3;color:#79241f;font-size:13px}.kp-physical-delete-confirm{min-height:40px;padding:0 15px;border:1px solid #9e1d16;border-radius:7px;background:#9e1d16;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.kp-physical-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}.kp-physical-steps span{padding:10px 8px;border:1px solid #dfe4de;border-radius:7px;background:#f8f9f6;color:#687169;text-align:center;font-size:11px;font-weight:800}.kp-physical-steps span.active{background:#0e5a2b;color:#fff;border-color:#0e5a2b}.kp-physical-dupbox{padding:15px;border:1px solid #edcf92;border-radius:8px;background:#fff8e9}.kp-physical-dupbox p{margin:6px 0 12px;color:#655d4e;font-size:13px}.kp-physical-dup-results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kp-physical-dup-results>div{display:grid;gap:6px;padding:10px;background:#fff;border:1px solid #ead9af;border-radius:6px}.kp-physical-dup-results a{font-size:12px;color:#0e5a2b;text-decoration:none}.kp-physical-dup-results a:hover{text-decoration:underline}
.kp-physical-review-workspace{display:grid;grid-template-columns:minmax(420px,.86fr) minmax(560px,1.14fr);gap:16px;height:calc(100vh - 150px);min-height:500px}.kp-physical-previewbox,.kp-physical-review-form{min-width:0;min-height:0;border:1px solid #dfe3dd;border-radius:10px;background:#f7f8f5;overflow:hidden}.kp-physical-previewbox{display:grid;grid-template-rows:auto 1fr auto auto}.kp-physical-previewhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #dfe3dd;background:#fff}.kp-physical-zoomtools{display:flex;align-items:center;gap:5px}.kp-physical-zoomtools button{min-width:34px;height:32px;border:1px solid #ccd3cc;border-radius:6px;background:#fff;font:inherit;font-weight:800}.kp-physical-zoomtools span{min-width:48px;text-align:center;font-size:11px}.kp-physical-image-scroller{overflow:auto;padding:12px;background:#e9ede7}.kp-physical-image-wrap{position:relative;min-width:100%;transform-origin:top left}.kp-physical-pagecanvas{display:block;width:100%;height:auto;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.12);touch-action:none}.kp-physical-pagecanvas.cropmode{cursor:crosshair}.kp-physical-cropbox{position:absolute;border:2px solid #f28c00;background:rgba(242,140,0,.14);pointer-events:none;box-sizing:border-box}.kp-physical-preview-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:#fff;border-top:1px solid #dfe3dd}.kp-physical-preview-actions .action-small.active{background:#0e5a2b!important;color:#fff!important;border-color:#0e5a2b!important}.kp-physical-crophelp{padding:9px 12px;background:#fff7e8;color:#725318;font-size:11px;border-top:1px solid #ecd4a0}.kp-physical-pdf-frame{width:100%;height:100%;min-height:480px;border:0;background:#fff}.kp-physical-file-badge{padding:4px 8px;border-radius:5px;background:#9e1d16;color:#fff;font-size:10px;font-weight:900}.kp-physical-review-form{display:flex;flex-direction:column;background:#fff;overflow:auto}.kp-physical-review-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #e1e5df}.kp-physical-review-head h3{margin:0}.kp-physical-review-head span{padding:5px 8px;border-radius:999px;background:#fff3d8;color:#8c5c00;font-size:10px;font-weight:800}.kp-physical-review-form>.staff-public-form-wrap{padding:12px 14px 0}.kp-physical-review-form .reg-form-mock{max-width:none!important}.kp-physical-review-form .form-submit,.kp-physical-review-form #staffRegistrationMessage{display:none!important}.kp-physical-selected-asset{margin:6px 14px;padding:8px 10px;border:1px solid #c8decf;border-radius:6px;background:#eff8f1;color:#205d36;font-size:11px}.kp-physical-savebox{margin:16px 14px 18px;padding:15px;border:1px solid #dfe4de;border-radius:9px;background:#f8f9f6}.kp-physical-savebox h4{margin:0 0 5px;color:#17492f}.kp-physical-savebox p{margin:0;color:#657067;font-size:12px;line-height:1.5}.kp-physical-success{padding:18px;border:1px solid #b8dac2;border-radius:9px;background:#eff9f2;color:#205b35}.kp-physical-success strong{font-size:16px}.kp-physical-success p{margin:7px 0 10px}.kp-physical-success a{color:#0e5a2b;font-weight:800}
@media(max-width:1180px){.kp-physical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-physical-review-workspace{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.kp-physical-modal.review{width:calc(100vw - 20px);height:calc(100vh - 20px);padding:12px}.kp-physical-review-workspace{display:block;height:auto;overflow:auto}.kp-physical-previewbox{min-height:520px;margin-bottom:12px}.kp-physical-review-form{overflow:visible}.kp-physical-form-grid{grid-template-columns:1fr 1fr}.kp-physical-steps{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.kp-physical-grid{grid-template-columns:1fr}.kp-physical-card{grid-template-rows:180px 1fr}.kp-physical-toolbar>*{width:100%}.kp-physical-toolbar .action-small{width:auto}.kp-physical-actions{grid-template-columns:1fr}.kp-physical-overlay{padding:10px;align-items:flex-start}.kp-physical-modal{padding:18px;border-radius:13px;max-height:calc(100vh - 20px)}.kp-physical-form-grid,.kp-physical-dup-results{grid-template-columns:1fr}.kp-physical-form-grid label.full{grid-column:auto}.kp-physical-modal-actions>*{flex:1 1 100%}.kp-physical-previewbox{min-height:430px}.kp-physical-pdf-frame{min-height:380px}.kp-physical-steps{grid-template-columns:1fr}.kp-physical-review-head{align-items:flex-start;flex-direction:column}.kp-physical-list-wrap{margin:0 -4px}}
/* END KAZI PATHWAYS — POINT 05 PHYSICAL FORMS FINAL */
/* KAZI PATHWAYS — POINT 05 PROTOTYPE 100% BEHAVIOUR/UI 20260909 */
.kp-p05{--p05-green:#0b5529;--p05-orange:#f39a17;--p05-bg:#f3f4f0;--p05-line:#dfe3dc;--p05-muted:#69706b;--p05-red:#a6322b;color:#171814;font:14px Arial,sans-serif;max-width:1500px}
.kp-p05 *,.kp-p05-overlay *{box-sizing:border-box}.kp-p05 button,.kp-p05 input,.kp-p05 select,.kp-p05 textarea,.kp-p05-overlay button,.kp-p05-overlay input,.kp-p05-overlay select,.kp-p05-overlay textarea{font:inherit}.kp-p05 button,.kp-p05-overlay button{cursor:pointer}
.kp-p05-eyebrow{color:var(--p05-orange,#f39a17);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.kp-p05-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.kp-p05 h1{font:32px Georgia,serif;margin:7px 0}.kp-p05-sub{color:#616862;max-width:1000px;line-height:1.55}
.kp-p05-toolbar{margin:24px 0 14px;background:#fff;border:1px solid var(--p05-line);border-radius:8px;padding:14px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.kp-p05-primary{background:var(--p05-orange,#f39a17);color:#171814;border:0;border-radius:5px;padding:11px 16px;font-weight:800}.kp-p05-green{background:var(--p05-green,#0b5529);color:#fff;border:0;border-radius:5px;padding:10px 14px;font-weight:800}.kp-p05-secondary{background:#fff;border:1px solid #cbd1cb;border-radius:5px;padding:9px 12px;font-weight:700;color:#171814;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.kp-p05-secondary.on{background:var(--p05-green,#0b5529);color:#fff}.kp-p05-danger{background:#fff;border:1px solid #d9aaa6;color:var(--p05-red,#a6322b);border-radius:5px;padding:9px 12px;font-weight:700}.kp-p05 button:disabled{opacity:.48;cursor:not-allowed}.kp-p05-search{flex:1;min-width:190px;padding:10px;border:1px solid #ccd2cc;border-radius:5px}.kp-p05-toolbar select{padding:10px;border:1px solid #ccd2cc;border-radius:5px;background:#fff}.kp-p05-count{font-size:12px;color:var(--p05-muted,#69706b);margin:8px 0 12px}.kp-p05-error{margin:12px 0;padding:12px;border:1px solid #e8c884;background:#fff8e9;border-radius:7px;color:#7a5310}
.kp-p05-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.kp-p05-card{background:#fff;border:1px solid var(--p05-line);border-radius:8px;overflow:hidden;display:grid;grid-template-rows:145px 1fr}.kp-p05-preview{height:145px;background:#eef0eb;display:grid;place-items:center;border-bottom:1px solid var(--p05-line);overflow:hidden}.kp-p05-thumbcanvas,.kp-p05-thumbimg{width:100%;height:100%;object-fit:cover;display:block}.kp-p05-paper{width:90px;height:115px;background:#fff;border:1px solid #c9cec8;padding:10px}.kp-p05-preview .fallbackpaper{display:grid;place-items:center}.kp-p05-line{height:4px;background:#d9ddd8;margin:7px 0}.kp-p05-filetype{text-align:center;font-size:10px;font-weight:800;color:var(--p05-red,#a6322b);margin-top:12px}.kp-p05-body{padding:15px;display:flex;flex-direction:column;min-width:0}.kp-p05-name{font:700 18px Georgia,serif}.kp-p05-meta{font-size:12px;color:var(--p05-muted,#69706b);line-height:1.55;margin-top:5px;overflow-wrap:anywhere}.kp-p05-actions{display:flex;gap:7px;margin-top:auto;padding-top:12px;flex-wrap:wrap}.kp-p05-pill{display:inline-block;align-self:flex-start;padding:5px 8px;border-radius:999px;background:#eef0eb;font-size:10px;font-weight:800;margin-top:8px}.kp-p05-pill.done{background:#eaf5ed;color:var(--p05-green,#0b5529)}
.kp-p05-list{background:#fff;border:1px solid var(--p05-line);border-radius:8px;overflow:auto}.kp-p05-list table{width:100%;border-collapse:collapse;min-width:900px}.kp-p05-list th,.kp-p05-list td{padding:12px;border-bottom:1px solid #e6e9e5;text-align:left;font-size:12px;vertical-align:middle}.kp-p05-list th{background:#f7f8f5;font-size:11px}.kp-p05-list td .kp-p05-secondary,.kp-p05-list td .kp-p05-green,.kp-p05-list td .kp-p05-danger{padding:7px 9px}.kp-p05-empty{background:#fff;border:1px solid var(--p05-line);padding:30px;text-align:center;color:var(--p05-muted,#69706b);border-radius:8px}.kp-p05-note{margin-top:14px;background:#fff7e9;border-left:4px solid var(--p05-orange,#f39a17);padding:12px;line-height:1.5;font-size:12px}.kp-p05-oknote{margin-top:14px;background:#eef6f0;border-left:4px solid var(--p05-green,#0b5529);padding:12px;line-height:1.5;font-size:12px}.kp-p05-oknote a{color:var(--p05-green,#0b5529);font-weight:800}
.kp-p05-overlay{position:fixed;inset:0;background:#0007;display:none;place-items:center;padding:18px;z-index:5000}.kp-p05-overlay.open{display:grid}.kp-p05-modal{background:#fff;border-radius:9px;width:min(720px,100%);padding:18px;max-height:92vh;overflow:auto;font:14px Arial,sans-serif;color:#171814}.kp-p05-modal.wide{width:min(1600px,98vw)}.kp-p05-modal h2{font:25px Georgia,serif;margin:0 0 7px}.kp-p05-modal p{color:#626963;line-height:1.5}.kp-p05-modalactions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}.kp-p05-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kp-p05-field.full{grid-column:1/-1}.kp-p05-field>label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:5px}.kp-p05-field input:not([type=checkbox]):not([type=radio]),.kp-p05-field select,.kp-p05-field textarea{width:100%;padding:10px;border:1px solid #ccd2cc;border-radius:4px;background:#fff}.kp-p05-field textarea{min-height:92px;resize:vertical}.kp-p05-upload{border:2px dashed #c8d1c8;padding:24px;text-align:center;border-radius:6px}.kp-p05-upload input{width:auto!important;border:0!important;padding:0!important}.kp-p05-fields.spaced{margin-top:12px}
.kp-p05-steps{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}.kp-p05-steps span{padding:7px 10px;border-radius:999px;background:#eef0eb;color:#66706a;font-size:11px;font-weight:800}.kp-p05-steps span.on{background:var(--p05-green,#0b5529);color:#fff}.kp-p05-dup{padding:14px;border:1px solid #edcf92;background:#fff8e9;border-radius:7px;margin:12px 0}.kp-p05-dup-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.kp-p05-dup-results>div{display:grid;gap:6px;padding:10px;border:1px solid #ead8af;background:#fff;border-radius:5px}.kp-p05-dup-results a{font-size:12px;color:var(--p05-green,#0b5529);text-decoration:none}.kp-p05-digitise-title{margin-bottom:4px!important}
.kp-p05-workspace{display:grid;grid-template-columns:minmax(520px,42%) minmax(0,58%);gap:16px}.kp-p05-previewbox{background:#fff;border:1px solid var(--p05-line,#dfe3dc);border-radius:8px;padding:12px;position:sticky;top:15px;height:max-content;min-width:0}.kp-p05-previewhead{background:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.kp-p05-previewhead h2{margin:0 0 8px}.kp-p05-previewcontent{padding:0}.kp-p05-docviewer{border:1px solid var(--p05-line,#dfe3dc);border-radius:7px;background:#f7f8f5;overflow:auto;max-height:560px;padding:8px;scrollbar-gutter:stable;cursor:grab;touch-action:none}.kp-p05-docviewer.panning{cursor:grabbing}.kp-p05-docviewer.cropmode .kp-p05-pagecanvas{cursor:crosshair}.kp-p05-toolactive,.kp-p05-secondary.toolactive{background:var(--p05-orange,#f39a17)!important;color:#111!important;border-color:var(--p05-orange,#f39a17)!important}.kp-p05-pagewrap{position:relative;margin-bottom:12px;transform-origin:top left;width:max-content;max-width:none}.kp-p05-pagecanvas{display:block;max-width:none;height:auto;border:1px solid #d5d9d5;background:#fafafa;cursor:crosshair;touch-action:none}.kp-p05-cropoverlay{position:absolute;border:3px solid var(--p05-orange,#f39a17);pointer-events:none;display:none}.kp-p05-crophelp{font-size:11px;color:var(--p05-muted,#69706b);line-height:1.45;margin-top:8px}.kp-p05-controls{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap}.kp-p05-zoomtools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}.kp-p05-zoomtools button{background:#fff;border:1px solid #cbd1cb;border-radius:5px;padding:7px 10px;font-weight:700}.kp-p05-zoomreadout{min-width:56px;text-align:center;font-weight:800}.kp-p05-pageinfo{font-size:11px;color:var(--p05-muted,#69706b);font-weight:700}
.kp-p05-formbox{background:#fff;border:1px solid var(--p05-line,#dfe3dc);border-radius:8px;padding:16px;min-width:0}.kp-p05-review-title{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.kp-p05-review-title h2{margin:0}.kp-p05-section{border-top:1px solid #e4e8e3;padding-top:18px;margin-top:20px}.kp-p05-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.kp-p05-section h3{font:20px Georgia,serif;margin:0 0 12px}.kp-p05-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kp-p05-check{padding:10px;border:1px solid #e2e6e1;border-radius:5px;background:#f9faf8}.kp-p05-matrix{width:100%;border-collapse:collapse;min-width:0}.kp-p05-matrix th,.kp-p05-matrix td{padding:8px;border-bottom:1px solid #e7e9e6;text-align:center;font-size:12px}.kp-p05-matrix th:first-child,.kp-p05-matrix td:first-child{text-align:left}.kp-p05-flag{font-size:10px;color:#8d5600;font-weight:800;margin-top:4px}.kp-p05-photo{width:105px;height:125px;border:1px solid #cdd2cd;background:#eef0eb;object-fit:cover;display:block;margin-top:6px}.kp-p05-photo.empty{display:block}.kp-p05-sign-help{font-size:12px;color:#616862;margin:4px 0 8px}.kp-p05-signaturebox{width:100%;height:180px;background:#fff;border:1px solid #ccd2cc;border-radius:4px;touch-action:none}
.kp-p05-view-pages{display:grid;gap:14px;max-height:72vh;overflow:auto;padding:8px;background:#f7f8f5;border:1px solid var(--p05-line,#dfe3dc);border-radius:7px}.kp-p05-view-pages .kp-p05-pagecanvas{max-width:100%;height:auto;margin:auto}
/* Prototype review mode: one fixed workspace with two independent scroll panes. */
.kp-p05-modal.reviewing{height:92vh;max-height:92vh;overflow:hidden;display:flex;flex-direction:column}.kp-p05-modal.reviewing>.kp-p05-workspace{flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.kp-p05-modal.reviewing .kp-p05-previewbox{position:static;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.kp-p05-modal.reviewing .kp-p05-previewhead{flex:0 0 auto}.kp-p05-modal.reviewing .kp-p05-previewcontent{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.kp-p05-modal.reviewing .kp-p05-docviewer{flex:1 1 auto;min-height:260px;max-height:none;overflow:auto}.kp-p05-modal.reviewing .kp-p05-formbox{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
@media(max-width:1000px){.kp-p05-grid{grid-template-columns:repeat(2,1fr)}.kp-p05-workspace{grid-template-columns:1fr}.kp-p05-previewbox{position:static}.kp-p05-modal.reviewing{height:auto;max-height:92vh;overflow:auto;display:block}.kp-p05-modal.reviewing>.kp-p05-workspace{height:auto;overflow:visible}.kp-p05-modal.reviewing .kp-p05-previewbox,.kp-p05-modal.reviewing .kp-p05-formbox{height:auto;overflow:visible}.kp-p05-modal.reviewing .kp-p05-docviewer{max-height:560px;overflow:auto}}
@media(max-width:680px){.kp-p05-title-row{display:block}.kp-p05-title-row>.kp-p05-secondary{margin-top:12px}.kp-p05-grid{grid-template-columns:1fr}.kp-p05-fields{grid-template-columns:1fr}.kp-p05-field.full{grid-column:auto}.kp-p05-checks{grid-template-columns:1fr}.kp-p05-toolbar>*{width:100%}.kp-p05-toolbar .kp-p05-secondary{width:auto}.kp-p05-overlay{padding:10px;place-items:start center}.kp-p05-modal{max-height:calc(100vh - 20px);padding:15px}.kp-p05-modalactions>*{flex:1 1 100%}.kp-p05-dup-results{grid-template-columns:1fr}.kp-p05-matrix{min-width:650px}.kp-p05-section{overflow-x:auto}}
/* END KAZI PATHWAYS — POINT 05 PROTOTYPE 100% */

/* KAZI PATHWAYS — POINT 05 VIEWER HARD FIX 20260909 */

.kp-p05-docviewer{
  position:relative;
  min-height:300px;
}


.kp-p05-pdf-fallback{
  display:block;
  width:100%;
  height:520px;
  border:0;
  background:#fff;
}

.kp-p05-zoomtools button:disabled,
.kp-p05-controls button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.kp-p05-matrix input[type="radio"],
.kp-p05-check input[type="checkbox"],
.kp-p05-field input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  margin:0 4px 0 0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}

.kp-p05-formbox{
  scroll-behavior:auto!important;
}

/* END KAZI PATHWAYS — POINT 05 VIEWER HARD FIX *//* KAZI PATHWAYS — 05 Physical Forms final reliability polish 20260913 */
.kp-p05-pdf-fallback{display:block;width:100%;height:100%;min-height:520px;border:0;background:#fff}
.kp-p05-modal.reviewing .kp-p05-pdf-fallback{min-height:100%}
@media(max-width:680px){.kp-p05-pdf-fallback{min-height:420px}}

/* 05 Physical Forms hard reset viewer — 2026-09-13 */
.kp-p05-native-preview{display:block;width:100%;min-height:520px;border:0;background:#fff;object-fit:contain}
img.kp-p05-native-preview{height:auto;max-height:70vh}
.kp-p05-file-fallback{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.kp-p05-file-fallback input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:680px){
  .kp-p05-modal.wide{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:14px;border-radius:12px}
  .kp-p05-digitise-title{font-size:32px!important;line-height:1.04!important;overflow-wrap:anywhere}
  .kp-p05-steps{gap:8px;margin:14px 0 18px}
  .kp-p05-steps span{font-size:12px;padding:9px 12px}
  .kp-p05-previewhead{display:block}
  .kp-p05-previewhead h2{font-size:26px!important;line-height:1.08}
  .kp-p05-zoomtools{margin-top:10px}
  .kp-p05-native-preview{min-height:420px}
  .kp-p05-docviewer{touch-action:auto;min-height:420px;padding:4px}
  .kp-p05-controls .kp-p05-secondary,.kp-p05-controls .kp-p05-primary{min-height:44px}
}

/* 05 Physical Forms — deterministic PDF preview, 2026-09-13 */
.kp-p05-preview-loading,.kp-p05-preview-error{width:100%;height:100%;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:18px;color:#68706b;background:#f5f6f2}
.kp-p05-preview-error b{color:#171814;font-size:13px}.kp-p05-preview-error span{font-size:12px;line-height:1.4;max-width:210px}
.kp-p05-mini-spinner{width:22px;height:22px;border:3px solid #dce1da;border-top-color:#0b5529;border-radius:50%;display:inline-block;animation:kpP05Spin .7s linear infinite;flex:0 0 auto}
@keyframes kpP05Spin{to{transform:rotate(360deg)}}
.kp-p05-viewer-preparing,.kp-p05-viewer-error{min-height:360px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:28px;background:#f8f9f6;border:1px solid #e0e4de;border-radius:8px;color:#68706b}
.kp-p05-viewer-preparing b,.kp-p05-viewer-error b{font-size:16px;color:#222}.kp-p05-viewer-preparing small,.kp-p05-viewer-error span{max-width:420px;line-height:1.5}
.kp-p05-thumbcanvas{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;background:#fff}
@media(max-width:680px){.kp-p05-viewer-preparing,.kp-p05-viewer-error{min-height:330px;padding:22px 14px}.kp-p05-preview{min-height:190px}.kp-p05-thumbcanvas{object-fit:cover;object-position:top center}}

/* 05 Physical Forms — server-generated image preview, 2026-09-13 */
.kp-p05-preview{background:#fff!important}
.kp-p05-thumbimg{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;display:block!important;background:#fff}
.kp-p05-view-image-direct{display:block;max-width:100%;width:auto;height:auto;margin:0 auto;background:#fff}
.kp-p05-docviewer>div:empty{min-height:0!important}
.kp-p05-preview-loading,.kp-p05-viewer-preparing,.kp-p05-mini-spinner{display:none!important}
@media(max-width:680px){
  .kp-p05-preview{min-height:0!important;height:190px!important}
  .kp-p05-thumbimg{object-fit:cover!important;object-position:top center!important}
}

/* 05 FINAL REAL PAGE */
.kp-p05-preview-loading,.kp-p05-viewer-preparing,.kp-p05-mini-spinner{display:none!important}
.kp-p05-preview{background:#fff!important}
.kp-p05-preview img,.kp-p05-thumbimg{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important}
.kp-p05-docviewer{background:#fff!important}
.kp-p05-docviewer .kp-p05-pagewrap{margin:0 auto 12px!important}
.kp-p05-docviewer .kp-p05-pagecanvas{display:block!important;background:#fff!important}
/* 05 DIGITISE DIRECT IMAGE FIX — gallery and review use exactly the same preview image */
.kp-p05-direct-image-wrap{position:relative;width:max-content;max-width:none;margin:0 auto 12px!important;background:#fff}
.kp-p05-direct-review-image{display:block!important;max-width:none!important;height:auto;object-fit:contain;background:#fff;user-select:none;-webkit-user-drag:none;touch-action:none}
.kp-p05-docviewer.cropmode .kp-p05-direct-review-image{cursor:crosshair}
@media(max-width:680px){.kp-p05-direct-review-image{touch-action:none}.kp-p05-docviewer{background:#fff!important}}

/* 05 AUTO EXTRACTION */
.kp-p05-extract-stage{padding:8px 0}
.kp-p05-extract-card{border:1px solid #dfe3dc;border-radius:12px;background:#fff;padding:28px;text-align:center}
.kp-p05-extract-card h3{font:700 24px Georgia,serif;margin:8px 0}
.kp-p05-extract-card p{max-width:680px;margin:8px auto;color:#69706b;line-height:1.55}
.kp-p05-extract-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#edf6ef;color:#0b5529;font-size:28px;font-weight:800}
.kp-p05-extract-stage .kp-p05-error{margin-top:16px;text-align:left}
.kp-p05-extract-stage .kp-p05-note{margin-top:16px;text-align:left}
@media(max-width:680px){
  .kp-p05-extract-card{padding:20px 14px}
  .kp-p05-extract-card h3{font-size:22px}
}

/* 05 DEEP AI EXTRACTION — missing/unreadable review states */
.kp-p05-missing{border:1.5px solid #c9342f!important;background:#fff8f7!important;padding:8px!important;border-radius:6px}
.kp-p05-missing>label{color:#a5221e!important}
.kp-p05-missing input,.kp-p05-missing select,.kp-p05-missing textarea{border-color:#d85a55!important;background:#fff!important}
.kp-p05-missing::after{content:"Not extracted — please complete";display:block;color:#a5221e;font-size:10px;font-weight:800;margin-top:5px}
.kp-p05-missing-row{background:#fff1f0!important}
.kp-p05-missing-row td:first-child{color:#a5221e!important;font-weight:800}
.kp-p05-missing-group{border:1.5px solid #c9342f!important;background:#fff8f7!important;border-radius:6px;padding:8px!important}
.kp-p05-missing-summary{margin:10px 0 14px;padding:11px 12px;border-left:4px solid #c9342f;background:#fff2f1;color:#84231f;font-size:12px;line-height:1.45}
.kp-p05-complete-summary{margin:10px 0 14px;padding:11px 12px;border-left:4px solid #0b5529;background:#eef7f0;color:#0b5529;font-size:12px;font-weight:700}
.kp-p05-zoomtools .toolactive{background:#0b5529!important;color:#fff!important;border-color:#0b5529!important}

.kp-p05-engine{margin:10px 0;padding:10px 12px;border-radius:6px;font-size:12px;font-weight:800}
.kp-p05-engine.ok{background:#eaf6ed;color:#0b5529;border:1px solid #a9d4b5}
.kp-p05-engine.warn{background:#fff2f0;color:#9e2a25;border:1px solid #e3aaa6}

/* 05 archive queue + completed archive */
.kp-p05-archive-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}
.kp-p05-archive-tab{border:1px solid #cfd6cf;background:#fff;color:#315341;border-radius:999px;padding:9px 13px;font-weight:800}
.kp-p05-archive-tab.active{background:#0b5529;color:#fff;border-color:#0b5529}
.kp-p05-tab-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;margin-left:5px;background:#eef1ec;color:#173b28;font-size:11px}
.kp-p05-archive-tab.active .kp-p05-tab-count{background:#fff;color:#0b5529}
.kp-p05-actions a.kp-p05-secondary,.kp-p05-modalactions a.kp-p05-green{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:680px){.kp-p05-archive-tabs{display:grid;grid-template-columns:1fr 1fr}.kp-p05-archive-tab{width:100%}}

/* Upload-time duplicate protection */
.kp-p05-duplicate-upload-error{margin:12px 0 15px;padding:12px 14px;border:1px solid #d99b96;border-left:4px solid #a6322b;border-radius:6px;background:#fff4f3;color:#7e2521;line-height:1.5}
.kp-p05-duplicate-upload-error b{display:block;margin-bottom:3px;color:#8f2823}

/* 05 professional extraction progress */
.kp-p05-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.kp-p05-progress-head h3{margin:0 0 5px;font-size:20px}
.kp-p05-progress-head p{margin:0;color:#66706a;line-height:1.45}
.kp-p05-progress-percent{font-size:28px;font-weight:900;color:#0b5529;min-width:72px;text-align:right}
.kp-p05-progress-track{height:12px;border-radius:999px;background:#e5e9e4;overflow:hidden;border:1px solid #d8ddd8}
.kp-p05-progress-fill{height:100%;width:0;border-radius:999px;background:#0b5529;transition:width .35s ease}
.kp-p05-progress-stages{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px}
.kp-p05-progress-stage{font-size:10px;color:#818882;line-height:1.25;text-align:center;font-weight:700}
.kp-p05-progress-stage span{display:grid;place-items:center;margin:0 auto 6px;width:24px;height:24px;border-radius:50%;background:#edf0ec;color:#67706a;font-size:10px}
.kp-p05-progress-stage.done{color:#0b5529}
.kp-p05-progress-stage.done span{background:#0b5529;color:#fff}
@media(max-width:680px){
 .kp-p05-progress-stages{grid-template-columns:repeat(4,minmax(0,1fr))}
 .kp-p05-progress-percent{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.kp-p05-progress-fill{transition:none}}

/* Professional blocking errors */
.staff-save-error{background:#fff2f1!important;border:1px solid #dda39e!important;border-left:5px solid #a6322b!important;color:#7f2521!important;font-weight:700!important;padding:14px 16px!important;border-radius:7px!important;margin:14px 0!important}
.kp-p05-duplicate-upload-error{box-shadow:0 0 0 2px rgba(166,50,43,.04)}

/* 05 Physical Forms typography aligned 100% with 03 Applications */
.kp-p05,
.kp-p05-overlay,
.kp-p05-modal,
.kp-p05 button,
.kp-p05 input,
.kp-p05 select,
.kp-p05 textarea,
.kp-p05-overlay button,
.kp-p05-overlay input,
.kp-p05-overlay select,
.kp-p05-overlay textarea,
.kp-p05 table,
.kp-p05 th,
.kp-p05 td,
.kp-p05 a,
.kp-p05 span,
.kp-p05 p,
.kp-p05 small,
.kp-p05 label {
  font-family:'DM Sans',sans-serif !important;
}

.kp-p05 h1,
.kp-p05 h2,
.kp-p05 h3,
.kp-p05 h4,
.kp-p05-modal h1,
.kp-p05-modal h2,
.kp-p05-modal h3,
.kp-p05-modal h4,
.kp-p05-name,
.kp-p05-section h3,
.kp-p05-previewhead h2,
.kp-p05-review-title h2 {
  font-family:'Fraunces',serif !important;
}

/* Keep sizes/weights calm and consistent with Applications */
.kp-p05 h1{font-size:30px!important;line-height:1.12!important;font-weight:600!important}
.kp-p05-modal h2{font-size:25px!important;line-height:1.16!important;font-weight:600!important}
.kp-p05-section h3{font-size:20px!important;line-height:1.2!important;font-weight:600!important}
.kp-p05-name{font-size:17px!important;font-weight:600!important}
.kp-p05-field>label,
.kp-p05-list th,
.kp-p05-eyebrow{
  font-family:'DM Sans',sans-serif!important;
}

/* 05 manual-smart fallback */
.kp-p05-engine.ok,.kp-p05-engine.warn{background:#eef6f0!important;color:#0b5529!important;border-color:#b9d8c2!important}
.kp-p05-review-assist-note{margin:10px 0;padding:11px 12px;background:#f5f7f3;border-left:4px solid #0b5529;color:#365443;border-radius:4px}

/* Fast upload UX */
.kp-p05-uploading-note{font-size:11px;color:#66706a;margin-top:6px}

/* 05 stable review viewer + comfortable crop workflow */
.kp-p05-viewer-status{margin:8px 0 10px;padding:7px 9px;border-radius:5px;background:#f2f5f1;color:#52665a;font-size:11px;font-weight:700}
.kp-p05-crop-actions{position:sticky;bottom:0;z-index:4;background:#fff;padding:9px 0 4px;border-top:1px solid #e4e8e3}
.kp-p05-fallback-actions{margin-top:8px}
.kp-p05-cropoverlay{border:3px solid #f39a17!important;background:rgba(243,154,23,.08)!important;box-shadow:0 0 0 9999px rgba(10,25,16,.08);pointer-events:none}
.kp-p05-crop-label{position:absolute;left:0;top:-27px;background:#f39a17;color:#171814;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:900;white-space:nowrap}
.kp-p05-docviewer{scroll-behavior:auto!important;overscroll-behavior:contain}
.kp-p05-direct-review-image{user-select:none;-webkit-user-drag:none}
.kp-p05-zoomtools button{min-height:36px}
@media(max-width:680px){
 .kp-p05-crop-actions{display:grid!important;grid-template-columns:1fr 1fr}
 .kp-p05-crop-actions .kp-p05-primary{grid-column:1/-1}
 .kp-p05-fallback-actions{display:grid!important;grid-template-columns:1fr 1fr}
}

/* 05 stable fit-on-open behavior */
.kp-p05-docviewer{scroll-behavior:auto!important}

/* FINAL deterministic Physical Forms viewer */
.kp-p05-docviewer{
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
  overscroll-behavior:contain!important;
}
.kp-p05-pagewrap,
.kp-p05-direct-review-image{
  overflow-anchor:none!important;
}

/* 05 manual mockup-faithful review */
.kp-p05-all-pages{display:grid;gap:12px;width:max-content;max-width:none}
.kp-p05-docviewer .kp-p05-pagewrap{position:relative;margin:0 0 12px 0;transform-origin:top left}
.kp-p05-docviewer .kp-p05-direct-review-image{display:block;max-width:none;height:auto;border:1px solid #d5d9d5;background:#fafafa;cursor:crosshair}
.kp-p05-docviewer{cursor:grab;scroll-behavior:auto!important;overflow-anchor:none!important}
.kp-p05-docviewer.panning{cursor:grabbing}
.kp-p05-docviewer.cropmode{cursor:crosshair}
.kp-p05-cropoverlay{position:absolute;border:3px solid #f39a17!important;background:transparent!important;box-shadow:none!important;pointer-events:none;display:none}
.kp-p05-controls{display:flex;gap:7px;flex-wrap:wrap}

/* FINAL manual zoom behaviour */
.kp-p05-docviewer{
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
}
.kp-p05-zoomreadout{
  min-width:56px!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums;
}
.kp-p05-zoomtools button{
  min-width:42px;
  touch-action:manipulation;
}

/* 05 FINAL STABILITY PATCH */
.kp-p05-docviewer{
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
  overscroll-behavior:contain!important;
}
.kp-p05-cropoverlay{
  position:absolute!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
  border:3px solid #f39a17!important;
  background:rgba(243,154,23,.08)!important;
  z-index:8!important;
}
.kp-p05-pagewrap{
  position:relative!important;
  overflow-anchor:none!important;
}
.kp-p05-zoomreadout{
  min-width:54px!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums;
}

/* 05 HARD ZOOM FIX — dimensions must follow React zoom state */
.kp-p05-docviewer .kp-p05-pagewrap{
  max-width:none!important;
  max-height:none!important;
}
.kp-p05-docviewer .kp-p05-direct-review-image{
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
}
.kp-p05-zoomreadout{
  min-width:58px!important;
  text-align:center!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
}

/* ===== 05 FINAL HARD STABILITY FIX ===== */

/* Real zoom dimensions — overrides every old 100% rule */
.kp-p05-docviewer .kp-p05-pagewrap{
    width:var(--kp-form-w)!important;
    height:var(--kp-form-h)!important;
    max-width:none!important;
    min-width:0!important;
    overflow-anchor:none!important;
}

.kp-p05-docviewer .kp-p05-direct-review-image{
    width:var(--kp-form-w)!important;
    height:var(--kp-form-h)!important;
    max-width:none!important;
    max-height:none!important;
    min-width:0!important;
    object-fit:fill!important;
    display:block!important;
}

.kp-p05-docviewer{
    overflow:auto!important;
    overflow-anchor:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior:contain!important;
}

.kp-p05-zoomreadout{
    min-width:58px!important;
    text-align:center!important;
    font-weight:800!important;
    font-variant-numeric:tabular-nums!important;
}

/* Review form must NEVER extend outside its column */
.kp-p05-formbox,
.kp-p05-fields,
.kp-p05-field,
.kp-p05-section{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
}

.kp-p05-formbox{
    overflow-x:hidden!important;
}

.kp-p05-fields{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}

.kp-p05-field input,
.kp-p05-field select,
.kp-p05-field textarea{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.kp-p05-field label,
.kp-p05-field,
.kp-p05-section,
.kp-p05-note,
.kp-p05-flag{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}

.kp-p05-matrix{
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
}

@media(max-width:680px){
    .kp-p05-fields{
        grid-template-columns:minmax(0,1fr)!important;
    }
}

/* crop remains visible until Use Selected / Cancel */
.kp-p05-cropoverlay{
    z-index:20!important;
    pointer-events:none!important;
    border:3px solid #f39a17!important;
    background:rgba(243,154,23,.07)!important;
}

/* =========================================================
   05 PHYSICAL FORMS — TYPOGRAPHY MATCH TO OFFICIAL MOCKUP
   ========================================================= */

/* Main Review & Correct form typography */
.kp-p05-formbox,
.kp-p05-formbox input,
.kp-p05-formbox select,
.kp-p05-formbox textarea,
.kp-p05-formbox button,
.kp-p05-formbox label,
.kp-p05-formbox table,
.kp-p05-formbox th,
.kp-p05-formbox td,
.kp-p05-formbox span,
.kp-p05-formbox p,
.kp-p05-formbox small,
.kp-p05-field,
.kp-p05-field input,
.kp-p05-field select,
.kp-p05-field textarea,
.kp-p05-check,
.kp-p05-matrix,
.kp-p05-matrix input {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Inputs exactly like mockup */
.kp-p05-field input,
.kp-p05-field select,
.kp-p05-field textarea {
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
}

/* Small uppercase field labels */
.kp-p05-field > label {
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:0 !important;
    line-height:1.25 !important;
}

/* Section headings exactly as mockup */
.kp-p05-formbox .kp-p05-section h3,
.kp-p05-formbox h3 {
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:20px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
}

/* Review & Correct heading */
.kp-p05-review-title h2,
.kp-p05-formbox > h2 {
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:25px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
}

/* Matrix/table text */
.kp-p05-matrix th,
.kp-p05-matrix td {
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
}

/* Checkbox labels */
.kp-p05-check,
.kp-p05-checks label {
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
}

/* Flags/help text */
.kp-p05-flag,
.kp-p05-crophelp,
.kp-p05-pageinfo,
.kp-p05-zoomreadout {
    font-family:Arial, Helvetica, sans-serif !important;
}

/* Prevent inherited DM Sans/Fraunces from overriding form controls */
.kp-p05-formbox * {
    --kp-form-font: Arial, Helvetica, sans-serif;
}


/* 05 HARD STABLE VIEWER */
.kp-p05-docviewer{overflow:auto!important;scroll-behavior:auto!important;overflow-anchor:none!important;overscroll-behavior:contain!important}
.kp-p05-all-pages{display:grid!important;gap:12px!important;width:max-content!important;max-width:none!important}
.kp-p05-pagewrap{position:relative!important;width:var(--kp-w)!important;height:var(--kp-h)!important;max-width:none!important;overflow-anchor:none!important}
.kp-p05-direct-review-image{display:block!important;width:var(--kp-w)!important;height:var(--kp-h)!important;max-width:none!important;max-height:none!important;object-fit:fill!important}
.kp-p05-cropoverlay{position:absolute!important;z-index:20!important;pointer-events:none!important;border:3px solid #f39a17!important;background:rgba(243,154,23,.08)!important;box-sizing:border-box!important}
.kp-p05-zoomreadout{min-width:58px!important;text-align:center!important;font-weight:800!important;font-variant-numeric:tabular-nums!important}

/* 05 ABSOLUTE MANUAL ZOOM */
.kp-p05-docviewer{scroll-behavior:auto!important;overflow-anchor:none!important;}
.kp-p05-docviewer .kp-p05-pagewrap{width:var(--kp-zoom-w)!important;height:var(--kp-zoom-h)!important;max-width:none!important;min-width:0!important;overflow-anchor:none!important;}
.kp-p05-docviewer .kp-p05-direct-review-image{width:var(--kp-zoom-w)!important;height:var(--kp-zoom-h)!important;max-width:none!important;max-height:none!important;min-width:0!important;display:block!important;object-fit:fill!important;}
.kp-p05-zoomreadout{min-width:58px!important;text-align:center!important;font-variant-numeric:tabular-nums!important;}


/* ===== 05 FINAL CLEAN VIEWER OVERRIDE ===== */
.kp-p05-docviewer{overflow:auto!important;scroll-behavior:auto!important;overflow-anchor:none!important;overscroll-behavior:contain!important;}
.kp-p05-docviewer .kp-p05-pagewrap{position:relative!important;width:var(--kp-w)!important;height:var(--kp-h)!important;max-width:none!important;min-width:0!important;margin:0 auto 12px!important;overflow-anchor:none!important;}
.kp-p05-docviewer .kp-p05-direct-review-image{display:block!important;width:var(--kp-w)!important;height:var(--kp-h)!important;max-width:none!important;max-height:none!important;min-width:0!important;object-fit:fill!important;user-select:none!important;-webkit-user-drag:none!important;}
.kp-p05-cropoverlay{position:absolute!important;z-index:30!important;pointer-events:none!important;border:3px solid #f39a17!important;background:rgba(243,154,23,.08)!important;box-shadow:none!important;box-sizing:border-box!important;}
.kp-p05-zoomreadout{min-width:58px!important;text-align:center!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;}
.kp-p05-uniform-form{min-width:0!important;overflow-x:hidden!important;}
.kp-p05-uniform-form .staff-public-form-wrap,.kp-p05-uniform-form .reg-form-mock{min-width:0!important;max-width:100%!important;}

/* =========================================================
   KAZI PATHWAYS 05 CLEAN VIEWER
   This implementation intentionally uses NEW class names.
   Old kp-p05-pagewrap/direct-review-image patches cannot
   control the document dimensions anymore.
   ========================================================= */

.kp-p05-clean-pages{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:14px !important;
    width:max-content !important;
    min-width:100% !important;
    max-width:none !important;
}

.kp-p05-clean-page{
    position:relative !important;
    flex:0 0 auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    transform:none !important;
    zoom:1 !important;
    overflow:visible !important;
}

.kp-p05-clean-image{
    display:block !important;
    max-width:none !important;
    max-height:none !important;
    min-width:0 !important;
    object-fit:fill !important;
    transform:none !important;
    transform-origin:initial !important;
    zoom:1 !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d5d9d5 !important;
    background:#fff !important;
    user-select:none !important;
    -webkit-user-drag:none !important;
    touch-action:none !important;
}

.kp-p05-clean-selection{
    position:absolute !important;
    box-sizing:border-box !important;
    border:3px solid var(--p05-orange,#f39a17) !important;
    background:rgba(243,154,23,.12) !important;
    pointer-events:none !important;
    z-index:20 !important;
}

.kp-p05-docviewer{
    overflow:auto !important;
    overflow-anchor:none !important;
    scroll-behavior:auto !important;
}

.kp-p05-docviewer.cropmode .kp-p05-clean-image{
    cursor:crosshair !important;
}

.kp-p05-zoomtools button{
    pointer-events:auto !important;
    cursor:pointer !important;
}

.kp-p05-zoomtools button:disabled{
    cursor:not-allowed !important;
}


/* 05 clean uniform save actions */
.kp-p05-uniform-form .form-submit{display:none!important}
.kp-p05-uniform-form .kp-p05-modalactions{position:sticky;bottom:0;z-index:20;background:#fff;padding:12px 0 2px;border-top:1px solid #e2e6e1}
/* P05 SMART REFRESH + DESKTOP SCROLL */ @media (min-width:1001px){.kp-p05-modal.reviewing{height:calc(100vh - 24px)!important;max-height:calc(100vh - 24px)!important;overflow-y:auto!important;overflow-x:hidden!important;display:block!important}.kp-p05-modal.reviewing>.kp-p05-workspace{height:auto!important;min-height:calc(100vh - 110px)!important;overflow:visible!important;align-items:start!important}.kp-p05-modal.reviewing .kp-p05-previewbox{position:sticky!important;top:0!important;height:calc(100vh - 70px)!important;min-height:520px!important;overflow:hidden!important}.kp-p05-modal.reviewing .kp-p05-formbox{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-bottom:40px!important}.kp-p05-modal.reviewing .kp-p05-modalactions{position:relative!important;bottom:auto!important}}

/* =========================================================
   05 SELECTED PHOTO — REMOVE / START AGAIN
   ========================================================= */
.kp-p05-selected-photo-actions{
  margin:0 0 18px;
  padding:14px;
  border:1px solid #dfe4df;
  border-radius:12px;
  background:#fff;
}

.kp-p05-selected-photo-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.kp-p05-selected-photo-head>div{
  display:grid;
  gap:4px;
  min-width:0;
}

.kp-p05-selected-photo-head b{
  font-size:14px;
}

.kp-p05-selected-photo-head span{
  font-size:13px;
  line-height:1.4;
  color:#66706a;
}

.kp-p05-selected-photo-preview{
  display:block;
  width:110px;
  max-width:100%;
  height:auto;
  border-radius:8px;
  border:1px solid #d8ddd8;
  object-fit:cover;
}

.kp-p05-selected-photo-actions .kp-p05-danger{
  flex:0 0 auto;
  white-space:nowrap;
}

@media(max-width:680px){
  .kp-p05-selected-photo-head{
    display:grid;
  }

  .kp-p05-selected-photo-actions .kp-p05-danger{
    width:100%;
  }
}

/* Keep fit viewer stable */
.kp-p05-docviewer{
  overflow:auto!important;
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
}

.kp-p05-clean-page,
.kp-p05-clean-image{
  transform:none!important;
  zoom:1!important;
  max-width:none!important;
  max-height:none!important;
}
/* P05 MOCKUP CONTROL POSITION */ .kp-p05-previewbox{display:flex!important;flex-direction:column!important;overflow:hidden!important}.kp-p05-previewhead{flex:0 0 auto!important}.kp-p05-previewcontent{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}.kp-p05-docviewer{flex:1 1 auto!important;min-height:260px!important;max-height:none!important;overflow:auto!important}.kp-p05-controls{flex:0 0 auto!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:10px!important;padding-top:10px!important;background:#fff!important;position:relative!important;z-index:30!important}.kp-p05-crophelp{flex:0 0 auto!important;background:#fff!important}@media(max-width:1000px){.kp-p05-previewbox{height:auto!important;max-height:none!important;overflow:visible!important}.kp-p05-previewcontent{height:auto!important;overflow:visible!important}.kp-p05-docviewer{flex:none!important;height:auto!important;max-height:52vh!important;min-height:300px!important;overflow:auto!important}.kp-p05-controls{position:relative!important;bottom:auto!important;width:100%!important}.kp-p05-crophelp{position:relative!important}}
/* P05 MOCKUP 100% REVIEW LAYOUT */ @media (min-width:1001px){.kp-p05-modal.reviewing{height:92vh!important;max-height:92vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.kp-p05-modal.reviewing>.kp-p05-workspace{height:100%!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(520px,42%) minmax(0,58%)!important;gap:16px!important;align-items:stretch!important}.kp-p05-modal.reviewing .kp-p05-previewbox{position:static!important;height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.kp-p05-modal.reviewing .kp-p05-previewhead{flex:0 0 auto!important}.kp-p05-modal.reviewing .kp-p05-previewcontent{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.kp-p05-modal.reviewing .kp-p05-docviewer{flex:1 1 auto!important;min-height:260px!important;max-height:none!important;overflow:auto!important}.kp-p05-modal.reviewing .kp-p05-controls{flex:0 0 auto!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:10px!important;padding-top:8px!important;background:#fff!important}.kp-p05-modal.reviewing .kp-p05-crophelp{flex:0 0 auto!important;background:#fff!important}.kp-p05-modal.reviewing .kp-p05-formbox{height:100%!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable!important}} @media(max-width:1000px){.kp-p05-modal.reviewing{height:auto!important;max-height:92vh!important;overflow:auto!important;display:block!important}.kp-p05-modal.reviewing>.kp-p05-workspace{height:auto!important;display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.kp-p05-modal.reviewing .kp-p05-previewbox,.kp-p05-modal.reviewing .kp-p05-formbox{height:auto!important;overflow:visible!important}.kp-p05-modal.reviewing .kp-p05-docviewer{max-height:560px!important;min-height:300px!important;overflow:auto!important}}

/* P05 VIEWER SINGLE SOURCE OF TRUTH */
.kp-p05-previewbox{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
}

.kp-p05-previewhead{
  flex:0 0 auto!important;
}

.kp-p05-previewcontent{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}

.kp-p05-docviewer{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:320px!important;
  overflow:auto!important;
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
  overscroll-behavior:contain!important;
  touch-action:none!important;
}

.kp-p05-docviewer .kp-p05-all-pages{
  width:max-content!important;
  min-width:100%!important;
  height:auto!important;
}

.kp-p05-docviewer .kp-p05-pagewrap{
  position:relative!important;
  display:block!important;
  flex:none!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  overflow:visible!important;
  margin:0 auto 12px!important;
  transform:none!important;
  zoom:1!important;
}

.kp-p05-docviewer .kp-p05-direct-review-image{
  display:block!important;
  flex:none!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:fill!important;
  transform:none!important;
  zoom:1!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

.kp-p05-zoomtools{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}

.kp-p05-zoomreadout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  font-variant-numeric:tabular-nums!important;
}

.kp-p05-controls{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  position:relative!important;
  z-index:20!important;
}

.kp-p05-crophelp{
  flex:0 0 auto!important;
}

.kp-p05-cropoverlay{
  position:absolute!important;
  pointer-events:none!important;
  z-index:15!important;
}

@media (max-width:1000px){
  .kp-p05-docviewer{
    height:52vh!important;
    min-height:300px!important;
    max-height:52vh!important;
  }
}
/* ============================================================
   KAZI PATHWAYS — UNIFORM PASSPORT PHOTO REMOVE
   Matches supplied prototype.
   ============================================================ */

.kp-uniform-remove-photo{
  margin-top:9px;
  border:1px solid #c96c64;
  background:#fff;
  color:#9b251f;
  border-radius:5px;
  padding:8px 12px;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}

.kp-uniform-remove-photo:hover{
  background:#fff8f7;
}

.kp-remove-photo-confirm{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.47);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.kp-remove-photo-modal{
  width:min(500px,90vw);
  background:#fff;
  border-radius:8px;
  padding:26px;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}

.kp-remove-photo-modal h3{
  margin:0 0 12px;
  font-family:Georgia,serif;
  font-size:22px;
  line-height:1.2;
}

.kp-remove-photo-modal p{
  margin:0;
  color:#555;
  font-size:14px;
  line-height:1.5;
}

.kp-remove-photo-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  margin-top:20px;
}

.kp-remove-photo-actions button{
  padding:10px 14px;
  border-radius:5px;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.kp-remove-photo-cancel{
  background:#fff;
  border:1px solid #bbb;
  color:#222;
}

.kp-remove-photo-yes{
  background:#fff;
  border:1px solid #c96c64;
  color:#9b251f;
}

@media(max-width:600px){
  .kp-remove-photo-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .kp-remove-photo-actions button{
    width:100%;
  }
}


/* ============================================================
   05 INSTANT PREVIEW — NEVER SHOW BLANK WHITE VIEWER
   ============================================================ */

.kp-p05-preview-loading{
  min-height:420px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:18px;
  background:#eef1ee;
}

.kp-p05-preview-loading-paper{
  position:relative;
  width:min(100%,680px);
  aspect-ratio:0.707/1;
  background:#fff;
  border:1px solid #d9ded9;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  padding:38px 34px;
}

.kp-p05-preview-loading-line{
  height:9px;
  border-radius:3px;
  background:#e6e9e6;
  margin-bottom:14px;
  width:72%;
}

.kp-p05-preview-loading-line.short{
  width:45%;
}

.kp-p05-preview-loading-photo{
  position:absolute;
  top:38px;
  right:34px;
  width:86px;
  height:108px;
  border-radius:5px;
  background:#e4e7e4;
}

.kp-p05-instant-form{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;margin:0 auto!important;background:#fff!important;object-fit:contain!important}

/* P05 INSTANT PREVIEW = EXACT SAME WIDTH AS REAL FIT */
.kp-p05-docviewer .kp-p05-clean-pages{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:block!important;
  overflow:visible!important;
}

.kp-p05-docviewer .kp-p05-instant-form{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 22px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  transform:none!important;
  zoom:1!important;
  transition:none!important;
  animation:none!important;
}

.kp-p05-docviewer .kp-p05-clean-page,
.kp-p05-docviewer .kp-p05-clean-image{
  transition:none!important;
  animation:none!important;
}

/* P05 INSTANT PREVIEW = EXACT SAME WIDTH AS REAL FIT */
.kp-p05-docviewer .kp-p05-clean-pages{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:block!important;
  overflow:visible!important;
}

.kp-p05-docviewer .kp-p05-instant-form{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 22px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  transform:none!important;
  zoom:1!important;
  transition:none!important;
  animation:none!important;
}

.kp-p05-docviewer .kp-p05-clean-page,
.kp-p05-docviewer .kp-p05-clean-image{
  transition:none!important;
  animation:none!important;
}

/* ============================================================
   P05 VIEWER — MOCKUP LAYOUT / CENTERING / BALANCED MARGINS
   Only affects the physical-form document viewer.
   ============================================================ */

.kp-p05-previewbox{
  min-width:0!important;
}

.kp-p05-previewhead{
  flex:0 0 auto!important;
  background:#fff!important;
}

.kp-p05-zoomtools{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  margin:8px 0 10px!important;
}

.kp-p05-pageinfo{
  font-size:11px!important;
  font-weight:700!important;
}

.kp-p05-zoomreadout{
  min-width:56px!important;
  text-align:center!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
}

.kp-p05-docviewer{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  overflow:auto!important;
  padding:8px!important;
  box-sizing:border-box!important;
  scrollbar-gutter:stable!important;
}

/*
 * Critical centering rule:
 * - when page is smaller than viewer => equal left/right margin
 * - when page is larger than viewer => normal horizontal scrolling,
 *   without losing either edge.
 */
.kp-p05-clean-pages{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

.kp-p05-clean-page,
.kp-p05-pagewrap{
  flex:0 0 auto!important;
  width:max-content!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:12px!important;
  transform-origin:top center!important;
}

.kp-p05-clean-image,
.kp-p05-pagecanvas{
  display:block!important;
  max-width:none!important;
  margin:0!important;
}

/* Instant page must visually match the centered real page */
.kp-p05-instant-form{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 16px)!important;
  height:auto!important;
  margin:0 auto!important;
}

/* Keep selection tools directly below viewer, as in prototype */
.kp-p05-controls{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin-top:10px!important;
}

/* Do not let old transforms/transitions make zoom feel unstable */
.kp-p05-clean-page,
.kp-p05-clean-image,
.kp-p05-pagewrap,
.kp-p05-pagecanvas{
  transition:none!important;
  animation:none!important;
}


/* ============================================================
   P05 FINAL MOCKUP LAYOUT
   Viewer/layout only — DO NOT touch form logic
   ============================================================ */

/* Balanced two-column workspace */
.kp-p05-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}

/* Left viewer card */
.kp-p05-previewbox{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:12px!important;
  box-sizing:border-box!important;
}

/* Right form card — layout only */
.kp-p05-formbox{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Header area */
.kp-p05-previewhead{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

/* ============================================================
   ZOOM BAR — EXACTLY ONE LINE LIKE MOCKUP
   Document preview | − | 100% | + | Fit Page
   ============================================================ */

.kp-p05-zoomtools{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  margin:8px 0 10px!important;
  white-space:nowrap!important;
}

.kp-p05-pageinfo{
  flex:0 1 auto!important;
  min-width:0!important;
  margin-right:2px!important;
  white-space:nowrap!important;
  font-size:11px!important;
  font-weight:700!important;
}

.kp-p05-zoomtools button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:38px!important;
  margin:0!important;
  white-space:nowrap!important;
}

.kp-p05-zoomtools button:last-child{
  min-width:84px!important;
}

.kp-p05-zoomreadout{
  flex:0 0 58px!important;
  width:58px!important;
  min-width:58px!important;
  text-align:center!important;
  font-weight:800!important;
  margin:0!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}

/* ============================================================
   DOCUMENT VIEWER
   Equal left/right breathing space and proper centering
   ============================================================ */

.kp-p05-previewcontent{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
}

.kp-p05-docviewer{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:auto!important;
  padding:12px!important;
  background:#f7f8f5!important;
  scrollbar-gutter:stable!important;
}

/*
 * Page container spans viewer width when document is small,
 * but expands naturally when zoomed beyond viewer width.
 */
.kp-p05-clean-pages{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Each document page stays centered */
.kp-p05-clean-page,
.kp-p05-pagewrap{
  position:relative!important;
  flex:0 0 auto!important;
  width:max-content!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:12px!important;
  transform-origin:top center!important;
}

/* Actual form image/canvas */
.kp-p05-clean-image,
.kp-p05-pagecanvas{
  display:block!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Instant preview uses same centering */
.kp-p05-instant-form{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 24px)!important;
  height:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Tools immediately under the form, like prototype */
.kp-p05-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin:10px 0 0!important;
}

/* Mobile/tablet */
@media(max-width:1000px){
  .kp-p05-workspace{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .kp-p05-zoomtools{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }

  .kp-p05-pageinfo{
    flex:0 0 auto!important;
  }

  .kp-p05-docviewer{
    padding:8px!important;
  }
}

/* Narrow phones: keep all zoom controls on one line */
@media(max-width:520px){
  .kp-p05-zoomtools{
    gap:5px!important;
  }

  .kp-p05-pageinfo{
    font-size:10px!important;
  }

  .kp-p05-zoomtools button{
    min-width:34px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .kp-p05-zoomtools button:last-child{
    min-width:72px!important;
  }

  .kp-p05-zoomreadout{
    flex-basis:50px!important;
    width:50px!important;
    min-width:50px!important;
  }
}


/* ============================================================
   P05 FINAL CENTERED REVIEW LAYOUT
   Layout only — no form/signature/zoom logic changes
   ============================================================ */

@media (min-width:1001px){

  /* Entire review modal centered with equal outer breathing space */
  .kp-p05-modal.reviewing{
    width:calc(100vw - 32px)!important;
    max-width:1600px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:18px!important;
    padding-right:18px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  /* Main two-column workspace must never exceed modal */
  .kp-p05-modal.reviewing .kp-p05-workspace{
    display:grid!important;
    grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }

  /* Both sides stay inside their grid cells */
  .kp-p05-modal.reviewing .kp-p05-previewbox,
  .kp-p05-modal.reviewing .kp-p05-formbox{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  /* RIGHT PANEL: no horizontal spill outside the page */
  .kp-p05-modal.reviewing .kp-p05-formbox{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  /* Shared Public / 03 form must respect right-panel width */
  .kp-p05-formbox [id^="physicalReviewForm-"],
  .kp-p05-formbox form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  .kp-p05-formbox .form-row,
  .kp-p05-formbox .form-field,
  .kp-p05-formbox .kp-photo-upload,
  .kp-p05-formbox .kp-check-grid,
  .kp-p05-formbox .kp-skill-matrix,
  .kp-p05-formbox .kp-language-matrix{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .kp-p05-formbox input,
  .kp-p05-formbox select,
  .kp-p05-formbox textarea{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* LEFT PANEL */
  .kp-p05-modal.reviewing .kp-p05-previewbox{
    overflow:hidden!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  /* Zoom toolbar = ONE clean row */
  .kp-p05-modal.reviewing .kp-p05-zoomtools{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  .kp-p05-modal.reviewing .kp-p05-pageinfo{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }

  .kp-p05-modal.reviewing .kp-p05-zoomreadout{
    flex:0 0 58px!important;
    min-width:58px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .kp-p05-modal.reviewing .kp-p05-zoomtools button{
    flex:0 0 auto!important;
    width:auto!important;
    white-space:nowrap!important;
    margin:0!important;
  }

  /* Document itself stays perfectly centered */
  .kp-p05-modal.reviewing .kp-p05-docviewer{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:auto!important;
    padding:12px!important;
  }

  .kp-p05-modal.reviewing .kp-p05-clean-pages{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }

  .kp-p05-modal.reviewing .kp-p05-clean-page,
  .kp-p05-modal.reviewing .kp-p05-pagewrap{
    width:max-content!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .kp-p05-modal.reviewing .kp-p05-clean-image,
  .kp-p05-modal.reviewing .kp-p05-pagecanvas{
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:none!important;
  }
}

/* Mobile/tablet stays single-column and contained */
@media (max-width:1000px){
  .kp-p05-workspace{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .kp-p05-previewbox,
  .kp-p05-formbox{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}


/* P05 DIRECT CLOSE X */
.kp-p05-review-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}

.kp-p05-review-title-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}

.kp-p05-close-x{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #cdd2cc!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#262a27!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer!important;
}

.kp-p05-close-x:hover{
  background:#f3f4f1!important;
  border-color:#9fa69f!important;
}

@media(max-width:680px){
  .kp-p05-review-title-actions .kp-p05-pill{
    display:none!important;
  }
}

/* KP FINAL CLEAN 20260913 */
/* Physical Form review: stable fitted preview + always-visible Exit */
.kp-p05-docviewer .kp-p05-instant-form{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 22px)!important;
  height:auto!important;
  margin:0 auto!important;
  object-fit:contain!important;
  transform:none!important;
}
.kp-p05-review-title{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 0!important;
  margin:0 0 8px!important;
  background:#fff!important;
  border-bottom:1px solid #e2e5df!important;
}
.kp-p05-review-title-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}
.kp-p05-close-x{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:76px!important;
  height:36px!important;
  padding:0 12px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #c8cec7!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#222!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.kp-p05-close-x:hover{background:#f4f5f2!important;border-color:#a7aea6!important}
@media(max-width:680px){
  .kp-p05-review-title-actions .kp-p05-pill{display:none!important}
  .kp-p05-close-x{min-width:68px!important;padding:0 10px!important}
}
/* Remove Photo confirmation is shared by Public/03/05, but button is shown only while editable. */
.kp-uniform-remove-photo{
  margin-top:8px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
/* KP APPLICATIONS CLEAN STABLE PHOTO ACTION */
.application-photo-edit-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 10px;
  min-height:34px;
}
.application-photo-edit-actions .action-small{
  margin:0;
}
.application-photo-removed-note{
  margin:0 0 10px!important;
}

/* ============================================================
   KP NO PAGE-LEVEL LOADING
   Pages/routes appear immediately.
   Action-specific Save/Upload/Extraction progress remains intact.
   ============================================================ */

.kp-app-fast-loader,
.kp-app-fast-spinner,
.kp-p05-fit-loader,
.kp-p05-fit-spinner,
.premium-loader,
.page-loader,
.route-loader,
.global-loader,
.loading-screen,
.loading-overlay,
.route-loading,
.page-loading,
.app-loading-overlay,
.navigation-loader,
.top-loading-bar,
.top-progress-bar{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Never reserve height for route/page loaders */
.kp-app-fast-loader,
.kp-p05-fit-loader,
.page-loader,
.route-loader,
.loading-screen,
.loading-overlay,
.route-loading,
.page-loading{
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}


/* ============================================================
   KP ABSOLUTE ZERO PAGE/NAVIGATION LOADERS
   No route animation, bar, spinner or overlay.
   Action-specific upload/save/extraction controls are untouched.
   ============================================================ */

.global-progress,
.global-progress-bar,
.global-progress-track,
.navigation-progress,
.navigation-loader,
.route-loader,
.route-loading,
.page-loader,
.page-loading,
.loading-screen,
.loading-overlay,
.auth-loading > .loading-block,
.loading-block,
.loading-indicator,
.top-loading-bar,
.top-progress-bar,
.premium-loader,
.kp-app-fast-loader{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
  transition:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* Never animate page entry/route switching */
main,
.staff-content,
.portal-content,
.app-content,
.page-content{
  animation:none!important;
  transition:none!important;
}


/* KP APPLICATIONS FORM ALIGNMENT FINAL */

/* Edit button sits at the beginning of the application form */
.application-real-form-shell .kp-app-top-edit{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
}

/* First / Middle / Surname = one equal row */
.application-real-form-shell .kp-three-name-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
}

.application-real-form-shell .kp-three-name-row > .form-field{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

.application-real-form-shell .kp-three-name-row > .form-field label{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  gap:4px!important;
  min-height:22px!important;
  line-height:1.2!important;
}

.application-real-form-shell .kp-three-name-row .kp-name-optional{
  display:inline!important;
  white-space:nowrap!important;
}

/* 04 Worker Records — keep First | Middle | Surname on the same desktop row. */
.worker-edit-panel .kp-three-name-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
}
.worker-edit-panel .kp-three-name-row>.form-field{min-width:0!important;margin:0!important}
.worker-edit-panel .kp-three-name-row>.form-field>label{
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
  gap:4px!important;min-height:22px!important;white-space:nowrap!important
}
.worker-edit-panel .kp-three-name-row input{display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
.application-delete-button.muted{
  background:#f6f3f1!important;color:#806e67!important;border-color:#ded5d1!important;
  box-shadow:none!important
}

/* Physical Forms instant local-search suggestions */
.kp-p05-search-wrap{position:relative;min-width:0;z-index:30}
.kp-p05-search-wrap .kp-p05-search{width:100%!important;box-sizing:border-box!important}
.kp-p05-suggestions{
  position:absolute;top:calc(100% + 7px);left:0;right:0;max-height:340px;overflow:auto;
  background:#fff;border:1px solid #d9e2dc;border-radius:14px;padding:6px;
  box-shadow:0 18px 45px rgba(18,56,34,.16);z-index:100
}
.kp-p05-suggestions button{
  display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;
  border:0;border-bottom:1px solid #edf1ee;background:#fff;padding:11px 12px;
  color:#153d29;text-align:left;border-radius:9px;cursor:pointer
}
.kp-p05-suggestions button:last-child{border-bottom:0}
.kp-p05-suggestions button:hover,.kp-p05-suggestions button:focus{background:#f0f7f3;outline:none}
.kp-p05-suggestions b{font-size:13px;line-height:1.25}
.kp-p05-suggestions span{font-size:10px;color:#738078;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:800px){
  .worker-edit-panel .kp-three-name-row{grid-template-columns:1fr!important}
  .worker-edit-panel .kp-three-name-row>.form-field>label{white-space:normal!important}
}

.application-real-form-shell .kp-three-name-row input{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Delete remains naturally at the bottom */
.application-real-form-shell .application-danger-zone{
  margin-top:24px!important;
}

@media(max-width:800px){
  .application-real-form-shell .kp-three-name-row{
    grid-template-columns:1fr!important;
  }

  .application-real-form-shell .kp-three-name-row > .form-field label{
    white-space:normal!important;
  }

  .application-real-form-shell .kp-app-top-edit{
    justify-content:flex-start!important;
  }
}


/* ============================================================
   APPLICATIONS — MIDDLE NAME ALIGNMENT ONLY
   First Name | Middle Name (Optional) | Surname
   No application workflow changes.
   ============================================================ */

.application-real-form-shell .kp-three-name-row{
  display:grid!important;
  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1.12fr)
    minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
}

.application-real-form-shell .kp-three-name-row > .form-field{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* All three labels occupy exactly the same height */
.application-real-form-shell .kp-three-name-row > .form-field > label{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  gap:4px!important;

  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;

  margin:0 0 7px!important;
  padding:0!important;
  line-height:22px!important;
}

/* Keep (Optional) beside Middle Name — never below it */
.application-real-form-shell .kp-three-name-row .kp-name-optional{
  display:inline-block!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  line-height:22px!important;
}

/* All three actual boxes begin on exactly the same horizontal line */
.application-real-form-shell .kp-three-name-row input{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;

  height:46px!important;
  min-height:46px!important;

  margin:0!important;
  box-sizing:border-box!important;
}

/* Mobile remains normal */
@media(max-width:800px){
  .application-real-form-shell .kp-three-name-row{
    grid-template-columns:1fr!important;
  }

  .application-real-form-shell .kp-three-name-row > .form-field > label{
    height:auto!important;
    min-height:22px!important;
    max-height:none!important;
    white-space:normal!important;
  }
}


/* APPLICATIONS — MIDDLE NAME OPTIONAL INLINE FINAL */
.application-real-form-shell .kp-three-name-row > .form-field > label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  gap:4px!important;
}

.application-real-form-shell .kp-three-name-row .kp-name-optional{
  display:inline!important;
  position:static!important;
  float:none!important;
  clear:none!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  line-height:inherit!important;
  vertical-align:baseline!important;
}

/* =========================================================
   POINT 09 — EMPLOYER WORKFORCE SUBMISSION ACKNOWLEDGEMENTS
   Scoped to the Employer Workspace > Workforce page only.
   ========================================================= */
.employer-workforce-state.acknowledged > :not(.employer-workforce-heading):not(.employer-submit-ack){
  display:none !important;
}
.employer-submit-ack{
  max-width:980px;
  margin-top:24px;
  padding:26px 28px;
  border:1px solid #dfe3de;
  border-radius:8px;
  background:#fff;
}
.employer-submit-ack-accent{
  width:32px;
  height:3px;
  margin-bottom:14px;
  background:#f39b22;
}
.employer-submit-ack h2{
  margin:0 0 10px;
  color:#0e5a2b;
  font:700 27px 'Fraunces',serif;
}
.employer-submit-ack > p{
  margin:0 0 14px;
  color:#555;
  font-size:15px;
  line-height:1.6;
}
.employer-submit-ack-company{
  display:inline-block;
  margin-top:6px;
  padding:11px 13px;
  border-left:4px solid #0e5a2b;
  background:#eef6f0;
  color:#0e5a2b;
  font-size:13px;
  font-weight:700;
}
.employer-submit-ack-followup{
  margin-top:16px !important;
}
.employer-submit-ack-done{
  display:block;
  margin-top:18px;
  padding:12px 24px;
  border:0;
  border-radius:5px;
  background:#0e5a2b;
  color:#fff;
  font:700 12px 'DM Sans',sans-serif;
  cursor:pointer;
}
@media(max-width:700px){
  .employer-submit-ack{
    padding:22px 20px;
  }
  .employer-submit-ack h2{
    font-size:23px;
  }
}

/* KP_EMPLOYER_ACK_START */
.kp-employer-ack-backdrop{
 position:fixed;
 inset:0;
 z-index:99999;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:24px;
 background:rgba(9,72,32,.58);
 backdrop-filter:blur(2px);
 -webkit-backdrop-filter:blur(2px);
}

.kp-employer-ack{
 width:min(980px,100%);
 background:#fff;
 border:1px solid #dfe3de;
 border-radius:8px;
 padding:26px 28px;
 box-shadow:0 22px 70px rgba(0,0,0,.25);
 animation:kpAckIn .18s ease-out;
}

.kp-employer-ack-accent{
 width:32px;
 height:3px;
 background:#f39b22;
 margin-bottom:14px;
}

.kp-employer-ack h2{
 font-family:Georgia,serif;
 font-size:27px;
 line-height:1.2;
 color:#0e5a2b;
 margin:0 0 10px;
}

.kp-employer-ack p{
 font-size:15px;
 line-height:1.6;
 color:#555;
 margin:0 0 14px;
}

.kp-employer-ack-company{
 display:inline-block;
 margin-top:6px;
 padding:11px 13px;
 background:#eef6f0;
 border-left:4px solid #0e5a2b;
 font-weight:700;
 color:#0e5a2b;
}

.kp-employer-ack .kp-employer-ack-followup{
 margin-top:16px;
}

.kp-employer-ack-done{
 display:block;
 margin-top:18px;
 background:#0e5a2b;
 color:#fff;
 border:0;
 border-radius:5px;
 padding:12px 24px;
 font:inherit;
 font-weight:700;
 cursor:pointer;
 min-height:44px;
}

.kp-employer-ack-done:hover{
 background:#094820;
}

@keyframes kpAckIn{
 from{opacity:0;transform:translateY(10px) scale(.985)}
 to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:700px){
 .kp-employer-ack-backdrop{
  padding:18px;
 }
 .kp-employer-ack{
  padding:22px 20px;
 }
 .kp-employer-ack h2{
  font-size:23px;
 }
 .kp-employer-ack-done{
  width:100%;
 }
}
/* KP_EMPLOYER_ACK_END */

/* ==========================================================
   KP P05 PROFESSIONAL FAST LOADER
   Scoped only to 05 Physical Forms
   ========================================================== */

.kp-p05-loading-page{
  min-height:58vh;
  display:grid;
  place-items:center;
  padding:24px;
}

.kp-p05-fast-loader{
  width:min(420px,calc(100vw - 36px));
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center;
  gap:14px;
  padding:18px 20px;
  background:#fff;
  border:1px solid #dfe5df;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(24,48,34,.08);
}

.kp-p05-fast-spinner{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  border:3px solid #e3e9e4!important;
  border-top-color:#0b5529!important;
  border-radius:50%!important;
  animation:kpP05FastSpin .62s linear infinite!important;
}

.kp-p05-fast-loader-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.kp-p05-fast-loader-copy b{
  font-size:13px;
  font-weight:700;
  color:#1f2b24;
}

.kp-p05-fast-loader-copy small{
  font-size:11px;
  color:#77817b;
}

@keyframes kpP05FastSpin{
  to{transform:rotate(360deg)}
}

@media(max-width:680px){
  .kp-p05-loading-page{
    min-height:48vh;
    padding:16px;
  }

  .kp-p05-fast-loader{
    padding:16px;
    border-radius:12px;
  }

  .kp-p05-fast-spinner{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
  }
}

/* ===== KP P05 EXACT FINAL LOADERS ===== */

.kp-p05-action-loader{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  background:rgba(248,250,249,.88)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

.kp-p05-action-loader-card,
.kp-p05-extract-loader-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:#fff!important;
  border:1px solid #dfe6e1!important;
  border-radius:14px!important;
  box-shadow:
    0 16px 48px
    rgba(20,45,30,.12)!important;
  text-align:center!important;
}

.kp-p05-action-loader-card{
  width:min(390px,calc(100vw - 36px))!important;
  padding:22px 20px!important;
}

.kp-p05-extract-loader{
  width:100%!important;
  min-height:420px!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  background:#f8faf9!important;
}

.kp-p05-extract-loader-card{
  width:min(310px,calc(100vw - 48px))!important;
  padding:22px 18px!important;
}

.kp-p05-action-spinner,
.kp-p05-extract-spinner{
  display:block!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border:3px solid #dfe7e1!important;
  border-top-color:#155c34!important;
  border-radius:50%!important;
  animation:
    kpP05ExactSpin
    .55s
    linear
    infinite!important;
}

.kp-p05-action-loader-card b,
.kp-p05-extract-loader-card b{
  font-size:13px!important;
  color:#1d2d23!important;
  font-weight:700!important;
}

.kp-p05-action-loader-card small,
.kp-p05-extract-loader-card small{
  font-size:11px!important;
  line-height:1.4!important;
  color:#748078!important;
}

@keyframes kpP05ExactSpin{
  to{
    transform:rotate(360deg);
  }
}

@media(max-width:680px){
  .kp-p05-extract-loader{
    min-height:320px!important;
    padding:14px!important;
  }
}

/* ===== KP P05 STALE THUMBNAIL GUARD ===== */

.kp-p05-safe-preview{
  position:relative!important;
  overflow:hidden!important;
}

.kp-p05-thumb-loading{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;

  min-height:180px!important;

  background:#f7f9f8!important;
  color:#657169!important;

  font-size:11px!important;
}

.kp-p05-thumb-spinner{
  display:block!important;

  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  min-height:25px!important;

  border:3px solid #dde5df!important;
  border-top-color:#155c34!important;
  border-radius:50%!important;

  animation:
    kpP05ThumbSpin
    .5s
    linear
    infinite!important;
}

.kp-p05-safe-preview .kp-p05-thumbimg,
.kp-p05-safe-view .kp-p05-view-image-direct{
  transition:opacity .12s ease!important;
}

/* Destructive application controls must never be exposed during editing. */
.application-real-form-shell.is-editing .application-danger-zone{
  display:none!important;
}

.application-real-form-shell.is-editing .application-review-footer{
  display:none!important;
}

.kp-p05-safe-view .kp-p05-view-image-direct + .kp-p05-view-image-direct{
  margin-top:14px!important;
}

.kp-p05-view-page{margin:0 0 14px!important}.kp-p05-view-page figcaption{position:sticky;top:0;z-index:2;width:max-content;margin:0 auto 6px;padding:4px 10px;border-radius:999px;background:#155c34;color:#fff;font-size:12px;font-weight:800}

.kp-p05-view-loading{
  min-height:420px!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;

  background:#f8faf9!important;

  color:#68746d!important;
  text-align:center!important;
}

.kp-p05-view-loading b{
  font-size:13px!important;
  color:#1d2d23!important;
}

.kp-p05-view-loading small{
  font-size:11px!important;
}

@keyframes kpP05ThumbSpin{
  to{
    transform:rotate(360deg);
  }
}
/* ===== P05 FAST FIT LOADER ===== */
.kp-p05-fast-fit-loader{
  width:100%;
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.kp-p05-fast-fit-loader .kp-p05-extract-spinner{
  width:22px!important;
  height:22px!important;
}

/* KP_APPLICATION_FULL_DESKTOP_LAYOUT_FINAL */
@media (min-width:901px){

  /* An opened application must become a real desktop-width record */
  .staff-application-list.application-gallery-view
  .application-card:has(.application-full-details.open){
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
  }

  .application-card:has(.application-full-details.open)
  .application-full-details{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding:24px !important;
  }

  .application-card:has(.application-full-details.open)
  .application-real-form-shell,
  .application-card:has(.application-full-details.open)
  .staff-public-form-wrap,
  .application-card:has(.application-full-details.open)
  .reg-form-mock{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Desktop form fields must use desktop columns */
  .application-card:has(.application-full-details.open)
  .reg-form-mock .form-grid,
  .application-card:has(.application-full-details.open)
  .reg-form-mock .two-col{
    width:100% !important;
  }
}
