/* ═══════════════════════════════════════════════════
   ZN Partner Office — v3.0
   Mobile-first · Sidebar + Bottom nav · Responsive
═══════════════════════════════════════════════════ */
:root{
  --zv-gold:#f59e0b;--zv-gold-dk:#d97706;--zv-gold-lt:#fef3c7;
  --zv-green:#10b981;--zv-red:#ef4444;--zv-blue:#3b82f6;
  --zv-bg:#f0f4f8;--zv-surface:#fff;
  --zv-border:#e2e8f0;--zv-text:#1e293b;--zv-muted:#64748b;--zv-faint:#94a3b8;
  --zv-sidebar:#1a2332;--zv-sidebar-text:#cbd5e1;--zv-sidebar-active:#f59e0b;
  --zv-topbar:#fff;--zv-topbar-h:56px;--zv-sidebar-w:220px;--zv-bn-h:62px;
  --zv-radius:12px;--zv-radius-sm:8px;--zv-radius-xs:6px;
  --zv-shadow:0 1px 3px rgba(0,0,0,.07),0 4px 16px rgba(0,0,0,.05);
  --zv-shadow-lg:0 8px 32px rgba(0,0,0,.14);
  --zv-trans:all .2s cubic-bezier(.4,0,.2,1);
  --zv-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.zn-vendor-wrap *,.zn-modal *{box-sizing:border-box}
.zn-vendor-wrap,.zn-po{font-family:var(--zv-font);color:var(--zv-text)}

/* ─── Notices ───────────────────────────────── */
.zn-vendor-notice{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border-radius:var(--zv-radius);margin-bottom:18px}
.zn-vendor-notice--warning{background:#fffbeb;border:1px solid #fde68a}
.zn-vendor-notice--info{background:#eff6ff;border:1px solid #bfdbfe}
.zn-vendor-notice--error{background:#fef2f2;border:1px solid #fecaca}
.zn-vendor-notice--success{background:#ecfdf5;border:1px solid #a7f3d0}
.zn-vendor-notice__icon{font-size:26px;flex-shrink:0;line-height:1.2}
.zn-vendor-notice strong{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
.zn-vendor-notice p{color:var(--zv-muted);font-size:13px;line-height:1.6;margin-bottom:10px}

/* ─── Pre-partner: Plan Selection ──────────── */
.zn-po-pre{padding:20px 0}
.zn-po-pre__hero{text-align:center;padding:32px 20px 24px}
.zn-po-pre__icon{font-size:48px;margin-bottom:12px}
.zn-po-pre__hero h2{font-size:22px;font-weight:800;margin-bottom:8px}
.zn-po-pre__hero p{color:var(--zv-muted);font-size:14px}
.zn-po-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:0 4px}
.zn-po-plan-card{display:block;background:var(--zv-surface);border:2px solid var(--zv-border);border-radius:var(--zv-radius);padding:22px 18px;text-align:center;position:relative;transition:var(--zv-trans);color:var(--zv-text);text-decoration:none}
.zn-po-plan-card:hover{border-color:var(--zv-gold);box-shadow:0 4px 20px rgba(245,158,11,.18);transform:translateY(-2px)}
.zn-po-plan-card--featured{border-color:var(--zv-gold);box-shadow:0 4px 20px rgba(245,158,11,.15)}
.zn-po-plan-card__badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--zv-gold);color:#fff;font-size:10px;font-weight:700;padding:2px 10px;border-radius:20px;white-space:nowrap}
.zn-po-plan-card__name{font-size:15px;font-weight:700;margin-bottom:8px}
.zn-po-plan-card__price{font-size:28px;font-weight:900;color:var(--zv-gold);line-height:1}
.zn-po-plan-card__period{font-size:12px;color:var(--zv-muted);margin:4px 0 12px}
.zn-po-plan-card__rate{font-size:13px;color:var(--zv-green);font-weight:700;margin-bottom:14px}
.zn-po-plan-card__rate-num{font-size:18px}
.zn-po-plan-card__cta{background:var(--zv-gold);color:#fff;padding:8px 16px;border-radius:var(--zv-radius-sm);font-size:13px;font-weight:700;display:inline-block}

/* ─── Partner Office Wrapper ────────────────── */
.zn-po{background:var(--zv-bg);min-height:100vh;position:relative}

/* ── Top Bar — REMOVED v3.1. Nav lives in inline header strip. ───────── */
/* Keep topbar variable at 0 so layout height calculates correctly */
:root{--zv-topbar-h:0px}
.zn-po-topbar,.zn-po-menu-btn,.zn-po-currency-btn,
.zn-po-topbar__left,.zn-po-topbar__center,.zn-po-topbar__right,
.zn-po-topbar__title,.zn-po-topbar__currency-slot,.zn-po-currency-stub{display:none!important}

/* ─── Partner Office FAB Menu Button ─────────────
   Styled like the global currency switcher pill:
   floats at top-left of the home panel content area.
─────────────────────────────────────────────── */
.zn-po-fab-wrap{
  display:flex;align-items:center;
}
.zn-po-fab{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  background:#1a2332!important;
  border:none!important;border-radius:999px!important;
  padding:8px 14px 8px 8px!important;
  box-shadow:0 2px 12px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
  transition:background .18s,box-shadow .18s!important;
  color:#fff!important;
  font-size:13px!important;font-weight:700!important;
  white-space:nowrap!important;
  max-width:200px!important;
  text-align:left!important;
}
.zn-po-fab:hover{
  background:#243148!important;
  box-shadow:0 4px 20px rgba(0,0,0,.32)!important;
}
.zn-po-fab.open{
  background:linear-gradient(135deg,#00897B,#1a2332)!important;
  box-shadow:0 4px 20px rgba(0,137,123,.35)!important;
}
.zn-po-fab__avatar{
  width:28px;height:28px;border-radius:50%;object-fit:cover;
  border:2px solid rgba(255,255,255,.25);flex-shrink:0;
}
.zn-po-fab__initials{
  width:28px;height:28px;border-radius:50%;background:var(--zv-gold);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;flex-shrink:0;
}
.zn-po-fab__label{
  font-size:12px;font-weight:700;color:#fff;flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.zn-po-fab__chevron{
  flex-shrink:0;color:rgba(255,255,255,.6);transition:transform .2s;
}
.zn-po-fab.open .zn-po-fab__chevron{transform:rotate(180deg);}

/* Add product row */
.zn-po-add-row{margin:0 0 16px;display:flex;gap:8px;flex-wrap:wrap;}
.zn-po-add-btn{min-width:140px;}

/* Hide old pill nav / inline header (no longer rendered) */
.zn-po-pill-nav,.zn-po-inline-header{display:none!important;}

/* Currency slot in topbar — replaced by .zn-po-currency-btn (see integration block) */
.zn-po-topbar__currency-slot { display: none !important; }
.zn-po-currency-stub          { display: none !important; }

/* ─── Layout ─────────────────────────────────── */
.zn-po-layout{display:flex;min-height:100vh}

/* ─── Sidebar ─────────────────────────────────── */
.zn-po-sidebar{
  width:var(--zv-sidebar-w);background:var(--zv-sidebar);
  display:flex;flex-direction:column;padding:20px 0;
  flex-shrink:0;overflow-y:auto;
  /* mobile: offscreen drawer */
  position:fixed;top:0;left:0;bottom:0;z-index:40;
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.zn-po-sidebar.open{transform:translateX(0);box-shadow:4px 0 24px rgba(0,0,0,.25)}
.zn-po-sidebar__store{display:flex;align-items:center;gap:12px;padding:0 16px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:10px}
.zn-po-sidebar__logo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2)}
.zn-po-sidebar__logo-ph{width:40px;height:40px;border-radius:50%;background:var(--zv-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.zn-po-sidebar__name{color:#fff;font-size:13px;font-weight:700;line-height:1.3}
.zn-po-sidebar__rate{color:var(--zv-gold);font-size:11px;font-weight:600;margin-top:2px}
.zn-po-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}
.zn-po-nav__btn{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--zv-radius-sm);background:transparent;border:none;color:var(--zv-sidebar-text);cursor:pointer;font-size:14px;font-weight:500;transition:var(--zv-trans);text-align:left;width:100%}
.zn-po-nav__btn:hover{background:rgba(255,255,255,.07);color:#fff}
.zn-po-nav__btn--active{background:rgba(245,158,11,.15);color:var(--zv-gold)!important}
.zn-po-nav__icon{font-size:18px;flex-shrink:0;width:22px;text-align:center}
.zn-po-sidebar__expiry{margin:auto 0 0;padding:12px 16px;background:rgba(245,158,11,.12);color:var(--zv-gold);font-size:11px;font-weight:600;text-align:center}
.zn-po-sidebar__expiry--warn{background:rgba(239,68,68,.15);color:#fca5a5}

/* Overlay behind sidebar on mobile */
.zn-po-sidebar-overlay{display:none;position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}
.zn-po-sidebar-overlay.show{display:block}

/* ─── Main Content ─────────────────────────── */
.zn-po-main{flex:1;min-width:0;padding:4px 16px 0;overflow-x:hidden;padding-bottom:calc(var(--zv-bn-h) + 16px)}

/* ── Persistent topnav bar: FAB + back button ── */
.zn-po-topnav{
  display:flex;align-items:center;gap:8px;
  padding:6px 0 10px;
  position:sticky;top:0;z-index:20;
  background:#fff;
}
.zn-po-back-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--zv-bg);border:1px solid var(--zv-border);
  color:var(--zv-text);cursor:pointer;flex-shrink:0;
  transition:var(--zv-trans);
}
.zn-po-back-btn:hover{background:var(--zv-border);}

/* Panel switching */
.zn-po-panel{display:none}
.zn-po-panel--active{display:block}

/* ─── Stats Row (Home) ──────────────────────── */
.zn-po-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
.zn-po-stat{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius);padding:14px 16px;display:flex;align-items:center;gap:14px;box-shadow:var(--zv-shadow);transition:var(--zv-trans)}
.zn-po-stat:hover{box-shadow:var(--zv-shadow-lg)}
.zn-po-stat--highlight{background:linear-gradient(135deg,var(--zv-gold),var(--zv-gold-dk));border-color:transparent}
.zn-po-stat--highlight .zn-po-stat__val,
.zn-po-stat--highlight .zn-po-stat__lbl{color:#fff}
.zn-po-stat__icon{font-size:26px;flex-shrink:0}
.zn-po-stat__val{font-size:18px;font-weight:800;color:var(--zv-text);line-height:1.1}
.zn-po-stat__lbl{font-size:11px;color:var(--zv-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-top:2px}

/* ─── Banner ──────────────────────────────── */
.zn-po-banner{background:linear-gradient(135deg,#0f172a,#1e3a5f);background-size:cover;background-position:center;border-radius:var(--zv-radius);margin-bottom:16px;position:relative;overflow:hidden}
.zn-po-banner__inner{background:linear-gradient(135deg,rgba(15,23,42,.88),rgba(30,41,59,.6));padding:22px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.zn-po-banner__text h3{color:#fff;font-size:17px;font-weight:800;margin-bottom:4px}
.zn-po-banner__text p{color:rgba(255,255,255,.7);font-size:13px}

/* ─── Info Cards ───────────────────────────── */
.zn-po-info-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px}
.zn-po-info-card{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius);padding:14px 16px;box-shadow:var(--zv-shadow)}
.zn-po-info-card--accent{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}
.zn-po-info-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.zn-po-info-card__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--zv-muted)}
.zn-po-info-card__icon{font-size:18px}
.zn-po-info-card__val{font-size:20px;font-weight:800;color:var(--zv-text);line-height:1.1;margin-bottom:2px}
.zn-po-info-card__sub{font-size:11px;color:var(--zv-muted)}

/* ─── Section ──────────────────────────────── */
.zn-po-section{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius);padding:16px;box-shadow:var(--zv-shadow)}
.zn-po-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.zn-po-section__header h4{font-size:14px;font-weight:700}

/* ─── Bottom Nav (mobile) ──────────────────── */
.zn-po-bottom-nav{
  position:fixed;bottom:0;left:0;right:0;z-index:45;
  height:var(--zv-bn-h);background:var(--zv-surface);
  border-top:1px solid var(--zv-border);box-shadow:0 -4px 20px rgba(0,0,0,.1);
  display:flex;align-items:center;
}
.zn-po-bn__btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:6px 4px;color:var(--zv-muted);font-size:10px;font-weight:600;transition:var(--zv-trans);min-width:0}
.zn-po-bn__btn span:first-child{font-size:20px;line-height:1}
.zn-po-bn__btn--active,.zn-po-bn__btn:hover{color:var(--zv-gold)}
.zn-po-bn__btn--add{flex:0 0 60px;background:var(--zv-gold);color:#fff!important;border-radius:50%;width:52px;height:52px;margin:0 auto;padding:0;box-shadow:0 4px 16px rgba(245,158,11,.4);flex-direction:row;font-size:26px!important;justify-content:center;margin-bottom:14px}
.zn-po-bn__btn--add:hover{background:var(--zv-gold-dk);transform:scale(1.08)}
.zn-po-bn__btn--add span{margin-bottom:0!important;font-size:26px!important}

/* ─── Buttons ──────────────────────────────── */
.zn-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border-radius:var(--zv-radius-sm);font-size:13px;font-weight:700;cursor:pointer;border:none;transition:var(--zv-trans);line-height:1.3;white-space:nowrap}
.zn-btn:disabled{opacity:.55;cursor:not-allowed}
.zn-btn--primary{background:linear-gradient(135deg,var(--zv-gold),var(--zv-gold-dk));color:#fff;box-shadow:0 2px 10px rgba(245,158,11,.3)}
.zn-btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(245,158,11,.45)}
.zn-btn--secondary{background:var(--zv-bg);border:1px solid var(--zv-border);color:var(--zv-text)}
.zn-btn--secondary:hover{background:var(--zv-border)}
.zn-btn--ghost{background:transparent;border:1.5px solid var(--zv-border);color:var(--zv-muted)}
.zn-btn--ghost:hover{background:var(--zv-bg);color:var(--zv-text)}
.zn-btn--success{background:var(--zv-green);color:#fff}
.zn-btn--danger{background:transparent;border:1px solid #fca5a5;color:var(--zv-red)}
.zn-btn--danger:hover{background:var(--zv-red);color:#fff}
.zn-btn--sm{padding:6px 12px;font-size:11px}
.zn-btn--lg{padding:14px 28px;font-size:15px}
.zn-btn--full{width:100%}
/* ── Profile Badges (Partner + Agent) ──────────────────────────────── */
/*
 * Each badge is its own bp_member_header_actions callback.
 * BuddyBoss wraps each in a <div class="generic-button">.
 * We override the generic-button container to be transparent/neutral
 * so only our badge pill is visible, and the parent action row
 * lays them out horizontally as intended.
 */

/* Make BuddyBoss generic-button wrapper invisible for our badges */
.generic-button:has(.zn-vendor-badge) {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
/* Fallback for browsers without :has() support */
.generic-button .zn-vendor-badge {
  display: inline-flex !important;
}

/* Shared base — pill shape with icon + label */
.zn-vendor-badge{
  display:inline-flex !important;
  align-items:center;gap:5px;
  font-size:11px;font-weight:700;letter-spacing:.3px;
  padding:5px 13px;border-radius:100px;
  white-space:nowrap;line-height:1;
  cursor:default;
  transition:transform .18s ease, box-shadow .18s ease;
}
.zn-vendor-badge:hover{transform:translateY(-1px)}

/* ✦ Partner — gold gradient */
.zn-badge--partner{
  background:linear-gradient(135deg,#f59e0b,#d97706) !important;
  color:#fff !important;
  box-shadow:0 2px 10px rgba(245,158,11,.35);
}
.zn-badge--partner:hover{box-shadow:0 4px 16px rgba(245,158,11,.5)}

/* ◈ Agent — teal gradient, visually distinct */
.zn-badge--agent{
  background:linear-gradient(135deg,#0ea5e9,#0284c7) !important;
  color:#fff !important;
  box-shadow:0 2px 10px rgba(14,165,233,.30);
}
.zn-badge--agent:hover{box-shadow:0 4px 16px rgba(14,165,233,.45)}

/* SVG icons */
.zn-vendor-badge svg{flex-shrink:0;opacity:.92}

/* ─── Forms ─────────────────────────────────── */
.zn-input,.zn-textarea,.zn-select{width:100%;padding:10px 13px;border:1.5px solid var(--zv-border);border-radius:var(--zv-radius-sm);font-size:14px;font-family:var(--zv-font);color:var(--zv-text);background:var(--zv-surface);transition:var(--zv-trans);outline:none;-webkit-appearance:none}
.zn-input:focus,.zn-textarea:focus,.zn-select:focus{border-color:var(--zv-gold);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.zn-textarea{resize:vertical;min-height:90px;line-height:1.6}
.zn-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px}
.zn-label{display:block;font-size:12px;font-weight:700;color:var(--zv-text);margin-bottom:6px}
.zn-required{color:var(--zv-red)}
.zn-form-row{margin-bottom:14px}
.zn-form-row-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.zn-form-col{display:flex;flex-direction:column}
.zn-form-section{padding:14px;background:var(--zv-bg);border-radius:var(--zv-radius-sm);margin-bottom:14px;border:1px solid var(--zv-border)}
.zn-form-section__title{font-size:11px;font-weight:800;color:var(--zv-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.7px}
.zn-form-actions{display:flex;align-items:center;gap:10px;padding-top:6px;flex-wrap:wrap}
.zn-form-msg{padding:9px 13px;border-radius:var(--zv-radius-sm);font-size:13px;font-weight:600;margin-top:10px}
.zn-msg--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.zn-msg--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.zn-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}
.zn-toggle input{display:none}
.zn-toggle__slider{width:42px;height:24px;background:var(--zv-border);border-radius:24px;position:relative;transition:var(--zv-trans);flex-shrink:0}
.zn-toggle__slider::after{content:'';width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:var(--zv-trans);box-shadow:0 1px 4px rgba(0,0,0,.2)}
.zn-toggle input:checked~.zn-toggle__slider{background:var(--zv-gold)}
.zn-toggle input:checked~.zn-toggle__slider::after{transform:translateX(18px)}
.zn-type-selector{display:flex;gap:6px;flex-wrap:wrap}
.zn-type-btn{padding:7px 13px;border:2px solid var(--zv-border);border-radius:var(--zv-radius-sm);background:var(--zv-surface);font-size:12px;font-weight:700;cursor:pointer;color:var(--zv-muted);transition:var(--zv-trans)}
.zn-type-btn:hover,.zn-type-btn--active{border-color:var(--zv-gold);color:var(--zv-gold)}
.zn-type-btn--active{background:var(--zv-gold);color:#fff!important}
.zn-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.zn-checkbox-item{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;padding:6px;border-radius:var(--zv-radius-xs);transition:var(--zv-trans)}
.zn-checkbox-item:hover{background:var(--zv-bg)}
.zn-checkbox-item input{accent-color:var(--zv-gold)}

/* Panel headers */
.zn-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.zn-panel-header h3{font-size:17px;font-weight:700}

/* ─── Product Grid ──────────────────────────── */
.zn-products-grid__inner{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.zn-prod-card{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius);overflow:hidden;position:relative;box-shadow:var(--zv-shadow);transition:var(--zv-trans);display:flex;flex-direction:column}
.zn-prod-card:hover{box-shadow:var(--zv-shadow-lg);transform:translateY(-2px)}
.zn-prod-card__img{width:100%;height:130px;overflow:hidden;background:var(--zv-bg);flex-shrink:0}
.zn-prod-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.zn-prod-card:hover .zn-prod-card__img img{transform:scale(1.06)}
.zn-prod-card__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px}
.zn-prod-card__status-badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px}
.zn-status-publish{background:#d1fae5;color:#065f46}
.zn-status-draft{background:#f1f5f9;color:#475569}
.zn-status-pending{background:#fef3c7;color:#92400e}
.zn-prod-card__body{padding:11px;flex:1}
.zn-prod-card__name{font-size:13px;font-weight:700;margin-bottom:5px;line-height:1.3}
.zn-prod-card__price{font-weight:800;color:var(--zv-gold);font-size:14px;margin-bottom:4px}
.zn-prod-card__price del.zn-price-old{color:var(--zv-muted);font-weight:500;text-decoration:line-through;margin-right:5px}
.zn-prod-card__price ins.zn-price-new{text-decoration:none;color:var(--zv-gold)}
.zn-prod-card__meta{display:flex;gap:8px;flex-wrap:wrap}
.zn-prod-card__type,.zn-prod-card__sales{font-size:10px;color:var(--zv-muted);font-weight:600;text-transform:uppercase}
.zn-prod-card__actions{display:flex;gap:5px;flex-wrap:wrap;padding:9px 11px;border-top:1px solid var(--zv-border);background:var(--zv-bg)}

/* ─── Empty State ───────────────────────────── */
.zn-empty-state{text-align:center;padding:44px 20px;background:var(--zv-surface);border:2px dashed var(--zv-border);border-radius:var(--zv-radius)}
.zn-empty-state__icon{font-size:40px;display:block;margin-bottom:12px}
.zn-empty-state p{color:var(--zv-muted);margin-bottom:16px;font-size:14px}

/* ─── Orders ────────────────────────────────── */
.zn-orders-list{display:flex;flex-direction:column;gap:8px}
.zn-order-card{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius-sm);padding:13px 14px;cursor:pointer;transition:var(--zv-trans);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.zn-order-card:hover{border-color:var(--zv-gold);box-shadow:var(--zv-shadow)}
.zn-order-card__num{font-weight:800;color:var(--zv-gold);font-size:14px}
.zn-order-card__date{font-size:12px;color:var(--zv-muted)}
.zn-order-card__earn{font-weight:800;color:var(--zv-green);font-size:14px}
.zn-status-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700}
.zn-status-wc-completed{background:#d1fae5;color:#065f46}
.zn-status-wc-processing{background:#dbeafe;color:#1e40af}
.zn-status-wc-pending{background:#fef3c7;color:#92400e}
.zn-status-wc-cancelled,.zn-status-wc-refunded{background:#fee2e2;color:#991b1b}
.zn-status-available{background:#d1fae5;color:#065f46}
.zn-status-refunded{background:#fee2e2;color:#991b1b}
.zn-status-paid{background:#d1fae5;color:#065f46}
.zn-status-requested{background:#ede9fe;color:#5b21b6}
.zn-status-processing{background:#dbeafe;color:#1e40af}
.zn-status-rejected{background:#fee2e2;color:#991b1b}

/* ─── Earnings ──────────────────────────────── */
.zn-earnings-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.zn-stat-card{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius);padding:14px;text-align:center;box-shadow:var(--zv-shadow)}
.zn-stat-card--highlight{background:linear-gradient(135deg,var(--zv-gold),var(--zv-gold-dk));border-color:transparent}
.zn-stat-card--highlight .zn-stat-card__value,.zn-stat-card--highlight .zn-stat-card__label{color:#fff}
.zn-stat-card__value{font-size:17px;font-weight:800;color:var(--zv-text);margin-bottom:3px}
.zn-stat-card__label{font-size:10px;color:var(--zv-muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.zn-payout-panel{background:var(--zv-surface);border:1px solid var(--zv-border);border-radius:var(--zv-radius);padding:18px;margin-bottom:18px;box-shadow:var(--zv-shadow)}
.zn-table-wrap{overflow-x:auto;border:1px solid var(--zv-border);border-radius:var(--zv-radius);background:var(--zv-surface)}
.zn-table{width:100%;border-collapse:collapse;font-size:13px;min-width:400px}
.zn-table th{background:var(--zv-bg);padding:10px 13px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--zv-muted);border-bottom:1px solid var(--zv-border)}
.zn-table td{padding:11px 13px;border-bottom:1px solid var(--zv-border)}
.zn-table tr:last-child td{border-bottom:none}
.zn-table tbody tr:hover td{background:#fafafa}

/* ─── Image / Media ─────────────────────────── */
.zn-image-uploader{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.zn-image-preview{width:86px;height:86px;border:2px dashed var(--zv-border);border-radius:var(--zv-radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--zv-bg);flex-shrink:0;cursor:pointer;transition:var(--zv-trans)}
.zn-image-preview:hover{border-color:var(--zv-gold)}
.zn-image-preview img{width:100%;height:100%;object-fit:cover}
.zn-image-preview__placeholder{font-size:11px;color:var(--zv-muted);text-align:center;padding:8px;line-height:1.4}
.zn-image-actions{display:flex;flex-direction:column;gap:6px}
.zn-banner-preview{width:100%;height:100px;border:2px dashed var(--zv-border);border-radius:var(--zv-radius-sm);display:flex;align-items:center;justify-content:center;background:var(--zv-bg);background-size:cover;background-position:center;cursor:pointer;transition:var(--zv-trans);margin-bottom:10px}
.zn-banner-preview:hover{border-color:var(--zv-gold)}
.zn-logo-preview{width:68px;height:68px;border-radius:50%;border:2px solid var(--zv-border);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--zv-bg);font-size:22px;flex-shrink:0;cursor:pointer}
.zn-logo-preview img{width:100%;height:100%;object-fit:cover}

/* ─── Pagination ─────────────────────────────── */
.zn-pagination{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;padding:14px 0}
.zn-page-btn{padding:7px 12px;border:1.5px solid var(--zv-border);border-radius:var(--zv-radius-xs);background:var(--zv-surface);font-size:12px;font-weight:700;cursor:pointer;color:var(--zv-text);transition:var(--zv-trans)}
.zn-page-btn:hover{border-color:var(--zv-gold);color:var(--zv-gold)}
.zn-page-btn--active{background:var(--zv-gold);color:#fff;border-color:var(--zv-gold)}

/* ─── Loading ────────────────────────────────── */
.zn-loading-spinner{text-align:center;padding:36px 20px;color:var(--zv-muted);font-size:13px}
.zn-spinner{width:32px;height:32px;border:3px solid var(--zv-border);border-top-color:var(--zv-gold);border-radius:50%;animation:znSpin .7s linear infinite;margin:0 auto 10px}
@keyframes znSpin{to{transform:rotate(360deg)}}

/* ─── Modal ──────────────────────────────────── */
.zn-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:center;padding:0}
.zn-modal__overlay{position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(5px);cursor:pointer}
.zn-modal__inner{position:relative;z-index:1;background:var(--zv-surface);border-radius:var(--zv-radius) var(--zv-radius) 0 0;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 -8px 40px rgba(0,0,0,.18);animation:znSlideUp .25s ease}
@keyframes znSlideUp{from{transform:translateY(40px);opacity:.5}to{transform:translateY(0);opacity:1}}
.zn-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--zv-border);position:sticky;top:0;background:var(--zv-surface);z-index:2}
.zn-modal__title{font-size:16px;font-weight:800}
.zn-modal__close{background:var(--zv-bg);border:none;cursor:pointer;width:30px;height:30px;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--zv-muted);transition:var(--zv-trans)}
.zn-modal__close:hover{background:var(--zv-border);color:var(--zv-text)}
.zn-modal__body{padding:18px 20px}
body.zn-modal-open{overflow:hidden}

/* ─── Register Form ──────────────────────────── */
.zn-vendor-register-wrap{max-width:700px;margin:0 auto}
.zn-vendor-register-form .zn-form-section{background:var(--zv-surface);border:1.5px solid var(--zv-border)}

/* ─── Order Detail ────────────────────────────── */
.zn-order-detail__row{display:flex;gap:10px;font-size:13px;padding:8px 0;border-bottom:1px solid var(--zv-border)}
.zn-order-detail__row strong{min-width:90px;color:var(--zv-muted)}
.zn-order-detail__item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px;background:var(--zv-bg);border-radius:var(--zv-radius-xs);margin-bottom:6px;font-size:13px}
.zn-earn-highlight{font-weight:700;color:var(--zv-green)}
.zn-order-detail__totals{padding:12px;background:linear-gradient(135deg,var(--zv-gold),var(--zv-gold-dk));border-radius:var(--zv-radius-xs);color:#fff;font-size:15px;font-weight:700;text-align:center}

/* ════════════════════════
   TABLET (640px+)
════════════════════════ */
@media(min-width:640px){
  .zn-po-stats{grid-template-columns:repeat(4,1fr)}
  .zn-po-stat__val{font-size:20px}
  .zn-products-grid__inner{grid-template-columns:repeat(3,1fr)}
  .zn-modal{align-items:center;padding:20px}
  .zn-modal__inner{border-radius:var(--zv-radius);max-width:620px;animation:none}
  .zn-earnings-stats{grid-template-columns:repeat(4,1fr)}
}

/* ════════════════════════
   DESKTOP (1024px+)
   Sidebar visible, bottom nav hidden
════════════════════════ */
@media(min-width:1024px){
  .zn-po-menu-btn{display:none}
  .zn-po-sidebar{position:static;transform:none!important;box-shadow:none;border-right:1px solid var(--zv-border);top:auto;bottom:auto}
  .zn-po-sidebar-overlay{display:none!important}
  .zn-po-bottom-nav{display:none}
  .zn-po-main{padding:4px 24px 24px}
  .zn-products-grid__inner{grid-template-columns:repeat(4,1fr)}
  .zn-po-stats{grid-template-columns:repeat(4,1fr)}
}

/* Dark mode */
@media(prefers-color-scheme:dark){
  :root{--zv-bg:#0f172a;--zv-surface:#1e293b;--zv-border:#334155;--zv-text:#f1f5f9;--zv-muted:#94a3b8;--zv-topbar:#1e293b}
  .zn-table th{background:#0f172a}
}

/* ════════════════════════════════════════════════════
   TOPBAR: menu button for dark teal topbar
════════════════════════════════════════════════════ */
.zn-po-menu-btn{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  cursor:pointer;padding:7px 10px;
  color:#fff;font-size:12px;font-weight:600;
  line-height:1;transition:var(--zv-trans);
  white-space:nowrap;
}
.zn-po-menu-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3);}
.zn-po-menu-btn__icon{display:flex;flex-shrink:0;opacity:.9;}
.zn-po-menu-btn__label{max-width:80px;overflow:hidden;text-overflow:ellipsis;color:#fff;}
.zn-po-menu-btn__chevron{flex-shrink:0;transition:transform .2s ease;opacity:.7;}
.zn-po-menu-btn.open .zn-po-menu-btn__chevron{transform:rotate(180deg)}
.zn-po-topbar__store-info{display:flex;align-items:center;gap:8px}
.zn-po-topbar__right{gap:8px}

/* Wallet stat — SVG icon instead of emoji */
.zn-po-stat__icon--wallet{
  width:32px;height:32px;
  background:rgba(255,255,255,.25) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E") no-repeat center center;
  border-radius:8px;
  flex-shrink:0;
}

/* ════════════════════════════════════════════════════
   DROPDOWN NAV PANEL — BuddyBoss-compatible style
════════════════════════════════════════════════════ */
.zn-po-dropdown-panel{
  display:none;
  position:fixed;
  left:0;right:0;
  z-index:9999;
  background:#fff;
  box-shadow:0 8px 32px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.08);
  border-bottom:1px solid #e5e7eb;
  border-radius:0 0 16px 16px;
  overflow:hidden;
  animation:znDdOpen .18s cubic-bezier(.4,0,.2,1);
  max-height:80vh;overflow-y:auto;
}
.zn-po-dropdown-panel.open{display:block}
@keyframes znDdOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.zn-po-dropdown-overlay{
  display:none;
  position:fixed;inset:0;
  z-index:9998;
  background:rgba(0,0,0,.25);
  backdrop-filter:blur(1px);
}
.zn-po-dropdown-overlay.show{display:block}

/* Store header inside dropdown */
.zn-po-dropdown-store{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px 12px;
  background:#f8fafc;
  border-bottom:1px solid #f1f5f9;
}
.zn-po-dd-store__logo{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}
.zn-po-dd-store__logo-ph{width:38px;height:38px;border-radius:50%;background:var(--zv-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.zn-po-dd-store__name{font-size:13px;font-weight:700;color:#1e293b;line-height:1.3}
.zn-po-dd-store__rate{font-size:11px;color:var(--zv-gold);font-weight:600;margin-top:2px}

/* Nav items inside dropdown */
.zn-po-dropdown-items{padding:8px 10px 12px;display:flex;flex-direction:column;gap:2px}
.zn-po-dd__btn{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;
  border-radius:10px;
  background:transparent;border:none;
  color:#374151;cursor:pointer;
  font-size:14px;font-weight:500;
  text-align:left;width:100%;
  transition:all .15s ease;
  font-family:inherit;
}
.zn-po-dd__btn:hover{background:#f1f5f9;color:#1e293b}
.zn-po-dd__btn--active{
  background:rgba(245,158,11,.1);
  color:var(--zv-gold);
  font-weight:700;
}
.zn-po-dd__icon{font-size:18px;width:22px;text-align:center;flex-shrink:0}

/* Hide dropdown panel on desktop — sidebar is visible */
@media(min-width:1024px){
  .zn-po-dropdown-panel{display:none!important}
  .zn-po-dropdown-overlay{display:none!important}
  .zn-po-menu-btn{display:none}
}

/* ─── When Partner Office is active, suppress platform bottom nav ─── */
body.zn-po-page #zn-bottomnav{
  display:none!important;
}
body.zn-po-page .bb-mobile-nav,
body.zn-po-page .bb-tab-bar{
  display:none!important;
}

/* Dark mode adjustments for dropdown */
@media(prefers-color-scheme:dark){
  .zn-po-dropdown-panel{background:#1e293b;border-color:#334155}
  .zn-po-dropdown-store{background:#0f172a;border-color:#334155}
  .zn-po-dd-store__name{color:#f1f5f9}
  .zn-po-dd__btn{color:#cbd5e1}
  .zn-po-dd__btn:hover{background:#334155;color:#f1f5f9}
  .zn-po-dd__btn--active{background:rgba(245,158,11,.15)}
}

/* ════════════════════════════════════════════════════
   PARTNER OFFICE — BuddyBoss-seamless integration v2
   • White background matching BuddyBoss page chrome
   • Full-width topbar (no white gap on sides)
   • Currency conflict resolved: global switcher stays,
     button in topbar delegates to it via JS
   • Global floating switcher repositioned (not hidden)
     to clear bottom nav and not overlap topbar
════════════════════════════════════════════════════ */

/* ── Page background: pure white to match BuddyBoss ── */
body.zn-po-page {
  background: #fff !important;
  overflow-x: hidden !important;
}
body.zn-po-page .entry-content,
body.zn-po-page .bb-content-area,
body.zn-po-page #buddypress > div,
body.zn-po-page .bp-wrap,
body.zn-po-page .bp-grid-container {
  padding: 0 !important;
  background: transparent !important;
}
body.zn-po-page .buddypress-wrap,
body.zn-po-page #item-body {
  padding: 0 !important;
}

/* ── .zn-po: full viewport width, white base ──────── */
.zn-po {
  background: #fff;
  min-height: calc(100vh - 60px);
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow-x: hidden;
}

/* ── Main content area: white ─────────────────────── */
.zn-po-main {
  background: #fff;
}

/* ── Sidebar: teal gradient on desktop ────────────── */
.zn-po-sidebar {
  background: linear-gradient(175deg, #1a2332 0%, #00897B 100%) !important;
}
.zn-po-sidebar__name  { color: #fff !important; font-weight: 700 !important; }
.zn-po-sidebar__rate  { color: rgba(255,255,255,.65) !important; }
.zn-po-nav__btn       { color: rgba(255,255,255,.75) !important; border-radius: 10px !important; }
.zn-po-nav__btn:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.zn-po-nav__btn--active {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.zn-po-sidebar__store {
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  padding-bottom: 16px !important;
  margin-bottom: 8px !important;
}

/* ── Stat cards: white with teal accent border ─────── */
.zn-po-stat {
  background: #fff !important;
  border: 1px solid #e0f2f0 !important;
  border-radius: 12px !important;
}
.zn-po-stat--highlight {
  background: linear-gradient(135deg, #00BFA5 0%, #00897B 100%) !important;
  border-color: transparent !important;
}

/* ── Info cards ────────────────────────────────────── */
.zn-po-info-card {
  background: #fff !important;
  border: 1px solid #e0f2f0 !important;
  border-radius: 12px !important;
}
.zn-po-info-card--accent { border-color: #00BFA5 !important; }

/* ── Welcome banner: default teal/navy gradient ──────── */
.zn-po-banner:not([style*="background-image"]) {
  background: linear-gradient(135deg, #1a2332 0%, #00897B 100%) !important;
}

/* ── Section headers: white bg ─────────────────────── */
.zn-po-section { background: #fff !important; }

/* ── Currency button in topbar ─────────────────────── */
.zn-po-currency-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px 5px 9px;
  cursor: pointer;
  letter-spacing: .3px;
  transition: background .15s;
  white-space: nowrap;
}
.zn-po-currency-btn:hover {
  background: rgba(255,255,255,.22);
}
.zn-po-currency-btn__code { font-size: 12px; font-weight: 800; }

/* ── Remove stale spacer and old currency slot ──────── */
.zn-po-topbar__spacer,
.zn-po-topbar__currency-slot,
.zn-po-currency-stub { display: none !important; }

/* ── Global floating currency switcher: keep visible above bottom nav ── */
body.zn-po-page #zn-currency-switcher {
  bottom: 90px !important;
  right: 14px !important;
  z-index: 40 !important;
}

/* ── Dropdown panel: positioned by JS from inline header bottom ─────── */
.zn-po-dropdown-panel {
  top: 60px !important; /* fallback; JS overrides dynamically */
  left: 0 !important;
  right: 0 !important;
  border-radius: 0 0 16px 16px !important;
}

/* ── Responsive: sections have subtle separation ─────── */
.zn-po-panel { background: #fff !important; }
.zn-po-panel--active { background: #fff !important; }

/* ── Bottom nav clearance ─────────────────────────────── */
body.zn-has-bottomnav .zn-po-main,
body.zn-has-bottomnav .zn-po-layout {
  padding-bottom: 80px !important;
}

/* ── Dark mode: respect OS preference ─────────────────── */
@media (prefers-color-scheme: dark) {
  body.zn-po-page { background: #0f172a !important; }
  .zn-po,
  .zn-po-main,
  .zn-po-panel,
  .zn-po-panel--active { background: #0f172a !important; }
  .zn-po-stat:not(.zn-po-stat--highlight),
  .zn-po-info-card { background: #1e293b !important; border-color: #334155 !important; }
}

