/* =====================================================================
   FliqaIndia Partners - Global Stylesheet
   Mobile-first, responsive. Design tokens defined once in :root.
   ===================================================================== */

:root {
  /* Brand colours */
  --green: #0B3D2E;
  --green-deep: #06352A;
  --orange: #F5A400;
  --orange-hover: #E89400;
  --cream: #FBF8F1;
  --white: #FFFFFF;
  --text: #111827;
  --muted: #5B6472;
  --border: #E8E8E8;
  --success: #16A34A;

  /* Derived */
  --green-tint: rgba(11, 61, 46, 0.06);
  --orange-tint: rgba(245, 164, 0, 0.12);
  --shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.04), 0 1px 3px rgba(17, 24, 39, 0.06);
  --shadow-md: 0 6px 24px rgba(17, 24, 39, 0.08);
  --shadow-lg: 0 20px 50px rgba(17, 24, 39, 0.12);

  --radius: 14px;
  --radius-lg: 22px;
  --radius-sm: 10px;

  --container: 1200px;
  --header-h: 74px;

  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ------------------------------- Reset ------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.7;
  color: var(--text);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { margin: 0; line-height: 1.15; font-weight: 800; letter-spacing: -0.02em; }
p { margin: 0; }
button { font-family: inherit; cursor: pointer; }
button:disabled { cursor: wait; opacity: .7; }
:focus-visible { outline: 3px solid rgba(245, 164, 0, .55); outline-offset: 3px; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 20px; }

.icon { width: 20px; height: 20px; flex: none; }
.text-orange { color: var(--orange); }
.strong { font-weight: 700; }

/* ------------------------------ Buttons ------------------------------ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  padding: 13px 22px;
  border-radius: var(--radius-sm);
  border: 1.5px solid transparent;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease, box-shadow .18s ease;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn .icon { width: 18px; height: 18px; }
.btn-lg { padding: 15px 26px; font-size: 15.5px; }
.btn-block { width: 100%; white-space: normal; }

.btn-primary { background: var(--orange); color: #3a2600; box-shadow: 0 6px 16px rgba(245, 164, 0, 0.28); }
.btn-primary:hover { background: var(--orange-hover); }

.btn-outline { background: var(--white); color: var(--text); border-color: var(--border); }
.btn-outline:hover { border-color: var(--green); color: var(--green); }

.btn-ghost { background: transparent; color: var(--text); border-color: transparent; }
.btn-ghost:hover { color: var(--green); }

/* ------------------------------- Brand ------------------------------- */
.brand { display: inline-flex; flex-direction: column; line-height: 1; }
.brand-name { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.brand-fliqa { color: var(--green); }
.brand-india { color: var(--orange); }
.brand-sub { font-size: 11px; font-weight: 700; letter-spacing: 0.32em; color: var(--muted); margin-top: 2px; }
.brand-sub.center { text-align: center; }

/* ------------------------------ Header ------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--border);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); gap: 16px; }
.nav-desktop { display: none; }
.nav-desktop ul { display: flex; gap: 6px; }
.nav-link {
  display: inline-block;
  padding: 8px 14px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  border-radius: 8px;
  position: relative;
}
.nav-link:hover { color: var(--green); background: var(--green-tint); }
.nav-link.is-active { color: var(--green); }
.nav-link.is-active::after {
  content: '';
  position: absolute;
  left: 14px; right: 14px; bottom: -1px;
  height: 3px; border-radius: 3px;
  background: var(--orange);
}
.header-actions { display: none; align-items: center; gap: 8px; }
.btn-login { padding: 10px 14px; }

.nav-toggle {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--white);
  color: var(--text);
}
.nav-toggle .icon { width: 24px; height: 24px; }

/* Mobile app-style navigation drawer (slides in from the right) */
.mobile-menu {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(400px, 88vw);
  display: flex; flex-direction: column;
  padding: 16px 18px calc(20px + env(safe-area-inset-bottom, 0px));
  background: var(--white);
  border-left: 1px solid var(--border);
  box-shadow: -24px 0 60px rgba(11, 61, 46, .18);
  z-index: 120;
  transform: translateX(100%);
  transition: transform .28s cubic-bezier(.4, 0, .2, 1);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.mobile-menu[hidden] { display: none; }
.mobile-menu.open { transform: translateX(0); }

.mobile-drawer-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.mobile-drawer-close { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border: 1px solid var(--border); border-radius: 12px; background: var(--white); color: var(--text); cursor: pointer; }
.mobile-drawer-close .icon { width: 20px; height: 20px; }
.mobile-drawer-close:hover { border-color: var(--green); color: var(--green); }

.mobile-user { display: flex; align-items: center; gap: 12px; margin: 14px 0 4px; padding: 12px 14px; border-radius: 14px; background: var(--green-tint); text-decoration: none; color: var(--text); }
.mobile-user-avatar { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 12px; overflow: hidden; background: var(--green); color: #fff; font-weight: 800; }
.mobile-user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.mobile-user-id { display: grid; min-width: 0; flex: 1; }
.mobile-user-id strong { font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-user-id small { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-user-go .icon { width: 16px; color: var(--muted); }

.mobile-nav { display: grid; gap: 4px; margin-top: 14px; }
.mobile-nav-label { margin: 2px 6px 8px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mobile-nav-link { display: flex; align-items: center; gap: 13px; min-height: 54px; padding: 0 14px; border-radius: 13px; color: var(--text); text-decoration: none; font-size: 15.5px; font-weight: 650; transition: background .15s ease, color .15s ease, transform .1s ease; }
.mobile-nav-link:hover { background: var(--green-tint); }
.mobile-nav-link:active { transform: scale(.985); }
.mobile-nav-ic { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 11px; background: #F3F6F3; color: var(--green); }
.mobile-nav-ic .icon { width: 19px; height: 19px; }
.mobile-nav-text { flex: 1; min-width: 0; }
.mobile-nav-go { display: grid; }
.mobile-nav-go .icon { width: 16px; color: #b9c4bd; }
.mobile-nav-link.is-active { background: var(--green); color: #fff; }
.mobile-nav-link.is-active .mobile-nav-ic { background: rgba(255, 255, 255, .16); color: var(--orange); }
.mobile-nav-link.is-active .mobile-nav-go .icon { color: rgba(255, 255, 255, .7); }

.mobile-drawer-cta { display: grid; gap: 10px; margin-top: auto; padding-top: 20px; }
.mobile-drawer-cta .btn { width: 100%; }
.mobile-drawer-cta form { margin: 0; }
.mobile-drawer-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 2px; color: var(--muted); font-size: 12px; }
.mobile-drawer-note .icon { width: 14px; color: var(--green); }

.menu-backdrop { position: fixed; inset: 0; background: rgba(6, 24, 17, .42); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); z-index: 110; animation: menuFade .2s ease; }
.menu-backdrop[hidden] { display: none; }
@keyframes menuFade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mobile-menu { transition: none; } .menu-backdrop { animation: none; } }

/* ------------------------------- Hero -------------------------------- */
.hero { background: linear-gradient(180deg, var(--white) 0%, var(--cream) 100%); padding: 40px 0 56px; }
.hero-inner { display: grid; gap: 40px; }
.badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 700;
}
.badge-verified { background: var(--green-tint); color: var(--green); }
.badge-verified .icon { width: 16px; height: 16px; color: var(--success); }

.hero-title { font-size: 38px; line-height: 1.05; font-weight: 800; margin: 18px 0 16px; }
.hero-lead { font-size: 16.5px; color: var(--muted); max-width: 520px; }

.hero-trust { display: grid; gap: 16px; margin: 26px 0; }
.hero-trust li { display: flex; gap: 12px; align-items: flex-start; }
.hero-trust-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; flex: none;
  border-radius: 10px; background: var(--orange-tint); color: var(--orange-hover);
}
.hero-trust strong { display: block; font-size: 14.5px; font-weight: 700; }
.hero-trust small { color: var(--muted); font-size: 13px; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* Hero visual */
.hero-visual { display: grid; gap: 16px; }
.hero-photo {
  position: relative;
  border-radius: var(--radius-lg);
  min-height: 300px;
  background:
    radial-gradient(120% 120% at 70% 10%, rgba(245,164,0,.28), transparent 55%),
    linear-gradient(160deg, #123b2e 0%, #0B3D2E 60%, #06352A 100%);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.hero-photo-emoji { font-size: 92px; filter: drop-shadow(0 8px 18px rgba(0,0,0,.3)); }
.hero-services { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.service-card {
  display: flex; gap: 10px; align-items: center;
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 12px 14px; box-shadow: var(--shadow-sm);
}
.service-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; flex: none;
  border-radius: 10px; background: var(--green-tint); color: var(--green);
}
.service-card strong { display: block; font-size: 14px; }
.service-card small { color: var(--muted); font-size: 12px; line-height: 1.3; }

.hero-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 20px 16px; box-shadow: var(--shadow-sm);
}
.stat { text-align: center; }
.stat-value { display: block; font-size: 24px; font-weight: 800; color: var(--orange-hover); letter-spacing: -0.02em; }
.stat-label { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.hero-stats-flat { max-width: 640px; margin: 24px auto 0; grid-template-columns: repeat(3, 1fr); }

/* ------------------------------ Sections ----------------------------- */
.section { padding: 56px 0; }
.section-cream { background: var(--cream); }
.eyebrow { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); }
.section-title { font-size: 30px; margin: 10px 0 0; }
.section-title-sm { font-size: 22px; font-weight: 800; margin-bottom: 16px; }
.section-head { text-align: center; max-width: 640px; margin: 0 auto 34px; }
.section-head-inline { margin-bottom: 30px; }
.link-arrow { display: inline-flex; align-items: center; gap: 6px; color: var(--orange-hover); font-weight: 700; font-size: 14.5px; margin-top: 14px; }
.link-arrow:hover { gap: 10px; }
.link-arrow .icon { width: 16px; height: 16px; }

/* Partner types (home compact) */
.partner-types-section { background: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.partner-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.partner-card {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 22px 14px; text-align: center;
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius);
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.partner-card:hover { border-color: var(--orange); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.partner-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; border-radius: 14px;
  background: var(--green-tint); color: var(--green);
}
.partner-card:hover .partner-icon { background: var(--orange-tint); color: var(--orange-hover); }
.partner-icon .icon { width: 26px; height: 26px; }
.partner-title { font-size: 14.5px; font-weight: 700; }

/* Partner detail grid (partner-types page) */
.partner-detail-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.partner-detail-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 26px; box-shadow: var(--shadow-sm);
  transition: box-shadow .18s, transform .18s, border-color .18s;
}
.partner-detail-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--orange); }
.partner-detail-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 16px;
  background: var(--orange-tint); color: var(--orange-hover); margin-bottom: 16px;
}
.partner-detail-icon .icon { width: 28px; height: 28px; }
.partner-detail-card h3 { font-size: 19px; margin-bottom: 8px; }
.partner-detail-card p { color: var(--muted); font-size: 14.5px; margin-bottom: 14px; }

/* Benefits strip */
.benefits-strip { background: var(--cream); padding: 30px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.benefits-strip-inner { display: grid; grid-template-columns: 1fr; gap: 20px; }
.strip-item { display: flex; gap: 12px; align-items: flex-start; }
.strip-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; flex: none; border-radius: 12px;
  background: var(--white); border: 1px solid var(--border); color: var(--green);
}
.strip-item strong { display: block; font-size: 15px; font-weight: 700; }
.strip-item small { color: var(--muted); font-size: 13px; }

/* CTA banner */
.cta-banner {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--green) 0%, var(--green-deep) 100%);
  border-radius: var(--radius-lg); color: var(--white);
  padding: 40px 28px;
  display: grid; gap: 24px; align-items: center;
  box-shadow: var(--shadow-lg);
}
.cta-banner::before {
  content: ''; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(245,164,0,.28), transparent 70%); border-radius: 50%;
}
.cta-banner-copy { position: relative; z-index: 1; }
.cta-banner h2 { font-size: 28px; margin-bottom: 12px; }
.cta-banner p { color: rgba(255,255,255,.82); margin-bottom: 22px; max-width: 460px; }
.cta-banner-visual {
  position: relative; z-index: 1;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius); min-height: 130px;
  display: flex; align-items: center; justify-content: center;
  font-size: 40px; letter-spacing: 6px;
}

/* Feature grid */
.feature-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.feature-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 26px; box-shadow: var(--shadow-sm); transition: box-shadow .18s, transform .18s;
}
.feature-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.feature-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--green-tint); color: var(--green); margin-bottom: 14px;
}
.feature-icon .icon { width: 26px; height: 26px; }
.feature-card h3 { font-size: 17.5px; margin-bottom: 6px; }
.feature-card p { color: var(--muted); font-size: 14.5px; }

/* Brands */
.brands-section { padding: 40px 0 60px; background: var(--white); border-top: 1px solid var(--border); }
.brands-title { text-align: center; color: var(--muted); font-weight: 600; font-size: 14px; margin-bottom: 22px; }
.brands-strip { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; }
.brand-badge {
  padding: 10px 18px; border-radius: 999px;
  background: var(--cream); border: 1px solid var(--border);
  font-weight: 700; font-size: 14px; color: #374151; letter-spacing: .01em;
}
.brand-badge-more { background: transparent; border: none; color: var(--muted); font-weight: 500; }

/* ---------------------------- Page hero ------------------------------ */
.page-hero { background: linear-gradient(180deg, var(--white), var(--cream)); padding: 50px 0 40px; text-align: center; }
.page-hero-sm { padding: 40px 0 20px; }
.page-title { font-size: 34px; margin: 10px 0 14px; }
.page-lead { font-size: 16.5px; color: var(--muted); max-width: 620px; margin: 0 auto 22px; }

/* Steps */
.steps { display: grid; gap: 16px; max-width: 780px; margin: 0 auto; counter-reset: step; }
.step-item {
  display: flex; gap: 18px; align-items: flex-start;
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 22px 24px; box-shadow: var(--shadow-sm);
}
.step-number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; flex: none; border-radius: 14px;
  background: var(--green); color: var(--white); font-weight: 800; font-size: 18px;
}
.step-body h3 { font-size: 18px; margin-bottom: 4px; }
.step-body p { color: var(--muted); font-size: 14.5px; }

/* Resources */
.resource-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.resource-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
  overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow .18s, transform .18s;
}
.resource-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.resource-thumb { height: 150px; background: linear-gradient(135deg, #123b2e, #0B3D2E); position: relative; }
.resource-thumb::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(120% 120% at 80% 10%, rgba(245,164,0,.35), transparent 55%);
}
.resource-body { padding: 20px 22px; }
.resource-cat { display: inline-block; font-size: 12px; font-weight: 700; color: var(--orange-hover); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.resource-body h3 { font-size: 18px; margin-bottom: 8px; }
.resource-body p { color: var(--muted); font-size: 14.5px; margin-bottom: 12px; }

/* FAQ */
.faq-list { max-width: 780px; margin: 0 auto; display: grid; gap: 12px; }
.faq-item {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 4px 20px; box-shadow: var(--shadow-sm);
}
.faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 0; font-weight: 700; font-size: 15.5px; cursor: pointer; list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-toggle { display: inline-flex; color: var(--orange-hover); transition: transform .2s; }
.faq-item[open] .faq-toggle { transform: rotate(45deg); }
.faq-item p { color: var(--muted); font-size: 14.5px; padding-bottom: 18px; }

/* ---------------------------- Contact -------------------------------- */
.contact-layout { display: grid; gap: 30px; }
.contact-list { display: grid; gap: 18px; margin-top: 8px; }
.contact-list li { display: flex; gap: 14px; align-items: flex-start; }
.contact-ic {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; flex: none; border-radius: 12px;
  background: var(--green-tint); color: var(--green);
}
.contact-list strong { display: block; font-size: 14px; }
.contact-list a, .contact-list span { color: var(--muted); font-size: 14.5px; }

/* Forms */
.form-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 26px; box-shadow: var(--shadow-sm); display: grid; gap: 16px;
}
.form-row { display: grid; grid-template-columns: 1fr; gap: 16px; }
.form-card label { display: grid; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--text); }
.form-card input, .form-card select, .form-card textarea {
  font-family: inherit; font-size: 15px; color: var(--text);
  padding: 12px 14px; border: 1.5px solid var(--border); border-radius: 10px;
  background: var(--white); transition: border-color .15s, box-shadow .15s;
  width: 100%;
}
.form-card input:focus, .form-card select:focus, .form-card textarea:focus {
  outline: none; border-color: var(--orange); box-shadow: 0 0 0 3px var(--orange-tint);
}
.form-card textarea { resize: vertical; }
.checkbox { display: flex; align-items: center; gap: 8px; font-weight: 500; color: var(--muted); font-size: 13.5px; }
.checkbox input { width: auto; }
.checkbox-block { align-items: flex-start; }

.alert { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; font-size: 14.5px; font-weight: 600; }
.alert-success { background: rgba(22,163,74,.1); color: var(--success); border: 1px solid rgba(22,163,74,.25); }
.alert-error { background: rgba(185,28,28,.08); color: #991b1b; border: 1px solid rgba(185,28,28,.24); }
.alert .icon { color: var(--success); flex: none; }
.field-error { display: block; color: #991b1b; font-size: 12.5px; font-weight: 600; }
[aria-invalid="true"] { border-color: #b91c1c !important; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* ------------------------------ Auth --------------------------------- */
.auth-section { padding: 46px 0 60px; }
.auth-wrap { display: grid; gap: 26px; max-width: 460px; }
.auth-wrap-wide { max-width: 980px; }
.auth-card { min-width: 0; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 30px; box-shadow: var(--shadow-md); }
.auth-logo { display: block; text-align: center; font-size: 26px; }
.auth-title { font-size: 26px; margin: 18px 0 6px; }
.auth-title-sm { font-size: 22px; margin-top: 0; }
.auth-sub { color: var(--muted); font-size: 15px; margin-bottom: 20px; }
.auth-form { border: none; box-shadow: none; padding: 0; }
.auth-row { display: flex; align-items: center; justify-content: space-between; }
.link-sm { color: var(--orange-hover); font-weight: 600; font-size: 13.5px; }
.auth-alt { text-align: center; margin-top: 18px; font-size: 14.5px; color: var(--muted); }
.auth-alt a { color: var(--green); font-weight: 700; }
.auth-note { text-align: center; font-size: 12.5px; color: var(--muted); margin-top: 12px; }
.auth-aside { align-self: center; }
.auth-aside .auth-title { margin-top: 16px; }
.auth-checklist { display: grid; gap: 10px; margin: 20px 0; }
.auth-checklist li { display: flex; gap: 10px; align-items: center; font-size: 14.5px; font-weight: 600; }
.auth-checklist .icon { color: var(--success); width: 20px; height: 20px; }

/* Partner application */
.application-wrap { max-width: 1040px; }
.application-intro { max-width: 720px; margin: 0 auto 26px; text-align: center; }
.application-intro .auth-title { margin-top: 14px; }
.application-note { display: flex; gap: 9px; align-items: flex-start; padding: 13px 15px; border-radius: 12px; background: var(--green-tint); color: var(--green); font-size: 13.5px; font-weight: 600; }
.application-note .icon { flex: none; }
.application-card { max-width: 880px; margin: 0 auto; }
.form-progress { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-bottom: 28px; }
.form-progress-item { position: relative; display: grid; justify-items: center; gap: 6px; color: var(--muted); text-align: center; }
.form-progress-item::before { content: ''; position: absolute; top: 16px; right: 50%; width: 100%; height: 2px; background: var(--border); z-index: 0; }
.form-progress-item:first-child::before { display: none; }
.form-progress-item span { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--white); border: 2px solid var(--border); font-weight: 800; font-size: 13px; }
.form-progress-item small { font-size: 11.5px; font-weight: 700; }
.form-progress-item.is-active span, .form-progress-item.is-complete span { background: var(--green); border-color: var(--green); color: var(--white); }
.form-progress-item.is-active small, .form-progress-item.is-complete small { color: var(--green); }
.form-progress-item.is-active::before, .form-progress-item.is-complete::before { background: var(--green); }
.application-form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 16px; min-width: 0; }
.application-form fieldset[hidden] { display: none; }
.application-form legend { font-size: 22px; font-weight: 800; margin-bottom: 4px; }
.step-help { color: var(--muted); font-size: 14px; }
.partner-choice-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
@media (max-width: 600px) {
  .partner-choice-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
.partner-choice { position: relative; display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: space-between; min-height: 170px; gap: 14px !important; padding: 24px 20px; border: 1.5px solid #dbe2dd; border-radius: 16px; cursor: pointer; background: #fff; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s cubic-bezier(0.4, 0, 0.2, 1); }
.partner-choice:hover { border-color: #a3b8ad; background: #f8faf8; box-shadow: 0 8px 24px rgba(11,61,46,.08); transform: translateY(-2px); }
.partner-choice:active { transform: scale(.98); }
.partner-choice:has(input:checked) { border-color: var(--green); background: #f0f6f3; box-shadow: 0 0 0 2px rgba(11,61,46,.12), 0 8px 24px rgba(11,61,46,.06); }
.partner-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.partner-choice:has(input:focus-visible) { outline: 3px solid rgba(245,164,0,.55); outline-offset: 2px; }
.partner-choice strong { font-size: 15px; font-weight: 700; line-height: 1.25; color: #173d30; margin-top: auto; }
.partner-choice::after { content: ""; position: absolute; top: 14px; right: 14px; width: 22px; height: 22px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat; opacity: 0; transform: scale(.5); transition: opacity .15s ease, transform .15s ease; }
.partner-choice:has(input:checked)::after { opacity: 1; transform: scale(1); }
.partner-choice-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 12px; background: #f1f5f3; color: #53625a; transition: all 0.2s ease; }
.partner-choice-icon .icon { width: 24px; height: 24px; }
.partner-choice:has(input:checked) .partner-choice-icon { background: var(--green); color: #fff; }
.equipment-fields { display: grid; gap: 20px; }
.equipment-card-group { display: grid; gap: 12px; padding: 22px; background: #f9fbf9; border: 1.5px solid #e3ebe6; border-radius: 16px; transition: all 0.2s ease; }
.equipment-card-group:focus-within { border-color: var(--green, #0B3D2E); background: #fff; box-shadow: 0 8px 24px rgba(11,61,46,.06); }
.equipment-card-header { display: flex; flex-direction: column; gap: 4px; }
.equipment-card-label { font-size: 15px !important; font-weight: 700; color: #173d30; }
.equipment-card-helper { font-size: 13px; color: #6c7b72; line-height: 1.4; }
.equipment-textarea { width: 100%; padding: 14px 16px; border: 1.5px solid #cfdbd3; border-radius: 12px; font: inherit; background: #fff; resize: vertical; min-height: 90px; transition: border-color .15s ease, box-shadow .15s ease; }
.equipment-textarea:focus { border-color: var(--green, #0B3D2E) !important; box-shadow: 0 0 0 4px rgba(11,61,46,.12) !important; outline: 0; }

.application-review { background: var(--cream); border: 1px solid var(--border); border-radius: 14px; padding: 18px; }
.review-list { margin: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
.review-list div { border-bottom: 1px solid var(--border); padding-bottom: 9px; }
.review-list div:last-child { border: 0; padding-bottom: 0; }
.review-list dt { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.review-list dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 8px; }
.application-success { text-align: center; padding: 12px 0; }
.application-success h2 { margin: 8px 0 16px; }
.application-success p { color: var(--muted); }
.success-icon { display: inline-grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: rgba(22,163,74,.1); color: var(--success); }
.application-number { display: block; margin: 10px auto 20px; color: var(--green); font-size: clamp(21px, 5vw, 30px); letter-spacing: .04em; overflow-wrap: anywhere; }
.success-details { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; }
.success-details div { padding: 14px; border-radius: 12px; background: var(--cream); }
.success-details dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.success-details dd { margin: 3px 0 0; font-weight: 700; }

/* ------------------------------ Legal -------------------------------- */
.legal-content { max-width: 780px; margin: 0 auto; }
.legal-content h2 { font-size: 20px; margin: 28px 0 8px; }
.legal-content p { color: var(--muted); margin-bottom: 6px; }
.legal-content a { color: var(--green); font-weight: 600; }

/* ------------------------------ Error -------------------------------- */
.error-section { padding: 80px 0; text-align: center; }
.error-code { font-size: 90px; font-weight: 800; color: var(--orange); line-height: 1; letter-spacing: -0.04em; }

/* ========================= PREMIUM FOOTER ============================ */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* --- Floating CTA banner --- */
.foot-cta-wrap { background: linear-gradient(180deg, var(--cream) 0%, var(--cream) 55%, var(--green-deep) 55%, var(--green-deep) 100%); padding-top: 20px; }
.foot-cta {
  position: relative; overflow: hidden;
  background:
    radial-gradient(120% 160% at 100% 0%, rgba(245,164,0,.10), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, #fffdf8 100%);
  border: 1px solid var(--border); border-radius: 28px;
  padding: 30px 28px;
  display: grid; gap: 22px;
  box-shadow: 0 1px 2px rgba(17,24,39,.04), 0 18px 44px rgba(6,53,42,.14);
}
.foot-cta-glow { position: absolute; inset: 0; background-image: radial-gradient(rgba(11,61,46,.05) 1px, transparent 1px); background-size: 22px 22px; opacity: .5; pointer-events: none; }
.foot-cta-main { position: relative; display: flex; gap: 18px; align-items: center; }
.foot-cta-icon {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 60px; height: 60px; border-radius: 18px;
  background: radial-gradient(circle at 30% 25%, #fff, var(--orange-tint));
  color: var(--orange-hover); border: 1px solid rgba(245,164,0,.35);
  box-shadow: 0 8px 20px rgba(245,164,0,.18);
}
.foot-cta-icon .icon { width: 26px; height: 26px; }
.foot-cta-title { font-size: 24px; color: var(--green); margin-bottom: 4px; }
.foot-cta-text { color: var(--muted); font-size: 15px; max-width: 460px; }
.foot-cta-actions { position: relative; display: flex; flex-wrap: wrap; gap: 12px; }
.foot-cta-actions .btn { transition: transform .3s ease, box-shadow .3s ease, background .18s, border-color .18s, color .18s; }
.foot-cta-actions .btn:hover { transform: translateY(-3px); }

/* --- Main footer shell --- */
.site-footer { position: relative; background: var(--green-deep); color: rgba(255,255,255,.72); overflow: hidden; }
.footer-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(60% 60% at 12% 0%, rgba(18,59,46,.9), transparent 60%),
    radial-gradient(50% 50% at 100% 10%, rgba(245,164,0,.06), transparent 60%),
    linear-gradient(180deg, #0B3D2E 0%, #06352A 100%);
}
.site-footer::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .35;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 70%);
          mask-image: linear-gradient(180deg, #000, transparent 70%);
}
.site-footer .container { position: relative; z-index: 1; }

.footer-main { display: grid; grid-template-columns: 1fr; gap: 40px; padding: 52px 20px 30px; }

/* Brand column */
.footer-logo-link { margin-bottom: 4px; }
.footer-logo { font-size: 24px; }
.footer-logo .brand-fliqa { color: #fff; }
.footer-brand .brand-sub { color: rgba(255,255,255,.5); }
.footer-desc { margin: 16px 0 20px; font-size: 14px; line-height: 1.7; max-width: 340px; color: rgba(255,255,255,.66); }
.footer-contacts { display: grid; gap: 10px; margin-bottom: 20px; }
.contact-chip {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 14px; color: rgba(255,255,255,.82); padding: 4px 6px 4px 4px;
  border-radius: 999px; transition: color .3s, transform .3s;
}
.contact-chip-ic {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 38px; height: 38px; border-radius: 12px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09);
  color: var(--orange); transition: background .3s, border-color .3s, transform .3s;
}
.contact-chip-ic .icon { width: 18px; height: 18px; }
a.contact-chip:hover { color: #fff; }
a.contact-chip:hover .contact-chip-ic { background: rgba(245,164,0,.16); border-color: rgba(245,164,0,.4); transform: translateY(-2px); }

.footer-social { display: flex; gap: 10px; }
.social-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 999px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  color: #fff; transition: transform .3s ease, background .3s, border-color .3s, box-shadow .3s;
}
.social-btn:hover { transform: translateY(-3px) scale(1.05); background: var(--orange); border-color: var(--orange); color: #2a1c00; box-shadow: 0 10px 22px rgba(245,164,0,.28); }
.brand-glyph { width: 18px; height: 18px; display: block; }

/* Link columns */
.footer-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 24px; }
.footer-col-title { color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 16px; position: relative; padding-bottom: 10px; }
.footer-col-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 26px; height: 3px; border-radius: 3px; background: var(--orange); }
.footer-col ul { display: grid; gap: 11px; }
.footer-link {
  position: relative; display: inline-block; font-size: 14px; color: rgba(255,255,255,.68);
  transition: color .3s ease, transform .3s ease; padding-bottom: 2px;
}
.footer-link::after {
  content: ''; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%;
  background: var(--orange); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.footer-link:hover { color: #fff; transform: translateX(2px); }
.footer-link:hover::after { transform: scaleX(1); }

/* Stay updated */
.footer-updates-text { font-size: 14px; color: rgba(255,255,255,.66); margin-bottom: 16px; max-width: 320px; }
.footer-alert { margin-bottom: 14px; }
.newsletter {
  display: flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px; padding: 6px; max-width: 340px;
  transition: border-color .3s, box-shadow .3s;
}
.newsletter:focus-within { border-color: rgba(245,164,0,.6); box-shadow: 0 0 0 3px rgba(245,164,0,.14); }
.newsletter input {
  flex: 1; min-width: 0; background: transparent; border: none; outline: none;
  color: #fff; font-family: inherit; font-size: 14.5px; padding: 10px 12px;
}
.newsletter input::placeholder { color: rgba(255,255,255,.5); }
.newsletter-btn {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 42px; height: 42px; border: none; border-radius: 10px;
  background: var(--orange); color: #2a1c00; transition: background .18s, transform .3s;
}
.newsletter-btn:hover { background: var(--orange-hover); transform: translateY(-2px); }
.newsletter-btn .icon { width: 20px; height: 20px; }
.newsletter-note { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 12.5px; color: rgba(255,255,255,.5); }
.newsletter-note .icon { width: 14px; height: 14px; }

.footer-apps { margin-top: 26px; }
.footer-apps-title { color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.footer-apps-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.app-badges { display: flex; flex-direction: column; gap: 10px; }
.app-badge { display: inline-flex; border-radius: 10px; transition: transform .3s ease; }
.app-badge:hover { transform: translateY(-2px); }
.brand-store { height: 42px; width: auto; display: block; border-radius: 10px; }
.app-qr { flex: none; padding: 6px; background: #fff; border-radius: 14px; box-shadow: 0 8px 20px rgba(0,0,0,.2); }
.qr-svg { width: 78px; height: 78px; display: block; }

/* Trust strip */
.footer-trust {
  display: grid; grid-template-columns: 1fr; gap: 12px;
  padding: 26px 20px; margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.trust-card {
  display: flex; gap: 12px; align-items: center;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px; padding: 14px 16px;
  backdrop-filter: blur(6px);
  transition: transform .3s ease, background .3s, border-color .3s, box-shadow .3s;
}
.trust-card:hover { transform: translateY(-6px); background: rgba(255,255,255,.07); border-color: rgba(245,164,0,.35); box-shadow: 0 16px 30px rgba(0,0,0,.22); }
.trust-ic {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 44px; height: 44px; border-radius: 14px;
  background: rgba(245,164,0,.12); color: var(--orange); border: 1px solid rgba(245,164,0,.22);
}
.trust-ic .icon { width: 22px; height: 22px; }
.trust-body strong { display: block; color: #fff; font-size: 14px; font-weight: 700; }
.trust-body small { color: rgba(255,255,255,.6); font-size: 12.5px; }

/* Bottom bar */
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.12); }
.footer-bottom-inner { display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center; padding: 20px; }
.footer-copy { font-size: 13px; color: rgba(255,255,255,.6); }
.footer-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; }
.footer-badges li { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.66); }
.badge-ic { display: inline-flex; color: var(--orange); }
.badge-ic .icon { width: 16px; height: 16px; }
.footer-pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.pay-chip {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 54px; height: 32px; padding: 0 12px;
  background: rgba(255,255,255,.9); border-radius: 8px; color: #0B3D2E;
}
.pay-chip .brand-pay { height: 16px; width: auto; display: block; }

/* ============================ Breakpoints ============================= */
@media (min-width: 600px) {
  .hero-services { grid-template-columns: 1fr 1fr; }
  .partner-grid { grid-template-columns: repeat(3, 1fr); }
  .partner-detail-grid { grid-template-columns: repeat(2, 1fr); }
  .benefits-strip-inner { grid-template-columns: repeat(2, 1fr); }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr 1fr; }
  .partner-choice-grid { grid-template-columns: repeat(4, 1fr); }
  .review-list { grid-template-columns: 1fr 1fr; }
  .contact-layout { grid-template-columns: 1fr 1fr; }
  .footer-cols { grid-template-columns: repeat(4, 1fr); gap: 30px 20px; }
  .footer-trust { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 599px) {
  .application-card { padding: 22px 16px; }
  .form-progress-item small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .partner-choice-grid { grid-template-columns: 1fr; }
  .form-actions .btn { flex: 1; }
  .success-details { grid-template-columns: 1fr; }
}

@media (min-width: 900px) {
  .hero-title { font-size: 52px; }
  .hero-inner { grid-template-columns: 1.05fr 1fr; align-items: center; gap: 48px; }
  .hero-photo { min-height: 360px; }
  .section-title { font-size: 38px; }
  .page-title { font-size: 46px; }
  .partner-grid { grid-template-columns: repeat(4, 1fr); }
  .partner-detail-grid { grid-template-columns: repeat(4, 1fr); }
  .benefits-strip-inner { grid-template-columns: repeat(4, 1fr); }
  .feature-grid { grid-template-columns: repeat(4, 1fr); }
  .feature-grid-3 { grid-template-columns: repeat(3, 1fr); }
  .resource-grid { grid-template-columns: repeat(3, 1fr); }
  .cta-banner { grid-template-columns: 1.3fr 1fr; padding: 48px 44px; }
  .cta-banner h2 { font-size: 34px; }
  .auth-wrap-wide { grid-template-columns: 1fr 1fr; align-items: start; }
  .section-head-inline { display: flex; align-items: flex-end; justify-content: space-between; }

  /* Footer desktop */
  .foot-cta { grid-template-columns: 1fr auto; align-items: center; padding: 30px 40px; }
  .foot-cta-title { font-size: 27px; }
  .footer-main { grid-template-columns: 1.6fr 2.4fr 1.3fr; gap: 48px; padding: 60px 20px 32px; }
  .footer-updates { max-width: 340px; }
  .footer-trust { grid-template-columns: repeat(3, 1fr); }
  .footer-bottom-inner { flex-direction: row; justify-content: space-between; text-align: left; padding: 22px 20px; }
}

@media (min-width: 1100px) {
  .footer-trust { grid-template-columns: repeat(6, 1fr); }
}

@media (min-width: 992px) {
  .nav-desktop { display: block; }
  .header-actions { display: flex; }
  .nav-toggle { display: none; }
}

@media (min-width: 1100px) {
  .hero-title { font-size: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}
/* Partner authentication and dashboard */
.auth-form{display:grid;gap:14px;text-align:left}.auth-form label{display:grid;gap:7px;font-weight:600;color:#111827}.auth-form input,.auth-form select,.auth-form textarea{width:100%;padding:12px 14px;border:1px solid #d8ddd9;border-radius:10px;font:inherit;background:#fff}.auth-form textarea{min-height:110px;resize:vertical}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{outline:3px solid rgba(245,164,0,.25);border-color:#f5a400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex!important;align-items:flex-start;font-weight:400!important}.check input{width:auto;margin-top:4px}.field-error,.auth-alert{color:#b91c1c}.auth-alert{padding:12px;border-radius:10px;background:#fef2f2}.auth-alert.success{color:#166534;background:#f0fdf4}.header-actions form,.mobile-menu-actions form{margin:0}.dashboard-body{background:#fbf8f1;color:#111827}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.dash-sidebar{position:sticky;top:0;height:100vh;background:#06352a;color:#fff;padding:28px 20px;display:flex;flex-direction:column;gap:30px}.dash-sidebar .brand-india,.dash-sidebar .brand-fliqa{color:#fff}.dash-sidebar nav{display:grid;gap:7px;flex:1}.dash-sidebar nav a,.dash-sidebar nav span{color:#fff;padding:11px 12px;border-radius:10px;text-decoration:none}.dash-sidebar nav a:hover{background:rgba(255,255,255,.1)}.dash-sidebar small{display:block;color:#cbd5d1}.dash-main{padding:30px 36px;max-width:1440px;width:100%;overflow:hidden}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dash-top h1{font-size:clamp(28px,4vw,36px)}.dash-hero,.dash-card,.metric-grid article{background:#fff;border:1px solid #e8e8e8;border-radius:18px;padding:24px;box-shadow:0 6px 20px rgba(11,61,46,.05)}.progress{height:10px;background:#edf0ee;border-radius:10px;overflow:hidden;margin:18px 0 8px}.progress span{display:block;height:100%;background:#f5a400}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.metric-grid article{display:grid;gap:8px}.metric-grid strong{font-size:24px;text-transform:capitalize}.metric-grid p,.empty-state{color:#5b6472}.status-list{display:grid;grid-template-columns:max-content 1fr;gap:12px 24px}.status-list dt{font-weight:700}.status-list dd{text-transform:capitalize}.dash-card+.dash-card{margin-top:18px}
@media(max-width:800px){.dashboard-shell{display:block}.dash-sidebar{position:static;height:auto;padding:18px}.dash-sidebar nav{grid-template-columns:repeat(2,1fr)}.dash-main{padding:20px 16px}.metric-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.dash-top{align-items:flex-start}.dash-top .btn{padding:10px}.dash-sidebar nav{grid-template-columns:1fr 1fr}}

/* Premium admin operations console */
.admin-body{margin:0;background:#f7f8f6;color:#111827;font:14px Inter,Manrope,system-ui,sans-serif}.admin-app{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:24px 16px;background:#06352a;color:#fff;display:flex;flex-direction:column;z-index:40}.admin-wordmark{display:flex;gap:8px;align-items:baseline;padding:4px 10px 28px;color:#fff;text-decoration:none;font-size:20px;font-weight:800}.admin-wordmark small{color:#f5a400;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:4px}.admin-nav-label,.admin-kicker{margin:0 10px 10px;color:#7b8b85;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.admin-sidebar nav a,.admin-sidebar-foot>a,.admin-sidebar-foot button{position:relative;width:100%;display:flex;padding:11px 13px;border:0;border-radius:10px;background:none;color:#cbd8d3;text-decoration:none;font:600 14px inherit;cursor:pointer}.admin-sidebar nav a:hover,.admin-sidebar nav a.active,.admin-sidebar-foot a:hover,.admin-sidebar-foot button:hover{color:#fff;background:#ffffff14}.admin-sidebar nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:#f5a400}.admin-sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid #ffffff1a}.admin-sidebar-foot form{margin:0}.admin-identity{display:flex;align-items:center;gap:10px;margin-top:8px;padding:16px 10px 0;border-top:1px solid #ffffff1a}.admin-identity>span,.admin-avatar,.initial{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f5a400;color:#06352a;font-weight:800;text-decoration:none;text-transform:uppercase}.admin-identity div{display:grid}.admin-identity small{color:#9eb2aa;font-size:11px}.admin-workspace{margin-left:250px;min-width:0}.admin-topbar{height:72px;position:sticky;top:0;z-index:30;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f7f8f6f0;backdrop-filter:blur(12px);border-bottom:1px solid #e7e7e7}.admin-search{min-width:320px;height:40px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e5e2;border-radius:12px;background:#fff;color:#64748b}.admin-search kbd{padding:2px 6px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc;font-size:11px}.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-menu{display:none}.admin-main{max-width:1440px;margin:auto;padding:32px}.admin-page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.admin-page-head h1{margin:4px 0 0;font-size:28px;letter-spacing:-.03em}.admin-breadcrumb{margin:0;color:#64748b;font-size:12px}.admin-welcome{margin-bottom:24px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;border-radius:18px;background:#0b3d2e;color:#fff;box-shadow:0 8px 24px #06352a1f}.admin-welcome .admin-kicker{margin-left:0;color:#f5a400}.admin-welcome h2{margin:3px 0 7px;font-size:28px}.admin-welcome p{margin:0;color:#cbd8d3}.admin-btn{min-height:40px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;font:700 14px/1 inherit;text-decoration:none;cursor:pointer;transition:.18s}.admin-btn:hover{transform:translateY(-1px)}.admin-btn.primary{background:#0b3d2e;color:#fff}.admin-btn.secondary,.admin-btn.ghost{background:#fff;border-color:#e5e7eb;color:#334155}.admin-btn.danger{background:#dc2626;color:#fff}.admin-btn.success{background:#16a34a;color:#fff}.admin-btn.info{background:#2563eb;color:#fff}.admin-btn.full{width:100%}.admin-btn:disabled{opacity:.65}.admin-body :focus-visible{outline:3px solid #2563eb40;outline-offset:2px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{position:relative;padding:20px;overflow:hidden;border:1px solid #e7e7e7;border-radius:18px;background:#fff;box-shadow:0 3px 12px #0f172a09}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#94a3b8}.metric-card.warning:before{background:#d97706}.metric-card.success:before{background:#16a34a}.metric-card.info:before{background:#2563eb}.metric-card.danger:before{background:#dc2626}.metric-card.brand:before{background:#0b3d2e}.metric-card p{margin:0;color:#64748b;font-weight:600}.metric-card strong{display:block;margin:12px 0 5px;font-size:30px}.metric-card small{color:#94a3b8;font-size:12px}.admin-two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.admin-card,.admin-table-card{padding:22px;border:1px solid #e7e7e7;border-radius:18px;background:#fff;box-shadow:0 3px 14px #0f172a09}.admin-card h2{margin:0 0 18px;font-size:17px}.card-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.card-head h2{margin:2px 0 0}.card-head .admin-kicker{margin:0}.card-head>a{color:#0b3d2e;font-weight:700;text-decoration:none}.admin-list-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #eef0ee;color:#111827;text-decoration:none}.admin-list-row:first-child{border:0}.admin-list-row div{display:grid;gap:3px}.admin-list-row small,.person small,td small{display:block;margin-top:3px;color:#64748b;font-size:12px}.initial,.admin-list-row .initial{width:34px;height:34px;border-radius:10px;background:#edf4f1;color:#0b3d2e}.status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800;white-space:nowrap}.status.under_review,.status.pending,.status.new{background:#fff7ed;color:#b45309}.status.approved,.status.active,.status.resolved{background:#ecfdf3;color:#15803d}.status.rejected,.status.suspended,.status.spam,.status.deactivated{background:#fef2f2;color:#b91c1c}.status.need_changes,.status.in_progress,.status.document_review,.status.skill_review{background:#eff6ff;color:#1d4ed8}.status.verified{background:#e8f4ef;color:#06352a}.timeline-item{position:relative;display:grid;grid-template-columns:12px 1fr;gap:12px;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:4px;top:10px;bottom:-2px;width:1px;background:#e5e7eb}.timeline-item:last-child:before{display:none}.timeline-item i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#f5a400;z-index:1}.timeline-item p{margin:4px 0;color:#475569}.timeline-item small{color:#94a3b8}.admin-filterbar{margin-bottom:16px;padding:12px;display:flex;gap:10px;border:1px solid #e7e7e7;border-radius:16px;background:#fff}.admin-filterbar input{min-width:280px;flex:1}.admin-body input,.admin-body select,.admin-body textarea{width:100%;padding:10px 12px;border:1px solid #dfe3df;border-radius:12px;background:#fff;color:#111827;font:500 14px/1.4 inherit}.admin-body select option{background-color:#fff;color:#111827}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{outline:none;border-color:#0b3d2e;box-shadow:0 0 0 3px rgba(11,61,46,0.12)}.admin-body textarea{min-height:88px;resize:vertical}.admin-body label{display:grid;gap:7px;margin-bottom:14px;color:#334155;font-size:13px;font-weight:700}.admin-check{display:flex!important;align-items:center;gap:9px!important}.admin-check input{width:auto}.admin-table-card{padding:0;overflow:hidden}.table-summary{height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e7e7}.admin-table-wrap{overflow:auto}.admin-table-wrap table{width:100%;min-width:900px;border-collapse:collapse}.admin-table-wrap th{position:sticky;top:0;padding:12px 16px;background:#fafbfa;border-bottom:1px solid #e7e7e7;color:#64748b;text-align:left;font-size:12px;text-transform:uppercase}.admin-table-wrap td{padding:14px 16px;border-bottom:1px solid #eef0ee}.admin-table-wrap tr:hover{background:#fafcfb}.person{display:flex;align-items:center;gap:10px}.row-action{color:#0b3d2e;font-weight:800;text-decoration:none}.pagination{padding:16px;display:flex;justify-content:center;gap:18px}.admin-empty{padding:44px 20px;text-align:center;color:#64748b}.admin-empty h3{margin:0 0 6px;color:#111827}.admin-empty p{margin:0}.admin-empty.compact{padding:22px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.detail-main{display:grid;gap:18px}.review-panel .sticky{position:sticky;top:96px}.review-panel hr{margin:22px 0;border:0;border-top:1px solid #e7e7e7}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.detail-grid div{padding:14px;display:grid;gap:6px;border:1px solid #eef0ee;border-radius:12px}.detail-grid small{color:#64748b}.long-copy{color:#475569;line-height:1.7;white-space:pre-wrap}.tag-row{margin-bottom:22px;display:flex;flex-wrap:wrap;gap:8px}.tag-row>span:not(.status){padding:7px 10px;border-radius:999px;background:#edf4f1;color:#0b3d2e;font-weight:700}.link-list{display:grid;gap:8px;margin-bottom:18px}.link-list a{padding:12px;display:flex;justify-content:space-between;border:1px solid #e7e7e7;border-radius:12px;color:#0b3d2e;font-weight:700;text-decoration:none}.equipment{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipment div{padding:11px;border:1px solid #eef0ee;border-radius:10px}.equipment dt{color:#64748b;font-size:12px}.equipment dd{margin:5px 0 0}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.contact-meta{margin:15px 0;padding:14px 0;display:grid;gap:5px;border-block:1px solid #eef0ee}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.admin-alert{margin-bottom:18px;padding:13px 15px;border-radius:12px;font-weight:650}.admin-alert.success{border:1px solid #bbf7d0;background:#ecfdf3;color:#166534}.admin-alert.error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.admin-login-body{margin:0;background:#f7f8f6;color:#111827;font-family:Inter,Manrope,system-ui,sans-serif}.admin-login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.admin-login-brand{padding:48px 8vw;display:flex;flex-direction:column;justify-content:space-between;background:#06352a;color:#fff}.admin-login-brand .admin-wordmark{padding:0}.admin-login-brand h1{max-width:600px;margin:12px 0 20px;font-size:48px;line-height:1.05;letter-spacing:-.05em}.admin-login-brand p{max-width:520px;color:#b9cbc4;line-height:1.7}.admin-login-brand .admin-kicker{margin:0;color:#f5a400}.admin-login-panel{padding:40px;display:grid;place-items:center}.admin-login-card{width:min(420px,100%);padding:36px;border:1px solid #e7e7e7;border-radius:20px;background:#fff;box-shadow:0 20px 50px #0f172a14}.admin-login-card h2{margin:5px 0 8px;font-size:28px}.admin-login-card>p{color:#64748b}.admin-login-card .admin-kicker{margin:0;color:#0b3d2e}.admin-back{display:block;margin-top:20px;color:#64748b;text-align:center;text-decoration:none;font-weight:600}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-two-col,.settings-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.review-panel .sticky{position:static}.contact-grid{grid-template-columns:1fr}}
@media(max-width:820px){.admin-sidebar{transform:translateX(-100%);transition:.2s}.admin-nav-open .admin-sidebar{transform:none}.admin-workspace{margin-left:0}.admin-menu{display:inline-flex;padding:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.admin-search{display:none}.admin-topbar{height:64px;padding:0 16px}.admin-main{padding:22px 16px}.admin-filterbar{flex-wrap:wrap}.admin-filterbar>*{flex:1 1 180px}.admin-filterbar input{min-width:0}.admin-login-shell{grid-template-columns:1fr}.admin-login-brand{display:none}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.metric-grid,.detail-grid{grid-template-columns:1fr}.admin-welcome{display:block;padding:24px}.admin-welcome .admin-btn{margin-top:18px}.admin-top-actions .admin-btn{display:none}.admin-card{padding:18px}.admin-login-panel{padding:18px}.admin-login-card{padding:24px}.contact-grid{display:block}.contact-card{margin-bottom:14px}}

/* Project operations */
.project-page{max-width:1500px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.project-header h1{margin:8px 0;font-size:32px}.project-header p{margin:0;color:#64748b}.project-actions{display:flex;gap:10px}.project-actions form{margin:0}.project-filters{display:grid;grid-template-columns:2fr repeat(7,1fr) auto auto;gap:10px;align-items:end;margin-bottom:18px;padding:16px;border:1px solid #e7e7e7;border-radius:18px;background:#fff}.project-filters label{margin:0}.project-form{display:grid;gap:18px}.project-stepper{position:sticky;top:0;z-index:5;padding:14px;display:flex;gap:8px;overflow:auto;border:1px solid #e7e7e7;border-radius:15px;background:#fffc}.project-stepper a{padding:8px 12px;border-radius:9px;color:#475569;text-decoration:none;font-weight:700;white-space:nowrap}.project-stepper a:hover{background:#edf4f1;color:#06352a}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.project-grid .wide{grid-column:1/-1}.role-row{position:relative;margin:0 0 14px;padding:20px;border:1px solid #dfe3df;border-radius:14px}.role-row legend{padding:0 8px;font-weight:800}.remove-role{border:0;background:none;color:#b91c1c;font-weight:700;cursor:pointer}.project-submit{position:sticky;bottom:12px;padding:14px;display:flex;justify-content:flex-end;gap:10px;border:1px solid #dfe3df;border-radius:16px;background:#fffffff2;box-shadow:0 12px 30px #0f172a1a}.project-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.project-hero>div{padding:18px;border:1px solid #e7e7e7;border-radius:16px;background:#fff}.project-hero small{display:block;margin-bottom:8px;color:#64748b}.project-hero strong{font-size:17px}.project-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.project-facts div{padding:13px;border:1px solid #edf0ee;border-radius:12px}.project-facts dt{color:#64748b;font-size:12px}.project-facts dd{margin:5px 0 0;font-weight:700}.requirement-card{margin-bottom:12px;padding:15px;border:1px solid #e7e7e7;border-radius:13px}.requirement-card small{display:block;color:#64748b}.staff-progress{height:7px;margin:12px 0;border-radius:10px;background:#e5e7eb;overflow:hidden}.staff-progress span{display:block;height:100%;background:#0b3d2e}.requirement-card p{margin:0;color:#64748b;font-size:12px}.status-action{padding:12px 0;border-top:1px solid #eef0ee}.status.draft{background:#f1f5f9}.status.open_for_assignment{background:#ecfdf3;color:#15803d}.status.on_hold{background:#fff7ed;color:#b45309}.status.cancelled,.status.archived{background:#fef2f2;color:#b91c1c}
@media(max-width:1100px){.project-filters{grid-template-columns:repeat(3,1fr)}.project-hero{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.project-page{padding:20px 14px}.project-header{display:block}.project-header .admin-btn{margin-top:14px}.project-actions{flex-wrap:wrap}.project-filters,.project-grid,.project-hero,.project-facts{grid-template-columns:1fr}.project-grid .wide{grid-column:auto}.project-submit{flex-wrap:wrap}.project-submit .admin-btn{flex:1}.admin-table-wrap table{min-width:0}.admin-table-wrap thead{display:none}.admin-table-wrap tbody,.admin-table-wrap tr,.admin-table-wrap td{display:block}.admin-table-wrap tr{margin:12px;border:1px solid #e7e7e7;border-radius:14px;padding:10px}.admin-table-wrap td{padding:7px;border:0}.admin-table-wrap td:last-child{padding-top:12px}.detail-layout{grid-template-columns:1fr}}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.template-card{padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid #e4e8e5;border-radius:18px;background:#fff}.template-card h2{margin:10px 0 8px}.template-card p{color:#64748b;line-height:1.55}.template-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.template-card dt{color:#64748b;font-size:11px}.template-card dd{margin:4px 0 0;font-weight:800}.template-actions,.template-strip{display:flex;gap:10px}.template-strip{overflow:auto;padding-bottom:6px}.template-strip article{min-width:260px;padding:16px;border:1px solid #e4e8e5;border-radius:14px}.template-strip small{display:block;margin:5px 0;color:#64748b}.template-strip p{min-height:60px;color:#64748b}.code-input{min-height:320px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}.assignment-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.match-card{margin:0!important;padding:14px;border:1px solid #e4e8e5;border-radius:14px;cursor:pointer}.match-card.ineligible{opacity:.65;background:#fafafa}.match-head{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px}.match-head div{display:grid}.match-head small,.match-card>small{color:#64748b}.match-head b{color:#0b3d2e;font-size:18px}.match-card>p{min-height:38px;color:#475569;font-size:12px}.assignment-confirm{margin-top:16px;padding:16px;border-radius:14px;background:#f7faf8}.assignment-history{padding:14px 0;border-bottom:1px solid #eef0ee}.assignment-history .status{float:right}.assignment-history form{margin-top:10px}.status.warning{background:#fff7ed;color:#b45309}.status.eligible{background:#ecfdf3;color:#15803d}.status.ineligible{background:#fef2f2;color:#b91c1c}
@media(max-width:1050px){.template-grid{grid-template-columns:repeat(2,1fr)}.assignment-layout{grid-template-columns:1fr}}
@media(max-width:700px){.template-grid,.match-grid{grid-template-columns:1fr}.template-card dl{grid-template-columns:repeat(3,1fr)}.template-filters{grid-template-columns:1fr}.assignment-confirm{padding:12px}}
.review-note{margin:18px 0;padding:16px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:12px;background:#eff6ff;color:#1e3a8a}.review-note p{margin:6px 0}.review-note a{color:#1d4ed8;font-weight:700}
/* =====================================================================
   PARTNER WORKSPACE v2 — premium dashboard (scoped to .partner-app-body)
   ===================================================================== */
.partner-app-body { margin: 0; background: #F5F6F3; color: #16211C; font: 14px/1.6 Inter, system-ui, sans-serif; }
.partner-app-body h1, .partner-app-body h2, .partner-app-body h3, .partner-app-body h4 { font-family: Manrope, Inter, sans-serif; letter-spacing: -0.025em; }
.pw-shell { min-height: 100vh; }
.avatar { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #F5A31C; color: #072A1D; font-weight: 800; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }

/* Sidebar */
.pw-sidebar { position: fixed; inset: 0 auto 0 0; width: 268px; padding: 18px 14px 16px; background: linear-gradient(180deg, #082e21 0%, #061f17 100%); color: #fff; display: flex; flex-direction: column; z-index: 50; overflow-y: auto; box-shadow: 14px 0 34px rgba(4,24,17,.08); transition: width .2s ease, transform .2s ease; }
.pw-sidebar-head { display: flex; align-items: flex-start; gap: 6px; }
.pw-brand { display: grid; flex: 1; min-width: 0; padding: 4px 10px 20px; color: #fff; text-decoration: none; font-size: 21px; font-weight: 800; font-family: Manrope, sans-serif; overflow: hidden; }
.pw-brand-fliqa { color: #fff; }
.pw-brand-india { color: #F5A31C; }
.pw-brand > span { display: inline; }
.pw-brand small { margin-top: 3px; color: #8FB3A4; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; font-family: Inter, sans-serif; font-weight: 700; }
.pw-sidebar-collapse { display: grid; place-items: center; width: 32px; height: 32px; flex: none; margin-top: 2px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(255,255,255,.05); color: #b9d1c5; cursor: pointer; }
.pw-sidebar-collapse:hover, .pw-sidebar-collapse:focus-visible { border-color: #f5a31c; color: #fff; outline: none; }
.pw-sidebar-collapse .icon { width: 15px; transform: rotate(90deg); transition: transform .2s; }
.pw-sidebar nav { display: grid; gap: 8px; flex: 1; align-content: start; }
.pw-nav-group { display: grid; gap: 3px; }
.pw-nav-label { margin: 9px 11px 5px; color: #719486; font-size: 9.5px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; white-space: nowrap; }
.pw-sidebar nav a, .pw-nav-tree summary { position: relative; display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 11px; border-radius: 11px; color: #bfd5ca; text-decoration: none; font-weight: 650; cursor: pointer; list-style: none; transition: color .15s, background .15s, transform .15s; }
.pw-nav-tree summary::-webkit-details-marker { display: none; }
.pw-sidebar nav a:hover, .pw-nav-tree summary:hover { background: rgba(255,255,255,.07); color: #fff; transform: translateX(2px); }
.pw-sidebar nav a.active, .pw-nav-tree summary.active { background: linear-gradient(90deg, #14543e, #104331); color: #fff; box-shadow: inset 3px 0 #F5A31C, 0 8px 18px rgba(0,0,0,.12); }
.pw-nav-icon { display: grid; place-items: center; width: 20px; flex: none; }
.pw-nav-icon .icon { width: 18px; height: 18px; }
.pw-nav-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pw-nav-caret { display: grid; margin-left: auto; color: #719486; }
.pw-nav-caret .icon { width: 13px; transition: transform .18s; }
.pw-nav-tree[open] .pw-nav-caret .icon { transform: rotate(180deg); }
.pw-badge { margin-left: auto; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #F5A31C; color: #072A1D; font-size: 11px; font-weight: 800; }
.pw-sidebar-sub { display: grid; gap: 2px; padding: 5px 0 5px 32px; }
.pw-sidebar-sub a { min-height: 32px !important; padding: 0 9px !important; gap: 8px !important; color: #8fb3a4 !important; font-size: 11.5px; box-shadow: none !important; }
.pw-sidebar-sub a:hover { color: #fff !important; }
.pw-sub-dot { width: 5px; height: 5px; flex: none; border-radius: 50%; background: #507b68; }
.pw-side-user { display: flex; align-items: center; gap: 10px; padding: 16px 10px 10px; border-top: 1px solid #1A4936; margin-top: 12px; }
.pw-side-user div { display: grid; min-width: 0; }
.pw-side-user strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pw-side-user small { color: #8FB3A4; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pw-logout { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: 11px; background: transparent; color: #C4DACF; font: 600 14px Inter, sans-serif; cursor: pointer; }
.pw-logout:hover { background: #0E3B2B; color: #fff; }
.pw-logout .icon { width: 17px; }
.pw-sidebar form { margin: 0; }

/* Workspace + topbar */
.pw-workspace { margin-left: 268px; min-width: 0; transition: margin-left .2s ease; }
.pw-topbar { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 16px; height: 70px; padding: 0 30px; background: rgba(245, 246, 243, 0.92); backdrop-filter: blur(10px); border-bottom: 1px solid #E3E7E0; }
.pw-topbar p { margin: 0; color: #7A8880; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.13em; font-weight: 700; }
.pw-topbar h1 { margin: 1px 0 0; font-size: 19px; }
.pw-top-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.pw-bell { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; border: 1px solid #E3E7E0; color: #0B3D2E; }
.pw-bell:hover { border-color: #0B3D2E; }
.pw-bell .icon { width: 18px; }
.pw-bell i { position: absolute; top: 9px; right: 10px; width: 8px; height: 8px; border-radius: 50%; background: #E8842C; box-shadow: 0 0 0 2px #fff; }
.pw-top-avatar { text-decoration: none; }
.pw-menu { display: none; border: 1px solid #E3E7E0; background: #fff; border-radius: 10px; width: 40px; height: 40px; place-items: center; cursor: pointer; }
.pw-menu .icon { width: 20px; }
.pw-main { max-width: 1280px; margin: 0 auto; padding: 28px 30px 60px; display: grid; gap: 20px; }

/* Buttons */
.pw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 18px; border: 1.5px solid transparent; border-radius: 11px; text-decoration: none; font: 700 13.5px Inter, sans-serif; cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.pw-btn:hover { transform: translateY(-1px); }
.pw-btn .icon { width: 15px; }
.pw-btn.forest { background: #0B3D2E; color: #fff; }
.pw-btn.forest:hover { background: #072A1D; }
.pw-btn.amber { background: #F5A31C; color: #2E1E00; }
.pw-btn.amber:hover { background: #DE8F0A; }
.pw-btn.outline { background: #fff; border-color: #DCE2DB; color: #0B3D2E; }
.pw-btn.outline:hover { border-color: #0B3D2E; }
.pw-btn.glass { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.3); color: #fff; }
.pw-btn.ghost { background: transparent; color: #8A4B12; }
.pw-btn.sm { min-height: 36px; padding: 0 13px; font-size: 12.5px; }
.pw-link { display: inline-flex; align-items: center; gap: 6px; color: #0B6649; font-weight: 700; font-size: 13px; text-decoration: none; }
.pw-link .icon { width: 14px; }
.pw-eyebrow { display: block; color: #C97716; font-weight: 800; font-size: 10.5px; letter-spacing: 0.13em; text-transform: uppercase; margin-bottom: 4px; }
.pw-muted { color: #6B7871; }

/* Hero */
.pw-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 30px 34px; border-radius: 20px; background: radial-gradient(120% 200% at 100% 0%, rgba(245,163,28,0.18), transparent 45%), linear-gradient(135deg, #0C4232, #072A1D); color: #fff; box-shadow: 0 18px 40px rgba(7,42,29,0.18); }
.pw-hero .pw-eyebrow { color: #F6B95C; }
.pw-hero h2 { margin: 2px 0 8px; font-size: clamp(22px, 3vw, 30px); }
.pw-hero p { margin: 0; color: #C4DACF; max-width: 560px; }
.pw-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pw-ring { --pct: 0; flex: none; width: 118px; height: 118px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#F5A31C calc(var(--pct) * 1%), rgba(255,255,255,0.14) 0); }
.pw-ring span { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: #0A3527; text-align: center; }
.pw-ring b { font-size: 20px; font-family: Manrope, sans-serif; }
.pw-ring small { color: #9DBCAD; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.1em; }
.pw-trust-card { display: flex; align-items: center; gap: 11px; flex: none; min-width: 210px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.pw-trust-card > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #f5a31c; color: #082e21; }
.pw-trust-card .icon { width: 20px; }
.pw-trust-card strong, .pw-trust-card small { display: block; }
.pw-trust-card small { margin-top: 2px; color: #a9c5b8; font-size: 11px; }
.pw-daily-board { display: grid; gap: 16px; padding: 20px; border: 1px solid #dfe7e2; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(7,42,29,.06); }
.pw-daily-board > header { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.pw-daily-board h3 { margin: 2px 0 0; font-size: 18px; }
.pw-daily-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.pw-daily-grid a { min-width: 0; padding: 13px 11px; border: 1px solid #e5ebe7; border-radius: 13px; background: #fafcfb; color: #16211c; text-align: center; text-decoration: none; transition: transform .15s, border-color .15s, box-shadow .15s; }
.pw-daily-grid a:hover, .pw-daily-grid a:focus-visible { transform: translateY(-2px); border-color: #92b6a5; box-shadow: 0 8px 20px rgba(7,42,29,.08); outline: none; }
.pw-daily-grid a.has-work { border-color: #efd39d; background: #fffaf0; }
.pw-daily-grid a > span { display: grid; place-items: center; width: 30px; height: 30px; margin: 0 auto 7px; border-radius: 9px; background: #eaf3ee; color: #0b5c43; }
.pw-daily-grid .icon { width: 15px; }
.pw-daily-grid strong, .pw-daily-grid small { display: block; }
.pw-daily-grid strong { font: 750 20px/1 Manrope, sans-serif; }
.pw-daily-grid small { margin-top: 4px; overflow: hidden; color: #68766f; font-size: 10.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.pw-verified-summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 16px; align-items: center; padding: 17px 19px; border: 1px solid #cde0d6; border-radius: 16px; background: linear-gradient(110deg,#f0f8f4,#fff); }
.pw-verified-summary h3, .pw-verified-summary p { margin: 0; }
.pw-verified-summary h3 { font-size: 15px; }
.pw-verified-summary p { color: #65736c; font-size: 11.5px; }
.pw-verified-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #0b5c43; color: #fff; }
.pw-verified-mark .icon { width: 21px; }
.pw-verified-summary dl { display: flex; gap: 20px; margin: 0; }
.pw-verified-summary dt { color: #77847d; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pw-verified-summary dd { margin: 2px 0 0; font-size: 11.5px; font-weight: 750; }

/* Alert */
.pw-alert { display: flex; gap: 13px; padding: 16px 20px; border: 1px solid #CDE0D6; border-radius: 14px; background: #EDF7F1; }
.pw-alert.need_changes { background: #FFF6E6; border-color: #F0D49E; }
.pw-alert.rejected { background: #FFF0F0; border-color: #F2C3C3; }
.pw-alert .icon { width: 20px; color: #0B6649; flex: none; margin-top: 2px; }
.pw-alert p { margin: 4px 0 0; color: #47544D; }

/* Widgets */
.pw-widgets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pw-widget { display: grid; gap: 6px; align-content: start; padding: 20px; background: #fff; border: 1px solid #E5E9E2; border-radius: 16px; box-shadow: 0 4px 16px rgba(15,51,39,0.04); }
.pw-widget-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #EAF3EE; color: #0B5C43; margin-bottom: 4px; }
.pw-widget-ic .icon { width: 18px; }
.pw-widget small { color: #75827A; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.pw-widget strong { font-size: 18px; text-transform: capitalize; font-family: Manrope, sans-serif; }
.pw-widget p { margin: 0; color: #6B7871; font-size: 12.5px; }
.pw-widget p a { display: inline-flex; align-items: center; gap: 5px; color: #0B6649; font-weight: 700; text-decoration: none; }
.pw-widget p a .icon { width: 12px; }

/* Panels */
.pw-panel { padding: 24px; background: #fff; border: 1px solid #E5E9E2; border-radius: 18px; box-shadow: 0 4px 18px rgba(15,51,39,0.04); }
.pw-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.pw-panel-head h3 { margin: 0; font-size: 18px; }
.pw-two-col { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 20px; }

/* Status chips */
.pw-chip, .pw-tag { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; text-transform: capitalize; }
.pw-chip { background: #EEF1EE; color: #55645C; }
.pw-chip.approved, .pw-chip.active, .pw-chip.verified, .pw-chip.completed, .pw-chip.accepted { background: #E6F6EC; color: #13703B; }
.pw-chip.need_changes, .pw-chip.under_review, .pw-chip.pending, .pw-chip.submitted, .pw-chip.uploaded { background: #FFF1D8; color: #9A5A00; }
.pw-chip.rejected, .pw-chip.suspended, .pw-chip.declined, .pw-chip.cancelled { background: #FFEBEB; color: #A82424; }
.pw-chip.started, .pw-chip.work_submitted, .pw-chip.in_progress, .pw-chip.document_review { background: #E8F0FE; color: #1D4ED8; }
.pw-tag { background: #FDF0DC; color: #C97716; text-transform: uppercase; letter-spacing: 0.07em; font-size: 10px; }

/* Journey */
.pw-journey { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; padding: 0; margin: 0 0 18px; }
.pw-journey li { position: relative; display: flex; gap: 10px; align-items: center; }
.pw-journey li:not(:last-child)::after { content: ''; position: absolute; left: 38px; right: 6px; top: 15px; height: 2px; background: #E3E8E1; }
.pw-journey li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; flex: none; border: 2px solid #D5DDD4; border-radius: 50%; background: #fff; color: #86958E; font-weight: 800; font-size: 12px; }
.pw-journey li.done > span, .pw-journey li.current > span { background: #0B5C43; border-color: #0B5C43; color: #fff; }
.pw-journey li.done::after { background: #0B5C43; }
.pw-journey li div { display: grid; }
.pw-journey strong { font-size: 12px; }
.pw-journey small { color: #86958E; font-size: 10px; }
.pw-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding-top: 16px; border-top: 1px solid #EEF1EC; }
.pw-facts div { display: grid; gap: 3px; }
.pw-facts dt { color: #75827A; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.pw-facts dd { margin: 0; font-weight: 700; font-size: 13px; }

/* Project cards */
.pw-filterbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.pw-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-tab { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border: 1.5px solid #DCE2DB; border-radius: 999px; background: #fff; color: #47544D; font: 700 12.5px Inter, sans-serif; cursor: pointer; }
.pw-tab b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #EEF1EE; font-size: 10.5px; }
.pw-tab.active { background: #0B3D2E; border-color: #0B3D2E; color: #fff; }
.pw-tab.active b { background: rgba(255,255,255,0.2); color: #fff; }
.pw-search { min-width: 220px; padding: 10px 14px; border: 1.5px solid #DCE2DB; border-radius: 11px; background: #fff; font: 500 13.5px Inter, sans-serif; color: #16211C; }
.pw-search:focus { outline: 3px solid rgba(11,92,67,0.15); border-color: #0B5C43; }
.pw-project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.pw-project { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid #E5E9E2; border-radius: 15px; background: #FCFDFC; transition: box-shadow .2s ease, transform .2s ease; }
.pw-project:hover { box-shadow: 0 12px 30px rgba(15,51,39,0.08); transform: translateY(-2px); }
.pw-project header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pw-project h4 { margin: 0; font-size: 16px; }
.pw-desc { margin: 0; color: #5C6963; font-size: 13px; }
.pw-project ul { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; color: #5C6963; font-size: 12.5px; }
.pw-project ul li { display: flex; align-items: center; gap: 8px; }
.pw-project ul .icon { width: 14px; color: #0B5C43; flex: none; }
.pw-deadline { color: #B45309 !important; font-weight: 700; }
.pw-deadline .icon { color: #B45309 !important; }
.pw-pay { display: flex; align-items: baseline; gap: 8px; }
.pw-pay strong { color: #0B3D2E; font-size: 16px; font-family: Manrope, sans-serif; }
.pw-pay small { color: #75827A; }
.pw-note { display: flex; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 10px; background: #FFF6E6; color: #7A4A07; font-size: 12.5px; }
.pw-note .icon { width: 14px; flex: none; margin-top: 2px; }
.pw-project footer { margin-top: auto; padding-top: 12px; border-top: 1px solid #EEF1EC; }
.pw-project-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pw-project-actions form { margin: 0; }
.pw-decline summary, .pw-upload summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; color: #8A4B12; font-weight: 700; font-size: 12.5px; list-style: none; padding: 8px 4px; }
.pw-decline summary::-webkit-details-marker, .pw-upload summary::-webkit-details-marker { display: none; }
.pw-upload summary { color: #0B6649; }
.pw-upload summary .icon { width: 14px; }
.pw-decline form, .pw-deliverable-form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; width: 100%; }
.pw-decline input, .pw-deliverable-form input, .pw-deliverable-form select { flex: 1 1 150px; padding: 9px 11px; border: 1.5px solid #DCE2DB; border-radius: 10px; font: 500 12.5px Inter, sans-serif; background: #fff; }
.pw-project .pw-project-grid.full { grid-template-columns: 1fr; }

/* Activity */
.pw-activity { display: grid; list-style: none; margin: 0; padding: 0; }
.pw-activity li { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 13px 0; border-top: 1px solid #EEF1EC; }
.pw-activity li:first-child { border-top: 0; }
.pw-activity i { width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: #CFD8CF; }
.pw-activity li.unread i { background: #E8842C; box-shadow: 0 0 0 3px rgba(232,132,44,0.18); }
.pw-activity strong { font-size: 13.5px; }
.pw-activity p { margin: 2px 0; color: #5C6963; font-size: 12.5px; }
.pw-activity small { color: #8B978F; font-size: 11.5px; }
.pw-row-actions { display: flex; gap: 8px; align-items: center; }
.pw-row-actions form { margin: 0; }
.pw-doclist li { grid-template-columns: 10px minmax(0,1fr) auto; }

/* Quick actions */
.pw-actions { display: grid; }
.pw-actions a { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid #EEF1EC; color: inherit; text-decoration: none; }
.pw-actions a:first-child { border-top: 0; }
.pw-actions a > span { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: #EFF5F1; color: #0B5C43; }
.pw-actions .icon { width: 17px; }
.pw-actions a > .icon { margin-left: auto; color: #9AA69E; }
.pw-actions div { display: grid; }
.pw-actions small { color: #75827A; font-size: 12px; }

/* Empty states */
.pw-empty { display: grid; gap: 8px; justify-items: center; text-align: center; padding: 46px 20px; }
.pw-empty.compact { padding: 22px; }
.pw-empty h4 { margin: 0; font-size: 16px; }
.pw-empty p { margin: 0; color: #6B7871; max-width: 440px; }
.pw-empty .pw-btn { margin-top: 8px; }

/* Profile */
.pw-profile-hero { overflow: hidden; border: 1px solid #E5E9E2; border-radius: 18px; background: #fff; }
.pw-profile-banner { height: 110px; background: radial-gradient(120% 200% at 100% 0%, rgba(245,163,28,0.25), transparent 45%), linear-gradient(115deg, #0C4232, #0B5C43); }
.pw-profile-identity { display: flex; align-items: center; gap: 16px; padding: 0 24px 22px; }
.pw-profile-avatar { width: 92px; height: 92px; margin-top: -34px; border: 5px solid #fff; font-size: 26px; }
.pw-profile-identity h2 { margin: 14px 0 3px; font-size: 22px; }
.pw-profile-identity p { margin: 0; color: #6B7871; font-size: 13px; }
.pw-profile-identity span { color: #8B978F; font-size: 12px; }
.pw-avatar-upload { margin-left: auto; }
.pw-profile-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 20px; align-items: start; }

.profile-message { border-radius: 12px; }
.profile-message.success, .profile-message.error { margin: 0; padding: 12px 15px; }
.profile-message.success { background: #E8F7EE; color: #126B3A; }
.profile-message.error { background: #FFEDED; color: #9F2727; }

/* Forms */
.pw-form { display: grid; gap: 14px; }
.pw-form label { display: grid; gap: 6px; color: #34483E; font-size: 12.5px; font-weight: 700; }
.pw-form input, .pw-form select, .pw-form textarea { width: 100%; padding: 11px 13px; border: 1.5px solid #DCE2DB; border-radius: 10px; background: #fff; color: #16211C; font: 500 14px Inter, sans-serif; }
.pw-form input:focus, .pw-form select:focus, .pw-form textarea:focus { outline: 3px solid rgba(11,92,67,0.14); border-color: #0B5C43; }
.pw-form textarea { min-height: 100px; resize: vertical; }
.pw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pw-check { display: flex !important; align-items: center; gap: 9px; font-weight: 500 !important; }
.pw-check input { width: auto; }
.pw-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pw-form-inline { grid-template-columns: 1fr 1fr; align-items: end; margin-bottom: 18px; }
.pw-form-inline button { align-self: end; }
.pw-note-sm { font-size: 12px; margin: 14px 0 0; }
.pw-support { text-align: center; padding: 50px 24px; }
.pw-support .pw-widget-ic { margin: 0 auto 12px; }
.pw-support h3 { margin: 4px 0 8px; font-size: 24px; }
.pw-support p { max-width: 560px; margin: 0 auto 20px; color: #5C6963; }
.pw-support div { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.pw-nav-collapsed .pw-sidebar { width: 82px; padding-inline: 12px; overflow-x: hidden; }
.pw-nav-collapsed .pw-workspace { margin-left: 82px; }
.pw-nav-collapsed .pw-brand { width: 42px; padding-inline: 0; font-size: 0; }
.pw-nav-collapsed .pw-brand > span::before { content: "FI"; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #f5a31c; color: #082e21; font: 800 14px Manrope, sans-serif; }
.pw-nav-collapsed .pw-brand small, .pw-nav-collapsed .pw-nav-label, .pw-nav-collapsed .pw-nav-text, .pw-nav-collapsed .pw-nav-caret, .pw-nav-collapsed .pw-side-user div, .pw-nav-collapsed .pw-logout span { display: none; }
.pw-nav-collapsed .pw-sidebar-head { justify-content: center; }
.pw-nav-collapsed .pw-sidebar-collapse { position: absolute; top: 63px; }
.pw-nav-collapsed .pw-sidebar-collapse .icon { transform: rotate(-90deg); }
.pw-nav-collapsed .pw-nav-group { gap: 5px; }
.pw-nav-collapsed .pw-sidebar nav { margin-top: 35px; }
.pw-nav-collapsed .pw-sidebar nav a, .pw-nav-collapsed .pw-nav-tree summary { justify-content: center; padding-inline: 0; }
.pw-nav-collapsed .pw-nav-tree .pw-sidebar-sub { display: none; }
.pw-nav-collapsed .pw-badge { position: absolute; top: 3px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; font-size: 9px; }
.pw-nav-collapsed .pw-side-user { justify-content: center; padding-inline: 0; }
.pw-nav-collapsed .pw-logout { justify-content: center; }

/* Responsive */
@media (max-width: 1100px) {
  .pw-daily-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pw-verified-summary { grid-template-columns: auto minmax(0,1fr) auto; }
  .pw-verified-summary dl { grid-column: 2; }
  .pw-verified-summary .pw-btn { grid-column: 3; grid-row: 1 / span 2; }
  .pw-widgets { grid-template-columns: 1fr 1fr; }
  .pw-two-col, .pw-profile-layout { grid-template-columns: 1fr; }
  .pw-journey { grid-template-columns: 1fr; gap: 10px; }
  .pw-journey li:not(:last-child)::after { display: none; }
  .pw-facts { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .pw-sidebar, .pw-nav-collapsed .pw-sidebar { width: min(300px, 88vw); padding: 18px 14px 16px; transform: translateX(-100%); transition: transform .2s ease; }
  .pw-nav-open .pw-sidebar { transform: none; }
  .pw-nav-open::after { content: ''; position: fixed; inset: 0; background: rgba(0,0,0,0.35); z-index: 45; }
  .pw-workspace, .pw-nav-collapsed .pw-workspace { margin-left: 0; }
  .pw-sidebar-collapse { display: none; }
  .pw-nav-collapsed .pw-brand { width: auto; padding: 4px 10px 20px; font-size: 21px; }
  .pw-nav-collapsed .pw-brand > span::before { display: none; }
  .pw-nav-collapsed .pw-brand small, .pw-nav-collapsed .pw-nav-label, .pw-nav-collapsed .pw-nav-text, .pw-nav-collapsed .pw-nav-caret, .pw-nav-collapsed .pw-side-user div, .pw-nav-collapsed .pw-logout span { display: initial; }
  .pw-nav-collapsed .pw-sidebar nav { margin-top: 0; }
  .pw-nav-collapsed .pw-sidebar nav a, .pw-nav-collapsed .pw-nav-tree summary { justify-content: flex-start; padding-inline: 11px; }
  .pw-nav-collapsed .pw-nav-tree .pw-sidebar-sub { display: grid; }
  .pw-nav-collapsed .pw-side-user, .pw-nav-collapsed .pw-logout { justify-content: flex-start; }
  .pw-menu { display: grid; }
  .pw-topbar { padding: 0 16px; height: 64px; }
  .pw-main { padding: 18px 16px 50px; }
  .pw-hero { flex-direction: column; align-items: flex-start; padding: 24px; }
  .pw-trust-card { width: 100%; }
  .pw-verified-summary { grid-template-columns: auto minmax(0,1fr); }
  .pw-verified-summary dl, .pw-verified-summary .pw-btn { grid-column: 1 / -1; grid-row: auto; }
  .pw-verified-summary .pw-btn { width: 100%; }
  .pw-project-grid { grid-template-columns: 1fr; }
  .pw-form-inline { grid-template-columns: 1fr; }
  .pw-profile-identity { flex-wrap: wrap; }
  .pw-avatar-upload { margin-left: 0; }
}
@media (max-width: 560px) {
  .pw-daily-board { padding: 16px; }
  .pw-daily-board > header { align-items: flex-start; flex-direction: column; }
  .pw-daily-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pw-verified-summary dl { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .pw-widgets, .pw-facts { grid-template-columns: 1fr; }
  .pw-filterbar { flex-direction: column; align-items: stretch; }
  .pw-search { min-width: 0; }
}

/* =====================================================================
   PUBLIC PLATFORM v4 — Homepage implemented to the approved design.
   Scoped to .public-v2 body class to protect dashboard/admin UI.
   Typography: Manrope (headings) + Inter (body).
   ===================================================================== */
.public-v2 {
  --forest: #0B3D2E;
  --forest-deep: #072A1D;
  --forest-soft: #EAF2ED;
  --amber: #F5A31C;
  --amber-deep: #DE8F0A;
  --orange-text: #E8842C;
  --orange-soft: #FDF0DC;
  --cream: #F9F6EE;
  --ink: #16211C;
  --muted: #5F6C65;
  --line: #E7E7DE;
  --white: #fff;
  --hm-radius: 16px;
  --hm-shadow: 0 18px 44px rgba(7, 42, 29, 0.10);
  background: var(--white);
  color: var(--ink);
  font-family: 'Inter', system-ui, sans-serif;
}
.public-v2 h1, .public-v2 h2, .public-v2 h3 { font-family: 'Manrope', 'Inter', sans-serif; letter-spacing: -0.028em; }
.public-v2 .container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; padding: 0; }

.skip-link { position: fixed; left: 16px; top: -60px; z-index: 1000; background: #fff; color: var(--forest); padding: 12px 18px; border-radius: 10px; font-weight: 700; box-shadow: var(--hm-shadow); }
.skip-link:focus { top: 16px; }
.public-v2 :focus-visible { outline: 3px solid rgba(245, 163, 28, 0.65); outline-offset: 3px; }

.kicker { display: inline-block; color: var(--orange-text); font-weight: 800; font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 14px; }
.kicker-light { color: #F6B95C; }

/* ------------------------------ Buttons ------------------------------ */
.public-v2 .btn { border-radius: 10px; font-weight: 700; min-height: 46px; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.public-v2 .btn-primary { background: var(--amber); border-color: var(--amber); color: #2E1E00; box-shadow: 0 8px 20px rgba(245, 163, 28, 0.28); }
.public-v2 .btn-primary:hover { background: var(--amber-deep); border-color: var(--amber-deep); transform: translateY(-2px); }
.public-v2 .btn-forest { background: var(--forest); border-color: var(--forest); color: #fff; box-shadow: 0 10px 24px rgba(11, 61, 46, 0.22); }
.public-v2 .btn-forest:hover { background: var(--forest-deep); border-color: var(--forest-deep); transform: translateY(-2px); color: #fff; }
.public-v2 .btn-outline { border: 1.5px solid rgba(11, 61, 46, 0.22); color: var(--forest); background: #fff; }
.public-v2 .btn-outline:hover { border-color: var(--forest); background: var(--forest-soft); transform: translateY(-2px); }
.public-v2 .btn-ghost { color: var(--forest); }
.public-v2 .btn-ghost:hover { background: var(--forest-soft); color: var(--forest); }
.public-v2 .btn-pill { border: 1.5px solid var(--line); border-radius: 999px; color: var(--ink); background: #fff; padding: 11px 18px; }
.public-v2 .btn-pill:hover { border-color: var(--forest); color: var(--forest); }
.public-v2 .btn-pill .icon { width: 16px; height: 16px; }
.public-v2 .btn-sm { min-height: 38px; padding: 9px 15px; font-size: 13.5px; }

/* ------------------------------ Header ------------------------------- */
.public-v2 .site-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, 0.94); backdrop-filter: saturate(160%) blur(12px); -webkit-backdrop-filter: saturate(160%) blur(12px); border-bottom: 1px solid rgba(11, 61, 46, 0.08); }
.public-v2 .header-inner { min-height: 72px; padding: 0; }
.public-v2 .brand-fliqa { color: var(--forest); }
.public-v2 .brand-india { color: var(--orange-text); }
.public-v2 .brand-sub { color: var(--muted); }
.public-v2 .nav-link { font-size: 0.9rem; font-weight: 600; color: #47544D; border-radius: 999px; white-space: nowrap; padding: 9px 15px; }
.public-v2 .nav-link:hover { color: var(--forest); background: var(--forest-soft); }
.public-v2 .nav-link.is-active { color: var(--forest); background: var(--forest-soft); }
.public-v2 .nav-link.is-active::after { display: none; }
.public-v2 .nav-toggle { background: #fff; border-color: var(--line); color: var(--forest); }

/* Account menu (logged in) */
.account-menu { position: relative; }
.account-menu summary { display: flex; align-items: center; gap: 9px; list-style: none; cursor: pointer; font-weight: 700; color: var(--forest); padding: 6px 8px; border-radius: 12px; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu summary:hover { background: var(--forest-soft); }
.account-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--forest); color: #fff; font-weight: 800; overflow: hidden; }
.account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.account-caret { width: 15px; transition: transform .18s ease; }
.account-menu[open] .account-caret { transform: rotate(180deg); }
.account-panel { position: absolute; right: 0; top: 52px; width: 250px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--hm-shadow); }
.account-id { display: grid; gap: 2px; margin: 4px 6px 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.account-id small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
.account-panel a, .account-panel button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; text-align: left; border: 0; background: transparent; color: var(--forest); border-radius: 10px; font: 600 14px 'Inter', sans-serif; cursor: pointer; }
.account-panel a:hover, .account-panel button:hover { background: var(--cream); }
.account-panel .icon { width: 17px; height: 17px; color: var(--muted); }
.account-panel form { margin: 0; }

/* Mobile menu skin */
.public-v2 .mobile-menu { background: #fff; }
.public-v2 .mobile-menu li a { display: flex; align-items: center; justify-content: space-between; color: var(--forest); border-color: var(--line); }
.public-v2 .mobile-menu li a .icon { width: 16px; color: var(--orange-text); }
.public-v2 .mobile-menu li a.is-active { color: var(--orange-text); }

/* ------------------------------- Hero -------------------------------- */
.hm-hero { padding: 56px 0 64px; background: radial-gradient(70% 90% at 0% 0%, #EDF4EE 0%, transparent 55%), linear-gradient(180deg, #FDFCF8 0%, #FAF7EF 100%); }
.hm-hero-grid { display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 54px; align-items: center; }
.hm-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 15px; border-radius: 999px; background: var(--forest-soft); border: 1px solid rgba(11, 61, 46, 0.14); color: var(--forest); font-size: 0.8rem; font-weight: 700; margin-bottom: 24px; }
.hm-chip .icon { width: 15px; color: var(--orange-text); }
.hm-hero h1 { font-size: clamp(2.5rem, 4.4vw, 3.95rem); line-height: 1.06; color: var(--forest); margin: 0 0 20px; font-weight: 800; }
.hm-hero h1 em { font-style: normal; color: var(--orange-text); }
.hm-lead { font-size: 1.03rem; line-height: 1.75; color: var(--muted); max-width: 540px; }
.hm-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0 24px; }
.hm-assurances { display: flex; flex-wrap: wrap; gap: 12px 24px; color: #4E5B54; font-size: 0.84rem; font-weight: 600; }
.hm-assurances li { display: flex; gap: 8px; align-items: center; }
.hm-assurances li span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--orange-soft); color: var(--orange-text); }
.hm-assurances .icon { width: 14px; }

.hm-hero-media { position: relative; }
.hm-hero-media > img { width: 100%; height: 540px; object-fit: cover; object-position: 65% 20%; border-radius: 22px; box-shadow: 0 28px 64px rgba(7, 42, 29, 0.22); }
.hm-shield { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,0.92); color: var(--forest); box-shadow: 0 10px 26px rgba(7,42,29,0.22); }
.hm-shield .icon { width: 25px; }
.hm-float { position: absolute; display: grid; gap: 6px; padding: 15px 17px; background: rgba(255,255,255,0.97); border: 1px solid rgba(11,61,46,0.07); border-radius: 15px; box-shadow: 0 18px 42px rgba(7, 42, 29, 0.20); }
.hm-float-head { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.hm-float-head .icon { width: 14px; color: var(--forest); }
.hm-float-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 4px rgba(245,163,28,0.22); }
.hm-float strong { font-size: 0.93rem; color: var(--ink); font-family: 'Manrope', sans-serif; }
.hm-float small { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 0.76rem; }
.hm-float small .icon { width: 13px; }
.hm-float-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 2px; }
.hm-float-row b { color: var(--orange-text); font-size: 1rem; }
.hm-mini-btn { padding: 7px 12px; border-radius: 8px; background: var(--forest); color: #fff; font-size: 0.72rem; font-weight: 700; }
.hm-float-verified { color: #1B8A4C !important; font-weight: 700; }
.hm-float-verified .icon { color: #1B8A4C; }
.hm-check-line { color: #33413A !important; font-weight: 600; }
.hm-check-line .icon { color: #1B8A4C; }
.hm-progress-line { display: grid; gap: 5px; margin-top: 3px; }
.hm-progress-line span { font-size: 0.72rem; color: var(--muted); font-weight: 700; }
.hm-progress-line i { display: block; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--amber), var(--orange-text)); }
.hm-amount { font-size: 1.25rem !important; color: var(--forest) !important; }
.hm-float-opportunity { top: 6%; left: -34px; width: 236px; }
.hm-float-profile { top: 44%; left: -34px; width: 216px; }
.hm-float-payment { bottom: 7%; right: -20px; width: 190px; }
.hm-earn-up { display: inline-flex; align-items: center; gap: 6px; color: #1B8A4C; font-size: 0.78rem; font-weight: 700; }
.hm-earn-up .icon { width: 15px; }

/* ----------------------------- Stats band ---------------------------- */
.hm-stats { background: var(--cream); border-block: 1px solid var(--line); padding: 30px 0; }
.hm-stats-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.hm-stats-row li { display: flex; align-items: center; gap: 13px; justify-content: center; }
.hm-stat-ic { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 12px; background: #fff; border: 1px solid var(--line); color: var(--orange-text); }
.hm-stat-ic .icon { width: 20px; }
.hm-stat-body { display: grid; }
.hm-stats-row strong { font-family: 'Manrope', sans-serif; font-size: 1.35rem; letter-spacing: -0.02em; color: var(--forest); line-height: 1.15; }
.hm-stats-row small { color: var(--muted); font-size: 0.78rem; font-weight: 600; }

/* --------------------------- Sections base --------------------------- */
.hm-section { padding: 84px 0; background: #fff; }
.hm-tinted { background: var(--cream); }
.hm-heading { max-width: 720px; margin-bottom: 42px; }
.hm-heading h2, .hm-why-copy h2, .hm-stories-copy h2, .hm-trust-copy h2, .hm-faq-copy h2 { font-size: clamp(1.7rem, 2.9vw, 2.45rem); line-height: 1.14; color: var(--forest); margin: 0 0 12px; font-weight: 800; }
.hm-heading p, .hm-why-copy p, .hm-stories-copy p, .hm-trust-copy p, .hm-faq-copy p { color: var(--muted); line-height: 1.7; }
.hm-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; max-width: none; }
.hm-heading-row > div { max-width: 640px; }
.hm-link { display: inline-flex; align-items: center; gap: 7px; font-size: 0.8rem; font-weight: 700; color: var(--orange-text); }
.hm-link .icon { width: 14px; transition: transform .2s ease; }
.hm-link:hover .icon { transform: translateX(3px); }
.hm-link-lg { font-size: 0.92rem; margin-top: 10px; }

/* ------------------------- Category photo cards ----------------------- */
.hm-cat-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.hm-cat-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; color: var(--ink); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.hm-cat-card:hover { transform: translateY(-6px); box-shadow: var(--hm-shadow); border-color: rgba(11,61,46,0.25); }
.hm-cat-media { position: relative; display: block; }
.hm-cat-media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.hm-cat-ic { position: absolute; left: 10px; bottom: -14px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #fff; border: 1px solid var(--line); color: var(--forest); box-shadow: 0 6px 16px rgba(7,42,29,0.14); }
.hm-cat-ic .icon { width: 17px; }
.hm-cat-body { display: grid; gap: 3px; padding: 22px 14px 16px; }
.hm-cat-body h3 { font-size: 0.93rem; color: var(--ink); margin: 0; }
.hm-cat-body small { color: var(--muted); font-size: 0.74rem; }
.hm-cat-body .hm-link { margin-top: 9px; font-size: 0.74rem; }

/* --------------------------- How it works ---------------------------- */
.hm-dark { background: linear-gradient(155deg, #0C4232 0%, var(--forest-deep) 100%); color: #fff; }
.hm-dark .hm-heading h2, .hm-dark h2 { color: #fff; }
.hm-dark .hm-heading p { color: #B9CAC1; }
.hm-how-grid { display: grid; grid-template-columns: 1.75fr 1fr; gap: 56px; align-items: center; }
.hm-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; counter-reset: step; }
.hm-steps li { position: relative; display: grid; gap: 8px; align-content: start; }
.hm-steps li:not(:last-child)::after { content: ''; position: absolute; top: 24px; left: 58px; right: -10px; height: 2px; background: rgba(255,255,255,0.16); }
.hm-step-ic { position: relative; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); color: #F6B95C; z-index: 1; }
.hm-step-ic .icon { width: 21px; }
.hm-step-ic b { position: absolute; right: -7px; bottom: -7px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--amber); color: #2E1E00; font-size: 0.68rem; font-weight: 800; }
.hm-steps strong { font-size: 0.92rem; color: #fff; font-family: 'Manrope', sans-serif; margin-top: 6px; }
.hm-steps small { color: #AFC2B8; font-size: 0.78rem; line-height: 1.55; }
.hm-how-media { position: relative; }
.hm-how-media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; box-shadow: 0 22px 54px rgba(0,0,0,0.35); }
.hm-float-earnings { right: -16px; bottom: -22px; width: 190px; }
.hm-float-earnings small { color: var(--muted); font-weight: 700; }

/* ------------------------- Project cards ------------------------------ */
.hm-project-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hm-project-card { display: flex; flex-direction: column; gap: 11px; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 15px; transition: transform .25s ease, box-shadow .25s ease; }
.hm-project-card:hover { transform: translateY(-5px); box-shadow: var(--hm-shadow); }
.hm-project-type { align-self: flex-start; padding: 5px 11px; border-radius: 999px; background: var(--orange-soft); color: var(--orange-text); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.hm-project-card h3 { font-size: 1.06rem; color: var(--forest); margin: 0; }
.hm-project-card ul { display: grid; gap: 7px; color: var(--muted); font-size: 0.82rem; }
.hm-project-card ul li { display: flex; align-items: center; gap: 8px; }
.hm-project-card ul .icon { width: 14px; color: var(--forest); }
.hm-project-pay { color: var(--orange-text); font-family: 'Manrope', sans-serif; font-size: 1rem; }
.hm-project-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--line); }
.hm-project-foot small { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 0.78rem; }
.hm-project-foot .icon { width: 14px; }

/* ----------------------------- Why partner --------------------------- */
.hm-why-grid { display: grid; grid-template-columns: 0.85fr 1fr 1.35fr; gap: 44px; align-items: center; }
.hm-why-media { position: relative; display: grid; gap: 14px; }
.hm-why-media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; box-shadow: 0 16px 38px rgba(7,42,29,0.16); }
.hm-why-offset { width: 82% !important; justify-self: end; margin-top: -6px; }
.hm-why-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.hm-why-tiles li { display: grid; gap: 6px; align-content: start; padding: 18px 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; transition: transform .2s ease, box-shadow .2s ease; }
.hm-why-tiles li:hover { transform: translateY(-3px); box-shadow: var(--hm-shadow); }
.hm-tile-ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--forest-soft); color: var(--forest); margin-bottom: 4px; }
.hm-tile-ic .icon { width: 17px; }
.hm-why-tiles strong { font-size: 0.88rem; color: var(--ink); font-family: 'Manrope', sans-serif; }
.hm-why-tiles small { color: var(--muted); font-size: 0.76rem; line-height: 1.5; }

/* --------------------------- Success stories -------------------------- */
.hm-stories-grid { display: grid; grid-template-columns: 0.85fr 2.15fr; gap: 48px; align-items: center; }
.hm-quote-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hm-quote-card { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 24px 22px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 26px rgba(7,42,29,0.06); }
.hm-quote-card figcaption { display: flex; align-items: center; gap: 12px; }
.hm-quote-avatar { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 50%; background: var(--forest); color: #fff; font-weight: 800; font-size: 1.05rem; }
.hm-quote-card figcaption span:last-child { display: grid; line-height: 1.3; }
.hm-quote-card figcaption strong { font-size: 0.9rem; color: var(--ink); }
.hm-quote-card figcaption small { color: var(--muted); font-size: 0.74rem; }
.hm-stars { display: flex; gap: 3px; color: var(--amber); }
.hm-stars .icon { width: 15px; fill: currentColor; }
.hm-quote-card blockquote { margin: 0; color: #3B4740; line-height: 1.65; font-size: 0.87rem; }

/* ---------------------------- Trust & safety -------------------------- */
.hm-trust-grid { display: grid; grid-template-columns: 1fr 2.1fr 0.85fr; gap: 40px; align-items: center; }
.hm-trust-copy p { color: #B9CAC1; }
.hm-trust-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.hm-trust-cols li { display: grid; gap: 7px; justify-items: center; text-align: center; align-content: start; }
.hm-trust-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,0.07); border: 1px solid rgba(246,185,92,0.4); color: #F6B95C; margin-bottom: 4px; }
.hm-trust-ic .icon { width: 22px; }
.hm-trust-cols strong { color: #fff; font-size: 0.85rem; font-family: 'Manrope', sans-serif; }
.hm-trust-cols small { color: #AFC2B8; font-size: 0.72rem; line-height: 1.5; }
.hm-trust-media img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 16px; box-shadow: 0 20px 48px rgba(0,0,0,0.35); }

/* -------------------------------- FAQ --------------------------------- */
.hm-faq { background: var(--cream); }
.hm-faq-grid { display: grid; grid-template-columns: 0.8fr 2.2fr; gap: 48px; align-items: start; }
.hm-faq-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.hm-faq-col { display: grid; gap: 14px; }
.hm-faq-item { background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 4px 20px; transition: border-color .2s ease, box-shadow .2s ease; }
.hm-faq-item[open] { border-color: rgba(11,61,46,0.3); box-shadow: 0 10px 26px rgba(7,42,29,0.07); }
.hm-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; font-weight: 700; font-size: 0.9rem; color: var(--ink); cursor: pointer; list-style: none; }
.hm-faq-item summary::-webkit-details-marker { display: none; }
.hm-faq-toggle { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--cream); color: var(--forest); transition: transform .2s ease; }
.hm-faq-toggle .icon { width: 15px; }
.hm-faq-item[open] .hm-faq-toggle { transform: rotate(180deg); background: var(--orange-soft); color: var(--orange-text); }
.hm-faq-item > p { color: var(--muted); font-size: 0.86rem; line-height: 1.7; padding: 0 0 16px; }

/* ------------------------------ Foot CTA ------------------------------ */
.public-v2 .foot-cta-wrap { background: linear-gradient(180deg, var(--cream) 0%, var(--cream) 55%, var(--forest-deep) 55%); padding: 50px 0 0; }
.public-v2 .foot-cta { display: grid; grid-template-columns: 1.25fr 0.75fr; align-items: stretch; overflow: hidden; background: linear-gradient(115deg, #FFFDF6 0%, #FBF3DF 100%); border: 1px solid rgba(222, 143, 10, 0.25); border-radius: 22px; box-shadow: 0 26px 60px rgba(7,42,29,0.28); }
.foot-cta-copy { padding: 44px 48px; }
.public-v2 .foot-cta h2 { color: var(--forest); font-size: clamp(1.5rem, 2.6vw, 2.05rem); margin: 0 0 10px; }
.public-v2 .foot-cta p { margin: 0 0 22px; color: var(--muted); max-width: 460px; }
.foot-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.foot-cta-chips { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; color: #56635B; font-size: 0.78rem; font-weight: 700; }
.foot-cta-chips li { display: inline-flex; align-items: center; gap: 7px; }
.foot-cta-chips .icon { width: 15px; color: var(--orange-text); }
.foot-cta-media { position: relative; min-height: 240px; }
.foot-cta-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 25%; }

/* ------------------------------- Footer ------------------------------- */
.public-v2 .site-footer { background: var(--forest-deep); color: #A9BCB2; }
.public-v2 .footer-main { display: grid; grid-template-columns: 1.15fr 2.6fr; gap: 64px; padding: 76px 0 52px; }
.public-v2 .footer-brand .brand-fliqa { color: #fff; }
.public-v2 .footer-brand .brand-sub { color: rgba(255,255,255,0.45); }
.public-v2 .footer-desc { margin: 18px 0 20px; max-width: 300px; line-height: 1.7; font-size: 0.88rem; color: #A9BCB2; }
.public-v2 .footer-social { display: flex; gap: 10px; }
.public-v2 .social-btn { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); color: #fff; transition: background .2s ease, transform .2s ease, border-color .2s ease; }
.public-v2 .social-btn:hover { background: var(--amber); border-color: var(--amber); color: #2E1E00; transform: translateY(-3px); }
.public-v2 .social-btn .icon { width: 16px; height: 16px; }
.public-v2 .footer-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px; }
.public-v2 .footer-col h3 { color: #fff; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 16px; }
.public-v2 .footer-col ul { display: grid; gap: 10px; }
.public-v2 .footer-col a, .footer-contact-line { color: #A9BCB2; font-size: 0.86rem; transition: color .18s ease; display: inline-flex; align-items: center; gap: 8px; }
.public-v2 .footer-col a:hover { color: #fff; }
.footer-contact .icon { width: 15px; color: #F6B95C; flex: none; }
.public-v2 .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); }
.public-v2 .footer-bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 22px 0; font-size: 0.78rem; color: #8FA096; }
.footer-badges { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-badges li { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; }
.footer-badges .icon { width: 15px; color: #F6B95C; }
.footer-legal a { color: #8FA096; }
.footer-legal a:hover { color: #fff; }

/* ----------------------------- Breakpoints ---------------------------- */
@media (max-width: 1139px) {
  .public-v2 .nav-desktop, .public-v2 .header-actions { display: none; }
  .public-v2 .nav-toggle { display: inline-flex; }
}
@media (max-width: 1080px) {
  .hm-cat-grid { grid-template-columns: repeat(3, 1fr); }
  .hm-project-grid { grid-template-columns: repeat(2, 1fr); }
  .hm-how-grid { grid-template-columns: 1fr; gap: 44px; }
  .hm-steps { grid-template-columns: repeat(3, 1fr); gap: 24px 18px; }
  .hm-steps li:not(:last-child)::after { display: none; }
  .hm-why-grid { grid-template-columns: 1fr 1.3fr; }
  .hm-why-media { display: none; }
  .hm-stories-grid, .hm-trust-grid, .hm-faq-grid { grid-template-columns: 1fr; gap: 36px; }
  .hm-trust-media { display: none; }
  .hm-trust-cols { grid-template-columns: repeat(3, 1fr); gap: 24px 16px; }
  .public-v2 .footer-main { grid-template-columns: 1fr; gap: 44px; }
  .hm-float-opportunity, .hm-float-profile { left: -10px; }
  .hm-float-payment { right: -8px; }
}
@media (max-width: 860px) {
  .public-v2 .container { width: min(100% - 32px, 720px); }
  .hm-hero { padding: 40px 0 52px; }
  .hm-hero-grid { grid-template-columns: 1fr; gap: 44px; }
  .hm-hero-media > img { height: 420px; }
  .hm-section { padding: 62px 0; }
  .hm-stats-row { grid-template-columns: repeat(2, 1fr); gap: 18px 12px; }
  .hm-stats-row li { justify-content: flex-start; }
  .hm-heading-row { flex-direction: column; align-items: flex-start; }
  .hm-steps { grid-template-columns: repeat(2, 1fr); }
  .hm-why-grid { grid-template-columns: 1fr; }
  .hm-quote-row { grid-template-columns: 1fr; }
  .hm-faq-cols { grid-template-columns: 1fr; }
  .public-v2 .foot-cta { grid-template-columns: 1fr; }
  .foot-cta-media { min-height: 200px; order: -1; }
  .foot-cta-copy { padding: 30px 26px; }
  .public-v2 .foot-cta-wrap { padding: 30px 0 0; }
  .public-v2 .footer-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .hm-hero h1 { font-size: 2.2rem; }
  .hm-actions { display: grid; }
  .hm-actions .btn { width: 100%; }
  .hm-hero-media > img { height: 340px; border-radius: 16px; }
  .hm-float-opportunity { left: 8px; top: 10px; }
  .hm-float-profile { display: none; }
  .hm-float-payment { right: 8px; bottom: 10px; }
  .hm-cat-grid { grid-template-columns: 1fr 1fr; }
  .hm-project-grid, .hm-steps { grid-template-columns: 1fr; }
  .hm-why-tiles { grid-template-columns: 1fr; }
  .hm-trust-cols { grid-template-columns: 1fr 1fr; }
  .hm-stats-row { grid-template-columns: 1fr 1fr; }
  .public-v2 .foot-cta-wrap { padding: 20px 0 0; }
  .public-v2 .footer-cols { grid-template-columns: 1fr; }
  .public-v2 .footer-bottom-inner { flex-direction: column; align-items: flex-start; }
  .hm-float-earnings { right: 8px; bottom: -14px; }
}
@media (prefers-reduced-motion: reduce) {
  .public-v2 * { transition: none !important; scroll-behavior: auto !important; }
}

.password-field{position:relative;display:flex}.password-field input{padding-right:64px!important}.password-field button{position:absolute;right:7px;top:7px;bottom:7px;border:0;border-radius:7px;background:#eef3ef;color:#174634;font-weight:700}.password-strength{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:10px;color:#64748b;font-size:12px}.password-strength:before{content:"";height:6px;border-radius:9px;background:#e5e7eb}.password-strength[data-score="1"]:before{background:linear-gradient(90deg,#dc2626 25%,#e5e7eb 25%)}.password-strength[data-score="2"]:before{background:linear-gradient(90deg,#d97706 50%,#e5e7eb 50%)}.password-strength[data-score="3"]:before{background:linear-gradient(90deg,#16a34a 75%,#e5e7eb 75%)}.password-strength[data-score="4"]:before{background:#16a34a}.operations-list{display:grid;margin-top:24px}.operations-list>article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #e6ebe8}.operations-list>article.unread{padding-inline:14px;background:#f1f8f4;border-left:3px solid #0b5d43}.operations-list article>div{display:grid;gap:5px}.operations-list small,.form-note{color:#708078}.operations-list p{margin:2px 0;color:#475569}.operations-list form{display:flex;gap:8px;align-items:center}.admin-sidebar{overflow-y:auto}.admin-sidebar-foot{flex:none}.admin-table-wrap form{min-width:260px;display:grid;gap:6px}.admin-table-wrap form input,.admin-table-wrap form select{margin:0}.partner-form .admin-check{display:flex;align-items:center;gap:9px}.partner-form .admin-check input{width:auto}.form-note{font-size:12px;line-height:1.6}

/* Partner assignment response workspace */
.assignment-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:28px}.assignment-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:.2rem 0}.assignment-hero p{color:#637068;margin:0}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#39704f;font-weight:700}.assignment-filters,.assignment-filter-panel{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:28px}.assignment-filters label,.filter-grid label,.detail-panel label{display:grid;gap:6px;font-size:.8rem;font-weight:700}.assignment-filters input,.assignment-filters select,.filter-grid input,.filter-grid select,.detail-panel input,.detail-panel select,.detail-panel textarea{border:1px solid #ccd7cf;background:#fff;border-radius:9px;padding:10px 12px;color:#17251d}.assignment-card,.detail-panel{background:#fff;border:1px solid #dce4de;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(24,52,35,.05)}.status-badge{display:inline-flex;border-radius:999px;background:#e6eee8;color:#2c5b3f;padding:5px 9px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.assignment-card dl div,.detail-list div{display:grid;gap:3px}.assignment-card dt,.detail-list dt{font-size:.7rem;text-transform:uppercase;color:#7b877f;letter-spacing:.05em}.assignment-card dd,.detail-list dd{margin:0;font-weight:650}.pw-btn.full{display:block;width:100%;text-align:center}.deadline-card{background:#173c29;color:#fff;border-radius:14px;padding:18px;display:grid;gap:4px;min-width:260px}.deadline-card small,.deadline-card span{color:#c7d9cd}.assignment-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:20px}.assignment-main,aside{display:grid;gap:20px;align-content:start}.detail-panel h2{margin-top:0}.detail-panel h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;margin:24px 0 5px;color:#53665a}.detail-panel p{color:#526158;line-height:1.6}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.commercial .amount{display:block;font-size:1.8rem;margin:16px 0}.response-panel form{display:grid;gap:12px}.response-panel form>label:has(input[type=checkbox]){display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500}.response-panel hr{border:0;border-top:1px solid #e4e9e5;margin:22px 0}.final-brief{border-color:#87b79a}.future-step{background:#edf4ef;padding:12px;border-radius:9px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;width:100%}.pagination{display:flex;gap:7px;justify-content:center;margin:24px}.pagination a{padding:8px 11px;border:1px solid #ccd7cf;border-radius:8px;text-decoration:none;color:#315a42}.pagination a.active{background:#244d36;color:#fff}.notice{padding:12px 16px;border-radius:10px;margin:14px 0}.notice.success{background:#dff1e5;color:#165b34}.notice.error{background:#fae4e1;color:#8a2e23}
@media(max-width:900px){.assignment-detail-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.assignment-hero{display:grid}.deadline-card{min-width:0;width:100%}.assignment-grid,.detail-list,.filter-grid{grid-template-columns:1fr}.assignment-filters>*{width:100%}.project-actions{flex-wrap:wrap}}
/* Premium admin operations workspace */
.admin-brand-row{display:flex;align-items:center;justify-content:space-between}.sidebar-collapse{width:28px;height:28px;border:1px solid #27334a;background:#121b2c;color:#94a3b8;border-radius:8px;cursor:pointer}.admin-sidebar nav a{display:flex;align-items:center;gap:11px;position:relative}.admin-sidebar nav a i,.admin-sidebar-foot i{width:20px;text-align:center;font-style:normal;color:#8491a7}.admin-sidebar nav a b{margin-left:auto;min-width:8px;height:8px;border-radius:99px;background:#ef4444}.admin-sidebar nav a b:empty{display:none}.sidebar-compact .admin-sidebar{width:76px}.sidebar-compact .admin-workspace{margin-left:76px}.sidebar-compact .admin-sidebar .admin-wordmark small,.sidebar-compact .admin-sidebar nav span,.sidebar-compact .admin-nav-label,.sidebar-compact .admin-sidebar-foot span,.sidebar-compact .admin-identity div{display:none}.sidebar-compact .admin-sidebar nav a{justify-content:center}.workspace-marker{display:flex;gap:9px;align-items:center;min-width:150px}.workspace-marker small,.workspace-marker strong{display:block}.workspace-marker small{font-size:10px;color:#8a96a9;text-transform:uppercase;letter-spacing:.08em}.workspace-marker strong{font-size:13px}.workspace-dot,.workspace-health span{display:inline-block;width:8px;height:8px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px #22c55e1f}.admin-search{cursor:pointer;text-align:left}.icon-btn{width:36px;height:36px;border:1px solid #dde3ec;background:#fff;color:#536176;border-radius:9px;display:grid;place-items:center;text-decoration:none;cursor:pointer}.quick-wrap{position:relative}.quick-menu,.row-menu{position:absolute;z-index:30;background:#fff;border:1px solid #dfe4ec;border-radius:10px;box-shadow:0 16px 40px #0f172a26;padding:6px;min-width:190px}.quick-menu{right:0;top:44px}.quick-menu a,.row-menu a,.row-menu button{display:block;width:100%;padding:9px 11px;border:0;background:none;text-align:left;text-decoration:none;color:#263246;font:inherit;border-radius:7px}.quick-menu a:hover,.row-menu a:hover,.row-menu button:hover{background:#f1f5f9}.workspace-subtitle{margin:4px 0 0;color:#728096;font-size:13px}.admin-breadcrumb a{color:inherit;text-decoration:none}.admin-breadcrumb span{padding:0 6px}.workspace-health{font-size:12px;color:#27714b;border:1px solid #d5eadd;background:#f3fbf6;border-radius:99px;padding:7px 11px;display:flex;align-items:center;gap:7px}.compact-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.compact-metrics a{background:#fff;border:1px solid #e3e7ee;border-radius:10px;padding:11px 13px;text-decoration:none;color:#667085}.compact-metrics small,.compact-metrics strong{display:block}.compact-metrics strong{font-size:22px;color:#111827;margin-top:3px}.project-header.compact{margin:0 0 12px;min-height:0}.operations-toolbar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e6ed;border-radius:11px;padding:8px;margin-bottom:12px;position:sticky;top:70px;z-index:15}.operations-toolbar input,.operations-toolbar select{height:36px;border:1px solid #dbe1e9;border-radius:8px;padding:0 10px;background:#fff}.search-field{display:flex;align-items:center;gap:6px;flex:1;border:1px solid #dbe1e9;border-radius:8px;padding-left:10px}.search-field input{border:0;flex:1;outline:0}.toolbar-link{font-size:12px;color:#64748b}.project-rows{display:flex;flex-direction:column}.project-operation-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 110px 120px minmax(170px,1fr) 130px 170px;align-items:center;gap:15px;padding:12px 16px;border-top:1px solid #edf0f4;font-size:13px}.project-operation-row>div>small{display:block;color:#8a94a5;font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.project-primary{display:flex;align-items:center;gap:10px}.project-primary a{text-decoration:none;color:#182235}.project-primary small{display:block;color:#8490a3}.priority-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.priority-dot.high{background:#f59e0b}.priority-dot.urgent{background:#ef4444}.priority-dot.low{background:#22c55e}.staffing-cell em{display:block;color:#7b8798;font-size:11px;font-style:normal}.staffing-cell>span{display:block;height:4px;background:#edf1f5;border-radius:9px;margin:5px 0}.staffing-cell>span i{display:block;height:100%;background:linear-gradient(90deg,#0b3d2e,#16794f);border-radius:9px;transition:width .4s cubic-bezier(.4,0,.2,1)}.row-quick{display:flex;gap:5px;align-items:center;position:relative}.row-quick>a,.more-btn{padding:6px 7px;border:1px solid #e1e6ed;border-radius:7px;background:#fff;text-decoration:none;color:#526074;font-size:11px}.row-quick .accent{color:#0b3d2e}.row-menu{right:0;top:32px}.danger-text{color:#dc2626!important}.project-summary-sticky{position:sticky;top:61px;z-index:14;background:#fff;border:1px solid #e0e5ec;border-radius:12px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 25px #1118270a}.project-summary-sticky h2{margin:2px 0 6px;font-size:21px}.project-summary-sticky dl{display:flex;gap:30px}.project-summary-sticky dt{font-size:10px;color:#8a94a5;text-transform:uppercase}.project-summary-sticky dd{margin:3px 0 0;font-weight:600;font-size:13px}.priority-pill{font-size:11px}.detail-tabs{display:flex;gap:4px;margin:12px 0;border-bottom:1px solid #dfe4eb;overflow:auto}.detail-tabs button{border:0;background:transparent;padding:10px 13px;color:#687589;white-space:nowrap;cursor:pointer;font:inherit;font-weight:600;transition:color .18s}.detail-tabs button:hover{color:#0b3d2e}.detail-tabs button.active{color:#06352a;border-bottom:2px solid #f5a400}.tab-panels{max-width:1100px}.sticky-action-bar{position:sticky;bottom:12px;z-index:20;display:flex;gap:7px;align-items:center;background:#111827ed;border:1px solid #334155;padding:9px;border-radius:12px;box-shadow:0 16px 40px #0f172a40;margin:16px auto 0;width:max-content;max-width:100%}.sticky-action-bar form{margin:0}.command-palette,.confirm-dialog{position:fixed;inset:0;z-index:100}.command-backdrop{position:absolute;inset:0;background:#0f172a99;backdrop-filter:blur(3px)}.command-dialog,.confirm-card{position:relative;width:min(620px,calc(100% - 32px));margin:12vh auto 0;background:#fff;border-radius:14px;box-shadow:0 30px 80px #0005;padding:12px}.command-dialog input{width:100%;height:48px;border:0;border-bottom:1px solid #e5e7eb;padding:0 12px;font-size:16px;outline:0}.command-dialog [data-command-results]{padding:8px 0}.command-dialog a{display:flex;justify-content:space-between;padding:11px;border-radius:8px;text-decoration:none;color:#253046}.command-dialog a:hover,.command-dialog a.selected{background:#f0f2ff;color:#4338ca}.command-dialog>small{display:block;color:#94a3b8;padding:8px}.confirm-card{width:min(460px,calc(100% - 32px));padding:24px;margin-top:15vh}.confirm-card label{display:block;margin:18px 0}.confirm-card input{width:100%;margin-top:7px;height:40px;border:1px solid #ccd3dd;border-radius:8px;padding:0 10px}.danger-icon{display:grid;place-items:center;width:38px;height:38px;background:#fee2e2;color:#dc2626;border-radius:50%;font-weight:800}.confirm-card [data-confirm-impact]{background:#f8fafc;border:1px solid #e2e8f0;padding:10px;border-radius:8px;color:#64748b;font-size:13px}
@media(max-width:1100px){.compact-metrics{grid-template-columns:repeat(3,1fr)}.project-operation-row{grid-template-columns:minmax(200px,1fr) 100px minmax(150px,1fr) 120px 160px}.project-operation-row>div:nth-child(3){display:none}.project-summary-sticky dl{gap:14px}.workspace-marker{display:none}}
@media(max-width:760px){.sidebar-compact .admin-workspace{margin-left:0}.sidebar-compact .admin-sidebar{width:min(280px,88vw)}.operations-toolbar{position:static;flex-wrap:wrap}.search-field{flex-basis:100%}.compact-metrics{grid-template-columns:repeat(2,1fr)}.project-operation-row{grid-template-columns:1fr auto;padding:14px}.project-operation-row>div:nth-child(2),.project-operation-row>div:nth-child(3),.project-operation-row .staffing-cell{display:none}.project-operation-row>.status{grid-row:1}.row-quick{grid-column:1/-1}.project-summary-sticky{position:static;display:block}.project-summary-sticky dl{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.sticky-action-bar{overflow:auto;justify-content:flex-start;width:100%}.admin-top-actions .icon-btn,.admin-top-actions .quick-wrap{display:none}.workspace-health{display:none}}

/* Shared admin project workspace: uses the original admin shell at every route. */
.admin-main>*{min-width:0}.project-header h2{margin:7px 0;font-size:clamp(24px,2.5vw,30px);letter-spacing:-.025em}.operational-list,.assignment-layout,.tab-panels{min-width:0}.project-rows{overflow:hidden}.project-operation-row>*{min-width:0}.project-operation-row strong,.project-operation-row small{overflow-wrap:anywhere}.assignment-role{overflow:hidden}.assignment-filter-panel{align-items:stretch}.assignment-filter-panel .filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tab-panels{width:100%;max-width:none}.tab-panels>.admin-card{padding:clamp(18px,2.5vw,26px)}
@media(max-width:1250px){.project-operation-row{grid-template-columns:minmax(190px,1.4fr) 100px minmax(150px,1fr) 120px 150px}.project-operation-row>div:nth-child(3){display:none}.assignment-filter-panel .filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.assignment-filter-panel .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-header{align-items:flex-start}.project-summary-sticky dl{flex-wrap:wrap}}
@media(max-width:560px){.assignment-filter-panel .filter-grid{grid-template-columns:1fr}.project-header h2{font-size:23px}.compact-metrics a{padding:10px}.project-summary-sticky{padding:14px}.project-summary-sticky dl{grid-template-columns:1fr 1fr}.detail-tabs button{padding-inline:10px}.assignment-layout{gap:14px}.admin-card{padding:17px}.sticky-action-bar .admin-btn{white-space:nowrap}}

/* Partner overview polish without changing the established workspace language. */
.pw-widget,.pw-panel,.pw-project{min-width:0}.pw-widget{height:100%}.pw-panel-head h3,.pw-widget strong,.pw-project h4{letter-spacing:-.015em}.pw-actions a{border-radius:10px;padding-inline:8px;transition:background .15s ease}.pw-actions a:hover{background:#f6faf7}.pw-project-grid>*{height:100%}
@media(max-width:560px){.pw-main{gap:16px;padding:16px 14px 44px}.pw-hero{padding:22px 20px;border-radius:17px}.pw-panel{padding:19px;border-radius:15px}.pw-panel-head{gap:12px;margin-bottom:15px}.pw-panel-head .pw-link{align-self:center}.pw-widget{padding:18px}.pw-project{padding:17px}.pw-two-col{gap:16px}.pw-profile-layout{gap:16px}.pw-profile-identity{padding-inline:18px}.pw-form-row{grid-template-columns:1fr}}
.bulk-toolbar,.contact-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e5eaf0}.bulk-toolbar select,.bulk-toolbar input{height:36px;border:1px solid #d8dee8;border-radius:8px;padding:0 9px}.inline-form{display:inline!important;margin:0!important}.inline-form button{width:auto!important}.contact-actions{padding:12px 0 0;border:0;background:transparent}.admin-search{cursor:pointer}@media(max-width:760px){.bulk-toolbar{align-items:stretch;flex-direction:column}.admin-filterbar input[type=date]{width:100%}.contact-actions{flex-wrap:wrap}}
@media(max-width:1100px){.admin-filterbar{flex-wrap:wrap}.admin-filterbar input,.admin-filterbar select{min-width:0;flex:1 1 150px}}
.confirm-card,.command-dialog{z-index:1}
.confirm-dialog .command-backdrop{pointer-events:none}
.pw-form fieldset{border:0;padding:0;margin:0}.pw-form legend{font-size:1.1rem;font-weight:750;margin-bottom:1rem}.pw-step-nav{display:flex;gap:.4rem;overflow:auto;padding-bottom:.75rem}.pw-step-nav button{border:1px solid #d9dfdc;background:#fff;border-radius:999px;padding:.45rem .7rem;white-space:nowrap}.pw-step-nav button.active{background:#173f35;color:#fff}.pw-flow-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}@media(max-width:600px){.pw-flow-actions .pw-btn{flex:1 1 45%}}

/* Premium authentication and partner experience */
.admin-login-body{background:#eef3f0}.admin-login-shell{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)}.admin-login-brand{position:relative;isolation:isolate;overflow:hidden;padding:clamp(32px,5vw,72px);background:linear-gradient(145deg,#062f26 0%,#0a513d 65%,#0b6549 100%)}.admin-login-brand:after{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent)}.admin-login-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);opacity:.55}.admin-login-orb.orb-one{width:360px;height:360px;right:-100px;top:-80px;background:radial-gradient(circle,#f5a40066,transparent 67%)}.admin-login-orb.orb-two{width:420px;height:420px;left:-180px;bottom:-160px;background:radial-gradient(circle,#63c69255,transparent 68%)}.admin-login-pitch{max-width:660px}.admin-login-brand h1{font-size:clamp(42px,5vw,70px);max-width:700px}.admin-login-brand p{font-size:16px}.admin-trust-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.admin-trust-grid span{padding:9px 12px;border:1px solid #ffffff21;border-radius:999px;background:#ffffff0d;color:#d8ebe4;font-size:12px;font-weight:700}.admin-login-panel{padding:clamp(24px,5vw,72px);background:radial-gradient(circle at 100% 0,#dcebe4,transparent 40%),#f5f7f5}.admin-login-card{position:relative;width:min(460px,100%);padding:clamp(26px,4vw,44px);border-color:#ffffff;border-radius:26px;box-shadow:0 30px 80px #113c2c1c,0 2px 8px #113c2c0d}.admin-login-lock{width:44px;height:44px;display:grid;place-items:center;margin-bottom:18px;border-radius:14px;background:#e6f3ed;color:#0b5c43;font-weight:900}.admin-login-card h2{font-size:34px;letter-spacing:-.035em}.admin-login-card form{margin-top:26px}.admin-password-field{position:relative}.admin-password-field input{padding-right:70px}.admin-password-field button{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:7px;border:0;background:transparent;color:#0b5c43;font-weight:800;cursor:pointer}.admin-login-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 18px}.admin-login-options label{margin:0}.admin-login-options a{color:#0b5c43;font-size:13px;font-weight:750;text-decoration:none}.admin-secure-note{margin:16px 0 0!important;padding-top:16px;border-top:1px solid #edf0ed;text-align:center;font-size:12px}.admin-login-card input{min-height:48px}.admin-login-card .admin-btn{min-height:48px}.admin-login-card :focus-visible{outline:3px solid #f5a40066;outline-offset:2px}
.application-wrap{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}.application-intro{position:sticky;top:100px;text-align:left}.application-intro .auth-title{font-size:clamp(38px,5vw,62px);line-height:1.02}.application-card{max-width:none;margin:0;border-radius:26px;box-shadow:0 24px 70px #15352612}.application-form label{font-weight:700}.application-form input,.application-form textarea,.application-form select{min-height:48px;transition:border-color .18s,box-shadow .18s,background .18s}.application-form [aria-invalid=true]{border-color:#d14343!important;background:#fffafa;box-shadow:0 0 0 4px #d1434314;animation:fieldAttention .35s ease}.field-error-inline{display:block;margin-top:6px;color:#a82727;font-size:12px;font-weight:700}.application-form :focus-visible{outline:3px solid #0b5c4333;outline-offset:2px}@keyframes fieldAttention{0%,100%{transform:translateX(0)}35%{transform:translateX(3px)}70%{transform:translateX(-3px)}}.application-success{max-width:720px;margin:auto;padding:30px 10px}.application-success .success-icon{width:78px;height:78px;margin:auto;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#0b5c43,#15805d);color:#fff;box-shadow:0 16px 32px #0b5c4330}.application-success h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.04em}.success-reference-label{margin:24px 0 4px}.success-timeline{display:grid;grid-template-columns:repeat(5,1fr);padding:26px 0;margin:24px 0;list-style:none;border-block:1px solid #e4eae6}.success-timeline li{position:relative;display:grid;justify-items:center;gap:8px;color:#758079;font-size:11px}.success-timeline li:not(:last-child):after{content:"";position:absolute;top:15px;left:56%;width:88%;height:2px;background:#dfe6e1}.success-timeline span{position:relative;z-index:1;width:30px;height:30px;display:grid;place-items:center;border:2px solid #d8e1db;border-radius:50%;background:#fff;font-weight:800}.success-timeline .done span{border-color:#0b5c43;background:#0b5c43;color:#fff}.success-timeline strong{text-align:center}
.assignment-filters{position:sticky;top:14px;z-index:4;padding:14px;border:1px solid #dce4de;border-radius:16px;background:#f5f7f4eF;box-shadow:0 10px 30px #173c2910;backdrop-filter:blur(12px)}.assignment-filters label:first-child{min-width:min(360px,100%);flex:1}
.pw-support-hero{padding:clamp(28px,5vw,56px);border-radius:24px;background:linear-gradient(135deg,#083f31,#0b6549);color:#fff;text-align:center;box-shadow:0 18px 50px #0b5c4320}.pw-support-hero .pw-eyebrow{color:#f7c65a}.pw-support-hero h2{margin:8px 0;font-size:clamp(32px,5vw,48px)}.pw-support-hero>p{margin:0;color:#d6e7e0}.pw-help-search{width:min(620px,100%);height:54px;margin:26px auto 16px;padding:0 16px;display:flex;align-items:center;gap:10px;border-radius:15px;background:#fff;color:#5b6862;box-shadow:0 12px 30px #002c1e2b}.pw-help-search input{width:100%;border:0;outline:0;font:600 15px inherit}.pw-support-status{display:flex;align-items:center;justify-content:center;gap:8px;color:#d6e7e0;font-size:12px}.pw-support-status span{width:8px;height:8px;border-radius:50%;background:#63dd91;box-shadow:0 0 0 5px #63dd9120}.pw-support-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px}.pw-help-actions{display:grid;gap:10px}.pw-help-actions>a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #e3e9e5;border-radius:15px;color:#17251d;text-decoration:none;transition:.18s}.pw-help-actions>a:hover{border-color:#a9c5b5;background:#f8fbf9;transform:translateY(-1px)}.pw-help-actions>a>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e9f3ee;color:#0b5c43}.pw-help-actions div{display:grid;gap:3px}.pw-help-actions small{color:#728078}.pw-support-meta dl{display:grid;gap:14px;margin:22px 0}.pw-support-meta dl div{display:flex;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #e8ece9}.pw-support-meta dt{color:#728078}.pw-support-meta dd{margin:0;font-weight:800}.pw-support-meta p{color:#66736c;font-size:13px;line-height:1.6}.pw-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pw-faq details{padding:16px;border:1px solid #e3e9e5;border-radius:14px}.pw-faq summary{cursor:pointer;font-weight:800}.pw-faq details p{margin:12px 0 0;color:#66736c;line-height:1.65}.pw-emergency{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #f0d7a2;border-radius:18px;background:#fff9ec}.pw-emergency p{margin:4px 0 0;color:#75664d}.pw-support-hero :focus-visible,.pw-help-actions :focus-visible,.pw-faq :focus-visible{outline:3px solid #f5a40088;outline-offset:3px}
@media(max-width:900px){.admin-login-shell{grid-template-columns:1fr}.admin-login-brand{min-height:340px;padding-bottom:50px}.admin-login-brand .admin-login-trust{display:none}.admin-login-panel{margin-top:-26px;position:relative}.application-wrap{grid-template-columns:1fr}.application-intro{position:static;text-align:center}.application-intro .application-note{margin-inline:auto}.pw-support-grid{grid-template-columns:1fr}}
@media(max-width:600px){.admin-login-brand{min-height:245px;padding:28px}.admin-login-brand h1{font-size:36px}.admin-login-brand p,.admin-trust-grid{display:none}.admin-login-panel{padding:14px}.admin-login-card{padding:26px 20px;border-radius:22px}.admin-login-options{align-items:flex-start}.application-section{padding-top:28px}.application-wrap{gap:20px}.application-card{padding:22px 16px;border-radius:20px}.success-timeline{grid-template-columns:1fr;gap:9px}.success-timeline li{grid-template-columns:30px 1fr;justify-items:start;align-items:center}.success-timeline li:not(:last-child):after{left:14px;top:28px;width:2px;height:20px}.assignment-filters{top:8px}.pw-support-hero{padding:30px 18px;border-radius:20px}.pw-support-grid{gap:14px}.pw-faq-grid{grid-template-columns:1fr}.pw-emergency{align-items:flex-start;flex-direction:column}.pw-emergency .pw-btn{width:100%}.pw-help-actions>a{grid-template-columns:38px 1fr auto;padding:12px}.pw-help-actions>a>span{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.application-form [aria-invalid=true]{animation:none}.assignment-card,.pw-help-actions>a{transition:none}}

/* Managed partner application — deliberately scoped to the public onboarding flow. */
.application-onboarding-wrap{grid-template-columns:minmax(280px,.7fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);max-width:1200px}.application-onboarding-intro{max-width:460px}.application-kicker{margin:22px 0 8px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.application-onboarding-intro .auth-title{margin:0;font-size:clamp(42px,5.1vw,66px);letter-spacing:-.055em}.application-onboarding-intro .auth-sub{max-width:43ch;margin-top:20px;font-size:17px;line-height:1.65}.application-meta{display:flex;gap:10px;flex-wrap:wrap;margin:27px 0 22px}.application-meta span{padding:10px 12px;border:1px solid #dce7e0;border-radius:999px;background:#fff;color:#53625a;font-size:12px}.application-meta strong{display:block;color:#173d30;font-size:13px}.application-trust-list{display:grid;gap:12px;padding:0;margin:0 0 23px;list-style:none;color:#435249;font-size:14px;font-weight:650}.application-trust-list li{display:flex;align-items:center;gap:10px}.application-trust-list span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e8f5ed;color:#10744f;font-size:12px;font-weight:900}.application-onboarding-card{padding:clamp(28px,4vw,46px);border:1px solid #e3ebe6;background:linear-gradient(145deg,#fff 0%,#fbfdfb 100%);box-shadow:0 30px 80px #15352614}.application-card-heading{padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid #e8eeea}.application-card-heading .eyebrow{margin-bottom:8px}.application-card-heading h2{margin:0;color:#173d30;font-size:clamp(25px,3vw,32px);letter-spacing:-.035em}.application-card-heading p:last-child{max-width:54ch;margin:9px 0 0;color:#6c7b72;font-size:14px;line-height:1.55}.application-form input,.application-form select,.application-form textarea{border:1px solid #cfdbd3;border-radius:12px;background:#fff;color:#193a2d;font-size:15px}.application-form input{height:52px;padding-inline:15px}.application-form textarea{min-height:112px;padding:13px 15px}.application-form input::placeholder,.application-form textarea::placeholder{color:#9aa69f}.application-form input:hover,.application-form select:hover,.application-form textarea:hover{border-color:#9eb7a9}.application-form input:focus,.application-form select:focus,.application-form textarea:focus{border-color:#147552;box-shadow:0 0 0 4px #14755216;outline:0}.application-form label{gap:8px;color:#294538;font-size:13px}.application-form .form-row{gap:18px}.application-form .btn{min-height:50px;padding-inline:22px}.application-form .field-success{display:flex;align-items:center;gap:6px;margin-top:5px;color:#147552;font-size:12px;font-weight:700}.application-form [aria-invalid=true]+.field-success{display:none}.application-success .success-support-note{max-width:570px;margin:0 auto 23px;font-size:14px}.application-success strong{color:inherit}.application-success .success-timeline{margin-inline:auto;max-width:680px}
@media(max-width:900px){.application-onboarding-wrap{grid-template-columns:1fr;max-width:760px}.application-onboarding-intro{max-width:680px;margin-inline:auto;text-align:center}.application-onboarding-intro .auth-sub{margin-inline:auto}.application-meta,.application-trust-list{justify-content:center}.application-trust-list{text-align:left}.application-onboarding-intro .application-note{text-align:left}.application-onboarding-card{width:100%}}
@media(max-width:600px){.application-onboarding-wrap{gap:26px}.application-onboarding-intro .auth-title{font-size:42px}.application-onboarding-intro .auth-sub{font-size:15px}.application-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.application-meta span{padding:10px 8px}.application-trust-list{justify-content:start;font-size:13px}.application-onboarding-card{padding:24px 18px}.application-card-heading{margin-bottom:24px;padding-bottom:20px}.application-form .form-row{grid-template-columns:1fr;gap:16px}.application-form input{height:50px}.application-form .form-actions{gap:10px}.application-form .form-actions .btn{flex:1}.application-onboarding-intro .application-note{font-size:12.5px}}

/* Partner readiness and account experience */
.pw-journey{position:relative!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:4px 0!important}.pw-journey:before{content:"";position:absolute;left:18px;top:24px;bottom:24px;width:2px;background:linear-gradient(to bottom,#0b5c43 var(--journey-progress),#dfe6e1 var(--journey-progress))}.pw-journey li{min-height:54px;align-items:flex-start!important;padding:7px 8px}.pw-journey li:after{display:none!important}.pw-journey li>span{width:36px!important;height:36px!important;background:#fff}.pw-journey li.completed>span,.pw-journey li.current>span{background:#0b5c43!important;border-color:#0b5c43!important;color:#fff}.pw-journey li.current{margin:4px 0;border:1px solid #b8d7c7;border-radius:12px;background:#f1faf5}.pw-journey li div{display:grid!important;grid-template-columns:1fr auto;align-items:center;width:100%;gap:3px 10px}.pw-journey li em{grid-column:1/-1;color:#426253;font-size:11px;font-style:normal}.pw-status-chip{padding:3px 7px;border-radius:99px;background:#eef2ef;color:#66776d;text-transform:capitalize}.pw-journey li.current .pw-status-chip{background:#dff2e7;color:#17603a}.pw-settings-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.pw-settings-head h2{margin:5px 0}.pw-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pw-setting-card{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid #dfe6e1;border-radius:16px;background:#fff;color:#193226;text-decoration:none;box-shadow:0 8px 26px #173c2908}.pw-setting-card>svg{width:24px;color:#39704f}.pw-setting-card p,.pw-setting-card small{margin:4px 0 0;color:#718078}.pw-setting-card>span{color:#39704f;font-size:12px}.pw-kyc-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.pw-kyc-progress div{display:grid;justify-items:center;gap:6px;position:relative;text-align:center;color:#7a8780;font-size:12px}.pw-kyc-progress span{display:grid;place-items:center;width:32px;height:32px;border:2px solid #d7dfd9;border-radius:50%;background:#fff}.pw-kyc-progress .done span,.pw-kyc-progress .current span{border-color:#17603a;background:#17603a;color:#fff}.pw-kyc-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.pw-kyc-checklist article{padding:12px;border:1px solid #e2e8e4;border-radius:12px;background:#f8faf8}.pw-kyc-checklist strong,.pw-kyc-checklist span{display:block}.pw-kyc-checklist span{margin-top:4px;color:#68776f;font-size:12px}.pw-kyc-help{margin-top:18px;padding:16px;border-radius:14px;background:#f6f9f7}.pw-kyc-help details{padding:9px 0;border-top:1px solid #e0e7e2}.pw-kyc-help summary{cursor:pointer;font-weight:650}@media(max-width:760px){.pw-profile-avatar{box-shadow:0 12px 28px rgba(12,61,45,.18);background:linear-gradient(135deg,#eef6f0,#d9ebe0)}}
@media(max-width:700px){.pw-readiness-summary,.pw-settings-grid{grid-template-columns:1fr}.pw-settings-head{display:grid;gap:10px}.pw-setting-card{grid-template-columns:36px minmax(0,1fr)}.pw-setting-card>span{grid-column:2}.pw-kyc-progress{grid-template-columns:repeat(2,1fr)}.pw-kyc-checklist{grid-template-columns:1fr}}

/* Production operations list: shared admin shell, dense on desktop and card-based on small screens. */
.compact-metrics a.active{border-color:#0b3d2e;background:#eef4f1;color:#06352a;box-shadow:0 0 0 2px #0b3d2e14}.operations-toolbar select{max-width:170px}.operational-list{overflow:visible}.table-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid #e7eaf0}.table-summary>div{display:flex;align-items:baseline;gap:10px}.table-summary span{color:#778397;font-size:12px}.project-bulk{display:flex;align-items:center;gap:10px}.project-bulk .admin-btn{min-height:34px;padding:7px 11px}.project-list-head{display:grid;grid-template-columns:28px minmax(210px,1.4fr) minmax(135px,.8fr) minmax(145px,1fr) minmax(145px,.85fr) 125px 110px 145px;gap:14px;align-items:center;padding:9px 16px;background:#f8fafc;border-bottom:1px solid #e7eaf0;color:#778397;font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;position:sticky;top:126px;z-index:8}.project-operation-row{grid-template-columns:28px minmax(210px,1.4fr) minmax(135px,.8fr) minmax(145px,1fr) minmax(145px,.85fr) 125px 110px 145px;gap:14px;padding:14px 16px;background:#fff}.project-operation-row:hover{background:#fbfcff}.project-operation-row em{display:block;margin-top:3px;color:#788497;font-size:11px;font-style:normal;overflow-wrap:anywhere}.project-select{display:grid;place-items:center}.project-select input,.project-list-head input{width:16px;height:16px;accent-color:#0b3d2e}.project-state{display:grid;justify-items:start;gap:5px}.priority-label{color:#788497;text-transform:capitalize}.project-team strong,.project-schedule strong,.project-updated strong{display:block;font-size:12px}.row-quick{justify-content:flex-end}.row-quick>a{min-height:30px;display:inline-flex;align-items:center}.operations-toolbar .admin-btn{white-space:nowrap}
.assignment-layout>.detail-main{min-width:0}.assignment-layout>aside>.admin-card{width:100%;min-width:0}.assignment-layout>aside .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-role>.card-head{align-items:flex-start}.assignment-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);gap:16px;align-items:start;min-width:0}.assignment-picker .assignment-confirm{position:sticky;top:88px;margin-top:0}.assignment-confirm label{display:grid;gap:6px;margin-bottom:11px}.assignment-confirm input,.assignment-confirm textarea{width:100%;border:1px solid #d7dee7;border-radius:9px;padding:9px;background:#fff}.assignment-confirm textarea{min-height:72px;resize:vertical}.match-card{min-width:0;overflow:hidden}.match-head>div{min-width:0}.match-head strong,.match-head small{overflow-wrap:anywhere}.match-card:has(input:checked){border-color:#0b3d2e;background:#f1f7f4;box-shadow:0 0 0 2px #0b3d2e1f}.match-card>input{accent-color:#0b3d2e}.assignment-history{min-width:0;overflow:hidden}.assignment-history .project-actions{display:flex;flex-wrap:wrap;gap:6px}.assignment-history .project-actions form{margin-top:0;max-width:100%}.assignment-history input[type=datetime-local]{max-width:100%;width:100%}
.assignment-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.assignment-summary>div{padding:12px 14px;border:1px solid #e1e6ed;border-radius:11px;background:#fff}.assignment-summary small,.assignment-summary strong{display:block}.assignment-summary small{color:#778397;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.assignment-summary strong{margin-top:3px;font-size:21px;color:#172033}
@media(max-width:1350px){.project-list-head,.project-operation-row{grid-template-columns:28px minmax(170px,1.3fr) minmax(110px,.7fr) minmax(120px,.85fr) minmax(130px,.8fr) 110px 120px;gap:12px}.project-list-head>span:nth-child(7),.project-updated{display:none}.assignment-picker{grid-template-columns:1fr}.assignment-picker .assignment-confirm{position:static}}
@media(max-width:1050px){.project-list-head,.project-operation-row{grid-template-columns:28px minmax(190px,1.2fr) minmax(140px,.85fr) 120px 135px}.project-list-head>span:nth-child(3),.project-list-head>span:nth-child(4),.project-schedule,.project-team{display:none}.operations-toolbar select,.operations-toolbar>input{flex:1;max-width:none}.assignment-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.operations-toolbar>*{min-width:calc(50% - 5px)}.operations-toolbar .search-field{min-width:100%}.operations-toolbar .toolbar-link{min-width:auto}.table-summary{align-items:flex-start;flex-direction:column}.project-bulk{width:100%;justify-content:space-between}.project-list-head{display:none}.project-rows{gap:10px;padding:10px;background:#f5f7fb;overflow:visible}.project-operation-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;border:1px solid #e0e5ed;border-radius:12px;padding:14px;box-shadow:0 4px 14px #17203308}.project-primary{grid-column:2}.project-schedule{grid-column:2}.staffing-cell{grid-column:2/-1;display:block!important}.project-state{grid-column:3;grid-row:1/3;align-self:start}.row-quick{grid-column:1/-1;justify-content:flex-start;padding-top:9px;border-top:1px solid #edf0f4}.row-menu{left:0;right:auto}.project-operation-row>div:nth-child(2){display:flex}.project-operation-row .project-schedule{display:block}.project-operation-row .project-team,.project-operation-row .project-updated{display:none}.assignment-role{padding:16px}.match-head{grid-template-columns:34px minmax(0,1fr) auto}}
@media(max-width:420px){.operations-toolbar>*{min-width:100%}.operations-toolbar .toolbar-link{min-width:auto}.compact-metrics{gap:6px}.project-operation-row{grid-template-columns:22px minmax(0,1fr)}.project-primary,.project-schedule,.staffing-cell{grid-column:2}.project-state{grid-column:2;grid-row:auto;display:flex;align-items:center}.row-quick{grid-column:1/-1}.project-bulk{align-items:flex-start;flex-direction:column}.project-bulk .admin-btn{width:100%}.row-quick>a,.more-btn{flex:1;justify-content:center}.match-card{padding:12px}.match-head{grid-template-columns:32px minmax(0,1fr)}.match-head b{grid-column:2}.assignment-confirm{padding:12px}.assignment-summary{grid-template-columns:repeat(2,1fr)}.assignment-layout>aside .filter-grid{grid-template-columns:1fr}}

/* Admin sign-in card stabilization */
.admin-login-panel{min-width:0;min-height:100vh;min-height:100svh;padding:clamp(24px,4vw,56px);box-sizing:border-box}.admin-login-card{width:100%;max-width:460px;box-sizing:border-box;align-self:center;justify-self:center}.admin-login-card form{display:grid;gap:0}.admin-login-card label{display:grid;gap:8px;margin:0 0 16px;color:#26362f;font-size:13px;font-weight:750;line-height:1.35}.admin-login-card input[type=email],.admin-login-card input[type=password],.admin-login-card input[type=text]{width:100%;height:50px;min-width:0;padding:0 14px;box-sizing:border-box;border:1px solid #ccd8d1;border-radius:12px;background:#fff;color:#17251d;font:600 14px/1.2 Inter,system-ui,sans-serif;box-shadow:0 1px 2px #14372808;outline:0;transition:border-color .18s,box-shadow .18s,background .18s}.admin-login-card input::placeholder{color:#87928c;font-weight:500}.admin-login-card input:hover{border-color:#aebfb5}.admin-login-card input:focus{border-color:#0b5c43;box-shadow:0 0 0 4px #0b5c4317}.admin-password-field{width:100%}.admin-password-field button{right:6px;min-width:48px;min-height:40px;padding:0 8px;border-radius:9px}.admin-password-field button:hover{background:#edf5f1}.admin-login-options{min-height:44px;margin:-2px 0 18px}.admin-login-options .admin-check{min-height:44px;margin:0!important;display:flex!important;grid-template-columns:none;align-items:center;gap:9px!important;font-size:12.5px;font-weight:650;cursor:pointer}.admin-login-options .admin-check input{width:17px;height:17px;min-height:17px;flex:none;margin:0;accent-color:#0b5c43}.admin-login-options>a{min-height:44px;padding:0 2px;display:inline-flex;align-items:center;justify-content:flex-end;white-space:nowrap;font-size:12.5px}.admin-login-card .admin-btn{margin-top:0;border-radius:12px;box-shadow:0 8px 20px #0b5c4318}.admin-login-card .admin-btn:hover{box-shadow:0 11px 24px #0b5c4325}.admin-login-card .admin-btn:disabled{transform:none;cursor:wait}.admin-login-card .admin-alert{margin:18px 0 4px;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.5}.admin-login-lock{align-items:center;justify-content:center;line-height:1}.admin-secure-note{line-height:1.55}.admin-back{min-height:44px;margin-top:10px;display:flex;align-items:center;justify-content:center;border-radius:10px}.admin-back:hover{background:#f5f8f6;color:#0b5c43}
@media(max-width:900px){.admin-login-panel{margin-top:0;min-height:100vh;min-height:100svh;padding:24px}.admin-login-card{padding:32px;border-radius:24px}}
@media(max-width:480px){.admin-login-panel{padding:14px}.admin-login-card{padding:26px 20px;border-radius:22px}.admin-login-lock{margin-bottom:15px}.admin-login-card h2{font-size:clamp(29px,9vw,34px);line-height:1.08}.admin-login-card>p{line-height:1.55}.admin-login-card form{margin-top:22px}.admin-login-options{gap:8px}.admin-login-options .admin-check,.admin-login-options>a{font-size:12px}.admin-secure-note{margin-top:14px!important;padding-top:14px}.admin-back{font-size:13px}}
@media(max-width:340px){.admin-login-card{padding:24px 18px}.admin-login-options{display:grid;grid-template-columns:1fr auto;align-items:center}.admin-login-options .admin-check{line-height:1.3}.admin-login-options>a{text-align:right}.admin-login-card h2{font-size:29px}}
.execution-console{margin:28px 0;display:grid;gap:18px}.execution-head{display:flex;justify-content:space-between;align-items:center}.execution-head h2{margin:.25rem 0}.execution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.execution-item{padding:14px 0;border-top:1px solid #e5ebe6}.execution-item:first-of-type{border-top:0}.execution-item>.status{float:right}.execution-item p{white-space:pre-wrap}.completion-panel{border-left:4px solid #39704f}@media(max-width:760px){.execution-grid{grid-template-columns:1fr}.execution-console .pw-btn{width:100%}}

/* Verification Center and trusted partner identity */
.verification-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 16px}.verification-summary article{padding:15px;border:1px solid #e1e6ed;border-radius:12px;background:#fff}.verification-summary small,.verification-summary strong{display:block}.verification-summary small{min-height:30px;color:#718096;font-size:11px;font-weight:700;text-transform:uppercase}.verification-summary strong{font-size:25px;color:#172033}.verification-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.verification-filters label{display:grid;gap:6px;font-size:12px;font-weight:700}.verification-filters input,.verification-filters select{width:100%;min-width:0;border:1px solid #d7dee7;border-radius:9px;padding:10px;background:#fff}.partner-avatar{position:relative;flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#edf2ef;color:#315942;font-weight:800;overflow:visible}.partner-avatar.large{width:58px;height:58px;border-radius:17px}.partner-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.verified-badge{position:absolute;right:-5px;bottom:-4px;width:18px;height:18px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#168a50;color:#fff;font-size:11px;line-height:1;box-shadow:0 2px 6px #0c513b35}.verification-table td{vertical-align:middle}.verification-table td small{display:block;max-width:260px;overflow-wrap:anywhere}.verification-detail-head .person{margin-top:12px}.verification-tabs{display:flex;gap:4px;margin:12px 0 18px;border-bottom:1px solid #dfe4eb;overflow-x:auto}.verification-tabs a{padding:11px 13px;white-space:nowrap;text-decoration:none;color:#657286;border-bottom:2px solid transparent}.verification-tabs a.active{color:#4f46e5;border-color:#4f46e5}.change-record{padding:18px 0;border-top:1px solid #e4e9ef}.change-record:first-of-type{border-top:0}.change-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.change-values>div{min-width:0;padding:12px;border:1px solid #e1e6ed;border-radius:9px;background:#f8fafc}.change-values small,.change-values code{display:block}.change-values code{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere;color:#30394a}.change-record form{display:grid;gap:10px}.change-record textarea{width:100%;border:1px solid #d7dee7;border-radius:9px;padding:10px}.status.verification_changed,.status.blocked{background:#fff1db;color:#9a5a00}.status.verified,.status.reverified{background:#dcf4e6;color:#12613a}.status.pending{background:#fff4d6;color:#895d00}
@media(max-width:1200px){.verification-summary{grid-template-columns:repeat(3,1fr)}.verification-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.verification-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.verification-table table,.verification-table tbody,.verification-table tr,.verification-table td{display:block}.verification-table thead{display:none}.verification-table tr{margin:10px;border:1px solid #e1e6ed;border-radius:12px;padding:12px}.verification-table td{padding:8px;border:0}.verification-table td:before{content:attr(data-label);display:block;color:#7b8798;font-size:10px;text-transform:uppercase}.verification-detail-head{display:grid;gap:12px}}
@media(max-width:480px){.verification-summary,.verification-filters,.change-values{grid-template-columns:1fr}.verification-summary{grid-template-columns:repeat(2,1fr)}.verification-summary article{padding:12px}.verification-tabs{margin-inline:-16px;padding-inline:16px}.partner-avatar.large{width:50px;height:50px}}
/* Unified navigation and partner verification center */
.admin-sidebar nav a .icon,.admin-sidebar-foot .icon{width:18px;height:18px;flex:none}.admin-sidebar nav .nav-count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#f5a400;color:#06352a;font-size:11px}.admin-sidebar-overlay{display:none}.nav-scroll-lock{overflow:hidden}.verification-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.verification-summary-grid article{min-width:0;padding:18px;border:1px solid #e1e8e4;border-radius:14px;background:#fff}.verification-summary-grid small,.verification-summary-grid strong{display:block}.verification-summary-grid small{color:#718078;margin-bottom:7px}.verification-summary-grid strong{overflow-wrap:anywhere}.verification-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.verification-partner-grid .pw-panel{margin:0}.pw-sidebar nav a[aria-current="page"],.admin-sidebar nav a[aria-current="page"]{color:#fff}.pw-sidebar nav a:focus-visible,.admin-sidebar nav a:focus-visible{outline:3px solid #f5a400;outline-offset:2px}
@media(max-width:820px){.admin-sidebar-overlay{display:block;position:fixed;inset:0;z-index:35;border:0;background:#0f172a99}.admin-sidebar-overlay[hidden]{display:none}.admin-nav-open .admin-sidebar{box-shadow:18px 0 50px #0004}.admin-sidebar nav a{min-height:44px}.verification-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tag-widget-option:hover, .tag-widget-option.highlighted { background: var(--cream); color: var(--forest-deep); }
.tag-widget-option.selected { opacity: 0.5; cursor: not-allowed; }}
@media(max-width:600px){.verification-summary-grid,.verification-partner-grid{grid-template-columns:1fr}.verification-summary-grid article{padding:15px}.pw-sidebar nav a{min-height:44px}.admin-main,.pw-main{min-width:0}}

/* -------------------------------------------------------------------------- */
/* Redesigned Partner KYC Onboarding Workspace                              */
/* -------------------------------------------------------------------------- */
.pw-kyc-redesign { display: grid; gap: 24px; padding: 0 !important; background: transparent !important; border: none !important; box-shadow: none !important; }

.pw-kyc-hero-card { background: linear-gradient(135deg, #ffffff 0%, #f7faf8 100%); border: 1px solid #e1e8e4; border-radius: 18px; padding: 28px; box-shadow: 0 4px 20px rgba(11,61,46,0.04); }
.pw-kyc-hero-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.pw-kyc-hero-top h2 { font-size: 1.6rem; color: #0b3d2e; font-weight: 800; margin: 4px 0 6px; letter-spacing: -0.02em; }
.pw-kyc-hero-top p { color: #52635a; font-size: 0.92rem; margin: 0; max-width: 580px; }

.pw-kyc-status-chip-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.pw-kyc-status-chip-wrap .pw-chip.lg { padding: 8px 16px; font-size: 0.88rem; font-weight: 700; border-radius: 999px; }
.pw-kyc-revision { color: #788a80; font-size: 0.75rem; font-weight: 600; }

.pw-alert-banner { display: flex; align-items: flex-start; gap: 14px; padding: 14px 18px; border-radius: 12px; margin-bottom: 24px; font-size: 0.88rem; }
.pw-alert-banner.warning { background: #fff8eb; border: 1px solid #fce4b6; color: #8a5300; }
.pw-alert-banner.danger { background: #fdf2f2; border: 1px solid #f8cdcd; color: #9b1c1c; }
.pw-alert-banner.info { background: #f0f7ff; border: 1px solid #cce3ff; color: #1e429f; }
.pw-alert-icon { font-size: 1.2rem; flex: none; line-height: 1; }
.pw-alert-banner strong { display: block; font-weight: 700; margin-bottom: 2px; }

/* 5-Stage Timeline Bar */
.pw-kyc-timeline-wrap { background: #fff; border: 1px solid #e5ede8; border-radius: 14px; padding: 20px; margin-bottom: 24px; overflow-x: auto; }
.pw-kyc-timeline-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; min-width: 580px; position: relative; }
.pw-kyc-step { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; position: relative; }
.pw-kyc-step:not(:last-child)::after { content: ''; position: absolute; top: 16px; left: 50%; width: 100%; height: 3px; background: #e2e9e4; z-index: 1; }
.pw-kyc-step.completed:not(:last-child)::after { background: #0b3d2e; }

.pw-step-bubble { width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 2px solid #c8d6ce; color: #788a80; font-size: 0.82rem; font-weight: 800; display: grid; place-items: center; z-index: 2; position: relative; transition: all 0.2s ease; }
.pw-kyc-step.completed .pw-step-bubble { background: #0b3d2e; border-color: #0b3d2e; color: #fff; }
.pw-kyc-step.current .pw-step-bubble { background: #f5a400; border-color: #f5a400; color: #06352a; box-shadow: 0 0 0 4px rgba(245,164,0,0.25); }
.pw-kyc-step.warning .pw-step-bubble { background: #d97706; border-color: #d97706; color: #fff; }
.pw-kyc-step.failed .pw-step-bubble { background: #dc2626; border-color: #dc2626; color: #fff; }
.pw-step-label { font-size: 0.8rem; font-weight: 700; color: #47554e; }
.pw-kyc-step.completed .pw-step-label { color: #0b3d2e; }
.pw-kyc-step.current .pw-step-label { color: #b45309; }

/* Metrics Bar */
.pw-kyc-metrics-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; background: #fff; border: 1px solid #e8f0ec; border-radius: 12px; padding: 16px 20px; }
.pw-kyc-metrics-bar article small { display: block; color: #718078; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; margin-bottom: 4px; }
.pw-kyc-metrics-bar article strong { display: block; color: #0b3d2e; font-size: 0.88rem; font-weight: 700; }

/* Onboarding Cards Grid */
.pw-kyc-form-grid { display: grid; gap: 20px; }
.pw-kyc-card { background: #fff; border: 1px solid #e2e9e4; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.03); overflow: hidden; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.pw-kyc-card:focus-within { border-color: #0b3d2e; box-shadow: 0 4px 18px rgba(11,61,46,0.08); }

.pw-card-head { display: flex; align-items: flex-start; gap: 16px; padding: 22px 26px; border-bottom: 1px solid #f0f4f1; background: #fafcfb; }
.pw-card-num { width: 36px; height: 36px; border-radius: 10px; background: rgba(11,61,46,0.08); color: #0b3d2e; font-size: 1rem; font-weight: 800; display: grid; place-items: center; flex: none; }
.pw-card-head h4 { font-size: 1.1rem; color: #0b3d2e; margin: 0 0 3px; font-weight: 800; }
.pw-card-head p { color: #62746b; font-size: 0.84rem; margin: 0; }

.pw-card-content { padding: 26px; }
.pw-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

.pw-field-group { display: grid; gap: 6px; }
.pw-field-group label { font-size: 0.86rem; font-weight: 700; color: #2d3b34; }
.pw-field-group .req { color: #e11d48; }
.pw-field-group input, .pw-field-group textarea { width: 100%; padding: 11px 14px; border: 1.5px solid #d4ded8; border-radius: 10px; font-size: 0.92rem; color: #1e2924; background: #fff; transition: border-color 0.2s, box-shadow 0.2s; }
.pw-field-group input:focus, .pw-field-group textarea:focus { border-color: #0b3d2e; outline: none; box-shadow: 0 0 0 3px rgba(11,61,46,0.12); }
.pw-input-code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; letter-spacing: 0.05em; font-weight: 600; }
.pw-hint { color: #76877f; font-size: 0.76rem; }

.pw-field-group.has-error input { border-color: #e11d48; background: #fff1f2; }
.pw-field-group.has-success input { border-color: #10b981; }

/* Checkboxes & Action Bar */
.pw-checkbox-label { display: flex; align-items: flex-start; gap: 12px; font-size: 0.88rem; color: #334155; cursor: pointer; margin-bottom: 12px; }
.pw-checkbox-label input[type="checkbox"] { width: 18px; height: 18px; accent-color: #0b3d2e; margin-top: 2px; flex: none; }
.pw-form-actions-bar { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5ede8; }

/* Approved Locked View */
.pw-kyc-approved-card { background: #ffffff; border: 2px solid #10b981; border-radius: 16px; padding: 28px; box-shadow: 0 4px 20px rgba(16,185,129,0.08); }
.pw-approved-header { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.pw-approved-badge { width: 48px; height: 48px; border-radius: 50%; background: #d1fae5; color: #059669; display: grid; place-items: center; font-size: 1.6rem; flex: none; }
.pw-approved-header h3 { font-size: 1.3rem; color: #065f46; font-weight: 800; margin: 0 0 4px; }
.pw-approved-header p { color: #4b5563; font-size: 0.9rem; margin: 0; }
.pw-approved-details { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; background: #f0fdf4; border: 1px solid #a7f3d0; border-radius: 12px; padding: 18px; }
.pw-approved-details small { display: block; color: #047857; font-size: 0.74rem; text-transform: uppercase; font-weight: 700; margin-bottom: 3px; }
.pw-approved-details strong { display: block; color: #064e3b; font-size: 0.92rem; font-weight: 700; }

@media (max-width: 860px) {
  .pw-grid-2, .pw-approved-details, .pw-kyc-metrics-bar { grid-template-columns: 1fr; }
  .pw-kyc-hero-top { flex-direction: column; align-items: flex-start; }
  .pw-kyc-status-chip-wrap { align-items: flex-start; }
  .pw-form-actions-bar { flex-direction: column; }
  .pw-form-actions-bar button { width: 100%; }
}

/* =====================================================================
   PARTNER WORKSPACE — profile, readiness and verification sprint.
   Scoped to .partner-app-body so the public (.public-v2) and admin
   layers are untouched. Tokens are declared once and reused below.
   ===================================================================== */
.partner-app-body {
  --pw-forest: #0B3D2E;
  --pw-forest-deep: #072A1D;
  --pw-forest-soft: #EDF3EF;
  --pw-ink: #16211C;
  --pw-muted: #5F6C65;
  --pw-label: #34483E;
  --pw-line: #DCE2DB;
  --pw-line-soft: #E9EDE7;
  --pw-surface: #fff;
  --pw-canvas: #F5F6F3;
  --pw-amber: #F5A31C;
  --pw-amber-soft: #FEF6E7;
  --pw-danger: #B4342A;
  --pw-danger-soft: #FCEDEC;
  --pw-ok: #1F8A5B;
  --pw-ok-soft: #E8F5EE;
  --pw-info: #2A6DB4;
  --pw-info-soft: #EAF2FB;
  --pw-radius: 16px;
  --pw-radius-sm: 10px;
  --pw-shadow: 0 1px 2px rgba(16, 40, 30, .04), 0 8px 26px rgba(16, 40, 30, .06);
  --pw-shadow-lg: 0 18px 44px rgba(7, 42, 29, .12);
}

.pw-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* --- Shared small pieces ------------------------------------------- */
.partner-app-body .pw-chip.subtle { background: var(--pw-forest-soft); color: var(--pw-forest); border-color: transparent; }
.partner-app-body .pw-chip .icon { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.pw-page-head { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; justify-content: space-between; }
.pw-page-head h2 { margin: 6px 0 4px; font: 700 clamp(21px, 2.4vw, 27px)/1.2 Manrope, Inter, sans-serif; letter-spacing: -.02em; color: var(--pw-ink); }
.pw-page-head p { margin: 0; color: var(--pw-muted); max-width: 62ch; }
.pw-breadcrumb { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--pw-muted); }
.pw-breadcrumb a { color: var(--pw-forest); font-weight: 600; text-decoration: none; }
.pw-breadcrumb a:hover { text-decoration: underline; }
.pw-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--pw-forest-soft); color: var(--pw-forest); font-size: 12px; font-weight: 700; }

/* --- Project readiness card ---------------------------------------- */
.pw-readiness { display: grid; gap: 18px; border-left: 4px solid var(--pw-amber); }
.pw-readiness.is-ready { border-left-color: var(--pw-ok); }
.pw-readiness-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; }
.pw-readiness-head h3 { margin: 6px 0; font: 700 20px/1.25 Manrope, Inter, sans-serif; letter-spacing: -.02em; color: var(--pw-ink); }
.pw-readiness-lede { margin: 0; color: var(--pw-muted); max-width: 58ch; }
.pw-readiness-meter {
  --pct: 0;
  width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: conic-gradient(var(--pw-forest) calc(var(--pct) * 1%), var(--pw-line-soft) 0);
}
.pw-readiness.is-ready .pw-readiness-meter { background: conic-gradient(var(--pw-ok) calc(var(--pct) * 1%), var(--pw-line-soft) 0); }
.pw-readiness-meter > span { width: 72px; height: 72px; border-radius: 50%; background: var(--pw-surface); display: grid; place-items: center; align-content: center; text-align: center; }
.pw-readiness-meter b { font: 700 19px/1 Manrope, Inter, sans-serif; color: var(--pw-ink); }
.pw-readiness-meter small { font-size: 11px; color: var(--pw-muted); }

.pw-checklist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.pw-checklist li {
  display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; gap: 12px; align-items: center;
  padding: 12px 14px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius-sm); background: var(--pw-surface);
}
.pw-checklist li.is-done { background: var(--pw-ok-soft); border-color: transparent; }
.pw-checklist li.is-review { background: var(--pw-info-soft); border-color: transparent; }
.pw-checklist li.is-blocked { background: var(--pw-danger-soft); border-color: transparent; }
.pw-checklist-mark { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--pw-surface); box-shadow: inset 0 0 0 1px var(--pw-line); }
.pw-checklist-mark .icon { width: 16px; height: 16px; }
.pw-checklist li.is-done .pw-checklist-mark { background: var(--pw-ok); color: #fff; box-shadow: none; }
.pw-checklist li.is-review .pw-checklist-mark { background: var(--pw-info); color: #fff; box-shadow: none; }
.pw-checklist li.is-blocked .pw-checklist-mark { background: var(--pw-danger); color: #fff; box-shadow: none; }
.pw-checklist-body strong { display: block; font-size: 14px; color: var(--pw-ink); }
.pw-checklist-body small { display: block; color: var(--pw-muted); font-size: 12.5px; line-height: 1.45; }
.pw-checklist-state { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--pw-muted); }
.pw-checklist li.is-done .pw-checklist-state { color: var(--pw-ok); }
.pw-checklist-action { padding: 7px 12px; min-height: 36px; display: inline-grid; place-items: center; border-radius: 8px; background: var(--pw-forest); color: #fff; font-size: 12.5px; font-weight: 700; text-decoration: none; }
.pw-checklist-action:hover { background: var(--pw-forest-deep); }
.pw-readiness-foot { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; padding-top: 16px; border-top: 1px solid var(--pw-line-soft); }
.pw-readiness-foot strong { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--pw-muted); }
.pw-readiness-foot p { margin: 2px 0 0; font-weight: 600; color: var(--pw-ink); }
.pw-readiness-foot .pw-btn { margin-left: auto; }

/* --- Profile hero and avatar --------------------------------------- */
.pw-profile-identity { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; }
.pw-avatar-field { display: grid; gap: 8px; justify-items: center; }
.partner-app-body .pw-profile-avatar {
  width: 96px; height: 96px; border-radius: 26px; font-size: 28px; font-weight: 700;
  background: var(--pw-forest-soft); color: var(--pw-forest);
  border: 3px solid var(--pw-surface); box-shadow: var(--pw-shadow); overflow: hidden;
  display: grid; place-items: center; position: relative;
}
.partner-app-body .pw-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.partner-app-body .pw-profile-avatar.is-empty { border-style: dashed; border-color: var(--pw-line); background: linear-gradient(160deg, #F7FAF7, var(--pw-forest-soft)); }
.partner-app-body .pw-profile-avatar.is-uploading::after {
  content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .66);
  backdrop-filter: blur(1px);
}
.pw-avatar-upload {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; min-height: 36px;
  border: 1px solid var(--pw-line); border-radius: 999px; background: var(--pw-surface);
  color: var(--pw-forest); font-size: 12.5px; font-weight: 700; cursor: pointer;
}
.pw-avatar-upload:hover { border-color: var(--pw-forest); background: var(--pw-forest-soft); }
.pw-avatar-upload:focus-within { outline: 3px solid rgba(11, 92, 67, .24); outline-offset: 2px; }
.pw-avatar-upload .icon { width: 15px; height: 15px; }
.pw-profile-titles h2 { margin: 0 0 4px; font: 700 clamp(21px, 2.4vw, 27px)/1.2 Manrope, Inter, sans-serif; letter-spacing: -.02em; }
.pw-profile-titles p { margin: 0 0 10px; color: var(--pw-muted); }
.pw-profile-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-profile-ring { flex: none; }

/* --- Profile layout: section rail + form --------------------------- */
.pw-profile-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 22px; align-items: start; }
.pw-profile-rail { position: sticky; top: 18px; display: grid; gap: 14px; }
.pw-profile-rail ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.pw-profile-rail a { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: center; padding: 9px 11px; border-radius: var(--pw-radius-sm); color: var(--pw-label); text-decoration: none; }
.pw-profile-rail a:hover { background: var(--pw-forest-soft); }
.pw-profile-rail a.is-current { background: var(--pw-surface); box-shadow: var(--pw-shadow); }
.pw-rail-mark { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--pw-surface); box-shadow: inset 0 0 0 1.5px var(--pw-line); }
.pw-profile-rail a.is-done .pw-rail-mark { background: var(--pw-ok); color: #fff; box-shadow: none; }
.pw-rail-mark .icon { width: 12px; height: 12px; }
.pw-rail-text strong { display: block; font-size: 13.5px; color: var(--pw-ink); }
.pw-rail-text small { display: block; font-size: 11.5px; color: var(--pw-muted); }
.pw-rail-note { display: flex; gap: 8px; margin: 0; padding: 12px; border-radius: var(--pw-radius-sm); background: var(--pw-surface); border: 1px dashed var(--pw-line); color: var(--pw-muted); font-size: 12px; line-height: 1.5; }
.pw-rail-note .icon { width: 15px; height: 15px; flex: none; margin-top: 2px; }
.pw-profile-main { display: grid; gap: 18px; min-width: 0; }

/* --- Premium fieldsets --------------------------------------------- */
.pw-profile-form { display: grid; gap: 16px; }
.partner-app-body .pw-fieldset {
  margin: 0; padding: 22px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius);
  background: var(--pw-surface); box-shadow: var(--pw-shadow); display: grid; gap: 16px; scroll-margin-top: 20px;
}
.partner-app-body .pw-fieldset > legend { display: contents; }
.pw-fieldset > legend > span:last-child { display: block; }
.pw-fieldset > legend strong { display: block; font: 700 17px/1.3 Manrope, Inter, sans-serif; letter-spacing: -.015em; color: var(--pw-ink); }
.pw-fieldset > legend small { display: block; margin-top: 2px; color: var(--pw-muted); font-size: 12.5px; font-weight: 500; }
.pw-fieldset-index { display: none; }
.partner-app-body .pw-fieldset > label { display: grid; gap: 6px; }
.pw-required, .pw-optional { justify-self: start; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 2px 7px; border-radius: 5px; }
.pw-required { background: var(--pw-forest-soft); color: var(--pw-forest); }
.pw-optional { background: #F1F3F0; color: var(--pw-muted); }
.pw-hint { color: var(--pw-muted); font-size: 12px; font-weight: 500; line-height: 1.5; }
.pw-field-error { display: block; color: var(--pw-danger); font-size: 12px; font-weight: 600; }
.partner-app-body .pw-form [aria-invalid="true"] { border-color: var(--pw-danger); box-shadow: 0 0 0 3px rgba(180, 52, 42, .12); }
.pw-optional-banner { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--pw-radius-sm); background: var(--pw-ok-soft); color: #17563B; }
.pw-optional-banner .icon { width: 17px; height: 17px; flex: none; margin-top: 1px; }
.pw-optional-banner p { margin: 0; font-size: 13px; font-weight: 600; }
.pw-form-actions {
  position: sticky; bottom: 0; z-index: 3; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
  padding: 14px 18px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius);
  background: rgba(255, 255, 255, .93); backdrop-filter: blur(10px); box-shadow: var(--pw-shadow-lg);
}
.pw-form-actions-status { margin: 0; color: var(--pw-muted); font-size: 13px; font-weight: 600; }
.pw-form-actions-status span { color: var(--pw-forest); font-weight: 700; }
.pw-security-panel { margin-top: 6px; }
.profile-message:empty { display: none; }
.profile-message { padding: 12px 14px; border-radius: var(--pw-radius-sm); font-size: 13.5px; font-weight: 600; }
.profile-message.success { background: var(--pw-ok-soft); color: #17563B; }
.profile-message.error { background: var(--pw-danger-soft); color: var(--pw-danger); }

/* --- Tag inputs ---------------------------------------------------- */
.pw-visually-hidden-field { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden; clip: rect(0 0 0 0); border: 0 !important; }
.pw-tags { position: relative; display: grid; gap: 8px; padding: 9px 10px; border: 1.5px solid var(--pw-line); border-radius: var(--pw-radius-sm); background: var(--pw-surface); }
.pw-tags:focus-within { border-color: var(--pw-forest); box-shadow: 0 0 0 3px rgba(11, 92, 67, .12); }
.pw-tags-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pw-tags-list[hidden] { display: none; }
.pw-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 10px; border-radius: 7px; background: var(--pw-forest-soft); color: var(--pw-forest-deep); font-size: 12.5px; font-weight: 600; }
.pw-tag-remove { display: grid; place-items: center; width: 20px; height: 20px; border: 0; border-radius: 5px; background: transparent; color: var(--pw-muted); font-size: 15px; line-height: 1; cursor: pointer; }
.pw-tag-remove:hover { background: rgba(11, 61, 46, .12); color: var(--pw-forest-deep); }
.pw-tags-entry { display: flex; gap: 8px; align-items: center; }
.partner-app-body .pw-tags-input { flex: 1; min-width: 0; border: 0 !important; padding: 4px 2px !important; background: transparent !important; box-shadow: none !important; font: 500 14px Inter, sans-serif; }
.partner-app-body .pw-tags-input:focus { outline: none; }
.pw-tags-add { padding: 7px 12px; min-height: 34px; border: 1px solid var(--pw-line); border-radius: 8px; background: var(--pw-forest-soft); color: var(--pw-forest); font-size: 12.5px; font-weight: 700; cursor: pointer; }
.pw-tags-add:hover { background: var(--pw-forest); color: #fff; }
.pw-tags-options { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 20; max-height: 232px; overflow-y: auto; margin: 0; padding: 5px; list-style: none; border: 1px solid var(--pw-line); border-radius: var(--pw-radius-sm); background: var(--pw-surface); box-shadow: var(--pw-shadow-lg); }
.pw-tags-option { padding: 9px 11px; border-radius: 7px; font-size: 13.5px; font-weight: 500; color: var(--pw-ink); cursor: pointer; }
.pw-tags-option:hover, .pw-tags-option:focus { background: var(--pw-forest-soft); color: var(--pw-forest-deep); outline: none; }
.pw-tags-status { margin: 0; font-size: 11.5px; color: var(--pw-muted); }
.pw-tags-status:empty { display: none; }

/* --- Verification Center ------------------------------------------- */
.pw-verify-hero {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center;
  padding: clamp(22px, 3vw, 32px); border-radius: var(--pw-radius);
  background: linear-gradient(135deg, var(--pw-forest-deep), #0E5540); color: #fff; box-shadow: var(--pw-shadow-lg);
}
.pw-verify-hero.is-ready { background: linear-gradient(135deg, #0C5B3F, #1F8A5B); }
.pw-verify-hero h2 { margin: 8px 0 8px; font: 700 clamp(22px, 2.8vw, 30px)/1.2 Manrope, Inter, sans-serif; letter-spacing: -.025em; }
.pw-verify-hero p { margin: 0 0 14px; color: rgba(255, 255, 255, .84); max-width: 62ch; }
.pw-verify-hero .pw-eyebrow { color: #F7C65A; }
.pw-verify-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-verify-hero-meta .pw-chip { background: rgba(255, 255, 255, .14); color: #fff; border-color: rgba(255, 255, 255, .22); }
.pw-verify-progress {
  --pct: 0; width: 124px; height: 124px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: conic-gradient(#F5A31C calc(var(--pct) * 1%), rgba(255, 255, 255, .18) 0);
}
.pw-verify-progress > span { width: 98px; height: 98px; border-radius: 50%; background: var(--pw-forest-deep); display: grid; place-items: center; align-content: center; text-align: center; }
.pw-verify-hero.is-ready .pw-verify-progress > span { background: #0C5B3F; }
.pw-verify-progress b { font: 700 24px/1 Manrope, Inter, sans-serif; color: #fff; }
.pw-verify-progress small { font-size: 11px; color: rgba(255, 255, 255, .74); }

.pw-verify-next { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 18px; border-radius: var(--pw-radius); background: var(--pw-amber-soft); border: 1px solid #F3DFB6; }
.pw-verify-next > div:first-child { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--pw-amber); color: #3D2A00; }
.pw-verify-next .icon { width: 19px; height: 19px; }
.pw-verify-next h3 { margin: 0 0 2px; font-size: 14px; letter-spacing: -.01em; }
.pw-verify-next p { margin: 0; color: #5C4410; font-size: 13.5px; }

.pw-verify-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.pw-verify-requirements, .pw-verify-side { display: grid; gap: 16px; min-width: 0; }
.pw-verify-group { border-left: 4px solid var(--pw-info); }
.pw-verify-group.is-complete { border-left-color: var(--pw-ok); }
.pw-verify-group.is-action { border-left-color: var(--pw-amber); }
.pw-verify-items { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pw-verify-items li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto auto; gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius-sm); }
.pw-verify-items li.is-complete { background: var(--pw-ok-soft); border-color: transparent; }
.pw-verify-items li.is-pending { background: var(--pw-info-soft); border-color: transparent; }
.pw-verify-items li.is-action, .pw-verify-items li.is-missing { background: var(--pw-amber-soft); border-color: transparent; }
.pw-verify-mark { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--pw-surface); }
.pw-verify-mark .icon { width: 15px; height: 15px; }
.pw-verify-items li.is-complete .pw-verify-mark { background: var(--pw-ok); color: #fff; }
.pw-verify-items li.is-pending .pw-verify-mark { background: var(--pw-info); color: #fff; }
.pw-verify-items li.is-action .pw-verify-mark, .pw-verify-items li.is-missing .pw-verify-mark { background: var(--pw-amber); color: #3D2A00; }
.pw-verify-items strong { display: block; font-size: 14px; color: var(--pw-ink); }
.pw-verify-items small { display: block; color: var(--pw-label); font-size: 12.5px; line-height: 1.5; }
.pw-verify-why { margin: 4px 0 0; color: var(--pw-muted); font-size: 12px; line-height: 1.5; }
.pw-verify-state { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--pw-muted); white-space: nowrap; }
.pw-verify-action { align-self: center; padding: 7px 12px; min-height: 36px; display: inline-grid; place-items: center; border-radius: 8px; background: var(--pw-forest); color: #fff; font-size: 12.5px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pw-verify-action:hover { background: var(--pw-forest-deep); }

.pw-verify-timeline { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.pw-verify-timeline li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; padding-bottom: 18px; position: relative; }
.pw-verify-timeline li:not(:last-child)::before { content: ""; position: absolute; left: 12px; top: 26px; bottom: 0; width: 2px; background: var(--pw-line-soft); }
.pw-verify-timeline li.is-done:not(:last-child)::before { background: var(--pw-ok); }
.pw-verify-timeline li > span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--pw-surface); box-shadow: inset 0 0 0 2px var(--pw-line); z-index: 1; }
.pw-verify-timeline li.is-done > span { background: var(--pw-ok); color: #fff; box-shadow: none; }
.pw-verify-timeline li > span .icon { width: 13px; height: 13px; }
.pw-verify-timeline strong { display: block; font-size: 13.5px; color: var(--pw-ink); }
.pw-verify-timeline small { display: block; color: var(--pw-muted); font-size: 12px; }
.pw-verify-estimate { display: flex; gap: 8px; align-items: center; margin: 4px 0 0; padding-top: 14px; border-top: 1px solid var(--pw-line-soft); color: var(--pw-muted); font-size: 12.5px; }
.pw-verify-estimate .icon { width: 15px; height: 15px; flex: none; }
.pw-verify-estimate strong { color: var(--pw-ink); }
.pw-blockers { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pw-blockers li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 13px; color: var(--pw-label); }
.pw-blockers .icon { width: 16px; height: 16px; color: var(--pw-amber); margin-top: 1px; }

/* --- Assignments inside the shell ----------------------------------- */
.pw-assignment-overview { display: grid; grid-template-columns: minmax(210px, .32fr) minmax(0, 1fr); gap: 22px; align-items: center; padding: 22px; border: 1px solid rgba(18, 68, 52, .1); border-radius: 20px; background: linear-gradient(135deg, #f8fcfa 0%, #fff 55%, #fff9ee 100%); box-shadow: 0 16px 40px rgba(13, 47, 38, .07); overflow: hidden; }
.pw-overview-copy h3 { margin: 5px 0 5px; font: 750 20px/1.2 Manrope, Inter, sans-serif; letter-spacing: -.025em; color: var(--pw-ink); }
.pw-overview-copy p { max-width: 290px; margin: 0; color: var(--pw-muted); font-size: 12.5px; line-height: 1.55; }
.pw-assignment-stats { display: grid; grid-template-columns: repeat(7, minmax(78px, 1fr)); gap: 8px; min-width: 0; }
.pw-assignment-stats a { min-width: 0; padding: 12px 9px; border: 1px solid rgba(18, 68, 52, .09); border-radius: 14px; background: rgba(255, 255, 255, .88); color: var(--pw-ink); text-align: center; text-decoration: none; transition: transform .18s, border-color .18s, box-shadow .18s; }
.pw-assignment-stats a:hover, .pw-assignment-stats a:focus-visible { transform: translateY(-2px); border-color: rgba(18, 68, 52, .3); box-shadow: 0 9px 20px rgba(13, 47, 38, .09); outline: none; }
.pw-assignment-stats a.is-attention { border-color: rgba(224, 146, 23, .35); background: #fffaf0; }
.pw-assignment-stats strong, .pw-assignment-stats small { display: block; }
.pw-assignment-stats strong { margin: 6px 0 2px; font: 750 20px/1 Manrope, Inter, sans-serif; }
.pw-assignment-stats small { overflow: hidden; color: var(--pw-muted); font-size: 10.5px; font-weight: 700; line-height: 1.25; text-overflow: ellipsis; }
.pw-stat-icon { display: grid; place-items: center; width: 28px; height: 28px; margin: auto; border-radius: 9px; background: var(--pw-forest-soft); color: var(--pw-forest); }
.pw-stat-icon .icon { width: 14px; height: 14px; }
.pw-filter-bar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px 20px; align-items: center; padding: 16px 18px; border: 1px solid rgba(18, 68, 52, .12); border-radius: 18px; background: var(--pw-surface); box-shadow: 0 10px 30px rgba(13, 47, 38, .06); }
.pw-filter-bar:not(.pw-assignment-filter) { display: flex; flex-wrap: wrap; gap: 10px; padding: 12px; border-radius: var(--pw-radius); box-shadow: var(--pw-shadow); }
.pw-filter-bar label { display: flex; align-items: center; gap: 8px; margin: 0; }
.pw-filter-heading { display: flex; gap: 10px; align-items: center; min-width: 180px; }
.pw-filter-heading > span { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 11px; background: var(--pw-forest-deep); color: #fff; }
.pw-filter-heading .icon { width: 16px; height: 16px; }
.pw-filter-heading strong, .pw-filter-heading small { display: block; }
.pw-filter-heading strong { color: var(--pw-ink); font-size: 12.5px; }
.pw-filter-heading small { margin-top: 2px; color: var(--pw-muted); font-size: 10.5px; }
.pw-filter-controls { display: flex; gap: 9px; align-items: center; min-width: 0; }
.pw-filter-search { flex: 1 1 260px; position: relative; padding-left: 10px; border: 1.5px solid var(--pw-line); border-radius: var(--pw-radius-sm); }
.pw-filter-search .icon { width: 16px; height: 16px; color: var(--pw-muted); flex: none; }
.partner-app-body .pw-filter-search input { border: 0 !important; box-shadow: none !important; background: transparent !important; }
.pw-filter-search:focus-within, .pw-filter-select:focus-within { border-color: var(--pw-forest); box-shadow: 0 0 0 3px rgba(18, 68, 52, .1); }
.pw-filter-select { position: relative; min-width: 170px; border: 1.5px solid var(--pw-line); border-radius: var(--pw-radius-sm); background: #fff; }
.pw-filter-select .icon { width: 14px; height: 14px; margin-right: 10px; color: var(--pw-muted); pointer-events: none; }
.partner-app-body .pw-filter-select select { min-width: 150px; border: 0 !important; box-shadow: none !important; background: transparent !important; appearance: none; }
.pw-quick-filters { grid-column: 2; display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.pw-quick-filters > span { margin-right: 2px; color: var(--pw-muted); font-size: 10.5px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.pw-quick-filters a { min-height: 28px; padding: 6px 10px; border: 1px solid var(--pw-line-soft); border-radius: 999px; background: #f8faf9; color: var(--pw-label); font-size: 10.5px; font-weight: 700; text-decoration: none; }
.pw-quick-filters a:hover, .pw-quick-filters a:focus-visible, .pw-quick-filters a.active { border-color: var(--pw-forest); background: var(--pw-forest); color: #fff; outline: none; }
.pw-assign-group { display: grid; gap: 12px; }
.pw-assign-group h3 { display: flex; gap: 10px; align-items: center; margin: 0; font: 700 15px/1.3 Manrope, Inter, sans-serif; color: var(--pw-ink); }
.pw-assign-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pw-assign-card { display: grid; gap: 11px; align-content: start; padding: 19px; border: 1px solid rgba(18, 68, 52, .1); border-radius: 18px; background: linear-gradient(180deg, #fff 0%, #fdfefd 100%); box-shadow: 0 12px 28px rgba(13, 47, 38, .07); position: relative; overflow: hidden; transition: transform .18s, box-shadow .18s, border-color .18s; }
.pw-assign-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--pw-line); }
.pw-assign-card.status-confirmed::before { background: var(--pw-ok); }
.pw-assign-card.status-delivered::before, .pw-assign-card.status-pending::before { background: var(--pw-amber); }
.pw-assign-card.status-declined::before, .pw-assign-card.status-expired::before, .pw-assign-card.status-cancelled::before { background: var(--pw-danger); }
.pw-assign-card:hover { transform: translateY(-3px); border-color: rgba(18, 68, 52, .22); box-shadow: 0 18px 38px rgba(13, 47, 38, .12); }
.pw-assign-card header { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.pw-assign-card header small { color: var(--pw-muted); font-size: 11.5px; font-weight: 600; }
.pw-assign-card h4 { margin: 0; font: 700 16px/1.3 Manrope, Inter, sans-serif; letter-spacing: -.015em; color: var(--pw-ink); }
.pw-card-status, .pw-card-title { display: flex; align-items: center; }
.pw-card-status { gap: 7px; min-width: 0; }
.pw-priority-dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #94a3b8; box-shadow: 0 0 0 4px #f1f5f9; }
.pw-priority-dot.high, .pw-priority-dot.urgent { background: var(--pw-danger); box-shadow: 0 0 0 4px #fee2e2; }
.pw-card-title { gap: 11px; min-width: 0; }
.pw-card-project-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 12px; background: var(--pw-forest-soft); color: var(--pw-forest); }
.pw-card-project-icon .icon { width: 17px; height: 17px; }
.pw-assign-role { margin: 0; color: var(--pw-muted); font-size: 13px; font-weight: 600; }
.pw-assign-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 4px 0 6px; }
.pw-assign-card dt { display: flex; gap: 5px; align-items: center; color: var(--pw-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pw-assign-card dt .icon { width: 13px; height: 13px; }
.pw-assign-card dd { margin: 3px 0 0; font-size: 13px; font-weight: 600; color: var(--pw-ink); }
.pw-assign-card .pw-card-note { min-height: 38px; padding: 9px 10px; border-radius: 10px; background: #f6f9f7; line-height: 1.45; }
.pw-assign-card .pw-btn .icon { width: 14px; height: 14px; margin-left: 3px; }
.pw-assign-card footer { align-self: end; margin-top: auto; padding-top: 3px; }
.pw-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.pw-pagination a { min-width: 40px; min-height: 40px; display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--pw-line); border-radius: 9px; background: var(--pw-surface); color: var(--pw-label); font-weight: 700; text-decoration: none; }
.pw-pagination a.active { background: var(--pw-forest); border-color: var(--pw-forest); color: #fff; }
.pw-empty-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 16px; background: var(--pw-forest-soft); color: var(--pw-forest); }
.pw-empty-icon .icon { width: 24px; height: 24px; }
.pw-empty.sm { padding: 18px; }

/* --- Responsive ----------------------------------------------------- */
@media (max-width: 1080px) {
  .pw-assign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw-assignment-overview { grid-template-columns: 1fr; }
  .pw-overview-copy p { max-width: 620px; }
  .pw-verify-layout { grid-template-columns: 1fr; }
  .pw-profile-layout { grid-template-columns: 1fr; }
  .pw-profile-rail { position: static; }
  .pw-profile-rail ul { grid-auto-flow: column; grid-auto-columns: minmax(140px, 1fr); overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .pw-rail-note { display: none; }
}
@media (max-width: 820px) {
  .pw-assignment-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pw-filter-bar { grid-template-columns: 1fr; }
  .pw-filter-heading, .pw-quick-filters { grid-column: 1; }
  .pw-filter-controls { flex-wrap: wrap; }
  .pw-filter-search { flex-basis: 100%; }
  .pw-readiness-head { grid-template-columns: 1fr; }
  .pw-readiness-meter { justify-self: start; }
  .pw-verify-hero { grid-template-columns: 1fr; }
  .pw-verify-progress { justify-self: start; }
  .pw-profile-identity { grid-template-columns: auto minmax(0, 1fr); }
  .pw-profile-ring { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 620px) {
  .pw-checklist li { grid-template-columns: 30px minmax(0, 1fr) auto; row-gap: 8px; }
  .pw-checklist-state { grid-column: 2 / 3; }
  .pw-checklist-action { grid-column: 3 / 4; grid-row: 2; }
  .pw-verify-items li { grid-template-columns: 28px minmax(0, 1fr); }
  .pw-verify-state, .pw-verify-action { grid-column: 2 / 3; justify-self: start; }
  .pw-verify-next { grid-template-columns: auto minmax(0, 1fr); }
  .pw-verify-next .pw-btn { grid-column: 1 / -1; }
  .pw-readiness-foot .pw-btn { margin-left: 0; width: 100%; }
  .pw-assign-grid { grid-template-columns: 1fr; }
  .pw-assignment-overview { padding: 17px; border-radius: 16px; }
  .pw-assignment-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw-assignment-stats a { padding: 11px 8px; }
  .pw-filter-bar { align-items: stretch; padding: 14px; }
  .pw-filter-controls { display: grid; grid-template-columns: 1fr; }
  .pw-filter-controls .pw-btn { width: 100%; }
  .pw-filter-search { flex: 0 0 auto; min-height: 42px; }
  .partner-app-body .pw-filter-bar select, .pw-filter-bar label, .pw-filter-select { width: 100%; }
  .pw-form-actions { flex-direction: column; align-items: stretch; }
  .pw-form-actions .pw-btn { width: 100%; }
  .partner-app-body .pw-profile-avatar { width: 76px; height: 76px; border-radius: 22px; font-size: 22px; }
}
@media (max-width: 400px) {
  .pw-assign-card dl { grid-template-columns: 1fr; }
  .pw-profile-identity { grid-template-columns: 1fr; justify-items: start; }
}
@media (prefers-reduced-motion: reduce) {
  .pw-assign-card, .pw-checklist-action, .pw-verify-action { transition: none; }
  .pw-assign-card:hover { transform: none; }
}

/* =====================================================================
   ADMIN — verification queue and review workspace additions.
   ===================================================================== */
.verification-summary a { display: grid; gap: 4px; padding: 15px; border: 1px solid #e1e6ed; border-radius: 12px; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.verification-summary a:hover { border-color: #b9c4d4; box-shadow: 0 6px 18px rgba(15, 23, 42, .07); }
.verification-summary a small { color: #64748b; font-size: 12px; font-weight: 600; }
.verification-summary a strong { font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.verification-summary a.tone-warn strong { color: #b45309; }
.verification-summary a.tone-ok strong { color: #15803d; }
.verification-summary a.tone-primary strong { color: #4338ca; }
.verification-filters .filter-search { grid-column: span 2; }
.verification-filters label > span { display: block; margin-bottom: 4px; font-size: 11.5px; font-weight: 700; color: #475569; }
.admin-help { margin: 0 0 12px; color: #64748b; font-size: 13px; line-height: 1.55; }
.detail-header-status { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.danger-note { display: block; margin-top: 3px; color: #b91c1c; font-size: 11.5px; font-weight: 600; }
.verification-flags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
.review-flag { display: inline-flex; align-items: center; min-height: 20px; padding: 2px 6px; border: 1px solid transparent; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .055em; line-height: 1; }
.review-flag.is-new { background: #e0e7ff; color: #3730a3; border-color: #c7d2fe; }
.review-flag.is-updated,.review-flag.is-recent { background: #e0f2fe; color: #075985; border-color: #bae6fd; }
.review-flag.is-action { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.review-flag.is-pending { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.verification-change-summary { margin-top: 5px; color: #64748b; line-height: 1.35; }
.pw-kyc-form { display: grid; gap: 18px; max-width: 900px; margin-inline: auto; }
.pw-form-section-head { display: flex; gap: 12px; align-items: center; padding-top: 8px; border-top: 1px solid var(--pw-line-soft); }
.pw-form-section-head > span { width: 34px; height: 34px; display: grid; place-items: center; flex: none; border-radius: 11px; background: var(--pw-forest); color: #fff; font-size: 12px; font-weight: 800; }
.pw-form-section-head strong,.pw-form-section-head small { display: block; }
.pw-form-section-head small { margin-top: 2px; color: var(--pw-muted); }
.pw-kyc-approved { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px solid #bbdfcc; border-radius: var(--pw-radius); background: #effaf3; color: #145c39; }
.pw-kyc-approved > span { width: 36px; height: 36px; display: grid; place-items: center; flex: none; border-radius: 50%; background: #168a50; color: #fff; animation: pw-success-pop .4s ease both; }
.pw-kyc-approved p { margin: 4px 0 0; color: #3e6854; }
.pw-kyc-upload-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.pw-kyc-upload-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; min-width: 0; padding: 18px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius); background: #fff; overflow: hidden; }
.pw-kyc-upload-card.is-action { border-color: #f3c6bf; background: #fffaf9; }
.pw-kyc-upload-card.is-complete { border-color: #cce6d7; }
.pw-kyc-upload-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #f1f5f3; color: var(--pw-forest); }
.pw-kyc-upload-card p { margin: 4px 0; color: var(--pw-muted); font-size: 13px; line-height: 1.45; }
.pw-kyc-upload-card > .pw-btn { grid-column: span 1; }
.pw-upload-preview { grid-column: 1/-1; width: 100%; max-height: 220px; object-fit: cover; border-radius: 12px; border: 1px solid var(--pw-line-soft); background: #f6f8f7; }
.pw-upload-progress { grid-column: 1/-1; position: relative; height: 24px; overflow: hidden; border-radius: 999px; background: #edf1ef; }
.pw-upload-progress > span { position: absolute; inset: 0 auto 0 0; width: var(--upload-progress,0%); background: linear-gradient(90deg,#0b6649,#38a169); transition: width .18s ease; }
.pw-upload-progress > small { position: relative; z-index: 1; display: grid; height: 100%; place-items: center; color: #173d30; font-size: 10px; font-weight: 800; }
.pw-kyc-form.is-success { animation: pw-success-wash .7s ease; }
.admin-notification-list { display: grid; }
.admin-notification-list article { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 16px 0; border-top: 1px solid #e4e9ef; }
.admin-notification-list article:first-child { border-top: 0; }
.admin-notification-list p { margin: 4px 0; color: #475569; }
.admin-notification-list small { color: #718096; }
.admin-notification-dot { width: 9px; height: 9px; margin-top: 6px; border-radius: 50%; background: #cbd5e1; }
.admin-notification-list .is-unread .admin-notification-dot { background: #4f46e5; box-shadow: 0 0 0 4px #e0e7ff; }
@keyframes pw-success-pop { from { transform: scale(.5); opacity: 0; } 70% { transform: scale(1.12); } to { transform: scale(1); opacity: 1; } }
@keyframes pw-success-wash { 0%,100% { box-shadow: none; } 40% { box-shadow: 0 0 0 5px #d8f1e2; } }
@media (prefers-reduced-motion: reduce) { .pw-kyc-approved > span,.pw-kyc-form.is-success { animation: none; } }
@media (max-width: 720px) { .pw-kyc-upload-grid { grid-template-columns: 1fr; } .pw-kyc-upload-card { grid-template-columns: auto 1fr; } .pw-kyc-upload-card > .pw-chip { justify-self: start; } .admin-notification-list article { grid-template-columns: auto minmax(0,1fr); } .admin-notification-list article .admin-btn { grid-column: 2; justify-self: start; } }

/* Shared-taxonomy profile and project audience controls */
.pw-profile-form .pw-fieldset { scroll-margin-top: 92px; }
.pw-profile-form select[data-searchable-select],
.project-form select[data-searchable-select],
.project-form select[data-searchable-multi] { min-height: 46px; border-color: #cbd8d1; background-color: #fff; }
.project-form select[data-searchable-multi] { min-height: 132px; padding: 8px; }
.audience-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.choice-card { display:flex; gap:10px; align-items:flex-start; min-height:92px; padding:15px; border:1px solid #dce5df; border-radius:14px; background:#fbfdfc; cursor:pointer; }
.choice-card:has(input:checked) { border-color:#0f5b43; background:#eef8f3; box-shadow:0 0 0 2px rgba(15,91,67,.09); }
.choice-card.is-danger:has(input:checked) { border-color:#b34a3c; background:#fff3f1; }
.choice-card input { margin-top:3px; accent-color:#0f5b43; }
.choice-card span { display:grid; gap:5px; }
.choice-card small { color:#66746d; line-height:1.35; }
.audience-filters label { display:grid; gap:7px; font-weight:700; }
.audience-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; padding:18px; border-radius:15px; background:#0e3f32; color:#fff; }
.audience-preview div { display:grid; gap:2px; }
.audience-preview strong { font-size:25px; }
.audience-preview small { color:#c9ddd5; }
.audience-preview p { grid-column:1/-1; margin:4px 0 0; color:#dcebe5; }
@media(max-width:900px){.audience-options{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.audience-options,.audience-preview{grid-template-columns:1fr}.audience-preview p{grid-column:auto}.choice-card{min-height:auto}}
.blocker-list { display: grid; gap: 6px; margin: 0; padding-left: 18px; color: #334155; font-size: 13.5px; }
.verification-table .meter { display: inline-block; width: 54px; height: 6px; margin-right: 8px; border-radius: 999px; background: linear-gradient(90deg, #4338ca calc(var(--pct) * 1%), #e2e8f0 0); vertical-align: middle; }
.admin-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; padding: 14px; }
.admin-pagination a { min-width: 38px; min-height: 38px; display: grid; place-items: center; padding: 0 10px; border: 1px solid #e1e6ed; border-radius: 9px; background: #fff; color: #334155; font-weight: 700; text-decoration: none; }
.admin-pagination a.active { background: #4338ca; border-color: #4338ca; color: #fff; }
.project-actions.stacked { display: grid; gap: 8px; }
.tag-block { padding: 14px 0; border-top: 1px solid #eef1f5; }
.tag-block:first-of-type { border-top: 0; padding-top: 0; }
.tag-block h3 { margin: 0 0 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
.tag-block em { color: #94a3b8; font-size: 13px; }
.requirement-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.requirement-group { padding: 16px; border: 1px solid #e1e6ed; border-left-width: 4px; border-radius: 12px; background: #fff; }
.requirement-group.is-complete { border-left-color: #16a34a; }
.requirement-group.is-pending { border-left-color: #2563eb; }
.requirement-group.is-action { border-left-color: #d97706; }
.requirement-group h3 { margin: 0 0 10px; font-size: 14px; letter-spacing: -.01em; }
.requirement-group ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.requirement-group li { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; }
.requirement-group li strong { display: block; font-size: 13px; color: #0f172a; }
.requirement-group li small { display: block; color: #64748b; font-size: 12px; line-height: 1.45; }
.document-review-list { display: grid; gap: 14px; }
.document-review { border: 1px solid #e1e6ed; border-radius: 12px; padding: 16px; background: #fff; display: grid; gap: 12px; }
.document-review > header { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.document-review > header strong { display: block; font-size: 14px; }
.document-review > header small { display: block; color: #64748b; font-size: 12px; }
.document-preview { display: grid; gap: 10px; justify-items: start; }
.document-preview img { max-width: 100%; max-height: 320px; border-radius: 10px; border: 1px solid #e1e6ed; background: #f8fafc; object-fit: contain; }
.document-file { display: flex; gap: 10px; align-items: center; padding: 16px; border: 1px dashed #cbd5e1; border-radius: 10px; background: #f8fafc; color: #334155; }
.document-file .icon { width: 22px; height: 22px; flex: none; }
.document-file span { font-weight: 600; font-size: 13.5px; }
.document-file small { color: #64748b; font-size: 12px; }
.document-decision { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid #eef1f5; }
.admin-live-banner { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; padding: 12px 16px; border: 1px solid #fcd34d; border-radius: 12px; background: #fffbeb; color: #78350f; font-size: 13.5px; font-weight: 600; }
.admin-live-banner[hidden] { display: none; }
.admin-live-banner span { flex: 1 1 240px; }
@media (max-width: 900px) {
  .requirement-grid { grid-template-columns: 1fr; }
  .verification-filters .filter-search { grid-column: auto; }
  .document-review > header { align-items: flex-start; }
}
@media (max-width: 560px) {
  .verification-summary a strong { font-size: 20px; }
  .document-preview img { max-height: 220px; }
  .admin-live-banner .admin-btn { flex: 1 1 auto; }
}

/* Document centre — verification evidence checklist */
.pw-doc-required { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pw-doc-required li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 14px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius-sm); }
.pw-doc-required li.is-complete { background: var(--pw-ok-soft); border-color: transparent; }
.pw-doc-required li.is-pending { background: var(--pw-info-soft); border-color: transparent; }
.pw-doc-required li.is-action, .pw-doc-required li.is-missing { background: var(--pw-amber-soft); border-color: transparent; }
.pw-doc-mark { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--pw-surface); }
.pw-doc-mark .icon { width: 15px; height: 15px; }
.pw-doc-required li.is-complete .pw-doc-mark { background: var(--pw-ok); color: #fff; }
.pw-doc-required li.is-pending .pw-doc-mark { background: var(--pw-info); color: #fff; }
.pw-doc-required li.is-action .pw-doc-mark, .pw-doc-required li.is-missing .pw-doc-mark { background: var(--pw-amber); color: #3D2A00; }
.pw-doc-body strong { display: block; font-size: 14px; color: var(--pw-ink); }
.pw-doc-body small { display: block; color: var(--pw-label); font-size: 12.5px; line-height: 1.5; }
.pw-doc-why { margin: 4px 0 0; color: var(--pw-muted); font-size: 12px; line-height: 1.5; }
.pw-doc-note { display: flex; gap: 6px; align-items: center; margin: 6px 0 0; color: #8a5a12; font-size: 12.5px; font-weight: 600; }
.pw-doc-note .icon { width: 14px; height: 14px; flex: none; }
.pw-doc-actions { display: flex; gap: 8px; align-items: center; }
.pw-doc-upload { position: relative; cursor: pointer; }
.pw-doc-upload.is-busy { opacity: .6; pointer-events: none; }
.pw-doc-hint { display: flex; gap: 8px; align-items: center; margin: 14px 0 0; color: var(--pw-muted); font-size: 12.5px; }
.pw-doc-hint .icon { width: 15px; height: 15px; flex: none; }
@media (max-width: 620px) {
  .pw-doc-required li { grid-template-columns: 28px minmax(0, 1fr); }
  .pw-doc-actions { grid-column: 2 / 3; justify-content: flex-start; }
}

/* -------------------------------------------------------------------------- */
/* Project Console & Partner Discovery Styling                               */
/* -------------------------------------------------------------------------- */
.pw-admin-header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.pw-header-actions { display: flex; align-items: center; gap: 12px; }
.pw-header-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

.pw-metrics-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin-bottom: 20px; }
.pw-metric-card { background: #fff; border: 1px solid #e1e8e4; border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; text-decoration: none !important; transition: border-color 0.2s, box-shadow 0.2s; }
.pw-metric-card:hover, .pw-metric-card.active { border-color: #0b3d2e; box-shadow: 0 4px 14px rgba(11,61,46,0.08); background: #fafcfb; }
.pw-metric-card small { color: #62746b; font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.pw-metric-card strong { color: #0b3d2e; font-size: 1.3rem; font-weight: 800; }

.pw-toolbar-card { background: #fff; border: 1px solid #e2e9e4; border-radius: 14px; padding: 18px; margin-bottom: 24px; display: grid; gap: 14px; }
.pw-search-group { display: flex; align-items: center; gap: 10px; background: #fafcfb; border: 1px solid #d4ded8; border-radius: 10px; padding: 0 14px; }
.pw-search-group input { border: none !important; box-shadow: none !important; padding: 10px 0 !important; width: 100%; background: transparent; }
.pw-filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }

.pw-stepper-bar { display: flex; gap: 8px; overflow-x: auto; background: #fff; border: 1px solid #e2e9e4; border-radius: 12px; padding: 8px; margin-bottom: 20px; }
.pw-step-link { padding: 8px 14px; border-radius: 8px; font-size: 0.84rem; font-weight: 700; color: #47554e; text-decoration: none !important; white-space: nowrap; }
.pw-step-link:hover, .pw-step-link.active { background: #0b3d2e; color: #fff; }

.pw-role-fieldset { border: 1px solid #e2e9e4; border-radius: 12px; padding: 18px; margin-bottom: 16px; background: #fafcfb; position: relative; }
.pw-role-fieldset legend { font-size: 0.88rem; font-weight: 800; color: #0b3d2e; padding: 0 8px; }

.pw-tab-selector { display: flex; gap: 8px; border-bottom: 2px solid #e2e9e4; margin-bottom: 24px; }
.pw-tab-btn { padding: 12px 18px; font-size: 0.92rem; font-weight: 700; color: #62746b; text-decoration: none !important; border-bottom: 3px solid transparent; margin-bottom: -2px; display: flex; align-items: center; gap: 8px; }
.pw-tab-btn.active { color: #0b3d2e; border-bottom-color: #0b3d2e; }
.pw-tab-badge { background: #e2e9e4; color: #334155; padding: 2px 8px; border-radius: 999px; font-size: 0.76rem; font-weight: 800; }
.pw-tab-badge.highlight { background: #f5a400; color: #06352a; }

.pw-discovery-card { background: #fff; border: 1px solid #e2e9e4; border-radius: 16px; padding: 22px; transition: border-color 0.2s, box-shadow 0.2s; }
.pw-discovery-card:hover { border-color: #0b3d2e; box-shadow: 0 4px 18px rgba(11,61,46,0.08); }
.pw-skills-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 16px; }
.pw-tag-pill { background: #f0f7f3; color: #0b3d2e; border: 1px solid #d1e2d8; font-size: 0.75rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; }

@media (max-width: 768px) {
  .pw-admin-header { flex-direction: column; align-items: flex-start; }
  .pw-header-actions { width: 100%; flex-direction: column; }
  .pw-header-actions .admin-btn { width: 100%; }
  .pw-filter-grid { grid-template-columns: 1fr; }
}


/* =====================================================================
   ADMIN OVERVIEW — grouped hierarchy, action queues and quick actions.
   Extends the existing .metric-card / .admin-card language rather than
   replacing it, so every other admin page stays visually consistent.
   ===================================================================== */
.admin-welcome-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-welcome p strong { color: #f7c65a; }
.admin-section { margin: 0 0 26px; }
.admin-section-head { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.admin-section-head h3 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -.01em; color: #0f172a; }
.admin-section-head a { font-size: 13px; font-weight: 600; color: #4338ca; text-decoration: none; }
.admin-section-head a:hover { text-decoration: underline; }
.admin-pill { padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
.admin-pill.danger { background: #fee2e2; color: #b91c1c; }
.admin-pill.success { background: #dcfce7; color: #15803d; }

.queue-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(232px, 1fr)); gap: 12px; }
.queue-card {
  display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; gap: 12px; align-items: center;
  padding: 15px 16px; border: 1px solid #e7e7e7; border-radius: 14px; background: #fff;
  color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.queue-card:hover { border-color: #c7cdd8; box-shadow: 0 6px 18px #0f172a12; transform: translateY(-1px); }
.queue-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #f1f5f9; color: #475569; }
.queue-icon .icon { width: 19px; height: 19px; }
.queue-body { display: grid; }
.queue-body strong { font-size: 22px; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; color: #0f172a; }
.queue-body small { font-size: 12.5px; font-weight: 600; color: #64748b; }
.queue-go { color: #94a3b8; }
.queue-go .icon { width: 16px; height: 16px; }
.queue-card.has-work { border-color: #fcd34d; background: #fffdf5; }
.queue-card.has-work .queue-icon { background: #fef3c7; color: #b45309; }
.queue-card.has-work .queue-body strong { color: #b45309; }
.queue-card.is-clear .queue-body strong { color: #94a3b8; }

a.metric-card { display: block; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
a.metric-card:hover { border-color: #c7cdd8; box-shadow: 0 6px 18px #0f172a12; transform: translateY(-1px); }
.admin-list-row.is-unread { background: #f8fafc; }
.admin-list-row.is-unread strong::after { content: ''; display: inline-block; width: 7px; height: 7px; margin-left: 7px; border-radius: 50%; background: #4338ca; vertical-align: middle; }
.admin-list-row .initial .icon { width: 16px; height: 16px; }
.admin-list-row .row-time { color: #94a3b8; font-size: 11.5px; white-space: nowrap; }
.card-head .admin-pill { margin-left: 8px; }

@media (max-width: 1100px) { .metric-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) {
  .admin-welcome { display: grid; gap: 16px; }
  .admin-welcome-actions .admin-btn { flex: 1 1 auto; text-align: center; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .queue-grid { grid-template-columns: 1fr; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .metric-card { padding: 14px; }
  .queue-body strong { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { .queue-card, a.metric-card { transition: none; } .queue-card:hover, a.metric-card:hover { transform: none; } }

/* Partner project discovery — match quality, slots and the apply action */
.pw-discovery-card.has-application { border-color: #c9d8cf; }
.pw-match-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 2px 0 4px; }
.pw-match-score { padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
.pw-match-score.is-strong { background: var(--pw-ok-soft); color: #17563B; }
.pw-match-score.is-good { background: var(--pw-info-soft); color: #1D4E82; }
.pw-match-score.is-partial { background: var(--pw-amber-soft); color: #8a5a12; }
.pw-match-bar small { color: var(--pw-muted); font-size: 12px; font-weight: 600; }
.pw-skills-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pw-skills-tags.gear { margin-top: -2px; }
.pw-tag-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 7px; background: var(--pw-forest-soft); color: var(--pw-forest-deep); font-size: 11.5px; font-weight: 600; }
.pw-tag-pill.subtle { background: #F1F3F0; color: var(--pw-muted); }
.pw-tag-pill .icon { width: 12px; height: 12px; }
.pw-application-state { display: grid; gap: 5px; margin: 2px 0 6px; }
.pw-application-state small { color: var(--pw-muted); font-size: 12px; line-height: 1.5; }
.pw-application-state .pw-chip { justify-self: start; display: inline-flex; align-items: center; gap: 5px; }
.pw-application-state .pw-chip .icon { width: 13px; height: 13px; }
.pw-apply-form { display: grid; gap: 8px; }
.partner-app-body .pw-apply-form input { width: 100%; padding: 9px 11px; border: 1.5px solid var(--pw-line); border-radius: var(--pw-radius-sm); font: 500 13px Inter, sans-serif; }
.partner-app-body .pw-apply-form input:focus { border-color: var(--pw-forest); outline: none; box-shadow: 0 0 0 3px rgba(11, 92, 67, .12); }
.pw-card-note { display: flex; gap: 7px; align-items: center; margin: 4px 0 0; color: var(--pw-muted); font-size: 12.5px; }
.pw-card-note .icon { width: 14px; height: 14px; flex: none; }
.pw-grid-full { grid-column: 1 / -1; }

/* Admin — partner-initiated project application review */
.application-review { border-left: 4px solid #4338ca; }
.application-list { display: grid; gap: 12px; }
.application-row { padding: 14px 16px; border: 1px solid #e1e6ed; border-radius: 12px; background: #fff; display: grid; gap: 10px; }
.application-partner { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.application-partner strong { display: block; font-size: 14px; color: #0f172a; }
.application-partner small { display: block; color: #64748b; font-size: 12px; }
.application-score { font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.application-score.is-strong { color: #15803d; }
.application-score.is-good { color: #2563eb; }
.application-score.is-partial { color: #b45309; }
.application-note { margin: 0; padding: 10px 12px; border-radius: 9px; background: #f8fafc; color: #334155; font-size: 13px; line-height: 1.55; }
.application-reasons { margin: 0; color: #64748b; font-size: 12px; line-height: 1.5; }
.application-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; padding-top: 10px; border-top: 1px solid #eef1f5; }
.application-actions form { display: flex; gap: 6px; align-items: center; flex: 1 1 280px; }
.application-actions input { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid #e1e6ed; border-radius: 8px; font-size: 12.5px; }
.application-actions .admin-btn { white-space: nowrap; }
@media (max-width: 760px) {
  .application-actions form { flex: 1 1 100%; flex-wrap: wrap; }
  .application-actions .admin-btn { width: 100%; }
}

/* Discovery — eligibility state, why-you-match and actionable blockers */
.pw-discovery-summary { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid var(--pw-line-soft); border-radius: var(--pw-radius); background: var(--pw-surface); box-shadow: var(--pw-shadow); }
.pw-discovery-stat { display: inline-flex; align-items: baseline; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--pw-muted); }
.pw-discovery-stat strong { font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.pw-discovery-stat.is-open strong { color: var(--pw-ok); }
.pw-discovery-stat.is-locked strong { color: var(--pw-amber); }
.pw-discovery-summary .pw-btn { margin-left: auto; }

.pw-discovery-card.is-locked { border-color: #EADFC6; background: linear-gradient(180deg, #fffdf8, var(--pw-surface) 60%); }
.pw-eligibility-banner { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; align-self: flex-start; }
.pw-eligibility-banner .icon { width: 13px; height: 13px; }
.pw-eligibility-banner.is-open { background: var(--pw-ok-soft); color: #17563B; }
.pw-eligibility-banner.is-locked { background: var(--pw-amber-soft); color: #8a5a12; }

.pw-match-why { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.pw-match-why li { display: grid; grid-template-columns: 15px minmax(0, 1fr); gap: 7px; align-items: start; color: var(--pw-label); font-size: 12px; }
.pw-match-why .icon { width: 13px; height: 13px; color: var(--pw-ok); margin-top: 2px; }

.pw-blocker-panel { display: grid; gap: 8px; padding: 12px; border-radius: var(--pw-radius-sm); background: var(--pw-amber-soft); }
.pw-blocker-title { margin: 0; font-size: 12px; font-weight: 700; color: #8a5a12; }
.pw-blocker-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pw-blocker-list li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.pw-blocker-icon { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--pw-amber); color: #3D2A00; }
.pw-blocker-icon .icon { width: 12px; height: 12px; }
.pw-blocker-text strong { display: block; font-size: 12.5px; color: var(--pw-ink); }
.pw-blocker-text small { display: block; color: #7a5a24; font-size: 11.5px; line-height: 1.45; }
.pw-blocker-go { padding: 5px 11px; min-height: 32px; display: inline-grid; place-items: center; border-radius: 7px; background: var(--pw-forest); color: #fff; font-size: 11.5px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pw-blocker-go:hover { background: var(--pw-forest-deep); }
.pw-blocker-more { color: #7a5a24; font-size: 11.5px; font-weight: 600; }
@media (max-width: 620px) {
  .pw-discovery-summary .pw-btn { margin-left: 0; width: 100%; }
  .pw-blocker-list li { grid-template-columns: 20px minmax(0, 1fr); row-gap: 6px; }
  .pw-blocker-go { grid-column: 2 / 3; justify-self: start; }
}

/* Public homepage — live opportunity cards (real published projects) */
.public-v2 .hm-project-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.public-v2 .hm-project-flag { padding: 3px 9px; border-radius: 999px; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.public-v2 .hm-project-flag.is-urgent { background: #FDECEA; color: #B4342A; }
.public-v2 .hm-project-flag.is-high { background: var(--orange-soft); color: #9a5b06; }
.public-v2 .hm-project-meta { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.public-v2 .hm-project-meta li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 9px; align-items: start; color: var(--muted); font-size: 13.5px; }
.public-v2 .hm-project-meta .icon { width: 15px; height: 15px; margin-top: 2px; color: var(--forest); opacity: .75; }
.public-v2 .hm-project-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.public-v2 .hm-project-tags span { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 7px; background: var(--forest-soft); color: var(--forest); font-size: 11.5px; font-weight: 600; }
.public-v2 .hm-project-tags.is-gear span { background: #F3F4F1; color: var(--muted); }
.public-v2 .hm-project-tags .is-more { background: transparent; color: var(--muted); }
.public-v2 .hm-project-tags .icon { width: 12px; height: 12px; }
.public-v2 .hm-project-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.public-v2 .hm-project-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 7px; background: #EEF4F0; color: #1f5c46; font-size: 11px; font-weight: 700; }
.public-v2 .hm-project-badge.is-deadline { background: var(--orange-soft); color: #9a5b06; }
.public-v2 .hm-project-badge .icon { width: 12px; height: 12px; }
.public-v2 .hm-project-empty { grid-column: 1 / -1; display: grid; justify-items: center; gap: 12px; padding: clamp(32px, 6vw, 60px) 24px; border: 1px dashed var(--line); border-radius: var(--hm-radius); background: #fff; text-align: center; }
.public-v2 .hm-project-empty-art { display: block; width: min(190px, 60%); color: var(--forest); }
.public-v2 .hm-project-empty-art svg { width: 100%; height: auto; display: block; }
.public-v2 .hm-project-empty h3 { margin: 0; font-size: clamp(19px, 2.4vw, 23px); letter-spacing: -.02em; }
.public-v2 .hm-project-empty p { margin: 0; max-width: 52ch; color: var(--muted); }
@media (max-width: 600px) {
  .public-v2 .hm-project-foot { display: grid; gap: 10px; }
  .public-v2 .hm-project-foot .btn { width: 100%; text-align: center; }
}

/* =====================================================================
   PUBLIC OPPORTUNITIES — browse, detail and the apply intent page.
   Scoped to .public-v2 so the dashboard and admin layers are untouched.
   ===================================================================== */
.public-v2 .op-hero { padding-bottom: 0; }
.public-v2 .op-hero h1 { margin: 8px 0 10px; font-size: clamp(30px, 5vw, 48px); letter-spacing: -.03em; }
.public-v2 .op-hero-lede { max-width: 62ch; color: var(--muted); font-size: clamp(15px, 1.6vw, 17px); }
.public-v2 .op-hero-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 16px; color: var(--muted); font-size: 13.5px; }
.public-v2 .op-hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.public-v2 .op-hero-meta strong { color: var(--forest); font-size: 17px; }
.public-v2 .op-hero-meta .icon { width: 16px; height: 16px; color: var(--forest); }

.public-v2 .op-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 22px; padding: 14px; border: 1px solid var(--line); border-radius: var(--hm-radius); background: #fff; box-shadow: 0 2px 10px rgba(7,42,29,.04); }
.public-v2 .op-filter-search { flex: 1 1 260px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: 12px; }
.public-v2 .op-filter-search .icon { width: 17px; height: 17px; color: var(--muted); flex: none; }
.public-v2 .op-filter-search input { flex: 1; min-width: 0; border: 0; padding: 11px 0; background: transparent; font: 500 14.5px Inter, sans-serif; }
.public-v2 .op-filter-search input:focus { outline: none; }
.public-v2 .op-filters select { min-width: 168px; padding: 11px 12px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; font: 500 14px Inter, sans-serif; }
.public-v2 .op-grid { margin-top: 0; }
.public-v2 .op-card-title { margin: 0; font-size: 18px; letter-spacing: -.015em; }
.public-v2 .op-card-title a { color: inherit; text-decoration: none; }
.public-v2 .op-card-title a:hover { color: var(--forest); text-decoration: underline; }
.public-v2 .op-pagination { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; margin-top: 28px; }
.public-v2 .op-pagination a { min-width: 44px; min-height: 44px; display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); font-weight: 700; text-decoration: none; }
.public-v2 .op-pagination a.active { background: var(--forest); border-color: var(--forest); color: #fff; }
.public-v2 .op-cta { text-align: center; }
.public-v2 .op-cta h2 { margin: 0 0 8px; font-size: clamp(24px, 3vw, 32px); letter-spacing: -.02em; }
.public-v2 .op-cta p { max-width: 54ch; margin: 0 auto 18px; color: var(--muted); }

/* Premium "join the network" conversion band on the opportunities page */
.public-v2 .op-cta-section { padding-top: 0; padding-bottom: clamp(40px, 6vw, 72px); }
.public-v2 .op-join { position: relative; overflow: hidden; padding: clamp(28px, 5vw, 56px); border-radius: 26px; color: #fff; background: radial-gradient(120% 130% at 90% 0%, rgba(245,164,0,.22), transparent 46%), linear-gradient(150deg, #0C4433, #06352A 60%, #052A21); box-shadow: 0 30px 70px rgba(6,24,17,.22); }
.public-v2 .op-join::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.06) 1.2px, transparent 1.2px); background-size: 22px 22px; opacity: .5; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); pointer-events: none; }
.public-v2 .op-join-copy { position: relative; max-width: 660px; }
.public-v2 .op-join-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); font-size: 12.5px; font-weight: 700; color: #EAF3EE; }
.public-v2 .op-join-badge .icon { width: 16px; height: 16px; color: var(--orange); }
.public-v2 .op-join h2 { margin: 16px 0 8px; font-size: clamp(26px, 3.4vw, 38px); letter-spacing: -.02em; color: #fff; }
.public-v2 .op-join p { margin: 0; max-width: 52ch; color: #C4DACF; font-size: 16px; line-height: 1.7; }
.public-v2 .op-join-points { display: grid; gap: 10px; margin: 20px 0 24px; padding: 0; list-style: none; }
.public-v2 .op-join-points li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: center; color: #DCEAE3; font-size: 14.5px; font-weight: 600; }
.public-v2 .op-join-points .icon { width: 16px; height: 16px; color: var(--orange); }
.public-v2 .op-join-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.public-v2 .op-join-actions .btn-glass { background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.28); color: #fff; }
.public-v2 .op-join-actions .btn-glass:hover { background: rgba(255,255,255,.2); }

.public-v2 .op-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 16px; color: var(--muted); font-size: 13px; }
.public-v2 .op-breadcrumb a { color: var(--forest); font-weight: 600; text-decoration: none; }
.public-v2 .op-breadcrumb a:hover { text-decoration: underline; }
.public-v2 .op-detail-hero { padding: clamp(26px, 4vw, 44px) 0; background: linear-gradient(180deg, var(--forest-soft), #fff); }
.public-v2 .op-detail-head { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.public-v2 .op-detail-head h1 { margin: 10px 0 14px; font-size: clamp(26px, 4vw, 40px); letter-spacing: -.03em; }
.public-v2 .op-detail-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.public-v2 .op-detail-posted { color: var(--muted); font-size: 12.5px; }
.public-v2 .op-detail-facts { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 0; padding: 0; list-style: none; }
.public-v2 .op-detail-facts li { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; }
.public-v2 .op-detail-facts .icon { width: 16px; height: 16px; color: var(--forest); }
.public-v2 .op-detail-apply { position: sticky; top: 90px; display: grid; gap: 10px; padding: 22px; border: 1px solid var(--line); border-radius: var(--hm-radius); background: #fff; box-shadow: var(--hm-shadow); }
.public-v2 .op-detail-pay { font-size: clamp(24px, 3vw, 30px); font-weight: 800; letter-spacing: -.02em; color: var(--forest); }
.public-v2 .op-detail-apply > small { color: var(--muted); font-size: 12.5px; margin-top: -6px; }
.public-v2 .op-detail-assurance { display: grid; gap: 8px; margin: 4px 0 0; padding: 0; list-style: none; }
.public-v2 .op-detail-assurance li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 9px; align-items: start; color: var(--muted); font-size: 13px; }
.public-v2 .op-detail-assurance .icon { width: 15px; height: 15px; color: var(--forest); margin-top: 1px; }
.public-v2 .op-detail-note { color: var(--muted); font-size: 12px; line-height: 1.5; }
.public-v2 .op-detail-body { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .9fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.public-v2 .op-detail-main { display: grid; gap: 18px; min-width: 0; }
.public-v2 .op-block { padding: clamp(18px, 2.4vw, 26px); border: 1px solid var(--line); border-radius: var(--hm-radius); background: #fff; }
.public-v2 .op-block h2 { margin: 0 0 12px; font-size: 19px; letter-spacing: -.02em; }
.public-v2 .op-block p { margin: 0; color: var(--muted); line-height: 1.7; }
.public-v2 .op-role-list { display: grid; gap: 12px; }
.public-v2 .op-role { display: grid; gap: 9px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #FBFCFB; }
.public-v2 .op-role-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.public-v2 .op-role-head strong { display: block; font-size: 15px; }
.public-v2 .op-role-head small { display: block; color: var(--muted); font-size: 12.5px; }
.public-v2 .op-role-pay { font-weight: 800; color: var(--forest); font-size: 15px; }
.public-v2 .op-role-note { margin: 0; color: var(--muted); font-size: 13px; }
.public-v2 .op-detail-side { display: grid; gap: 14px; position: sticky; top: 90px; }
.public-v2 .op-side-card { padding: 20px; border: 1px solid var(--line); border-radius: var(--hm-radius); background: #fff; display: grid; gap: 12px; }
.public-v2 .op-side-card.subtle { background: var(--forest-soft); border-color: transparent; }
.public-v2 .op-side-card h2 { margin: 0; font-size: 16px; letter-spacing: -.015em; }
.public-v2 .op-side-card small { color: var(--muted); font-size: 12px; }
.public-v2 .op-requirements { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.public-v2 .op-requirements li { display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 9px; align-items: start; color: var(--muted); font-size: 13.5px; }
.public-v2 .op-requirements .icon { width: 16px; height: 16px; color: var(--forest); margin-top: 1px; }
.public-v2 .op-reference { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; font-weight: 700; color: var(--forest-deep); }

.public-v2 .op-apply { padding: clamp(30px, 6vw, 70px) 0; background: linear-gradient(180deg, var(--forest-soft), #fff); min-height: 60vh; }
.public-v2 .op-apply-shell { max-width: 720px; }
.public-v2 .op-apply-card { display: grid; gap: 14px; padding: clamp(24px, 4vw, 40px); border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--hm-shadow); text-align: left; }
.public-v2 .op-apply-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--forest-soft); color: var(--forest); }
.public-v2 .op-apply-icon .icon { width: 24px; height: 24px; }
.public-v2 .op-apply-card.is-eligible .op-apply-icon { background: #E8F5EE; color: #17563B; }
.public-v2 .op-apply-card.is-incomplete .op-apply-icon { background: var(--orange-soft); color: #9a5b06; }
.public-v2 .op-apply-card.is-application_pending .op-apply-icon { background: var(--orange-soft); color: #9a5b06; }
.public-v2 .op-apply-card.is-closed .op-apply-icon { background: #F1F3F0; color: var(--muted); }
.public-v2 .op-apply-card h1 { margin: 0; font-size: clamp(22px, 3.2vw, 30px); letter-spacing: -.025em; }
.public-v2 .op-apply-message { margin: 0; color: var(--muted); line-height: 1.65; }
.public-v2 .op-apply-project { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: 13px; background: #FBFCFB; border: 1px solid var(--line); }
.public-v2 .op-apply-project strong { display: block; font-size: 15px; }
.public-v2 .op-apply-project small { display: block; color: var(--muted); font-size: 12.5px; }
.public-v2 .op-apply-pay { font-weight: 800; color: var(--forest); }
.public-v2 .op-apply-match { display: flex; gap: 9px; align-items: center; }
.public-v2 .op-apply-match small { color: var(--muted); font-size: 13px; }
.public-v2 .op-blockers { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.public-v2 .op-blockers li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 15px; border-radius: 13px; background: var(--orange-soft); }
.public-v2 .op-blocker-icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #F5A31C; color: #3D2A00; }
.public-v2 .op-blocker-icon .icon { width: 14px; height: 14px; }
.public-v2 .op-blocker-text strong { display: block; font-size: 14px; }
.public-v2 .op-blocker-text small { display: block; color: #7a5a24; font-size: 12.5px; line-height: 1.45; }
.public-v2 .op-apply-form { display: grid; gap: 10px; }
.public-v2 .op-apply-form label { display: grid; gap: 6px; font-size: 13.5px; font-weight: 700; }
.public-v2 .op-apply-form label span { color: var(--muted); font-weight: 500; }
.public-v2 .op-apply-form textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; font: 500 14px Inter, sans-serif; resize: vertical; }
.public-v2 .op-apply-form textarea:focus { border-color: var(--forest); outline: none; box-shadow: 0 0 0 3px rgba(11,92,67,.12); }
.public-v2 .op-apply-form > small { color: var(--muted); font-size: 12px; }
.public-v2 .op-apply-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.public-v2 .op-apply-back { justify-self: start; }
.public-v2 .op-alert { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; margin-bottom: 16px; padding: 13px 15px; border-radius: 13px; font-size: 14px; }
.public-v2 .op-alert p { margin: 0; }
.public-v2 .op-alert.success { background: #E8F5EE; color: #17563B; }
.public-v2 .op-alert.error { background: #FCEDEC; color: #B4342A; }
.public-v2 .op-alert .icon { width: 18px; height: 18px; margin-top: 1px; }
.public-v2 .btn.full { width: 100%; text-align: center; justify-content: center; }
.public-v2 .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@media (max-width: 960px) {
  .public-v2 .op-detail-head { grid-template-columns: 1fr; }
  .public-v2 .op-detail-body { grid-template-columns: 1fr; }
  .public-v2 .op-detail-apply { position: static; }
  .public-v2 .op-detail-side { position: static; }
}
@media (max-width: 620px) {
  .public-v2 .op-filters { flex-direction: column; align-items: stretch; }
  .public-v2 .op-filters select { width: 100%; }
  .public-v2 .op-filters .btn { width: 100%; }
  .public-v2 .op-blockers li { grid-template-columns: 26px minmax(0, 1fr); row-gap: 8px; }
  .public-v2 .op-blockers .btn { grid-column: 2 / 3; justify-self: start; }
  .public-v2 .op-apply-actions .btn { width: 100%; text-align: center; }
}

/* Mobile touch targets.
   Small buttons render around 34px tall, below the 44px minimum comfortable
   target. Enforced on coarse pointers only so desktop density is unchanged. */
@media (pointer: coarse), (max-width: 620px) {
  .public-v2 .btn,
  .public-v2 .btn-sm,
  .public-v2 .op-blockers .btn,
  .public-v2 .hm-project-foot .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .public-v2 .op-filters .btn { min-height: 46px; }
}

/* KYC page responsive fix.
   .pw-kyc-timeline-steps carries min-width:580px so the five stages stay
   legible. Its ancestors are grid/flex items, which default to
   min-width:auto and therefore refuse to shrink below that min-content
   size - dragging the whole page wider than the viewport on tablet and
   every mobile width. Letting the ancestors shrink confines the scroll to
   the timeline strip, which is the only thing that should scroll. */
.partner-app-body .pw-kyc-hero-card,
.partner-app-body .pw-kyc-hero-top,
.partner-app-body .pw-kyc-hero-top > *,
.partner-app-body .pw-kyc-timeline-wrap,
.partner-app-body .pw-kyc-metrics-bar,
.partner-app-body .pw-kyc-workspace { min-width: 0; }

.partner-app-body .pw-kyc-hero-top p { max-width: min(580px, 100%); }

@media (max-width: 900px) {
  .partner-app-body .pw-kyc-metrics-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .partner-app-body .pw-kyc-hero-card { padding: 20px; }
  .partner-app-body .pw-kyc-timeline-wrap { padding: 14px; }
  .partner-app-body .pw-kyc-metrics-bar { grid-template-columns: 1fr; padding: 14px; }
}

/* Delete confirmation: impact summary readability */
.confirm-impact:empty { display: none; }
.confirm-impact { padding: 12px 14px; border-radius: 10px; background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; font-size: 12.5px; line-height: 1.6; }

/* Admin project list row: the actions cluster (View / Assign / more) is ~145px
   but sat in a fixed 120px grid column, so it pushed the row past the viewport
   at 1440px and again at 834px. Give the actions column room to size to its
   content and let every cell shrink instead of forcing the row wider. */
.project-list-head,
.project-operation-row { grid-template-columns: 28px minmax(180px, 1.3fr) minmax(120px, .75fr) minmax(125px, .85fr) minmax(135px, .8fr) 110px 105px minmax(145px, auto); }
.project-list-head > *,
.project-operation-row > * { min-width: 0; }
.project-operation-row .row-quick { flex-wrap: wrap; justify-content: flex-end; }
.project-operation-row .row-quick .pw-btn { white-space: nowrap; }

@media (max-width: 1350px) {
  .project-list-head,
  .project-operation-row { grid-template-columns: 28px minmax(170px, 1.3fr) minmax(110px, .7fr) minmax(120px, .85fr) minmax(130px, .8fr) 110px minmax(140px, auto); }
}
@media (max-width: 1050px) {
  .project-list-head,
  .project-operation-row { grid-template-columns: 28px minmax(190px, 1.2fr) minmax(140px, .85fr) 120px minmax(135px, auto); }
}

/* Mobile: the row action cluster must wrap inside the card rather than run
   past the screen edge, and the dropdown must never widen its row. */
@media (max-width: 900px) {
  .admin-body .project-operation-row .row-quick {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 8px;
  }
  .admin-body .project-operation-row .row-quick > .pw-btn,
  .admin-body .project-operation-row .row-quick > .more-btn {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }
  /* Absolutely positioned and capped so it can never push the row wider. */
  .admin-body .project-operation-row .row-menu {
    position: absolute;
    right: 0;
    left: auto;
    top: 100%;
    min-width: 0;
    width: max-content;
    max-width: min(260px, calc(100vw - 40px));
  }
}

@media (max-width: 760px) {
  .admin-body .project-list-head { display: none; }
  .admin-body .project-operation-row {
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .admin-body .project-operation-row > * { min-width: 0; max-width: 100%; }
  .admin-body .project-operation-row .row-quick {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .admin-body .project-operation-row .row-quick > .pw-btn,
  .admin-body .project-operation-row .row-quick > .more-btn {
    flex: 1 1 calc(50% - 8px);
    min-width: 0;
    text-align: center;
  }
}
@media (max-width: 420px) {
  .admin-body .project-operation-row { grid-template-columns: 22px minmax(0, 1fr); }
}

/* ============================================================
   ADMIN PROJECTS v2 — premium operations surfaces
   Brand tokens: green #0B3D2E · green-deep #06352A · amber #F5A400
   Scoped under .admin-body. Supersedes legacy project/assignment rules.
   ============================================================ */
.admin-body {
  --ap-line: #E6EAE6;
  --ap-line-soft: #EEF1EE;
  --ap-ink: #14231C;
  --ap-muted: #64766C;
  --ap-faint: #8A968E;
  --ap-forest: #0B3D2E;
  --ap-forest-deep: #06352A;
  --ap-forest-soft: #EEF4F1;
  --ap-amber: #F5A400;
  --ap-surface: #FFFFFF;
  --ap-canvas: #F6F8F6;
  --ap-shadow: 0 2px 10px rgba(11,61,46,.05);
  --ap-shadow-md: 0 10px 30px rgba(11,61,46,.10);
  --ap-radius: 16px;
}

/* Shared button refinements (icon + label alignment, small size) */
.admin-body .admin-btn { gap: 7px; font-weight: 700; }
.admin-body .admin-btn .icon { width: 16px; height: 16px; flex: none; }
.admin-body .admin-btn.sm { min-height: 34px; padding: 7px 12px; font-size: 13px; border-radius: 10px; }
.admin-body .admin-btn.primary { background: var(--ap-forest); }
.admin-body .admin-btn.primary:hover { background: var(--ap-forest-deep); box-shadow: 0 6px 16px rgba(11,61,46,.22); }
.admin-body .admin-btn.ghost:hover, .admin-body .admin-btn.secondary:hover { border-color: var(--ap-forest); background: var(--ap-forest-soft); color: var(--ap-forest); }
.admin-body .admin-btn.danger:hover { background: #b91c1c; box-shadow: 0 6px 16px rgba(220,38,38,.22); }
.admin-body .admin-alert:has(> .icon) { display: flex; align-items: center; gap: 9px; }
.admin-body .admin-alert > .icon { width: 18px; height: 18px; flex: none; }
.admin-body .icon.flip { transform: scaleX(-1); }

/* pw-chip tone variants (assignment lifecycle) */
.admin-body .pw-chip.tone-success { background: #E6F6EC; color: #13703B; }
.admin-body .pw-chip.tone-warning { background: #FFF1D8; color: #9A5A00; }
.admin-body .pw-chip.tone-danger  { background: #FFEBEB; color: #A82424; }
.admin-body .pw-chip.tone-info    { background: #E8F0FE; color: #1D4ED8; }
.admin-body .pw-chip.tone-muted   { background: #EEF1EE; color: #64766C; }

/* Single hero header: hide the shell's generic page-head where a project
   hero (list or assignment centre) provides its own richer heading. */
.admin-main:has(.ap-header) .admin-page-head,
.admin-main:has(.ap-assign-header) .admin-page-head { display: none; }

/* ---------- Page header ---------- */
.ap-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.ap-header .admin-kicker { margin: 0 0 6px; color: var(--ap-amber); }
.ap-header-copy h2 { margin: 0; font-size: 26px; letter-spacing: -.03em; color: var(--ap-ink); }
.ap-header-sub { margin: 6px 0 0; color: var(--ap-muted); max-width: 60ch; font-size: 14px; }
.ap-header-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ---------- Status metric cards ---------- */
.ap-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 12px; margin-bottom: 20px; }
.ap-metric { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: 14px; text-decoration: none; box-shadow: var(--ap-shadow); transition: transform .18s, box-shadow .18s, border-color .18s; }
.ap-metric:hover { transform: translateY(-2px); box-shadow: var(--ap-shadow-md); border-color: #D6DED8; }
.ap-metric.is-active { border-color: var(--ap-forest); box-shadow: 0 0 0 2px rgba(11,61,46,.10), var(--ap-shadow); }
.ap-metric-dot { width: 9px; height: 9px; border-radius: 50%; background: #94A3B8; }
.ap-metric-label { color: var(--ap-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ap-metric-count { font-size: 24px; font-weight: 800; color: var(--ap-ink); line-height: 1; }
.ap-metric[data-tone="all"] .ap-metric-dot { background: var(--ap-forest); }
.ap-metric[data-tone="draft"] .ap-metric-dot { background: #94A3B8; }
.ap-metric[data-tone="open_for_assignment"] .ap-metric-dot { background: #16A34A; }
.ap-metric[data-tone="partially_assigned"] .ap-metric-dot { background: var(--ap-amber); }
.ap-metric[data-tone="confirmed"] .ap-metric-dot { background: var(--ap-forest); }
.ap-metric[data-tone="in_progress"] .ap-metric-dot { background: #2563EB; }
.ap-metric[data-tone="under_review"] .ap-metric-dot { background: #D97706; }
.ap-metric[data-tone="completed"] .ap-metric-dot { background: #13703B; }

/* ---------- Search + filter toolbar ---------- */
.ap-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 14px; margin-bottom: 20px; background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); }
.ap-search { position: relative; display: flex; align-items: center; flex: 1 1 280px; }
.ap-search .icon { position: absolute; left: 14px; width: 18px; height: 18px; color: var(--ap-faint); pointer-events: none; }
.ap-search input { width: 100%; height: 44px; padding: 0 14px 0 42px; border: 1px solid var(--ap-line); border-radius: 12px; background: var(--ap-canvas); font: 500 14px inherit; }
.ap-search input:focus { background: #fff; border-color: var(--ap-forest); outline: none; box-shadow: 0 0 0 3px rgba(11,61,46,.10); }
.ap-toolbar-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ap-select { position: relative; display: flex; align-items: center; margin: 0; }
.ap-select > span { position: absolute; left: 11px; display: grid; place-items: center; color: var(--ap-faint); pointer-events: none; }
.ap-select > span .icon { width: 16px; height: 16px; }
.ap-select select, .ap-select input { height: 44px; min-width: 150px; padding: 0 12px 0 34px; border: 1px solid var(--ap-line); border-radius: 12px; background: #fff; font: 500 13px inherit; color: var(--ap-ink); }
.ap-select select:focus, .ap-select input:focus { border-color: var(--ap-forest); outline: none; box-shadow: 0 0 0 3px rgba(11,61,46,.10); }

/* ---------- List container ---------- */
.ap-list { background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); overflow: hidden; }
.ap-list-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--ap-line); background: linear-gradient(180deg, #FBFCFB, #fff); }
.ap-list-count strong { font-size: 16px; color: var(--ap-ink); }
.ap-list-count span { margin-left: 8px; color: var(--ap-muted); font-size: 13px; }
.ap-bulk { display: flex; align-items: center; gap: 12px; margin: 0; }
.ap-bulk [data-selection-count] { font-size: 13px; color: var(--ap-muted); font-weight: 600; }

.ap-head, .ap-row { display: grid; grid-template-columns: 28px minmax(180px, 1.7fr) minmax(105px, .85fr) minmax(105px, .95fr) minmax(140px, .9fr) 74px minmax(120px, max-content); gap: 14px; align-items: center; }
.ap-head { padding: 11px 18px; background: #F8FAF9; border-bottom: 1px solid var(--ap-line); color: var(--ap-faint); font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ap-head-actions { text-align: right; }
.ap-rows { display: flex; flex-direction: column; }
.ap-row { padding: 15px 18px; border-top: 1px solid var(--ap-line-soft); transition: background .16s; }
.ap-row:first-child { border-top: 0; }
.ap-row:hover { background: #FBFCFB; }
.ap-row-check { display: grid; place-items: center; margin: 0; }
.ap-row-check input { width: 16px; height: 16px; accent-color: var(--ap-forest); }
.ap-row-project { min-width: 0; }
.ap-row-titleline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ap-priority-dot { width: 9px; height: 9px; border-radius: 50%; background: #94A3B8; flex: none; }
.ap-priority-dot.high { background: var(--ap-amber); }
.ap-priority-dot.urgent { background: #EF4444; }
.ap-priority-dot.low { background: #22C55E; }
.ap-row-title { font-weight: 700; color: var(--ap-ink); text-decoration: none; font-size: 14.5px; overflow-wrap: anywhere; }
.ap-row-title:hover { color: var(--ap-forest); text-decoration: underline; text-underline-offset: 3px; }
.ap-row-sub { margin: 4px 0 0; color: var(--ap-faint); font-size: 12px; overflow-wrap: anywhere; }
.ap-cell { min-width: 0; }
.ap-cell strong { display: block; font-size: 13px; color: var(--ap-ink); font-weight: 600; overflow-wrap: anywhere; }
.ap-cell em { display: block; margin-top: 3px; color: var(--ap-faint); font-size: 11.5px; font-style: normal; overflow-wrap: anywhere; }
.ap-staffing .ap-progress { margin: 6px 0 5px; }
.ap-progress { display: block; height: 6px; border-radius: 99px; background: #E9EEEA; overflow: hidden; }
.ap-progress i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--ap-forest), #1C8A5C); transition: width .5s cubic-bezier(.4,0,.2,1); }
.ap-row-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; position: relative; }
.ap-more { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--ap-line); border-radius: 10px; background: #fff; color: var(--ap-muted); cursor: pointer; transition: .16s; }
.ap-more:hover { border-color: var(--ap-forest); color: var(--ap-forest); background: var(--ap-forest-soft); }
.ap-more .icon { width: 16px; height: 16px; }
.ap-row-actions .row-menu { right: 0; top: 40px; min-width: 180px; }
.ap-row-actions .row-menu a, .ap-row-actions .row-menu button { display: flex; align-items: center; gap: 9px; }
.ap-row-actions .row-menu .icon { width: 15px; height: 15px; color: var(--ap-muted); }

/* Pagination */
.ap-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-top: 1px solid var(--ap-line); }
.ap-page-indicator { color: var(--ap-muted); font-size: 13px; font-weight: 600; }

/* Empty state */
.ap-empty { padding: 56px 24px; text-align: center; }
.ap-empty-icon { width: 56px; height: 56px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 16px; background: var(--ap-forest-soft); color: var(--ap-forest); }
.ap-empty-icon .icon { width: 26px; height: 26px; }
.ap-empty h3 { margin: 0 0 6px; color: var(--ap-ink); font-size: 18px; }
.ap-empty p { margin: 0 auto; color: var(--ap-muted); max-width: 44ch; }
.ap-empty-actions { display: flex; gap: 10px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }
.ap-empty.compact { padding: 30px 18px; }
.ap-empty.compact .ap-empty-icon { width: 44px; height: 44px; margin-bottom: 10px; }
.ap-empty.compact .ap-empty-icon .icon { width: 20px; height: 20px; }

/* ---------- Responsive list ---------- */
@media (max-width: 1200px) {
  .ap-head, .ap-row { grid-template-columns: 28px minmax(180px, 1.6fr) minmax(105px, .9fr) minmax(140px, .95fr) 74px minmax(120px, max-content); }
  .ap-head span:nth-child(4), .ap-team { display: none; }
}
@media (max-width: 980px) {
  .ap-head, .ap-row { grid-template-columns: 28px minmax(170px, 1.5fr) minmax(140px, 1fr) minmax(120px, max-content); }
  .ap-head span:nth-child(3), .ap-head span:nth-child(6), .ap-schedule, .ap-updated { display: none; }
}
@media (max-width: 720px) {
  .ap-head { display: none; }
  .ap-rows { gap: 12px; padding: 12px; background: var(--ap-canvas); }
  .ap-row { grid-template-columns: 24px 1fr; grid-auto-rows: min-content; gap: 10px 12px; border: 1px solid var(--ap-line); border-radius: 14px; padding: 14px; background: #fff; box-shadow: var(--ap-shadow); }
  .ap-row:hover { background: #fff; }
  .ap-row-check { grid-row: 1; align-self: start; }
  .ap-row-project { grid-column: 2; grid-row: 1; }
  .ap-cell, .ap-staffing, .ap-updated { display: block !important; grid-column: 1 / -1; padding-left: 36px; }
  .ap-cell::before { content: attr(data-label); display: block; color: var(--ap-faint); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
  .ap-row-actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: 10px; border-top: 1px dashed var(--ap-line); }
  .ap-row-actions .admin-btn.sm { flex: 1; }
  .ap-row-actions .row-menu { left: auto; right: 0; }
}
@media (max-width: 420px) {
  .ap-toolbar-filters { width: 100%; }
  .ap-toolbar-filters .ap-select { flex: 1 1 100%; }
  .ap-toolbar-filters .ap-select select, .ap-toolbar-filters .ap-select input { width: 100%; }
  .ap-metrics { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   ASSIGNMENT CONTROL CENTER (Task 2)
   ============================================================ */
.ap-assign-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; margin-bottom: 20px; background: linear-gradient(135deg, #06352A, #0B4A38); color: #fff; border-radius: 18px; box-shadow: var(--ap-shadow-md); }
.ap-assign-header .admin-breadcrumb { display: inline-flex; align-items: center; gap: 6px; color: #A9C6BA; font-weight: 600; text-decoration: none; }
.ap-assign-header .admin-breadcrumb .icon { width: 15px; height: 15px; }
.ap-assign-header .admin-breadcrumb:hover { color: #fff; }
.ap-assign-headmain h2 { margin: 8px 0 4px; font-size: 24px; letter-spacing: -.02em; color: #fff; }
.ap-assign-project { margin: 0 0 12px; color: #DCEAE3; font-size: 15px; }
.ap-assign-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.ap-assign-meta span { display: inline-flex; align-items: center; gap: 6px; color: #C7DBD1; font-size: 13px; font-weight: 600; }
.ap-assign-meta span.is-muted { color: #8FB0A2; }
.ap-assign-meta .icon { width: 15px; height: 15px; color: var(--ap-amber); }
.ap-assign-meta .pw-chip { text-transform: capitalize; }
.ap-assign-progress { display: flex; align-items: center; gap: 14px; padding: 14px 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; }
.ap-ring { --pct: 0; width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--ap-amber) calc(var(--pct) * 1%), rgba(255,255,255,.16) 0); flex: none; }
.ap-ring span { width: 50px; height: 50px; border-radius: 50%; background: #08382B; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 17px; }
.ap-ring small { font-size: 10px; font-weight: 700; }
.ap-assign-progress p { margin: 0; display: grid; }
.ap-assign-progress p strong { color: #fff; font-size: 15px; }
.ap-assign-progress p em { color: #B7CEC4; font-style: normal; font-size: 12px; }
.ap-assign-progress .admin-btn.secondary { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2); color: #fff; }
.ap-assign-progress .admin-btn.secondary:hover { background: rgba(255,255,255,.2); }

/* Stat row */
.ap-stat-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.ap-stat { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: 14px; box-shadow: var(--ap-shadow); }
.ap-stat-ic { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 11px; background: var(--ap-forest-soft); color: var(--ap-forest); }
.ap-stat-ic .icon { width: 19px; height: 19px; }
.ap-stat strong { display: block; font-size: 22px; font-weight: 800; color: var(--ap-ink); line-height: 1.1; }
.ap-stat small { color: var(--ap-muted); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ap-stat[data-tone="success"] .ap-stat-ic { background: #E6F6EC; color: #13703B; }
.ap-stat[data-tone="info"] .ap-stat-ic { background: #E8F0FE; color: #1D4ED8; }
.ap-stat[data-tone="warning"] .ap-stat-ic { background: #FFF1D8; color: #9A5A00; }
.ap-stat[data-tone="danger"] .ap-stat-ic { background: #FFEBEB; color: #A82424; }
.ap-stat[data-tone="muted"] .ap-stat-ic { background: #EEF1EE; color: #64766C; }

/* Filter panel (collapsible) */
.ap-filter { background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); margin-bottom: 20px; overflow: hidden; }
.ap-filter > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; cursor: pointer; list-style: none; font-weight: 700; color: var(--ap-ink); }
.ap-filter > summary::-webkit-details-marker { display: none; }
.ap-filter-title { display: inline-flex; align-items: center; gap: 9px; }
.ap-filter-title .icon { width: 18px; height: 18px; color: var(--ap-forest); }
.ap-filter-count { font-size: 12px; font-weight: 700; color: var(--ap-forest); background: var(--ap-forest-soft); padding: 5px 11px; border-radius: 999px; }
.ap-filter[open] > summary { border-bottom: 1px dashed var(--ap-line); }
.ap-filter-body { padding: 18px 20px; }
.ap-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ap-filter-body label { display: grid; gap: 6px; margin: 0; color: #334155; font-size: 12.5px; font-weight: 700; }
.ap-filter-toggles { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; }
.ap-toggle { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; font-weight: 600 !important; color: var(--ap-ink) !important; }
.ap-toggle input { width: auto !important; accent-color: var(--ap-forest); }
.ap-filter-foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--ap-line); }

/* Assign grid */
.ap-assign-grid { display: grid; grid-template-columns: minmax(0, 1fr) 372px; gap: 20px; align-items: start; }
.ap-assign-main { display: grid; gap: 16px; min-width: 0; }
.ap-assign-side { display: grid; gap: 16px; min-width: 0; }

/* Role sections */
.ap-role { background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); overflow: hidden; }
.ap-role-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; cursor: pointer; list-style: none; }
.ap-role-summary::-webkit-details-marker { display: none; }
.ap-role[open] > .ap-role-summary { border-bottom: 1px dashed var(--ap-line); background: linear-gradient(180deg, #FBFCFB, #fff); }
.ap-role-titles strong { display: block; font-size: 16px; color: var(--ap-ink); }
.ap-role-sub { color: var(--ap-muted); font-size: 12.5px; }
.ap-role-side { display: flex; align-items: center; gap: 18px; }
.ap-role-fee { font-weight: 800; color: var(--ap-forest); font-size: 14px; white-space: nowrap; }
.ap-role-progress { display: grid; gap: 5px; min-width: 130px; }
.ap-role-progress em { color: var(--ap-faint); font-size: 11.5px; font-style: normal; }

.ap-picker { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; padding: 18px 20px; min-width: 0; }
.ap-match-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; min-width: 0; }

/* Match card */
.ap-match { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 14px; border: 1px solid var(--ap-line); border-radius: 14px; cursor: pointer; background: #fff; transition: border-color .16s, box-shadow .16s, background .16s; min-width: 0; }
.ap-match:hover { border-color: #C9D5CE; box-shadow: var(--ap-shadow); }
.ap-match > input { grid-row: 1; grid-column: 1; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ap-forest); cursor: pointer; }
.ap-match.ineligible { opacity: .72; background: #FAFBFA; cursor: not-allowed; }
.ap-match:has(input:checked) { border-color: var(--ap-forest); background: #F1F7F4; box-shadow: 0 0 0 2px rgba(11,61,46,.14); }
.ap-match-body { min-width: 0; display: grid; gap: 10px; }
.ap-match-head { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: start; }
.ap-avatar { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 11px; background: var(--ap-forest-soft); color: var(--ap-forest); font-weight: 800; overflow: hidden; text-transform: uppercase; }
.ap-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ap-avatar.sm { width: 34px; height: 34px; border-radius: 10px; font-size: 13px; }
.ap-match-id { min-width: 0; }
.ap-match-id strong { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; min-width: 0; font-size: 14px; color: var(--ap-ink); overflow-wrap: break-word; }
.ap-match-id small { display: flex; align-items: center; gap: 4px; color: var(--ap-faint); font-size: 11.5px; overflow-wrap: anywhere; }
.ap-match-id small .icon { width: 12px; height: 12px; flex: none; }
.ap-verified { display: inline-grid; place-items: center; color: var(--ap-forest); }
.ap-verified .icon { width: 15px; height: 15px; }
.ap-match-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border-radius: 999px; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; height: max-content; white-space: nowrap; }
.ap-match-badge .icon { width: 12px; height: 12px; }
.ap-match-badge.eligible { background: #E6F6EC; color: #13703B; }
.ap-match-badge.ineligible { background: #FFEBEB; color: #A82424; }
.ap-match-stats { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.ap-match-stats span { display: inline-flex; align-items: center; gap: 5px; color: var(--ap-muted); font-size: 12px; font-weight: 600; text-transform: capitalize; }
.ap-match-stats .icon { width: 13px; height: 13px; color: var(--ap-faint); }
.ap-reasons { display: flex; flex-wrap: wrap; gap: 6px; }
.ap-reason { padding: 3px 9px; border-radius: 8px; font-size: 11px; font-weight: 600; }
.ap-reason.good { background: var(--ap-forest-soft); color: var(--ap-forest); }
.ap-reason.caution { background: #FFF4E0; color: #9A5A00; }

/* Confirm panel */
.ap-confirm { position: sticky; top: 88px; display: grid; gap: 10px; padding: 16px; background: #F7FAF8; border: 1px solid var(--ap-line); border-radius: 14px; }
.ap-confirm h4 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--ap-ink); }
.ap-confirm h4 .icon { width: 17px; height: 17px; color: var(--ap-forest); }
.ap-confirm-hint { margin: 0; color: var(--ap-muted); font-size: 12px; }
.ap-confirm label { display: grid; gap: 6px; margin: 0; font-size: 12.5px; font-weight: 700; color: #334155; }
.ap-confirm input, .ap-confirm textarea { width: 100%; border: 1px solid var(--ap-line); border-radius: 10px; padding: 9px 11px; background: #fff; font: 500 13px inherit; }
.ap-confirm textarea { min-height: 66px; resize: vertical; }
.ap-override { border: 1px dashed var(--ap-line); border-radius: 10px; padding: 4px 12px; }
.ap-override summary { display: flex; align-items: center; gap: 7px; padding: 8px 0; cursor: pointer; font-size: 12.5px; font-weight: 700; color: var(--ap-muted); list-style: none; }
.ap-override summary::-webkit-details-marker { display: none; }
.ap-override summary .icon { width: 15px; height: 15px; }
.ap-override label { margin-top: 8px; }

/* Side cards */
.ap-side-card { background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); padding: 18px; }
.ap-side-head { display: flex; align-items: center; gap: 10px; }
.ap-side-head h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; color: var(--ap-ink); }
.ap-side-head h3 .icon { width: 17px; height: 17px; color: var(--ap-forest); }
.ap-count-pill { margin-left: auto; min-width: 24px; height: 22px; padding: 0 8px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--ap-forest-soft); color: var(--ap-forest); font-size: 12px; font-weight: 800; }
.ap-side-hint { margin: 8px 0 14px; color: var(--ap-muted); font-size: 12.5px; line-height: 1.5; }
.ap-app { padding: 14px 0; border-top: 1px dashed var(--ap-line); }
.ap-app:first-of-type { border-top: 0; padding-top: 4px; }
.ap-app-head { display: flex; align-items: center; gap: 10px; }
.ap-app-head > div { min-width: 0; flex: 1; }
.ap-app-head strong { display: block; font-size: 13.5px; color: var(--ap-ink); overflow-wrap: anywhere; }
.ap-app-head small { color: var(--ap-faint); font-size: 11.5px; }
.ap-app-head .pw-chip { flex: none; }
.ap-app-note { margin: 8px 0 0; color: var(--ap-muted); font-size: 12.5px; line-height: 1.5; }
.ap-app-partnernote { margin: 6px 0 0; padding: 8px 10px; background: var(--ap-canvas); border-radius: 8px; color: #475569; font-size: 12px; }
.ap-app-time { display: block; margin-top: 6px; color: var(--ap-faint); font-size: 11px; }
.ap-app-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ap-app-actions form { margin: 0; display: grid; gap: 6px; flex: 1 1 auto; }
.ap-app-actions input, .ap-app-actions textarea { width: 100%; border: 1px solid var(--ap-line); border-radius: 9px; padding: 8px 10px; background: #fff; font: 500 12.5px inherit; }
.ap-app-actions textarea { min-height: 54px; resize: vertical; }
.ap-app-actions .admin-btn { width: 100%; }

/* Final brief */
.ap-brief > summary { cursor: pointer; list-style: none; }
.ap-brief > summary::-webkit-details-marker { display: none; }
.ap-brief > summary .ap-brief-toggle { margin-left: auto; display: grid; place-items: center; color: var(--ap-muted); transition: transform .2s; }
.ap-brief[open] > summary .ap-brief-toggle { transform: rotate(180deg); }
.ap-brief-form { margin-top: 8px; display: grid; gap: 12px; }
.ap-brief-form label { display: grid; gap: 6px; margin: 0; font-size: 12.5px; font-weight: 700; color: #334155; }
.ap-brief-form input, .ap-brief-form textarea { width: 100%; border: 1px solid var(--ap-line); border-radius: 10px; padding: 9px 11px; background: #fff; font: 500 13px inherit; }
.ap-brief-form textarea { min-height: 58px; resize: vertical; }
.ap-brief-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ap-brief-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ap-brief-actions .admin-btn { flex: 1; }

/* Candidate pagination */
.ap-pagination .ap-page { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid var(--ap-line); border-radius: 10px; color: var(--ap-muted); text-decoration: none; font-weight: 700; }
.ap-pagination { flex-wrap: wrap; }
.ap-page.is-active { background: var(--ap-forest); border-color: var(--ap-forest); color: #fff; }
.ap-page:hover:not(.is-active) { border-color: var(--ap-forest); color: var(--ap-forest); }

/* ---------- Assignment responsive ---------- */
@media (max-width: 1100px) {
  .ap-assign-grid { grid-template-columns: 1fr; }
  .ap-picker { grid-template-columns: 1fr; }
  .ap-confirm { position: static; }
  .ap-stat-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .ap-assign-header { padding: 18px; }
  .ap-assign-progress { width: 100%; justify-content: space-between; }
  .ap-filter-grid { grid-template-columns: repeat(2, 1fr); }
  .ap-role-summary { flex-direction: column; align-items: flex-start; }
  .ap-role-side { width: 100%; justify-content: space-between; }
  .ap-match-grid { grid-template-columns: 1fr; }
  .ap-brief-grid { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  .ap-stat-row { grid-template-columns: repeat(2, 1fr); }
  .ap-filter-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PARTNER SIDEBAR — readability & hierarchy refinement (#1)
   ============================================================ */
.partner-app-body .pw-sidebar nav { gap: 11px; }
.partner-app-body .pw-nav-group { gap: 4px; }
.partner-app-body .pw-nav-label { margin: 13px 12px 6px; font-size: 10.5px; letter-spacing: .14em; color: #7ea294; }
.partner-app-body .pw-sidebar nav a,
.partner-app-body .pw-nav-tree summary { min-height: 46px; padding: 0 13px; gap: 12px; font-size: 14.5px; font-weight: 600; letter-spacing: -.005em; }
.partner-app-body .pw-nav-icon { width: 22px; }
.partner-app-body .pw-nav-icon .icon { width: 19px; height: 19px; }
.partner-app-body .pw-sidebar nav a:hover,
.partner-app-body .pw-nav-tree summary:hover { background: rgba(255,255,255,.09); }
.partner-app-body .pw-sidebar nav a.active .pw-nav-icon .icon,
.partner-app-body .pw-nav-tree summary.active .pw-nav-icon .icon { color: #F5A31C; }
.partner-app-body .pw-sidebar nav a.active { font-weight: 700; }

/* ============================================================
   ASSIGNMENT CARD — full lifecycle state accents (#2)
   Every card carries a colour-coded spine so its state reads instantly.
   ============================================================ */
.pw-assign-card.status-applied::before,
.pw-assign-card.status-shortlisted::before,
.pw-assign-card.status-viewed::before { background: var(--pw-amber); }
.pw-assign-card.status-accepted::before { background: var(--pw-info); }
.pw-assign-card.status-checked_in::before,
.pw-assign-card.status-started::before,
.pw-assign-card.status-field_work_completed::before,
.pw-assign-card.status-deliverables_pending::before,
.pw-assign-card.status-work_submitted::before { background: var(--pw-info); }
.pw-assign-card.status-completed::before { background: var(--pw-ok); }
.pw-assign-card.status-application_rejected::before,
.pw-assign-card.status-application_withdrawn::before,
.pw-assign-card.status-removed::before,
.pw-assign-card.status-expired::before { background: #9AA6A0; }

/* =====================================================================
   PARTNER MOBILE APP SHELL — sticky bottom navigation (#3)
   Turns the logged-in workspace into a native-app layout on phones and
   small tablets. Desktop keeps the sidebar untouched; the tab bar only
   appears at the same 820px breakpoint where the sidebar becomes an
   off-canvas drawer. Scoped to .partner-app-body so the public and admin
   layers are never affected. Reuses the pw-* tokens and icon set.
   ===================================================================== */
.pw-bottom-nav { display: none; }

@media (max-width: 820px) {
  .partner-app-body .pw-bottom-nav {
    position: fixed;
    left: 50%;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 60;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    align-items: stretch;
    gap: 2px;
    width: min(440px, calc(100vw - 24px));
    padding: 7px 8px;
    border-radius: 22px;
    background: rgba(9, 46, 33, 0.92);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    backdrop-filter: blur(16px) saturate(1.3);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 34px rgba(4, 24, 17, 0.34), 0 2px 8px rgba(4, 24, 17, 0.2);
  }

  .partner-app-body .pw-bnav-item {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 3px;
    min-height: 52px;
    padding: 6px 2px;
    border-radius: 15px;
    color: #9fc0b1;
    text-decoration: none;
    font: 700 10px/1 Inter, sans-serif;
    letter-spacing: .01em;
    transition: color .18s ease, background .18s ease, transform .12s ease;
  }
  .partner-app-body .pw-bnav-item:active { transform: scale(.94); }
  .partner-app-body .pw-bnav-item:focus-visible { outline: 2px solid #F5A31C; outline-offset: 2px; }
  .partner-app-body .pw-bnav-ic { position: relative; display: grid; place-items: center; width: 24px; height: 24px; }
  .partner-app-body .pw-bnav-ic .icon { width: 21px; height: 21px; }
  .partner-app-body .pw-bnav-label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .partner-app-body .pw-bnav-item.active { color: #fff; background: linear-gradient(180deg, rgba(245, 163, 28, .18), rgba(245, 163, 28, .05)); }
  .partner-app-body .pw-bnav-item.active .icon { color: #F5A31C; }
  .partner-app-body .pw-bnav-item.active::before {
    content: ''; position: absolute; top: 4px; width: 20px; height: 3px; border-radius: 3px; background: #F5A31C;
  }

  .partner-app-body .pw-bnav-badge {
    position: absolute; top: -7px; right: -9px;
    display: grid; place-items: center; min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 999px; background: #F5A31C; color: #072A1D;
    font: 800 9.5px/1 Inter, sans-serif; border: 1.5px solid #0a3325;
  }
  .partner-app-body .pw-bnav-badge[hidden] { display: none; }

  /* Content must clear the floating bar (bar height + gap + safe area). */
  .partner-app-body .pw-main { padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px)); }

  /* The tab bar owns Notifications + Profile, so the mobile header drops the
     duplicate bell/avatar and stays minimal (menu + section title). The
     drawer still holds the secondary destinations and sign-out. */
  .partner-app-body .pw-top-actions { display: none; }
}

@media (max-width: 820px) and (prefers-reduced-motion: reduce) {
  .partner-app-body .pw-bnav-item { transition: none; }
  .partner-app-body .pw-bnav-item:active { transform: none; }
}

/* =====================================================================
   NOTIFICATION CENTRE (#4) — grouped, filterable, type-aware rows.
   Reuses the pw-* tokens, chip tones and pw-tag; no new colour system.
   Scoped to .partner-app-body.
   ===================================================================== */
.partner-app-body .pw-notif { display: grid; gap: 18px; }
.partner-app-body .pw-notif-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.partner-app-body .pw-notif-head h3 { margin: 2px 0 0; font-size: 20px; }
.partner-app-body .pw-notif-sub { margin: 4px 0 0; color: #6B7871; font-size: 13px; }

.partner-app-body .pw-notif-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.partner-app-body .pw-filter-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 14px; border: 1.5px solid #DCE2DB; border-radius: 999px; background: #fff; color: #47544D; font: 700 12.5px Inter, sans-serif; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.partner-app-body .pw-filter-chip:hover:not(:disabled) { border-color: #0B5C43; color: #0B3D2E; }
.partner-app-body .pw-filter-chip b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #EEF1EE; font-size: 10.5px; }
.partner-app-body .pw-filter-chip.is-active { background: #0B3D2E; border-color: #0B3D2E; color: #fff; }
.partner-app-body .pw-filter-chip.is-active b { background: rgba(255,255,255,.2); color: #fff; }
.partner-app-body .pw-filter-chip:disabled { opacity: .45; cursor: not-allowed; }
.partner-app-body .pw-filter-chip:focus-visible { outline: 3px solid rgba(11,92,67,.15); outline-offset: 2px; }

.partner-app-body .pw-notif-groups { display: grid; gap: 20px; }
.partner-app-body .pw-notif-group[hidden] { display: none; }
.partner-app-body .pw-notif-group-label { margin: 0 0 10px; color: #77847d; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.partner-app-body .pw-notif-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }

.partner-app-body .pw-notif-item { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 16px; border: 1px solid #E5E9E2; border-radius: 14px; background: #fff; box-shadow: 0 3px 12px rgba(15, 51, 39, .035); transition: box-shadow .18s ease, transform .12s ease, border-color .18s ease; overflow: hidden; }
.partner-app-body .pw-notif-item:hover { box-shadow: 0 10px 26px rgba(15, 51, 39, .08); transform: translateY(-1px); }
.partner-app-body .pw-notif-item[hidden] { display: none; }
.partner-app-body .pw-notif-item.is-unread { border-color: #CFE3D8; background: linear-gradient(180deg, #F7FBF8, #fff); }
.partner-app-body .pw-notif-item.is-unread::before { content: ''; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: #F5A31C; }
.partner-app-body .pw-notif-ic { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 12px; background: #EEF1EE; color: #55645C; }
.partner-app-body .pw-notif-ic .icon { width: 20px; height: 20px; }
.partner-app-body .pw-notif-ic.tone-approved { background: #E6F6EC; color: #13703B; }
.partner-app-body .pw-notif-ic.tone-pending { background: #FFF1D8; color: #9A5A00; }
.partner-app-body .pw-notif-ic.tone-info { background: #E8F0FE; color: #1D4ED8; }
.partner-app-body .pw-notif-ic.tone-muted { background: #EEF1EE; color: #55645C; }
.partner-app-body .pw-notif-body { min-width: 0; display: grid; gap: 5px; }
.partner-app-body .pw-notif-toprow { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.partner-app-body .pw-notif-toprow strong { font-size: 14.5px; color: #16211C; }
.partner-app-body .pw-notif-cat { color: #8B978F; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.partner-app-body .pw-notif-toprow time { margin-left: auto; color: #8B978F; font-size: 12px; white-space: nowrap; }
.partner-app-body .pw-notif-body p { margin: 0; color: #5C6963; font-size: 13px; line-height: 1.6; }
.partner-app-body .pw-notif-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.partner-app-body .pw-notif-actions:empty { display: none; }
.partner-app-body .pw-notif-actions form { margin: 0; }
.partner-app-body .pw-tag.pw-tag-action { background: #FFEBEB; color: #A82424; }
.partner-app-body .pw-empty-ic { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 4px; border-radius: 15px; background: #EFF5F1; color: #0B5C43; }
.partner-app-body .pw-empty-ic .icon { width: 24px; height: 24px; }

@media (max-width: 560px) {
  .partner-app-body .pw-notif-item { padding: 14px; gap: 12px; }
  .partner-app-body .pw-notif-ic { width: 38px; height: 38px; border-radius: 11px; }
  .partner-app-body .pw-notif-toprow time { margin-left: 0; width: 100%; order: 3; }
}

/* =====================================================================
   VERIFICATION CENTRE — compact confirmation once verified (#5).
   A verified partner sees a concise "all approved" card with the full
   requirement grid tucked into an expandable disclosure, so projects and
   assignments become the primary focus. Non-verified view is unchanged.
   ===================================================================== */
.partner-app-body .pw-verify-allclear { display: flex; align-items: center; gap: 16px; padding: 20px 22px; background: linear-gradient(110deg, #f0f8f4, #fff); border-color: #cde0d6; }
.partner-app-body .pw-verify-allclear-mark { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 14px; background: #0b5c43; color: #fff; }
.partner-app-body .pw-verify-allclear-mark .icon { width: 24px; height: 24px; }
.partner-app-body .pw-verify-allclear-copy { flex: 1; min-width: 0; }
.partner-app-body .pw-verify-allclear-copy h3 { margin: 0; font-size: 17px; }
.partner-app-body .pw-verify-allclear-copy p { margin: 3px 0 0; color: #5C6963; font-size: 13px; }
.partner-app-body .pw-verify-allclear .pw-btn { flex: none; }

.partner-app-body .pw-verify-approved { margin-top: 14px; border: 1px solid #E5E9E2; border-radius: 14px; background: #fff; overflow: hidden; }
.partner-app-body .pw-verify-approved > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; cursor: pointer; list-style: none; font-weight: 700; color: #16211C; font-size: 14px; }
.partner-app-body .pw-verify-approved > summary::-webkit-details-marker { display: none; }
.partner-app-body .pw-verify-approved > summary > span:first-child { display: inline-flex; align-items: center; gap: 9px; }
.partner-app-body .pw-verify-approved > summary .icon { width: 17px; height: 17px; }
.partner-app-body .pw-verify-approved > summary > span:first-child .icon { color: #0B5C43; }
.partner-app-body .pw-verify-approved-caret .icon { color: #8B978F; transition: transform .2s ease; }
.partner-app-body .pw-verify-approved[open] .pw-verify-approved-caret .icon { transform: rotate(180deg); }
.partner-app-body .pw-verify-approved[open] > summary { border-bottom: 1px dashed #E5E9E2; }
.partner-app-body .pw-verify-approved-body { display: grid; gap: 14px; padding: 16px; background: #FAFBFA; }

/* =====================================================================
   ASSIGNMENT STATUS SYSTEM (#6) — colour + icon per lifecycle status.
   Root-cause fix: assignment cards render projectLifecycle.status().tone
   (success/info/warning/danger/muted), but the partner chip layer only
   styled status-NAME variants, so every badge fell back to grey. These
   tone rules reuse the exact chip palette and add the status icon, so a
   status now reads instantly by both colour and glyph. Plus live deadline
   countdowns for offers. Scoped to .partner-app-body.
   ===================================================================== */
.partner-app-body .pw-chip { gap: 5px; }
.partner-app-body .pw-chip .icon { width: 13px; height: 13px; flex: none; }
.partner-app-body .pw-chip.success { background: #E6F6EC; color: #13703B; }
.partner-app-body .pw-chip.info { background: #E8F0FE; color: #1D4ED8; }
.partner-app-body .pw-chip.warning { background: #FFF1D8; color: #9A5A00; }
.partner-app-body .pw-chip.danger { background: #FFEBEB; color: #A82424; }
.partner-app-body .pw-chip.muted { background: #EEF1EE; color: #55645C; }

/* Live deadline countdown (offers / apply windows) */
.partner-app-body [data-countdown] { font-weight: 700; font-variant-numeric: tabular-nums; }
.partner-app-body dd[data-countdown].is-urgent,
.partner-app-body [data-countdown].is-urgent { color: #B45309; }
.partner-app-body dd[data-countdown].is-critical,
.partner-app-body [data-countdown].is-critical { color: #A82424; }
.partner-app-body [data-countdown].is-closed { color: #8B978F; }

/* =====================================================================
   ADMIN PROJECT-STATUS CHIPS (#7) — colour per project lifecycle status.
   Root-cause fix mirroring the partner-side one: admin views render
   <span class="pw-chip {project.status}"> (list rows, detail hero, assign
   header), but the admin chip layer only styled assignment TONE variants,
   so project-status chips fell back to grey with poor contrast on the dark
   assign header. Colours mirror the .ap-metric status-dot semantics.
   Also sizes the status icon now shown in admin assignment chips.
   ===================================================================== */
.admin-body .pw-chip { gap: 5px; }
.admin-body .pw-chip .icon { width: 13px; height: 13px; flex: none; }
.admin-body .pw-chip.draft,
.admin-body .pw-chip.archived { background: #EEF1EE; color: #55645C; }
.admin-body .pw-chip.open_for_assignment,
.admin-body .pw-chip.confirmed,
.admin-body .pw-chip.completed { background: #E6F6EC; color: #13703B; }
.admin-body .pw-chip.fully_assigned { background: #E6F6EC; color: #0B3D2E; }
.admin-body .pw-chip.partially_assigned,
.admin-body .pw-chip.awaiting_confirmation { background: #FFF1D8; color: #9A5A00; }
.admin-body .pw-chip.in_progress { background: #E8F0FE; color: #1D4ED8; }
.admin-body .pw-chip.cancelled { background: #FFEBEB; color: #A82424; }

/* =====================================================================
   ADMIN OPERATIONS (#8) — status-chip coverage + document workspace.
   Root-cause fix: the .status chip palette styled `need_changes` but the
   Documents/KYC review queues actually store `uploaded`, `submitted`,
   `changes_requested` and `expired`, which had no rule and rendered grey on
   the two most review-heavy admin pages. These reuse the existing palette.
   ===================================================================== */
.admin-body .status.uploaded,
.admin-body .status.submitted { background: #fff7ed; color: #b45309; }
.admin-body .status.changes_requested { background: #eff6ff; color: #1d4ed8; }
.admin-body .status.expired { background: #fef2f2; color: #b91c1c; }

/* Status filter tabs (documents workspace; reusable across admin lists) */
.admin-body .admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.admin-body .admin-tab { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 14px; border: 1px solid #e2e5e2; border-radius: 999px; background: #fff; color: #475569; font-weight: 700; font-size: 13px; text-decoration: none; transition: border-color .15s, color .15s, background .15s; }
.admin-body .admin-tab:hover { border-color: #0b3d2e; color: #0b3d2e; }
.admin-body .admin-tab b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #eef1ee; font-size: 11px; }
.admin-body .admin-tab.active { background: #0b3d2e; border-color: #0b3d2e; color: #fff; }
.admin-body .admin-tab.active b { background: #ffffff2e; color: #fff; }
.admin-body .admin-tab:focus-visible { outline: 3px solid #2563eb40; outline-offset: 2px; }

/* Document cell: type icon + title + secure preview link */
.admin-body .doc-cell { display: flex; align-items: flex-start; gap: 11px; }
.admin-body .doc-ic { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: #edf4f1; color: #0b3d2e; }
.admin-body .doc-ic .icon { width: 18px; height: 18px; }
.admin-body .doc-cell .row-action { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 12.5px; }
.admin-body .doc-review { display: grid; gap: 7px; min-width: 220px; }
.admin-body .doc-review .doc-review-row { display: flex; gap: 7px; }
.admin-body .doc-review select { flex: 1; }

/* =====================================================================
   AUTHENTICATION EXPERIENCE (#9) — remember-me, caps-lock hint, polish.
   Scoped to .public-v2 (auth pages render on the public layer).
   ===================================================================== */
.public-v2 .auth-card { box-shadow: 0 24px 60px rgba(11, 61, 46, .10), 0 2px 8px rgba(11, 61, 46, .05); }
.public-v2 .auth-remember { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.public-v2 .auth-remember .check.remember { margin: 0; align-items: center; font-size: 13.5px; font-weight: 600 !important; }
.public-v2 .auth-remember .check.remember input { margin-top: 0; }
.public-v2 .auth-remember a { color: var(--green); font-weight: 700; font-size: 13.5px; text-decoration: none; }
.public-v2 .auth-remember a:hover { text-decoration: underline; }
.public-v2 .caps-hint { display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; padding: 6px 10px; border-radius: 8px; background: #FFF4E0; color: #9A5A00; font-size: 12px; font-weight: 700; }
.public-v2 .caps-hint::before { content: "⇪"; font-size: 13px; }

/* Password toggle: comfortable touch target on coarse pointers. */
@media (pointer: coarse) {
  .public-v2 .password-field button { min-width: 44px; min-height: 38px; }
}

/* The .skip-link visual style already exists on the public layer, but it uses
   --forest / --hm-shadow which are scoped to .public-v2. On the app shells
   those are undefined, so give the link explicit colours + a focus ring. */
.partner-app-body .skip-link,
.admin-body .skip-link { color: #0B3D2E; background: #fff; box-shadow: 0 10px 28px rgba(11,61,46,.28); }
.partner-app-body .skip-link:focus,
.admin-body .skip-link:focus { outline: 3px solid rgba(245,164,0,.65); outline-offset: 2px; }

/* =====================================================================
   PREMIUM SPLIT AUTHENTICATION (#10) — login + apply.
   An immersive two-column experience: a branded forest panel beside a
   refined form, filling the viewport instead of a small card in empty
   space. Backend/markup hooks are unchanged. Scoped to .public-v2.
   ===================================================================== */
.public-v2 .auth-section { padding: 0; background: var(--cream, #FBF8F1); }
.public-v2 .auth-shell { display: grid; grid-template-columns: 1.02fr 1fr; min-height: calc(100vh - var(--header-h, 74px)); align-items: stretch; }

/* --- Brand panel --- */
.public-v2 .auth-brandside { position: relative; overflow: hidden; display: flex; padding: clamp(34px, 4vw, 64px); color: #fff;
  background: radial-gradient(125% 120% at 88% 0%, rgba(245,164,0,.20), transparent 46%), linear-gradient(158deg, #0C4433 0%, #06352A 58%, #052A21 100%); }
.public-v2 .auth-brandside::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.06) 1.2px, transparent 1.2px); background-size: 22px 22px; opacity: .55; -webkit-mask-image: linear-gradient(180deg, #000, transparent 82%); mask-image: linear-gradient(180deg, #000, transparent 82%); pointer-events: none; }
.public-v2 .auth-brandside-inner { position: relative; display: flex; flex-direction: column; gap: 30px; width: 100%; max-width: 520px; margin: auto 0; }
.public-v2 .auth-brand-mark { display: grid; gap: 5px; text-decoration: none; }
.public-v2 .auth-brand-word { font: 800 30px/1 Manrope, Inter, sans-serif; letter-spacing: -.02em; }
.public-v2 .auth-brand-word .brand-fliqa { color: #fff; }
.public-v2 .auth-brand-word .brand-india { color: var(--orange, #F5A400); }
.public-v2 .auth-brand-tag { font-size: 11px; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; color: #8FB3A4; }
.public-v2 .auth-brandside-body { display: grid; gap: 18px; }
.public-v2 .auth-brand-badge { display: inline-flex; align-items: center; gap: 8px; width: max-content; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); font-size: 12.5px; font-weight: 700; color: #EAF3EE; }
.public-v2 .auth-brand-badge .icon { width: 16px; height: 16px; color: var(--orange, #F5A400); }
.public-v2 .auth-brand-head { margin: 0; font: 800 clamp(27px, 3vw, 38px)/1.12 Manrope, Inter, sans-serif; letter-spacing: -.02em; }
.public-v2 .auth-brand-lede { margin: 0; max-width: 46ch; color: #C4DACF; font-size: 15.5px; line-height: 1.72; }
.public-v2 .auth-brand-points { display: grid; gap: 13px; margin: 4px 0 0; padding: 0; list-style: none; }
.public-v2 .auth-brand-points li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: center; color: #DCEAE3; font-size: 14.5px; font-weight: 600; }
.public-v2 .auth-brand-tick { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: rgba(245,164,0,.16); color: var(--orange, #F5A400); }
.public-v2 .auth-brand-tick .icon { width: 14px; height: 14px; }
.public-v2 .auth-brandside-foot { display: flex; align-items: center; gap: 14px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.public-v2 .auth-brand-avatars { display: flex; flex: none; }
.public-v2 .auth-brand-avatars span { display: grid; place-items: center; width: 36px; height: 36px; margin-left: -9px; border-radius: 50%; background: #0E4735; border: 2px solid #0A3527; color: #F6B95C; font-weight: 800; font-size: 13px; }
.public-v2 .auth-brand-avatars span:first-child { margin-left: 0; }
.public-v2 .auth-brand-avatars .icon { width: 16px; height: 16px; color: #EAF3EE; }
.public-v2 .auth-brand-avatars .is-more { background: var(--orange, #F5A400); color: #2E1E00; border-color: #0A3527; }
.public-v2 .auth-brandside-foot p { margin: 0; color: #9DBCAD; font-size: 12.5px; line-height: 1.55; }

/* --- Form panel --- */
.public-v2 .auth-panel { display: flex; align-items: center; justify-content: center; padding: clamp(28px, 4vw, 56px) 20px; }
.public-v2 .auth-shell .auth-card { width: 100%; max-width: 440px; padding: clamp(26px, 3vw, 38px); border: 1px solid var(--border, #E8E8E8); border-radius: 22px; background: #fff; box-shadow: 0 30px 70px rgba(11,61,46,.10), 0 2px 8px rgba(11,61,46,.05); }
.public-v2 .auth-shell-apply .auth-card { max-width: 800px; }
/* On the wide apply card the wizard uses the space intelligently: a tighter
   rhythm, a full-width stepper, and a fluid choice grid rather than one long
   sparse column. */
.public-v2 .auth-shell-apply .form-progress { margin-bottom: 22px; }
.public-v2 .auth-shell-apply .application-form fieldset { gap: 14px; }
.public-v2 .auth-shell-apply .application-form legend { font-size: 19px; margin-bottom: 2px; }
.public-v2 .auth-shell-apply .step-help { margin: -4px 0 2px; color: var(--muted); font-size: 13px; }
.public-v2 .auth-shell-apply .partner-choice-grid { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 10px; }
.public-v2 .auth-shell-apply .form-actions { margin-top: 4px; padding-top: 16px; border-top: 1px dashed var(--border); }
/* The apply form needs real room for an 800px card + multi-column grid, so on
   desktop the brand rail narrows and the form panel takes the remaining width
   (rather than an even 50/50 split that caps the card at ~540px). */
@media (min-width: 901px) {
  .public-v2 .auth-shell-apply { grid-template-columns: 1.02fr 1fr; }
}
.public-v2 .auth-eyebrow { margin: 0; color: #C97716; font-weight: 800; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.public-v2 .auth-shell .auth-title { margin: 8px 0 6px; font-size: clamp(24px, 3vw, 29px); letter-spacing: -.02em; }
.public-v2 .auth-shell .auth-sub { margin-bottom: 22px; color: var(--muted, #5B6472); font-size: 15px; }
.public-v2 .auth-shell .auth-form { gap: 15px; }
.public-v2 .auth-shell .auth-form > label { gap: 8px; font-size: 13.5px; font-weight: 700; color: #1c2b24; }
.public-v2 .auth-shell .auth-form input, .public-v2 .auth-shell .auth-form select, .public-v2 .auth-shell .auth-form textarea { padding: 13px 15px; border: 1.5px solid #dbe2dd; border-radius: 12px; background: #fff; font-size: 15px; transition: border-color .15s ease, box-shadow .15s ease; }
.public-v2 .auth-shell .auth-form input:focus, .public-v2 .auth-shell .auth-form select:focus, .public-v2 .auth-shell .auth-form textarea:focus { outline: none; border-color: var(--green, #0B3D2E); box-shadow: 0 0 0 4px rgba(11,61,46,.12); }
.public-v2 .auth-shell .btn-lg { padding: 15px 24px; border-radius: 12px; box-shadow: 0 10px 22px rgba(245,164,0,.30); }
.public-v2 .auth-shell .btn-lg:hover { transform: translateY(-1px); }
.public-v2 .auth-shell .btn-lg .icon { width: 17px; height: 17px; }
.public-v2 .auth-alert { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; }
.public-v2 .auth-alert .icon { width: 18px; height: 18px; flex: none; }
.public-v2 .auth-alt { text-align: center; margin-top: 20px; font-size: 14px; color: var(--muted, #5B6472); }
.public-v2 .auth-alt a { color: var(--green, #0B3D2E); font-weight: 700; }
.public-v2 .auth-secure-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 14px; padding-top: 16px; border-top: 1px dotted #dbe2dd; color: #7a887f; font-size: 12px; }
.public-v2 .auth-secure-note .icon { width: 14px; height: 14px; color: #0b5c43; }

/* --- Apply wizard refinements inside the panel --- */
.public-v2 .auth-shell-apply .application-card-heading { margin-bottom: 18px; }
.public-v2 .auth-shell-apply .application-card-heading h2 { font-size: clamp(21px, 2.4vw, 26px); letter-spacing: -.02em; margin: 6px 0 6px; }
.public-v2 .auth-shell-apply .application-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; color: var(--muted, #5B6472); font-size: 12.5px; }
.public-v2 .auth-shell-apply .application-meta span { display: inline-flex; align-items: center; gap: 6px; }
.public-v2 .auth-shell-apply .application-meta .icon { width: 14px; height: 14px; color: #0b5c43; }
.public-v2 .auth-shell-apply .application-success .success-icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 8px; border-radius: 16px; background: #E8F5EE; color: #17563B; }
.public-v2 .auth-shell-apply .application-success .success-icon .icon { width: 26px; height: 26px; }

/* --- Responsive: compact brand strip above the form on tablet/mobile --- */
@media (max-width: 900px) {
  .public-v2 .auth-shell { grid-template-columns: 1fr; min-height: 0; }
  .public-v2 .auth-brandside { padding: 26px 22px 30px; }
  .public-v2 .auth-brandside-inner { gap: 14px; max-width: none; margin: 0; }
  .public-v2 .auth-brand-lede, .public-v2 .auth-brand-points, .public-v2 .auth-brandside-foot { display: none; }
  .public-v2 .auth-brand-head { font-size: 22px; }
  .public-v2 .auth-panel { padding: 22px 16px 44px; }
  .public-v2 .auth-shell .auth-card, .public-v2 .auth-shell-apply .auth-card { max-width: 520px; box-shadow: 0 16px 40px rgba(11,61,46,.08); }
}
@media (max-width: 520px) {
  .public-v2 .auth-shell .auth-card, .public-v2 .auth-shell-apply .auth-card { border-radius: 18px; padding: 22px; }
  .public-v2 .auth-shell-apply .application-meta { font-size: 12px; }
}

/* =====================================================================
   PART 1: PREMIUM NOTIFICATION SYSTEM
   ===================================================================== */

/* Dropdown Container */
.pw-bell-dropdown-container { position: relative; display: inline-block; }
.pw-bell-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 380px;
  max-height: 480px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(11, 61, 46, 0.12), 0 1px 3px rgba(0, 0, 0, 0.05);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-10px) scale(0.95);
  pointer-events: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.pw-bell-dropdown.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
@media (max-width: 480px) {
  .pw-bell-dropdown {
    position: fixed;
    top: 60px;
    left: 16px;
    right: 16px;
    width: auto;
    max-height: calc(100vh - 120px);
  }
}

/* Header */
.pw-bell-header {
  padding: 16px 20px;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fbfbfb;
}
.pw-bell-header h3 { font-size: 15px; font-weight: 800; color: #111827; margin: 0; }
.pw-bell-mark-all { font-size: 12.5px; font-weight: 700; color: var(--green, #0B3D2E); background: none; border: none; cursor: pointer; padding: 4px 8px; border-radius: 6px; transition: background 0.15s; }
.pw-bell-mark-all:hover { background: #f0f6f3; }

/* List */
.pw-bell-list { overflow-y: auto; flex: 1; max-height: 350px; }
.pw-bell-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid #f3f4f6;
  cursor: pointer;
  align-items: start;
  transition: background 0.15s ease;
  position: relative;
  text-decoration: none !important;
}
.pw-bell-item:last-child { border-bottom: none; }
.pw-bell-item:hover { background: #f9fafb; }
.pw-bell-item.is-unread { background: #f5f8f6; }
.pw-bell-item.is-unread::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green, #0B3D2E);
}

/* Icons */
.pw-bell-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.pw-bell-icon .icon { width: 18px; height: 18px; }

/* Category Colors */
.category-project { background: #e0f2fe; color: #0369a1; }
.category-verification { background: #fef3c7; color: #d97706; }
.category-payment { background: #dcfce7; color: #15803d; }
.category-system { background: #f3e8ff; color: #7e22ce; }
.category-general { background: #f1f5f9; color: #475569; }

/* Content */
.pw-bell-content { display: grid; gap: 2px; }
.pw-bell-title { font-size: 13.5px; font-weight: 700; color: #1f2937; line-height: 1.3; }
.pw-bell-msg { font-size: 12.5px; color: #4b5563; line-height: 1.4; }
.pw-bell-time { font-size: 11px; color: #9ca3af; margin-top: 4px; }

/* Footer */
.pw-bell-footer {
  padding: 12px;
  border-top: 1px solid #e8e8e8;
  text-align: center;
  background: #fbfbfb;
}
.pw-bell-view-all { font-size: 13px; font-weight: 700; color: var(--green, #0B3D2E); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.pw-bell-view-all:hover { text-decoration: underline; }

/* Badge */
.pw-bell-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ef4444;
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  padding: 1px 5px;
  min-width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
}

/* Empty State */
.pw-bell-empty {
  padding: 40px 20px;
  text-align: center;
  color: #6b7280;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.pw-bell-empty .icon { width: 32px; height: 32px; color: #d1d5db; }

/* Partner notifications page styling */
.notifications-page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.notifications-filters { display: flex; gap: 8px; }
.notifications-filter-btn { padding: 8px 16px; border-radius: 99px; border: 1.5px solid #dce2dd; background: #fff; font-size: 13.5px; font-weight: 700; color: #435249; cursor: pointer; transition: all 0.2s; }
.notifications-filter-btn.is-active, .notifications-filter-btn:hover { border-color: var(--green); background: #f0f6f3; color: var(--green); }
.notifications-group-title { font-size: 12px; font-weight: 800; text-transform: uppercase; color: #8a9990; letter-spacing: .08em; margin: 24px 0 12px; }

/* Campaign dashboard details */
.campaign-card { border-radius: 16px; border: 1px solid #e8e8e8; background: #fff; padding: 20px; margin-bottom: 16px; display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: start; transition: border-color 0.2s, box-shadow 0.2s; }
.campaign-card:hover { border-color: #a3b8ad; box-shadow: 0 4px 12px rgba(11,61,46,.04); }
.campaign-card-content { display: grid; gap: 6px; }
.campaign-card-header { display: flex; align-items: center; gap: 8px; }
.campaign-status-badge { font-size: 11px; font-weight: 800; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; letter-spacing: 0.05em; }
.campaign-status-badge.draft { background: #f3f4f6; color: #4b5563; }
.campaign-status-badge.scheduled { background: #fef3c7; color: #d97706; }
.campaign-status-badge.sent { background: #dcfce7; color: #15803d; }
.campaign-status-badge.sending { background: #e0f2fe; color: #0369a1; }
.campaign-analytics { display: flex; gap: 16px; font-size: 12.5px; color: #6b7280; margin-top: 8px; }
.campaign-analytics-item { display: inline-flex; align-items: center; gap: 4px; }
.campaign-actions { display: flex; gap: 8px; }

/* Skeletons */
.notification-skeleton { display: flex; gap: 12px; padding: 16px; background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; margin-bottom: 12px; }
.notification-skeleton-icon { width: 36px; height: 36px; border-radius: 50%; background: #f3f4f6; animation: skeleton-pulse 1.5s infinite ease-in-out; }
.notification-skeleton-body { flex: 1; display: grid; gap: 8px; }
.notification-skeleton-title { width: 40%; height: 14px; background: #f3f4f6; border-radius: 4px; animation: skeleton-pulse 1.5s infinite ease-in-out; }
.notification-skeleton-text { width: 85%; height: 12px; background: #f3f4f6; border-radius: 4px; animation: skeleton-pulse 1.5s infinite ease-in-out; }
@keyframes skeleton-pulse {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}



