/*
  NEXORA — web theme
  Source of truth: nexora-design-tokens.md
  Load Sora / Orbitron / JetBrains Mono in <head> before this file:
  <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&family=Sora:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
*/

:root{
  /* Default chrome = Emerald Gold (retired NEXORA cyan/void blue) */
  --nxt-void:#123C32;
  --nxt-bg-1:#F8F4EA;
  --nxt-bg-2:#F3EEE3;
  --nxt-glass:rgba(255,255,255,0.72);
  --nxt-glass-hover:rgba(255,255,255,0.88);
  --nxt-glass-border:rgba(222,211,190,0.95);
  --nxt-cyan:#C9A227;
  --nxt-cyan-dim:rgba(201,162,39,0.16);
  --nxt-violet:#A8861F;
  --nxt-violet-dim:rgba(168,134,31,0.14);
  --nxt-mint:#3fe0a5;
  --nxt-amber:#C9A227;
  --nxt-coral:#ff6b6b;
  --nxt-text:#1F1F1F;
  --nxt-text-dim:#6B6254;
  --nxt-text-faint:#9A9080;
  --nxt-bg:#F8F4EA;
  --nxt-panel:#ffffff;
  --nxt-accent:#C9A227;

  /* typography */
  --nxt-font-display:'Orbitron', sans-serif;
  --nxt-font-body:'Sora', sans-serif;
  --nxt-font-mono:'JetBrains Mono', monospace;

  /* shape */
  --nxt-radius-card:14px;
  --nxt-radius-tile:11px;
  --nxt-radius-pill:999px;
  --nxt-border:0.5px solid var(--nxt-glass-border);

  /* Dashboard FO / TA widgets — follow active theme (overridden per data-hop-theme) */
  --dash-widget-bg:#123C32;
  --dash-widget-bg-deep:#0E322A;
  --dash-widget-bg-header:#164A3E;
  --dash-widget-border:rgba(201, 162, 39, 0.35);
  --dash-widget-text:#F8F4EA;
  --dash-widget-muted:#A8C5B8;
  --dash-widget-accent:#C9A227;
  --dash-widget-accent-fg:#123C32;
  --dash-widget-shadow:rgba(12, 40, 34, 0.28);
  --dash-widget-row-alt:#123C32;
  --dash-widget-surface-border:rgba(255, 255, 255, 0.12);
  --dash-widget-ctrl-border:rgba(201, 162, 39, 0.4);
}

/* ---------- base ----------
   Scoped on .nx-theme, NOT body.nx-theme — this app is a single monolithic
   page, so wrap only the new-screen container in this class, e.g.
   <div class="nx-theme"> ... new screen markup ... </div>
   Applying it to <body> would restyle the whole existing app. */
.nx-theme{
  background:var(--nxt-bg-1);
  color:var(--nxt-text);
  font-family:var(--nxt-font-body);
}

/* ---------- brand mark ---------- */
.nx-brand{display:flex; align-items:center; gap:10px;}
.nx-core{
  --nx-core-glow-a: rgba(37,224,255,0.45);
  --nx-core-glow-b: rgba(154,107,255,0.55);
  width:30px; height:30px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--nxt-cyan), var(--nxt-violet) 75%);
  box-shadow:0 0 0 1px rgba(255,255,255,0.12), 0 0 18px 2px var(--nx-core-glow-a);
  animation:nx-pulse 3.2s ease-in-out infinite;
}
@keyframes nx-pulse{
  0%,100%{ box-shadow:0 0 0 1px rgba(255,255,255,0.12), 0 0 14px 1px var(--nx-core-glow-a); transform:scale(1); }
  50%{ box-shadow:0 0 0 1px rgba(255,255,255,0.18), 0 0 26px 5px var(--nx-core-glow-b); transform:scale(1.06); }
}
.nx-brand-word{font-family:var(--nxt-font-display); font-weight:700; font-size:17px; letter-spacing:0.06em;}
.nx-brand-sub{font-family:var(--nxt-font-mono); font-size:9.5px; color:var(--nxt-text-faint); letter-spacing:0.12em;}

/* ---------- cards / panels ---------- */
.nx-card{
  background:var(--nxt-glass);
  border:var(--nxt-border);
  border-radius:var(--nxt-radius-card);
  padding:16px;
  position:relative;
}
.nx-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
}
.nx-card:hover{background:var(--nxt-glass-hover);}

/* ---------- nav ---------- */
.nx-nav-item{
  display:flex; align-items:center; gap:11px;
  padding:9px 10px; border-radius:10px;
  font-size:13px; font-weight:500; color:var(--nxt-text-dim);
  border:0.5px solid transparent;
  text-decoration:none;
}
.nx-nav-item svg{width:17px; height:17px;}
.nx-nav-item.active{
  background:linear-gradient(90deg, var(--nxt-cyan-dim), transparent);
  border-color:rgba(37,224,255,0.25);
  color:var(--nxt-text);
}
.nx-nav-item.active svg{filter:drop-shadow(0 0 4px rgba(37,224,255,0.7)); color:var(--nxt-cyan);}

/* ---------- buttons ---------- */
.nx-btn{
  font-family:var(--nxt-font-body); font-weight:500; font-size:13px;
  padding:9px 16px; border-radius:10px; border:var(--nxt-border);
  background:var(--nxt-glass); color:var(--nxt-text); cursor:pointer;
}
.nx-btn:hover{background:var(--nxt-glass-hover);}
.nx-btn-primary{
  background: var(--hop-c-accent, var(--nx-gold, #C9A227));
  color: #ffffff;
  border: 1px solid var(--hop-c-accent, var(--nx-gold, #C9A227));
  font-weight:600;
  background-image: none;
}

/* ---------- status pills ---------- */
.nx-pill{font-family:var(--nxt-font-mono); font-size:10.5px; padding:3px 10px; border-radius:var(--nxt-radius-pill);}
.nx-pill-success{color:var(--nxt-mint); background:rgba(63,224,165,0.12);}
.nx-pill-warning{color:var(--nxt-amber); background:rgba(255,182,72,0.12);}
.nx-pill-danger{color:var(--nxt-coral); background:rgba(255,107,107,0.12);}
.nx-pill-info{color:var(--nxt-cyan); background:var(--nxt-cyan-dim);}

/* ---------- text utilities ---------- */
.nx-mono{font-family:var(--nxt-font-mono);}
.nx-display{font-family:var(--nxt-font-display);}
.nx-text-dim{color:var(--nxt-text-dim);}
.nx-text-faint{color:var(--nxt-text-faint);}

/* ---------- icon tile ---------- */
.nx-icon-tile{
  width:42px; height:42px; border-radius:var(--nxt-radius-tile);
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 35% 30%, var(--nxt-cyan-dim), transparent 70%);
  border:0.5px solid rgba(37,224,255,0.22);
  color:var(--nxt-cyan);
}
.nx-icon-tile svg{width:20px; height:20px; filter:drop-shadow(0 0 5px rgba(37,224,255,0.5));}

/* ---------- Order Cycle accordion (first .nx-theme screen) ---------- */
.nx-theme.nx-oc-screen{
  min-height:100%;
  padding:6px 4px 28px;
  border-radius:var(--nxt-radius-card);
}
.nx-oc-header{align-items:flex-start;}
.nx-oc-header h2{
  margin:4px 0 0;
  font-size:1.35rem;
  letter-spacing:0.04em;
  color:var(--nxt-text);
}
.nx-oc-subtitle{margin:6px 0 0; font-size:0.82rem; line-height:1.45;}
.nx-oc-accordion{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}
.nx-oc-empty{margin-top:18px; font-size:0.88rem;}

/* ---------- Order Fulfillment (compact tools + large data pane) ---------- */
.nx-theme.nx-of-screen{
  display:flex;
  flex-direction:column;
  height:100%;
  max-height:100%;
  min-height:0;
  padding:0;
  gap:8px;
  overflow:hidden;
  box-sizing:border-box;
}

/* Vyapar-style: secondary rail + right stage — inherit active hop theme (no navy lock-in) */
.nx-theme.nx-of-screen.nx-of-vyapar{
  flex-direction:row;
  gap:0;
  background:var(--hop-c-bg, var(--nxt-bg, #F8F4EA));
}
.of-rail{
  flex:0 0 232px;
  width:232px;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px 10px 12px;
  border-right:1px solid color-mix(in srgb, var(--hop-c-border, var(--nxt-text, #DED3BE)) 55%, transparent);
  background:var(--hop-c-card, var(--nxt-panel, #ffffff));
  min-height:0;
  box-sizing:border-box;
}
.of-rail-head{padding:2px 8px 8px;}
.of-rail-kicker{
  margin:0;
  font-size:0.62rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-rail-title{
  margin:4px 0 0;
  font-family:'Sora', 'Segoe UI', system-ui, sans-serif;
  font-size:0.95rem;
  font-weight:700;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  letter-spacing:-0.02em;
  line-height:1.25;
}
.of-rail-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:0 2px;
}
.of-rail-nav > .of-rail-back{
  margin-top:auto;
  align-self:stretch;
  justify-content:center;
  flex:0 0 auto;
}
.of-rail-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  border:0;
  border-radius:10px;
  padding:10px 10px;
  cursor:pointer;
  background:transparent;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  font:inherit;
  position:relative;
}
.of-rail-item:hover{
  background:color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #c9a227)) 12%, transparent);
}
.of-rail-item.is-active{
  background:color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #c9a227)) 18%, transparent);
  box-shadow:inset 3px 0 0 var(--hop-c-accent, var(--nxt-accent, #c9a227));
}
.of-rail-num{
  flex:0 0 auto;
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0.68rem;
  font-weight:700;
  background:color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #c9a227)) 85%, #fff);
  color:#111;
}
.of-rail-text{display:flex; flex-direction:column; gap:1px; min-width:0;}
.of-rail-label{font-size:0.86rem; font-weight:600; line-height:1.2;}
.of-rail-hint{font-size:0.68rem; color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));}
.of-rail-back{
  margin-top:auto;
  align-self:stretch;
  justify-content:center;
}
#of-rail-back-btn.hidden,
.of-rail-back.hidden{
  display:none !important;
}
.of-stage{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px 14px 14px;
  overflow:hidden;
  background:var(--hop-c-bg, var(--nxt-bg, #F8F4EA));
}
.of-stage-head{flex:0 0 auto;}
.of-stage-titles .hop-eyebrow{margin:0;}
.of-stage-titles .nx-display{
  margin:2px 0 0;
  font-family:'Sora', 'Segoe UI', system-ui, sans-serif;
  font-size:0.95rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.25;
}
.of-stage-sub{
  margin:4px 0 0;
  font-size:0.8rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
  max-width:52rem;
}
.of-pane{
  flex:1 1 auto;
  min-height:0;
  display:none;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
.of-pane.is-active{display:flex;}
.of-pane-toolbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.of-pane-toolbar--wrap{flex-wrap:wrap;}
.of-pane-toolbar input[type=file],
.of-pane-toolbar select{
  max-width:min(100%, 260px);
  font:inherit;
  font-size:0.8rem;
}
.of-pane-toolbar .nx-of-tabs{margin-left:auto; display:flex; gap:6px; flex-wrap:wrap;}
.of-pane-body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
.of-pane-card{
  padding:14px 16px;
}
.of-pane-card--fill{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.of-pane-card-title{
  margin:0 0 6px;
  font-size:0.95rem;
  color:var(--nxt-text, #f8fafc);
}
.of-pane-card-head{flex:0 0 auto; margin-bottom:8px;}
.of-pane-help{
  margin:6px 0 0;
  font-size:0.78rem;
  color:var(--nxt-text-dim, #94a3b8);
  line-height:1.45;
}

/* CI upload / party-match result — theme-aware (not dark-only inline colors) */
/* Invoice (CI) pane: allow scrolling past long bulk-upload results */
.of-pane[data-of-pane="invoice-ci"] .of-pane-body{
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.of-ci-result{
  display:block;
  flex:0 1 auto;
  min-height:0;
  margin:0 0 0.85rem;
  padding:0.85rem 1rem;
  border-radius:var(--nxt-radius-card, 12px);
  border:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  background:var(--hop-c-card, var(--nxt-panel, #ffffff));
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  font-size:0.9rem;
  line-height:1.45;
  white-space:normal;
  overflow:auto;
  max-height:min(52vh, 520px);
}
.of-ci-result[hidden]{display:none !important;}
.of-ci-result:empty{display:none;}
.of-ci-result .of-ci-title{
  margin:0 0 0.45rem;
  font-weight:700;
  font-size:0.95rem;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-ci-result .of-ci-title.is-ok{color:var(--nxt-mint, #059669);}
.of-ci-result .of-ci-title.is-warn{color:var(--nxt-amber, #B45309);}
.of-ci-result .of-ci-title.is-bad{color:var(--nxt-coral, #DC2626);}
.of-ci-result .of-ci-note,
.of-ci-result .of-ci-muted{
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
  font-size:0.86rem;
}
.of-ci-result .form-group label{
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-ci-result .form-group label span{
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254)) !important;
}
.of-ci-result .data-table{
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-ci-result .data-table td{
  color:inherit;
}
.of-ci-party-match{
  margin:0.55rem 0 0.75rem;
  padding:0.7rem 0.85rem;
  border-radius:10px;
  border:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  background:color-mix(in srgb, var(--hop-c-bg, var(--nxt-bg-2, #F3EEE3)) 88%, #fff);
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-ci-party-match.is-matched{
  border-color:color-mix(in srgb, var(--nxt-mint, #059669) 55%, var(--hop-c-border, #DED3BE));
  background:color-mix(in srgb, var(--nxt-mint, #059669) 12%, #fff);
}
.of-ci-party-match.is-mismatch,
.of-ci-party-match.is-bad{
  border-color:color-mix(in srgb, var(--nxt-coral, #DC2626) 50%, var(--hop-c-border, #DED3BE));
  background:color-mix(in srgb, var(--nxt-coral, #DC2626) 10%, #fff);
}
.of-ci-party-match.is-ambiguous,
.of-ci-party-match.is-unmatched,
.of-ci-party-match.is-warn{
  border-color:color-mix(in srgb, var(--nxt-amber, #B45309) 45%, var(--hop-c-border, #DED3BE));
  background:color-mix(in srgb, var(--nxt-amber, #B45309) 12%, #fff);
}
.of-ci-party-match__status{
  font-weight:700;
  font-size:0.9rem;
  margin:0 0 0.25rem;
  color:inherit;
}
.of-ci-party-match.is-matched .of-ci-party-match__status{color:var(--nxt-mint, #047857);}
.of-ci-party-match.is-mismatch .of-ci-party-match__status,
.of-ci-party-match.is-bad .of-ci-party-match__status{color:var(--nxt-coral, #B91C1C);}
.of-ci-party-match.is-ambiguous .of-ci-party-match__status,
.of-ci-party-match.is-unmatched .of-ci-party-match__status,
.of-ci-party-match.is-warn .of-ci-party-match__status{color:var(--nxt-amber, #92400E);}
.of-ci-party-match__msg{
  margin:0;
  font-size:0.86rem;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  opacity:0.92;
}
.of-ci-party-match__meta{
  margin:0.4rem 0 0;
  font-size:0.84rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-ci-party-match__meta strong{
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  font-weight:650;
}
.of-ci-party-match__candidates{
  margin-top:0.35rem;
  font-size:0.82rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-ci-ack{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin:10px 0;
  color:var(--nxt-coral, #B91C1C);
}

.of-ci-dropzone{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0 0 0.85rem;
  padding:1.15rem 1rem;
  border:1.5px dashed color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #C9A227)) 45%, var(--hop-c-border, #DED3BE));
  border-radius:var(--nxt-radius-card, 12px);
  background:color-mix(in srgb, var(--hop-c-bg, var(--nxt-bg-2, #F3EEE3)) 70%, #fff);
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  cursor:pointer;
  text-align:center;
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.of-ci-dropzone:hover,
.of-ci-dropzone:focus-visible{
  outline:none;
  border-color:var(--hop-c-accent, var(--nxt-accent, #C9A227));
  background:color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #C9A227)) 10%, #fff);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #C9A227)) 18%, transparent);
}
.of-ci-dropzone.is-dragover{
  border-color:var(--hop-c-accent, var(--nxt-accent, #C9A227));
  background:color-mix(in srgb, var(--hop-c-accent, var(--nxt-accent, #C9A227)) 16%, #fff);
}
.of-ci-dropzone.is-busy{
  opacity:0.72;
  pointer-events:none;
}
.of-ci-dropzone__title{
  font-size:0.95rem;
  font-weight:700;
}
.of-ci-dropzone__hint{
  font-size:0.8rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-ci-dropzone__files{
  margin-top:2px;
  font-size:0.78rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-ci-dropzone__files.is-active{
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
  font-weight:600;
}
.of-ci-bulk-wrap{
  margin-top:0.65rem;
  max-height:min(40vh, 380px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  border-radius:8px;
}
.of-ci-bulk-table{
  width:100%;
  margin:0;
  border-collapse:collapse;
  font-size:0.84rem;
}
.of-ci-bulk-table th,
.of-ci-bulk-table td{
  text-align:left;
  padding:0.4rem 0.45rem;
  border-bottom:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  vertical-align:top;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-ci-bulk-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:var(--hop-c-card, var(--nxt-panel, #ffffff));
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
  font-weight:650;
  box-shadow:0 1px 0 var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
}
.of-pay-summary{
  font-size:0.85rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
  margin-left:0.5rem;
}
.of-pay-board{
  padding:0.5rem 0.75rem 1rem;
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}
.of-pay-dist{
  border:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  border-radius:10px;
  overflow:hidden;
  background:var(--hop-c-card, var(--nxt-panel, #fff));
}
.of-pay-dist-head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:0.4rem 1rem;
  padding:0.7rem 0.85rem;
  border-bottom:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  background:var(--hop-c-soft, rgba(0,0,0,0.02));
}
.of-pay-meta{
  font-size:0.82rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-pay-order{
  border-top:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
}
.of-pay-order:first-of-type{ border-top:none; }
.of-pay-order-sum{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.45rem 0.75rem;
  padding:0.65rem 0.85rem;
  cursor:pointer;
  list-style:none;
}
.of-pay-order-sum::-webkit-details-marker{ display:none; }
.of-pay-order-ref{
  font-weight:650;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-pay-pill{
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.02em;
  padding:0.15rem 0.45rem;
  border-radius:999px;
  background:#E8E4DC;
  color:#5A5348;
}
.of-pay-pill.is-paid{ background:#D9F2E3; color:#1B6B3A; }
.of-pay-pill.is-partial{ background:#FCECC8; color:#8A5A12; }
.of-pay-pill.is-due{ background:#F8D9D6; color:#8B2E28; }
.of-pay-order-body{
  padding:0 0.85rem 0.85rem;
}
.of-pay-table{ width:100%; margin-bottom:0.65rem; }
.of-pay-num{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.of-pay-add-form{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem 0.75rem;
  align-items:flex-end;
}
.of-pay-add-form label{
  display:flex;
  flex-direction:column;
  gap:0.2rem;
  font-size:0.78rem;
  color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));
}
.of-pay-add-form input{
  min-width:8.5rem;
  padding:0.35rem 0.45rem;
  border:1px solid var(--hop-c-border, var(--nxt-glass-border, #DED3BE));
  border-radius:6px;
  background:#fff;
  color:var(--hop-c-text, var(--nxt-text, #1F1F1F));
}
.of-ci-bulk-status.is-ok{color:var(--nxt-mint, #047857); font-weight:650;}
.of-ci-bulk-status.is-warn{color:var(--nxt-amber, #92400E); font-weight:650;}
.of-ci-bulk-status.is-bad{color:var(--nxt-coral, #B91C1C); font-weight:650;}
.of-ci-bulk-status.is-run{color:var(--hop-c-muted, var(--nxt-text-dim, #6B6254));}

.of-pane-card--fill .of-tracking-wrap{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.of-pane .nx-of-preview.of-pane-card--fill{
  display:flex;
  flex-direction:column;
}
.of-pane .nx-of-preview.of-pane-card--fill.hidden{display:none;}
.of-pane .nx-of-preview .of-pack-meta{flex:0 0 auto;}
.of-pane .nx-of-preview .of-tracking-wrap{flex:1 1 auto;}
.of-rail-nav.hidden{display:none !important;}
.of-saved-distributor-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:120px;
  max-height:none;
  flex:1 1 auto;
  overflow:auto;
  padding-right:2px;
}

.of-tree-dist{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.of-tree-seasons{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 4px 10px;
  padding-left:8px;
  border-left:2px solid color-mix(in srgb, var(--nx-primary, #2f6fed) 35%, transparent);
}
.of-tree-season-btn,
.of-tree-order-btn{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:8px;
  text-align:left;
  border:1px solid color-mix(in srgb, var(--nx-border, #2a3344) 80%, transparent);
  background:color-mix(in srgb, var(--nx-surface, #121820) 88%, transparent);
  color:inherit;
  border-radius:10px;
  padding:8px 10px;
  cursor:pointer;
}
.of-tree-season-btn:hover,
.of-tree-order-btn:hover{
  border-color:color-mix(in srgb, var(--nx-primary, #2f6fed) 45%, transparent);
}
.of-tree-order-btn.is-active{
  border-color:color-mix(in srgb, var(--nx-primary, #2f6fed) 70%, transparent);
  background:color-mix(in srgb, var(--nx-primary, #2f6fed) 12%, transparent);
}
.of-tree-folder-ico{
  flex:0 0 auto;
  line-height:1.2;
}
.of-tree-orders{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:4px 0 2px 12px;
}
.of-tree-ci-dist td{
  background:color-mix(in srgb, var(--nx-primary, #2f6fed) 10%, transparent);
  font-weight:600;
}
.of-tree-ci-season td{
  color:color-mix(in srgb, var(--nx-text, #e8eef8) 75%, transparent);
  font-size:0.9em;
}

/* Saved Orders: stable board — no layout jump on distributor switch */
.nx-theme.nx-of-screen.nx-of-vyapar.is-saved-orders .of-rail{
  flex:0 0 220px;
  width:220px;
}
.nx-theme.nx-of-screen.nx-of-vyapar.is-saved-orders .of-stage{
  padding:8px 10px 10px;
  gap:8px;
}
.nx-theme.nx-of-screen.nx-of-vyapar.is-saved-orders .of-stage-head{
  display:none !important;
}
.nx-theme.nx-of-screen.nx-of-vyapar.is-saved-orders .of-rail-back,
.nx-theme.nx-of-screen.nx-of-vyapar.is-saved-orders #of-rail-back-btn{
  display:none !important;
}

.of-saved-workspace{
  display:none;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
  gap:8px;
  overflow:hidden;
}
.of-saved-workspace.is-open{
  display:flex !important;
}

.of-saved-toolbar,
.of-saved-toolbar--compact{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--hop-c-border, #DED3BE);
  border-radius:10px;
  background:#ffffff;
  min-height:72px;
  box-sizing:border-box;
}
.of-saved-toolbar-top{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:34px;
}
.of-saved-toolbar-id{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1 1 auto;
}
.of-saved-toolbar--compact strong{
  font-family:var(--nxt-font-body), 'Segoe UI', system-ui, sans-serif;
  font-size:13px;
  font-weight:600;
  color:var(--hop-c-text, #1F1F1F);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:min(420px, 50vw);
  flex:0 1 auto;
}
/* Order picker next to distributor title — permanently hidden (season chips cover it) */
.of-saved-toolbar--compact select,
#of-saved-order-pick{
  display:none !important;
}
.of-saved-toolbar-actions{
  display:flex;
  gap:8px;
  align-items:center;
  margin-left:auto;
  flex:0 0 auto;
}
.of-saved-toolbar--compact .nx-btn{
  height:32px;
  padding:0 12px;
  font-size:0.78rem;
  white-space:nowrap;
}
.of-saved-toolbar--compact .nx-btn-danger{
  border-color:#c45c5c;
  color:#9b2c2c;
  background:#fff5f5;
}
.of-saved-toolbar--compact .nx-btn-danger:hover{
  background:#ffe8e8;
  border-color:#b33a3a;
  color:#7f1d1d;
}

.of-saved-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  min-height:26px;
  font-family:var(--nxt-font-body), 'Segoe UI', system-ui, sans-serif;
  font-size:12px;
  color:var(--hop-c-muted, #6B6254);
}
.of-saved-chip{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 9px;
  border-radius:6px;
  background:#F5F0E6;
  border:1px solid #E5DCC8;
  color:#3F3A32;
  font-size:11px;
  font-weight:500;
  white-space:nowrap;
}
.of-saved-chip--accent{
  background:color-mix(in srgb, var(--hop-c-accent, #C9A227) 18%, #fff);
  border-color:color-mix(in srgb, var(--hop-c-accent, #C9A227) 40%, #E5DCC8);
}

.of-saved-table-wrap{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  overflow:auto;
  border:1px solid var(--hop-c-border, #DED3BE);
  border-radius:10px;
  background:#ffffff;
}

#of-saved-detail-table.of-saved-detail-table,
.of-saved-table-wrap .of-saved-detail-table{
  width:max-content !important;
  min-width:100% !important;
  table-layout:auto !important;
  border-collapse:collapse !important;
  background:#ffffff !important;
}
.of-saved-table-wrap .of-saved-detail-table th,
.of-saved-table-wrap .of-saved-detail-table td{
  min-width:64px !important;
  font-size:0.68rem !important;
  padding:5px 8px !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
  border:0 !important;
  border-bottom:1px solid #E8E0D0 !important;
  text-align:left !important;
  vertical-align:middle !important;
  color:#1F1F1F !important;
  background:#ffffff !important;
}
.of-saved-table-wrap .of-saved-detail-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  background:#F3EEE3 !important;
  color:#4A4338 !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:0.04em !important;
  font-size:0.64rem !important;
}
.of-saved-table-wrap .of-saved-detail-table tbody tr:nth-child(even) td{
  background:#FAF7F1 !important;
}
.of-saved-table-wrap .of-saved-detail-table tbody tr:hover td{
  background:#F1EBDD !important;
}
.of-saved-ok{
  display:inline-flex;
  width:16px;
  height:16px;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  background:#E6F4EA;
  color:#137333;
  font-size:11px;
  font-weight:700;
}
.of-match-status{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:22px;
  padding:2px 8px;
  border-radius:6px;
  font-size:0.72rem;
  font-weight:650;
  white-space:nowrap;
  width:auto;
  max-width:none;
}
.of-match-status--ok{
  background:#E6F4EA;
  color:#137333;
}
.of-match-status--flag{
  background:#FFF4E5;
  color:#B06000;
}
.of-saved-table-wrap .of-saved-detail-table td.of-match-col-status,
.of-saved-table-wrap .of-saved-detail-table td.of-match-col-so{
  padding-left:12px !important;
  padding-right:12px !important;
  min-width:96px !important;
}
.of-saved-table-wrap .of-saved-detail-table td.of-match-col-so{
  min-width:128px !important;
  letter-spacing:0.01em;
  color:#3D3A33 !important;
  font-weight:550 !important;
}
.of-saved-no{
  display:inline-flex;
  width:16px;
  height:16px;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  background:#FCE8E6;
  color:#C5221F;
  font-size:11px;
  font-weight:700;
}
.of-saved-flag{
  color:#B06000;
  font-size:11px;
}

.pm-action-btns{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.pm-text-btn{
  border:1px solid #D6CBB4;
  background:#FFFDF8;
  color:#1F1F1F;
  border-radius:8px;
  padding:5px 10px;
  font-size:0.72rem;
  font-weight:650;
  cursor:pointer;
  line-height:1.2;
  white-space:nowrap;
}
.pm-text-btn.pm-text-edit:hover{
  border-color:#C9A227;
  background:#FFF8E8;
  color:#7A5A00;
}
.pm-icon-btn{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  border:1px solid #E2D8C4;
  background:#fff;
  color:#5C5346;
  cursor:pointer;
  padding:0;
}
.pm-icon-btn svg{width:14px;height:14px;display:block;}
.pm-icon-btn.pm-icon-delete{color:#B42318;border-color:#F0C7C2;background:#FFF5F4;}
.pm-icon-btn.pm-icon-delete:hover{background:#FEE4E2;}

#of-rail-saved-nav .of-rail-item,
#of-rail-saved-nav .of-saved-distributor-btn{
  font-family:var(--nxt-font-body), 'Segoe UI', system-ui, sans-serif;
  font-size:13px;
  font-weight:500;
  color:var(--hop-c-muted, #6B6254);
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:8px 8px !important;
  gap:0;
  min-height:44px;
  align-items:flex-start;
  transition:none;
}
#of-rail-saved-nav .of-rail-item:hover,
#of-rail-saved-nav .of-saved-distributor-btn:hover{
  background:transparent !important;
  color:var(--hop-c-text, #1F1F1F);
}
#of-rail-saved-nav .of-rail-item.is-active,
#of-rail-saved-nav .of-saved-distributor-btn.is-active{
  background:transparent !important;
  box-shadow:none !important;
  color:var(--hop-c-text, #1F1F1F);
  font-weight:600;
}
#of-rail-saved-nav .of-rail-item.is-active .of-rail-label,
#of-rail-saved-nav .of-saved-distributor-btn.is-active .of-rail-label{
  color:var(--hop-c-text, #1F1F1F);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:2px;
  text-decoration-color:var(--hop-c-accent, #C9A227);
}
#of-rail-saved-nav .of-rail-num{
  display:none !important;
}
#of-rail-saved-nav .of-rail-label{
  font-family:var(--nxt-font-body), 'Segoe UI', system-ui, sans-serif;
  font-size:13px;
  font-weight:inherit;
  letter-spacing:0;
  color:inherit;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
#of-rail-saved-nav .of-rail-hint{
  font-family:var(--nxt-font-body), 'Segoe UI', system-ui, sans-serif;
  font-size:11px;
  font-weight:400;
  letter-spacing:0;
  color:var(--hop-c-muted, #6B6254);
  opacity:0.9;
  white-space:nowrap;
}

@media (max-width: 900px){
  .nx-theme.nx-of-screen.nx-of-vyapar{
    flex-direction:column;
    overflow:auto;
  }
  .of-rail{
    flex:0 0 auto;
    width:100%;
    border-right:0;
    border-bottom:1px solid color-mix(in srgb, var(--nxt-text, #e2e8f0) 12%, transparent);
  }
  .of-rail-nav{
    flex-direction:row;
    overflow:auto;
    gap:6px;
  }
  .of-rail-item{
    flex:0 0 auto;
    min-width:148px;
  }
  .of-rail-item.is-active{box-shadow:inset 0 -3px 0 var(--nxt-accent, #c9a227);}
  .of-stage{overflow:visible;}
  .of-pane-body{overflow:visible;}
}

.nx-of-top{
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.nx-of-top-title{flex:0 0 auto; min-width:140px;}
.nx-of-top-title .hop-eyebrow{margin:0; font-size:0.62rem;}
.nx-of-top-title h2{
  margin:2px 0 0;
  font-size:1.05rem;
  letter-spacing:0.04em;
  color:var(--nxt-text);
}
.nx-of-profile-bar{
  flex:1 1 280px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  min-width:0;
}
.nx-of-profile-bar label{
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1 1 0;
  min-width:0;
  font-size:0.62rem;
  color:var(--nxt-text-dim);
}
.nx-of-profile-bar input{
  width:100%;
  box-sizing:border-box;
  padding:6px 8px;
  border-radius:8px;
  border:var(--nxt-border);
  background:rgba(0,0,0,0.28);
  color:var(--nxt-text);
  font:inherit;
  font-size:0.74rem;
  min-height:30px;
}
.nx-of-profile-bar .nx-btn,
.nx-of-top .back-btn{
  flex:0 0 auto;
  min-height:30px;
  padding:6px 12px;
  font-size:12px;
  align-self:flex-end;
}
.nx-of-screen > .nx-of-msg{
  flex:0 0 auto;
  margin:0;
}
.of-upload-grid{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:6px;
  align-items:stretch;
}
.of-step-card{
  display:flex !important;
  flex-direction:column;
  gap:5px;
  padding:8px 9px !important;
  margin:0;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
}
.of-step-head{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.of-step-num{
  flex:0 0 auto;
  width:18px;
  height:18px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0.62rem;
  font-weight:700;
  color:#05070c;
  background:linear-gradient(135deg, #25e0ff, #9a6bff);
}
.of-step-card h3{
  margin:0;
  font-size:0.78rem;
  font-weight:700;
  line-height:1.15;
  color:inherit;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.of-step-card input[type=file],
.of-step-card select{
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:4px 6px;
  border-radius:7px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,0,0,0.25);
  color:var(--nxt-text);
  font-size:0.66rem;
  min-height:28px;
  max-height:28px;
}
.of-step-extra{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
}
.of-step-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
}
.of-step-actions .nx-btn:only-child{
  grid-column:1 / -1;
}
.of-step-actions .nx-btn{
  min-height:28px;
  padding:4px 6px;
  font-size:11px;
  width:100%;
  border-radius:8px;
}
.of-btn-ghost{display:none !important;}
.of-step-foot{display:none;}
.nx-of-msg{
  margin:0;
  font-size:0.62rem;
  line-height:1.2;
  color:var(--nxt-text-dim);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:0;
}
.nx-of-msg:empty{display:none;}
.nx-of-summary{
  margin:0;
  font-size:0.6rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nx-of-summary.hidden{display:none !important;}
.nx-of-bottom{
  flex:1 1 0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  overflow:hidden;
}
.nx-of-bottom-bar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.nx-of-bottom-tabs,
.nx-of-bottom-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.nx-of-bottom-tabs .nx-btn,
.nx-of-bottom-actions .nx-btn{
  min-height:30px;
  padding:6px 11px;
  font-size:12px;
}
.nx-of-panel{
  margin:0;
  padding:8px 10px !important;
  display:none;
  flex-direction:column;
  flex:1 1 0;
  min-height:0;
  overflow:hidden;
}
.nx-of-bottom.is-pack .nx-of-preview,
.nx-of-bottom.is-tracking .nx-of-tracking{
  display:flex !important;
}
.nx-of-preview.hidden{display:none !important;}
.nx-of-bottom.is-pack #of-so-pack-sheet-tabs{display:flex;}
.nx-of-bottom.is-tracking #of-so-pack-sheet-tabs{display:none;}
.nx-of-bottom.is-pack #of-tracking-refresh-btn{display:none;}
.nx-of-bottom.is-tracking #of-tracking-refresh-btn{display:inline-flex;}
.of-pack-meta{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:6px;
}
.nx-of-panel-status{
  margin:0;
  font-size:0.72rem;
  line-height:1.3;
  color:var(--nxt-text-dim);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.of-kpi-strip{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:5px;
  width:100%;
  overflow:visible;
}
.of-kpi-cell{
  min-width:0;
  padding:6px 7px;
  border-radius:8px;
  border:var(--nxt-border);
  background:rgba(255,255,255,0.035);
}
.of-kpi-cell span{
  display:block;
  font-size:0.54rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--nxt-text-faint);
  margin-bottom:2px;
}
.of-kpi-cell strong{
  display:block;
  font-family:var(--nxt-font-display);
  font-size:clamp(0.66rem, 0.95vw, 0.82rem);
  font-weight:700;
  color:var(--nxt-text);
  line-height:1.2;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.nx-of-tabs{display:flex; gap:6px; flex-wrap:wrap; margin:0;}
.nx-theme.nx-of-screen .of-tracking-wrap{
  flex:1 1 0;
  min-height:0;
  overflow:auto;
  margin-top:0;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:10px;
  background:rgba(0,0,0,0.18);
}
.nx-theme.nx-of-screen .data-table{
  font-family:var(--nxt-font-body);
  font-size:0.78rem;
  width:100%;
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.nx-theme.nx-of-screen .data-table th{
  font-size:0.66rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#e8eef8;
  position:sticky;
  top:0;
  background:rgba(10,14,24,0.98);
  z-index:1;
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  white-space:nowrap;
  text-align:left;
}
.nx-theme.nx-of-screen .data-table td{
  padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,0.05);
  white-space:nowrap;
  color:var(--nxt-text);
  vertical-align:middle;
}
.nx-theme.nx-of-screen .data-table tbody tr:hover td{
  background:rgba(37,224,255,0.05);
}
.nx-theme.nx-of-screen .of-pack-table{
  table-layout:auto;
}

@media (max-width: 1280px){
  .of-upload-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
  .of-kpi-strip{grid-template-columns:repeat(4, minmax(0, 1fr));}
}
@media (max-width: 900px){
  .nx-theme.nx-of-screen{overflow:auto;}
  .of-upload-grid{grid-template-columns:1fr 1fr;}
  .of-kpi-strip{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .nx-of-bottom{min-height:320px;}
}

/* ---------- Settings (Theme studio for North Head) ---------- */
.nx-theme.nx-settings-screen{
  display:flex;
  flex-direction:column;
  height:100%;
  max-height:100%;
  min-height:0;
  gap:12px;
  overflow:hidden;
  box-sizing:border-box;
}
.nx-settings-top{flex:0 0 auto; margin:0;}
.nx-settings-main--solo,
.nx-settings-main{
  flex:1 1 0;
  min-width:0;
  min-height:0;
  overflow:auto;
  border-radius:14px;
  border:var(--nxt-border);
  background:var(--nxt-glass);
  padding:12px 14px 18px;
}
.nx-settings-layout{
  flex:1 1 0;
  min-height:0;
  display:grid;
  grid-template-columns:180px minmax(0, 1fr);
  gap:12px;
  overflow:hidden;
}
.nx-settings-side{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px;
  border-radius:14px;
  border:var(--nxt-border);
  background:var(--nxt-glass);
  align-self:start;
}
.nx-settings-nav-btn{
  width:100%;
  justify-content:flex-start;
  text-align:left;
}
.nx-settings-panel .hop-view-header,
.nx-settings-panel .inv-topbar{
  display:none;
}
.nx-settings-note{
  margin:0 0 12px;
  font-size:0.82rem;
  line-height:1.4;
}
.nx-settings-panel-block.hidden{display:none !important;}
.nx-settings-company-card{
  max-width:520px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px 16px 14px;
}
.nx-settings-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:0.72rem;
  color:var(--nxt-text-dim);
}
.nx-settings-field input{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  border-radius:10px;
  border:var(--nxt-border);
  background:rgba(0,0,0,0.28);
  color:var(--nxt-text);
  font:inherit;
  font-size:0.86rem;
  min-height:36px;
}
.nx-settings-company-actions{
  display:flex;
  gap:8px;
  margin-top:4px;
}
.nx-settings-company-msg{
  display:none !important;
}

/* Company profile — clean executive form */
.bd-company-panel{
  max-width:560px;
  margin:0 auto;
  padding:8px 4px 24px;
}
.bd-company-hero{
  margin:0 0 18px;
}
.bd-company-kicker{
  margin:0 0 6px;
  font-size:0.68rem;
  font-weight:650;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--nxt-text-faint, #64748b);
}
.bd-company-heading{
  margin:0 0 8px;
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--nxt-text, #0f172a);
}
.bd-company-lead{
  margin:0;
  font-size:0.84rem;
  line-height:1.5;
  color:var(--nxt-text-dim, #64748b);
  max-width:42em;
}
.bd-company-card.nx-settings-company-card{
  max-width:none;
  gap:16px;
  padding:22px 22px 18px;
  border-radius:16px;
}
.bd-company-field .bd-company-label{
  font-size:0.7rem;
  font-weight:650;
  letter-spacing:0.04em;
  text-transform:uppercase;
  opacity:0.75;
  margin-bottom:2px;
}
.bd-company-field input{
  min-height:42px !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  font-size:0.92rem !important;
  letter-spacing:0.01em;
}
#bd-company-gst{
  font-family:var(--nxt-font-mono), 'JetBrains Mono', ui-monospace, monospace;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.bd-company-actions{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid rgba(15, 23, 42, 0.08);
  justify-content:flex-end;
}
.bd-company-save{
  min-width:132px;
  min-height:40px !important;
  font-weight:700 !important;
  letter-spacing:0.02em;
}
.bd-home-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.bd-home-actions{
  flex:0 0 auto;
  display:flex;
  gap:8px;
  align-items:center;
}

/* ---------- Order Desk hub ---------- */
.nx-theme.nx-od-screen{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  gap:16px;
  padding:4px 2px 12px;
  box-sizing:border-box;
}
.nx-od-hub{
  gap:18px;
  max-width:1080px;
}
.nx-od-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.nx-od-hero-copy{
  min-width:0;
  max-width:42rem;
}
.nx-od-hero .hop-eyebrow{margin:0 0 4px;}
.nx-od-hero h2{
  margin:0;
  font-size:clamp(1.55rem, 2.4vw, 2rem);
  letter-spacing:0.02em;
  line-height:1.15;
}
.nx-od-top{
  align-items:flex-start;
  justify-content:space-between;
}
.nx-od-lead{
  margin:8px 0 0;
  max-width:40rem;
  font-size:0.9rem;
  line-height:1.55;
}
.nx-od-feature{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap:0;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.12);
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(37,224,255,0.12), transparent 55%),
    radial-gradient(90% 80% at 100% 100%, rgba(154,107,255,0.10), transparent 50%),
    linear-gradient(160deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  box-shadow:0 18px 48px rgba(0,0,0,0.22);
}
.nx-od-feature-main{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:26px 28px 24px;
  min-width:0;
}
.nx-od-feature-badge{
  display:inline-flex;
  align-self:flex-start;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  font-size:0.62rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:inherit;
  opacity:0.8;
}
.nx-od-feature-main h3{
  margin:0;
  font-size:clamp(1.35rem, 2vw, 1.7rem);
  letter-spacing:0.02em;
  line-height:1.15;
}
.nx-od-feature-main > .nx-text-dim{
  margin:0;
  max-width:34rem;
  font-size:0.9rem;
  line-height:1.55;
}
.nx-od-feature-cta{
  margin-top:8px;
  align-self:flex-start;
  min-height:40px !important;
  padding:0 18px !important;
  font-size:0.84rem !important;
  font-weight:700 !important;
}
.nx-od-pipeline{
  list-style:none;
  margin:0;
  padding:18px 18px 18px 16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  border-left:1px solid rgba(255,255,255,0.08);
  background:rgba(0,0,0,0.14);
}
.nx-od-pipeline li{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:12px 12px 11px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.04);
  min-width:0;
}
.nx-od-pipeline span{
  font-family:var(--nxt-font-mono, ui-monospace, monospace);
  font-size:0.62rem;
  letter-spacing:0.08em;
  opacity:0.55;
}
.nx-od-pipeline strong{
  font-size:0.84rem;
  font-weight:700;
  line-height:1.25;
}
.nx-od-pipeline em{
  font-style:normal;
  font-size:0.72rem;
  opacity:0.65;
  line-height:1.35;
}
.nx-od-highlights{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.nx-od-highlight{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 16px 15px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.04);
}
.nx-od-highlight strong{
  font-size:0.86rem;
  font-weight:750;
}
.nx-od-highlight span{
  font-size:0.78rem;
  line-height:1.45;
  opacity:0.72;
}
.nx-od-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
.nx-od-grid--single{
  grid-template-columns:minmax(0, 1fr);
  max-width:520px;
}
.nx-od-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px 18px 16px;
  min-height:180px;
}
.nx-od-card .hop-eyebrow{margin:0;}
.nx-od-card h3{
  margin:0;
  font-size:1.15rem;
  letter-spacing:0.03em;
}
.nx-od-card > .nx-text-dim{
  margin:0;
  flex:1 1 auto;
  font-size:0.86rem;
  line-height:1.45;
}
.nx-od-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
@media (max-width:900px){
  .nx-od-grid{grid-template-columns:1fr;}
  .nx-od-feature{grid-template-columns:1fr;}
  .nx-od-pipeline{
    border-left:0;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .nx-od-highlights{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .nx-od-pipeline{grid-template-columns:1fr;}
  .nx-od-hero{flex-direction:column;}
}
@media (max-width: 900px){
  .nx-settings-layout{grid-template-columns:1fr;}
  .nx-settings-side{flex-direction:row; flex-wrap:wrap;}
  .nx-settings-nav-btn{width:auto;}
}

.nx-oc-node{padding:10px 12px;}
.nx-oc-node > .nx-nav-item{
  width:100%;
  box-sizing:border-box;
  cursor:pointer;
  user-select:none;
  background:transparent;
  font:inherit;
  text-align:left;
}
.nx-oc-node > .nx-nav-item:hover{
  background:rgba(255,255,255,0.04);
  color:var(--nxt-text);
}
.nx-oc-label{flex:1; min-width:0; font-weight:600;}
.nx-oc-meta{
  margin-left:auto;
  flex-shrink:0;
  font-family:var(--nxt-font-mono);
  font-size:10.5px;
  color:var(--nxt-text-faint);
  font-weight:500;
}
.nx-oc-chevron{
  flex-shrink:0;
  width:14px;
  height:14px;
  color:var(--nxt-text-faint);
  transition:transform 0.15s ease, color 0.15s ease;
}
.nx-nav-item.active .nx-oc-chevron{
  transform:rotate(90deg);
  color:var(--nxt-cyan);
}
.nx-oc-children{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
  padding:2px 0 2px 12px;
  border-left:0.5px solid rgba(37,224,255,0.18);
}
.nx-oc-children > .nx-oc-node{margin:0;}
.nx-oc-leaf-block{display:flex; flex-direction:column; gap:12px; padding:4px 0 2px;}
.nx-oc-group{display:flex; flex-direction:column; gap:6px;}
.nx-oc-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--nxt-text-dim);
}
.nx-oc-group-title svg{width:17px; height:17px; color:var(--nxt-cyan); flex-shrink:0;}
.nx-oc-file-list{display:flex; flex-direction:column; gap:4px;}
.nx-oc-file-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 10px;
  border-radius:10px;
  border:0.5px solid transparent;
  background:rgba(255,255,255,0.025);
}
.nx-oc-file-row:hover{
  background:var(--nxt-glass-hover);
  border-color:rgba(37,224,255,0.18);
}
.nx-oc-file-link{
  flex:1;
  min-width:0;
  color:var(--nxt-cyan);
  text-decoration:none;
  font-size:0.84rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nx-oc-file-link:hover{text-decoration:underline;}
.nx-oc-file-empty{font-size:0.82rem; padding:4px 2px;}
.nx-oc-btn-delete{
  flex-shrink:0;
  font-family:var(--nxt-font-body);
  font-size:11px;
  font-weight:500;
  padding:4px 10px;
  border-radius:8px;
  border:0.5px solid rgba(255,107,107,0.35);
  background:rgba(255,107,107,0.08);
  color:var(--nxt-coral);
  cursor:pointer;
}
.nx-oc-btn-delete:hover{background:rgba(255,107,107,0.16);}
.nx-oc-error{color:var(--nxt-coral); font-size:0.88rem; margin-top:12px;}

/* ---------- House of Prizm shell (hop_admin only) ---------- */
.nx-theme.hop-shell{
  display:grid;
  grid-template-columns:232px minmax(0,1fr);
  height:calc(100vh - var(--nx-header-h, 64px) - 12px);
  max-height:calc(100vh - var(--nx-header-h, 64px) - 12px);
  gap:0;
  border-radius:var(--nxt-radius-card);
  overflow:hidden;
  border:var(--nxt-border);
}
.hop-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 12px;
  background:#123C32;
  border-right:0.5px solid rgba(255,255,255,0.08);
  min-height:0;
  height:100%;
  overflow:hidden;
}
.hop-nav-brand{display:flex; align-items:center; gap:10px; padding:4px 6px 12px; flex-shrink:0;}
.hop-nav-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:hidden;
  padding-right:2px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.hop-nav-list.is-scrollable{
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.35) rgba(255,255,255,0.06);
}
.hop-nav-list.is-scrollable::-webkit-scrollbar{
  width:8px;
}
.hop-nav-list.is-scrollable::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.3);
  border-radius:999px;
}
.hop-nav-list.is-scrollable::-webkit-scrollbar-track{
  background:rgba(255,255,255,0.05);
}
#hop-executive-workspace .hop-nav-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
}
#hop-executive-workspace .hop-nav-list.is-scrollable{
  overflow-y:auto !important;
  scrollbar-width:thin !important;
}
.hop-nav-group{
  margin:10px 8px 4px;
  font-size:0.62rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--nxt-text-faint);
  flex-shrink:0;
}
.hop-nav-btn{width:100%; border:none; background:transparent; cursor:pointer; text-align:left; flex-shrink:0;}
.hop-nav-btn.is-soon{opacity:0.35; cursor:not-allowed;}
.hop-nav-fold{flex-shrink:0; margin:2px 0;}
.hop-nav-fold-toggle{
  display:flex !important;align-items:center;justify-content:space-between;gap:8px;
  font-weight:650;
  min-height:36px;
}
.hop-nav-caret{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  flex:0 0 auto;
  color:inherit;
  opacity:0.75;
  background:transparent !important;
  border:none !important;
  border-radius:0;
  box-shadow:none !important;
  transition:transform .15s ease, opacity .15s ease;
}
.hop-nav-caret svg{
  width:14px;
  height:14px;
  display:block;
}
.hop-nav-fold-toggle:hover .hop-nav-caret{
  opacity:1;
  background:transparent !important;
}
.hop-nav-fold.is-collapsed .hop-nav-caret{transform:rotate(-90deg);}
.hop-nav-fold.is-collapsed .hop-nav-fold-items{display:none;}
.hop-nav-fold-items{
  display:flex;flex-direction:column;gap:1px;
  padding:2px 0 6px 0;
}
html[data-hop-theme="emerald"] #hop-executive-workspace .hop-nav-caret,
html[data-hop-theme="custom"] #hop-executive-workspace .hop-nav-caret,
html[data-hop-theme="bright"] #hop-executive-workspace .hop-nav-caret {
  background: transparent !important;
  color: inherit;
  opacity: 0.8;
}
html[data-hop-theme="emerald"] #hop-executive-workspace .hop-nav-fold-toggle:hover .hop-nav-caret,
html[data-hop-theme="custom"] #hop-executive-workspace .hop-nav-fold-toggle:hover .hop-nav-caret,
html[data-hop-theme="bright"] #hop-executive-workspace .hop-nav-fold-toggle:hover .hop-nav-caret {
  background: transparent !important;
  opacity: 1;
}
.hop-nav-btn.hop-nav-sub{
  padding-left:1.15rem !important;
  font-size:0.82em;
  opacity:0.92;
}
.hop-nav-btn.hop-nav-sub.active{opacity:1;}
.hop-nav-logout{margin-top:8px; width:100%; flex-shrink:0;}
.hop-main{padding:16px 18px 28px; overflow:auto; min-width:0; min-height:0; height:100%; scroll-behavior:auto;}

/* HoP executive: one scroll surface (.hop-main) — lock page scroll behind it */
#hop-executive-workspace.workspace-shell:not(.hidden){
  display:flex !important;
  flex-direction:column !important;
  position:fixed !important;
  top:var(--nx-header-h, 64px) !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  max-width:100vw !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  z-index:40 !important;
  border-radius:0 !important;
  background:#05070c !important;
}
#hop-executive-workspace .nx-theme.hop-shell{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 0 !important;
  min-height:0 !important;
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  border-radius:0 !important;
  grid-template-columns:unset !important;
}
#hop-executive-workspace .hop-nav{
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#hop-executive-workspace .hop-main{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:100% !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:16px 14px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  touch-action:pan-y;
}
#hop-executive-workspace #hop-module-mount,
#hop-executive-workspace .hop-view{
  min-height:0;
  padding-bottom:48px;
}
#hop-executive-workspace .hop-form-card{
  margin-bottom:24px;
}
#hop-executive-workspace .hop-form-actions{
  position:sticky;
  bottom:0;
  padding:10px 0 6px;
  background:linear-gradient(180deg, transparent, rgba(5,7,12,0.96) 30%);
  z-index:2;
}
html[data-hop-theme="bright"] #hop-executive-workspace .hop-form-actions,
html[data-hop-theme="emerald"] #hop-executive-workspace .hop-form-actions,
html[data-hop-theme="custom"] #hop-executive-workspace .hop-form-actions{
  background:linear-gradient(180deg, transparent, rgba(248,244,234,0.97) 28%) !important;
  border-top:1px solid rgba(31,31,31,0.06);
  margin-top:14px;
  padding-top:12px;
}

/* Stop background/home page from scrolling under HoP.
   Must beat body:not(:has(#dashboard…)) { overflow-y:auto } in premium.css */
html.hop-active,
body.hop-active,
body.hop-active:not(:has(#dashboard:not(.hidden))){
  overflow:hidden !important;
  overscroll-behavior:none !important;
  height:100% !important;
  max-height:100dvh !important;
  padding-bottom:0 !important;
  position:relative;
}
body.hop-active .nexora-header{
  z-index:50 !important;
}
body.hop-active #mobile-bottom-nav{
  z-index:55 !important;
}

/* ---------- Selected module = true full page (overwrite top bar) ---------- */
html.hop-module-fullscreen,
body.hop-module-fullscreen{
  overflow:hidden !important;
}
body.hop-module-fullscreen .nexora-header{
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}
/* Account menu stays reachable for every login — even when HoP hides the header */
body.hop-module-fullscreen .nexora-header .nx-profile-menu{
  position:fixed !important;
  top:12px !important;
  right:14px !important;
  z-index:12050 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}
body.hop-module-fullscreen .nexora-header .nx-profile-menu .profile-btn.profile-btn--avatar,
body.hop-module-fullscreen .nexora-header .nx-profile-menu .nx-profile-dropdown{
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}
body.hop-module-fullscreen #mobile-bottom-nav{
  display:none !important;
}
#hop-executive-workspace.hop-ws--fullscreen:not(.hidden),
body.hop-module-fullscreen #hop-executive-workspace:not(.hidden){
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  max-width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100dvh !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  z-index:1100 !important; /* above .nexora-header (1000) */
  background:#05070c !important;
}
body.hop-module-fullscreen #hop-executive-workspace .nx-theme.hop-shell,
#hop-executive-workspace.hop-ws--fullscreen .nx-theme.hop-shell{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  border-radius:0 !important;
  border:none !important;
}
body.hop-module-fullscreen #hop-executive-workspace .hop-nav,
#hop-executive-workspace.hop-ws--fullscreen .hop-nav{
  height:100% !important;
  max-height:100% !important;
}
body.hop-module-fullscreen #hop-executive-workspace .hop-main,
#hop-executive-workspace.hop-ws--fullscreen .hop-main{
  height:100% !important;
  max-height:100% !important;
  padding:0 !important;
}

@media (min-width: 901px){
  #hop-executive-workspace .nx-theme.hop-shell{
    display:grid !important;
    grid-template-columns:232px minmax(0,1fr) !important;
    flex-direction:unset !important;
    grid-template-rows:minmax(0, 1fr) !important;
    align-items:stretch !important;
  }
  #hop-executive-workspace .hop-nav{
    grid-column:1 !important;
    grid-row:1 !important;
    width:232px !important;
    height:100% !important;
    max-height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  #hop-executive-workspace .hop-main{
    grid-column:2 !important;
    grid-row:1 !important;
    height:100% !important;
    min-height:0 !important;
  }
}

.hop-view-header{margin-bottom:14px;}
.hop-view-header-row{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap;}
.hop-eyebrow{margin:0; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase;}

/* ---------- Full-page module workspace (all menus except Dashboard) ---------- */
#hop-executive-workspace .hop-main.hop-main--fullpage{
  display:flex !important;
  flex-direction:column !important;
  padding:0 !important;
  overflow:hidden !important;
}
#hop-executive-workspace .hop-main.hop-main--fullpage #hop-module-mount{
  flex:1 1 0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  padding-bottom:0;
}
#hop-executive-workspace .hop-view.hop-view--fullpage{
  flex:1 1 0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:0;
  padding-bottom:0 !important;
  overflow:hidden;
}
#hop-executive-workspace .hop-view--parties,
#hop-executive-workspace .hop-view--module{
  overflow:hidden;
  flex:1 1 0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  padding-bottom:0 !important;
}
#hop-executive-workspace .hop-main.hop-main--fullpage #hop-module-mount:has(.hop-view--fullpage){
  padding-bottom:0 !important;
}
#hop-executive-workspace .hop-view-header--compact{
  flex-shrink:0;
  margin:0;
  padding:12px 16px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(5,7,12,.96);
}
#hop-executive-workspace .hop-view-header--compact .nx-display{
  font-size:1.15rem;
  margin:2px 0 0;
}
#hop-executive-workspace .hop-view-header--compact .nx-text-dim{
  font-size:.75rem;
  margin:2px 0 0;
}
#hop-executive-workspace .hop-view-body,
#hop-executive-workspace .mod-body{
  flex:1 1 0;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#hop-executive-workspace .hop-view-body > .pty-layout,
#hop-executive-workspace .hop-view--parties .pty-page,
#hop-executive-workspace .hop-view--module .mod-page{
  flex:1 1 0;
  min-height:0;
  height:auto !important;
  border-radius:0;
  border:none;
}
/* Shared module page chrome (same room as Parties) */
.mod-page{
  flex:1 1 0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.mod-topbar{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(8,10,16,.98);
}
.mod-topbar-left{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 12px;
  min-width:0;
}
.mod-topbar-eyebrow{
  width:100%;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--nxt-text-faint,#64748b);
}
.mod-topbar-title{
  margin:0;
  font-size:1.2rem;
  font-weight:700;
  color:var(--nxt-text,#e2e8f0);
}
.mod-topbar-sub{
  font-size:.72rem;
  color:var(--nxt-text-dim,#64748b);
}
.mod-topbar-actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
  flex-wrap:wrap;
  justify-content:flex-end;
}
/* Non-parties modules: body scrolls inside full page */
#hop-executive-workspace .hop-view-body:not(:has(.pty-layout)),
#hop-executive-workspace .mod-body:not(:has(.pty-layout)){
  overflow:auto;
  padding:14px 16px calc(24px + env(safe-area-inset-bottom, 0px));
}
/* Project hub also fills full page when opened as a module */
#hop-executive-workspace #hop-view-project-hub.hop-view--fullpage{
  flex:1 1 0;
  min-height:0;
  height:100%;
  overflow:auto;
  padding:14px 16px;
}
.hop-view-header h2{margin:4px 0 0;}
.hop-view-header .nx-text-dim{margin:6px 0 0; font-size:0.82rem;}
.hop-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:10px;
  margin-top:8px;
}
.hop-kpi-card{
  background:var(--nxt-glass);
  border:var(--nxt-border);
  border-radius:var(--nxt-radius-card);
  padding:14px 12px;
  cursor:pointer;
  text-align:left;
  color:inherit;
  font:inherit;
  width:100%;
}
.hop-kpi-card:hover{background:var(--nxt-glass-hover); border-color:rgba(37,224,255,0.28);}
.hop-kpi-card .hop-kpi-label{
  font-size:0.66rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--nxt-text-faint);
  margin:0 0 8px;
}
.hop-kpi-card .hop-kpi-value{
  font-family:var(--nxt-font-display);
  font-size:1.1rem;
  font-weight:700;
  color:var(--nxt-text);
  margin:0;
}
.hop-kpi-card .hop-kpi-value.is-na{
  font-family:var(--nxt-font-body);
  font-size:0.88rem;
  font-weight:500;
  color:var(--nxt-text-dim);
}
.hop-exec-meta{margin-top:16px; font-size:0.72rem;}
.hop-exec-notes{margin-top:8px; font-size:0.78rem; line-height:1.45; max-width:48rem;}
.hop-toolbar{display:flex; gap:8px; margin-bottom:12px;}
.hop-search{
  flex:1;
  max-width:420px;
  padding:9px 12px;
  border-radius:10px;
  border:var(--nxt-border);
  background:rgba(0,0,0,0.28);
  color:var(--nxt-text);
}
.hop-table-wrap{overflow:auto; border:var(--nxt-border); border-radius:12px;}
.hop-table{width:100%; min-width:720px;}
.hop-form-card{margin-bottom:14px; padding:14px;}
.hop-form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
  gap:10px;
}
.hop-form-grid label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:0.72rem;
  color:var(--nxt-text-dim);
}
.hop-form-grid input,
.hop-form-grid select,
.hop-form-grid textarea{
  padding:8px 10px;
  border-radius:8px;
  border:var(--nxt-border);
  background:rgba(0,0,0,0.28);
  color:var(--nxt-text);
  font:inherit;
}
.hop-form-actions{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}
.hop-form-span-2{grid-column:span 2;}

.hop-rate-summary{
  display:flex; gap:14px; flex-wrap:wrap; margin-bottom:12px;
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:0.72rem; letter-spacing:0.04em; color:#8b96b8; text-transform:uppercase;
}
.hop-rate-suggest{margin-bottom:14px; padding:14px;}
.hop-rate-suggest h4, .hop-rate-matrix-card h4{margin:0 0 10px; font-size:0.95rem; color:#eaf0fb;}
.hop-rate-suggest ul{margin:0; padding-left:18px; color:#c5cee3; line-height:1.55;}
.hop-rate-matrix-card{padding:14px; margin-bottom:14px;}
.hop-rate-scroll{
  overflow:auto !important;
  max-width:100%;
  max-height:min(62vh, 560px);
  min-height:220px;
  border:0.5px solid rgba(255,255,255,0.08);
  border-radius:12px;
  -webkit-overflow-scrolling:touch;
}
.hop-rate-scroll .hop-table-wrap{
  overflow:visible;
  border:none;
  border-radius:0;
  max-height:none;
}
.hop-rate-scroll .hop-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(8,12,22,0.96);
}
.hop-rate-val{font-weight:600; color:#eaf0fb;}
.hop-rate-sub{font-size:0.72rem; color:#8b96b8; margin-top:2px;}
.hop-rate-best{
  background:rgba(52, 211, 153, 0.12);
  box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.35);
}
.hop-rate-best-col{min-width:120px;}
.hop-rate-empty{color:#5c6688; text-align:center;}
.hop-rate-add-btn{
  margin-top:6px;
  padding:4px 8px !important;
  font-size:0.68rem !important;
}
.hop-rate-add-btn.is-in-cart{
  border-color:rgba(52, 211, 153, 0.45);
  color:#6ee7b7;
}
.hop-rate-cart-card{
  margin-bottom:10px;
  padding:8px 10px;
  position:sticky;
  top:0;
  z-index:5;
  background:rgba(8,12,22,0.94);
  border:0.5px solid rgba(255,255,255,0.1);
  border-radius:12px;
  backdrop-filter:blur(8px);
}
.hop-rate-cart-card.is-empty{padding:6px 10px; opacity:0.9;}
.hop-rate-cart-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.hop-rate-cart-bar-main{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  color:#eaf0fb;
  font-size:0.85rem;
}
.hop-rate-cart-pill{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(37,224,255,0.16);
  color:#25e0ff;
  font-size:0.72rem;
  font-weight:600;
}
.hop-rate-cart-suppliers{
  max-width:min(420px, 55vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:0.72rem;
}
.hop-rate-cart-bar-actions{display:flex; gap:6px; flex-wrap:wrap;}
.hop-rate-cart-body{
  margin-top:8px;
  max-height:180px;
  overflow:auto;
  padding-right:2px;
  -webkit-overflow-scrolling:touch;
  border-top:0.5px solid rgba(255,255,255,0.06);
  padding-top:8px;
}
.hop-rate-cart-body.hidden{display:none !important;}
.hop-rate-cart-group{
  margin:0 0 8px;
  padding:6px 8px;
  border:0.5px solid rgba(255,255,255,0.08);
  border-radius:10px;
  background:rgba(0,0,0,0.18);
}
.hop-rate-cart-group-head{
  display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap;
  margin-bottom:4px; color:#eaf0fb; font-size:0.8rem;
}
.hop-rate-cart-table{min-width:420px; font-size:0.78rem;}
.hop-rate-cart-table th,
.hop-rate-cart-table td{padding:4px 6px !important;}
.hop-rate-cart-qty{width:56px; padding:4px 6px;}
.hop-rate-cart-status{margin:4px 0 0; font-size:0.72rem;}
.hop-rate-matrix-card{margin-top:4px;}
.hop-rate-matrix-toolbar{
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  margin-bottom:8px;
}
.hop-rate-matrix-toolbar h4{margin:0;}
.hop-rate-cell-actions{display:flex; gap:4px; flex-wrap:wrap; align-items:center; margin-top:4px;}
.hop-rate-clear-btn{
  padding:4px 8px !important;
  font-size:0.68rem !important;
  color:#fca5a5 !important;
  border-color:rgba(248,113,113,0.35) !important;
}
.hop-rate-clear-btn:hover{
  background:rgba(248,113,113,0.12) !important;
}

/* Vendor Compare — denser layout so more of the matrix fits above the fold */
#hop-executive-workspace:has(.hop-vendor-cmp-compact) .hop-main{
  padding:8px 12px 24px !important;
}
.hop-vendor-cmp-compact .hop-view-header{
  margin-bottom:6px;
}
.hop-vendor-cmp-compact .hop-view-header h2{
  margin:2px 0 0;
  font-size:1.15rem;
  line-height:1.2;
}
.hop-vendor-cmp-compact .hop-view-header .nx-text-dim{
  margin:2px 0 0;
  font-size:0.74rem;
}
.hop-vendor-cmp-compact .hop-eyebrow{
  font-size:0.6rem;
}
.hop-vendor-cmp-compact .hop-header-actions{
  gap:6px;
}
.hop-vendor-cmp-compact .hop-header-actions .nx-btn{
  padding:5px 10px;
  font-size:0.72rem;
}
.hop-vendor-cmp-compact .hop-rate-summary{
  gap:10px;
  margin-bottom:6px;
  font-size:0.66rem;
}
.hop-vendor-cmp-compact .hop-form-card,
.hop-vendor-cmp-compact .hop-rate-matrix-card,
.hop-vendor-cmp-compact .hop-rate-suggest,
.hop-vendor-cmp-compact .hop-rate-sheets-card,
.hop-vendor-cmp-compact .hop-rate-legacy-card{
  padding:8px 10px;
  margin-bottom:8px;
  margin-top:0;
  border-radius:10px;
}
.hop-vendor-cmp-compact .hop-rate-cart-card{
  margin-bottom:6px;
  padding:5px 8px;
}
.hop-vendor-cmp-compact .hop-rate-suggest h4,
.hop-vendor-cmp-compact .hop-rate-matrix-card h4,
.hop-vendor-cmp-compact .hop-rate-sheets-card h4,
.hop-vendor-cmp-compact .hop-rate-legacy-card h4{
  margin:0 0 6px;
  font-size:0.82rem;
}
.hop-vendor-cmp-compact .hop-rate-hint{
  margin:0 0 6px !important;
  font-size:0.7rem;
  line-height:1.3;
}
.hop-vendor-cmp-compact .hop-rate-scroll{
  max-height:min(72vh, 720px);
  min-height:280px;
  border-radius:8px;
}
.hop-vendor-cmp-compact .hop-rate-matrix-table th,
.hop-vendor-cmp-compact .hop-rate-matrix-table td{
  padding:4px 6px !important;
  font-size:0.78rem;
  vertical-align:top;
}
.hop-vendor-cmp-compact .hop-rate-val{
  font-size:0.82rem;
  line-height:1.2;
}
.hop-vendor-cmp-compact .hop-rate-sub{
  font-size:0.64rem;
  margin-top:1px;
  line-height:1.25;
}
.hop-vendor-cmp-compact .hop-rate-add-btn,
.hop-vendor-cmp-compact .hop-rate-clear-btn{
  margin-top:3px;
  padding:2px 6px !important;
  font-size:0.62rem !important;
  line-height:1.2;
}
.hop-vendor-cmp-compact .hop-rate-cell-actions{
  margin-top:2px;
  gap:3px;
}
.hop-vendor-cmp-compact .hop-form-grid{
  gap:6px;
}
.hop-vendor-cmp-compact .hop-form-grid input,
.hop-vendor-cmp-compact .hop-form-grid select,
.hop-vendor-cmp-compact .hop-form-grid textarea{
  padding:6px 8px;
  font-size:0.78rem;
}
.hop-vendor-cmp-compact .hop-form-actions{
  margin-top:8px;
  gap:6px;
}
.hop-vendor-cmp-compact .hop-table th,
.hop-vendor-cmp-compact .hop-table td{
  padding:4px 6px !important;
  font-size:0.76rem;
}

.hop-rate-product-filter{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.hop-rate-filter-q{
  width:min(220px, 46vw);
  margin:0;
  padding:5px 8px;
  font-size:0.74rem;
}
.hop-rate-filter-count{
  font-size:0.7rem;
  color:#8b96b8;
  min-width:2.5rem;
}
.hop-rate-row-hidden{display:none !important;}

.hop-header-actions{display:flex; gap:8px; flex-wrap:wrap;}
.hop-kpi-grid-sm{margin-bottom:14px;}
.hop-stage-pill{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  border:0.5px solid rgba(37,224,255,0.28);
  font-size:0.72rem;
  color:var(--nxt-cyan, #25e0ff);
}
.hop-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0 14px;
  border-bottom:0.5px solid rgba(255,255,255,0.08);
  padding-bottom:8px;
}
.hop-tab{
  background:transparent;
  border:0.5px solid transparent;
  color:var(--nxt-text-dim);
  padding:7px 10px;
  border-radius:8px;
  cursor:pointer;
  font:inherit;
  font-size:0.78rem;
}
.hop-tab:hover{color:var(--nxt-text); background:rgba(255,255,255,0.04);}
.hop-tab.active{
  color:var(--nxt-text);
  border-color:rgba(37,224,255,0.35);
  background:rgba(37,224,255,0.08);
}
.hop-hub-body{min-height:200px;}
.hop-hub-stage-wrap label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:0.72rem;
  color:var(--nxt-text-dim);
}
.hop-hub-stage-wrap select{
  padding:8px 10px;
  border-radius:8px;
  border:var(--nxt-border);
  background:rgba(0,0,0,0.28);
  color:var(--nxt-text);
}
.hop-back-btn{margin-bottom:8px;}
.hop-section-title{
  margin:16px 0 8px;
  font-size:0.95rem;
  font-weight:600;
}
.hop-funnel{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:12px 0 18px;
  max-width:420px;
}
.hop-funnel-step{
  display:grid;
  grid-template-columns:1.4fr 0.5fr 1fr;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border-radius:10px;
  border:var(--nxt-border);
  background:var(--nxt-glass);
}
.hop-funnel-label{font-size:0.78rem; text-transform:capitalize;}
.hop-funnel-count{font-weight:700; font-family:var(--nxt-font-display);}
.hop-funnel-value{font-size:0.78rem; color:var(--nxt-text-dim); text-align:right;}
.hop-funnel-arrow{text-align:center; color:var(--nxt-text-faint); font-size:0.75rem;}

.hop-fabric-banner{
  display:flex; flex-direction:column; gap:6px;
  margin-bottom:14px; padding:12px 14px;
  border:1px solid rgba(37,224,255,0.28);
  background:rgba(37,224,255,0.08);
}
.hop-fabric-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px;
}
.hop-fabric-card h3{margin:0 0 6px; font-size:1rem;}
.hop-fabric-card input[type=file],
.hop-fabric-card select{
  width:100%; margin:8px 0; padding:10px;
  border-radius:10px; border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,0,0,0.25); color:var(--nxt-text);
}
.hop-fabric-label{display:block; margin-top:10px; font-size:0.78rem; color:var(--nxt-text-dim);}
.hop-fabric-thumb{
  margin-top:10px; min-height:120px; border-radius:12px;
  border:1px dashed rgba(255,255,255,0.15);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.hop-fabric-thumb img{width:100%; max-height:220px; object-fit:cover; display:block;}
.hop-fabric-actions{margin:14px 0;}
.hop-fabric-result-card img{width:100%; border-radius:14px; display:block; margin:10px 0;}
.hop-fabric-result-meta{display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.hop-photo-actions{
  display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 6px;
}
.hop-photo-actions .nx-btn{flex:1 1 120px; min-height:44px;}

/* --- Visiting Card (professional capture + review) --- */
.hop-vcard-page{
  flex:1 1 0;min-height:0;height:100%;
  display:flex;flex-direction:column;
}
.hop-vcard-layout{
  flex:1 1 0;min-height:0;
  display:grid;
  grid-template-columns:minmax(280px, 0.95fr) minmax(320px, 1.15fr);
  gap:12px;
  height:100%;
}
.hop-vcard-panel{
  min-height:0;
  display:flex;flex-direction:column;gap:10px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(0,0,0,.22);
}
.hop-vcard-panel-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;
}
.hop-vcard-panel-head h3{
  margin:0;font-size:.92rem;font-weight:700;color:#e2e8f0;
}
.hop-vcard-hint{font-size:.68rem;color:#64748b;}
.hop-vcard-source{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.hop-vcard-src-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;padding:8px 10px;border-radius:10px;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:#cbd5e1;
  font-size:.8rem;font-weight:650;
}
.hop-vcard-src-btn:hover{border-color:rgba(34,211,238,.35);color:#e2e8f0;}
.hop-vcard-src-btn--primary{
  border-color:rgba(34,211,238,.4);
  background:rgba(34,211,238,.12);color:#67e8f9;
}
.hop-vcard-src-ico{
  width:14px;height:14px;border-radius:50%;
  border:1.5px solid currentColor;position:relative;flex-shrink:0;
}
.hop-vcard-src-ico::after{
  content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor;opacity:.55;
}
.hop-vcard-src-ico--file{
  border-radius:3px;
}
.hop-vcard-src-ico--file::after{
  inset:auto 3px 3px 3px;height:5px;border-radius:1px;opacity:.7;
}
.hop-vcard-stage{
  flex:1 1 0;min-height:180px;
  border-radius:10px;overflow:hidden;
  border:1px dashed rgba(255,255,255,.14);
  background:rgba(8,12,20,.65);
  display:flex;align-items:center;justify-content:center;
}
.hop-vcard-stage.is-empty{border-style:dashed;}
.hop-vcard-stage:not(.is-empty){border-style:solid;border-color:rgba(255,255,255,.1);}
.hop-vcard-stage img{
  width:100%;height:100%;max-height:min(48vh,420px);object-fit:contain;display:block;background:#000;
}
.hop-vcard-empty{
  text-align:center;padding:20px 16px;color:#64748b;
  display:flex;flex-direction:column;gap:4px;
}
.hop-vcard-empty strong{color:#94a3b8;font-size:.85rem;}
.hop-vcard-empty span{font-size:.72rem;}
.hop-vcard-capture-foot{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.hop-vcard-status{
  margin:0;flex:1;min-width:140px;
  font-size:.72rem;color:#64748b;line-height:1.35;
}
.hop-vcard-status.is-busy{color:#67e8f9;}
.hop-vcard-status.is-ok{color:#4ade80;}
.hop-vcard-status.is-error{color:#f87171;}
.hop-vcard-review.is-idle{
  align-items:center;justify-content:center;
}
.hop-vcard-idle{
  text-align:center;max-width:280px;color:#64748b;padding:16px;
}
.hop-vcard-idle strong{display:block;color:#94a3b8;font-size:.9rem;margin-bottom:6px;}
.hop-vcard-idle p{margin:0;font-size:.75rem;line-height:1.45;}
.hop-vcard-review.is-ready{overflow:auto;}
.hop-vcard-form-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;
}
.hop-vcard-field{display:flex;flex-direction:column;gap:4px;min-width:0;}
.hop-vcard-field span{font-size:.65rem;font-weight:650;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;}
.hop-vcard-field input{
  width:100%;box-sizing:border-box;
  padding:8px 10px;border-radius:8px;font-size:.8rem;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:#e2e8f0;outline:none;
}
.hop-vcard-field input:focus{border-color:rgba(34,211,238,.45);}
.hop-vcard-span2{grid-column:1 / -1;}
.hop-vcard-form-actions{
  margin-top:auto;padding-top:8px;
  display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;
}
.hop-add-party-card{max-width:440px;width:min(440px, 94vw);}
.hop-add-party-choices{display:flex;flex-direction:column;gap:10px;padding:4px 18px 18px;}
.hop-add-party-choice{
  text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:4px;
  padding:14px 16px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);color:#e2e8f0;
}
.hop-add-party-choice:hover{
  border-color:rgba(34,211,238,.4);
  background:rgba(34,211,238,.08);
}
.hop-add-party-choice strong{font-size:.95rem;font-weight:700;}
.hop-add-party-choice span{font-size:.75rem;color:#94a3b8;line-height:1.4;}
.hop-add-party-choice--manual{border-style:dashed;}
.hop-party-scan-card{max-width:520px;width:min(520px, 96vw);}
.hop-party-scan-body{padding:4px 18px 16px;display:flex;flex-direction:column;gap:10px;}
.hop-party-scan-body .hop-vcard-stage{min-height:200px;max-height:280px;}
.hop-party-scan-body .hop-vcard-stage img{max-height:260px;}
@media (max-width:900px){
  .hop-vcard-layout{grid-template-columns:1fr;overflow:auto;}
  .hop-vcard-stage{min-height:160px;flex:0 0 auto;}
  .hop-vcard-stage img{max-height:240px;}
}
.hop-file-hidden{
  position:absolute !important;
  width:1px !important; height:1px !important;
  opacity:0 !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; pointer-events:none !important;
}
.hop-contact-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.hop-contact-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hop-contact-card{
  border:var(--nxt-border);
  border-radius:12px;
  background:rgba(255,255,255,0.03);
  overflow:hidden;
}
.hop-contact-card.is-selected{
  border-color:rgba(37,224,255,0.45);
  box-shadow:0 0 0 1px rgba(37,224,255,0.2);
}
.hop-contact-card-top{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:12px 12px 0;
}
.hop-contact-check-wrap{
  display:none;
  margin-top:4px;
}
.hop-contact-cards.is-select-mode .hop-contact-check-wrap{
  display:block;
}
.hop-contact-check{
  width:18px;
  height:18px;
  accent-color:var(--nxt-cyan);
}
.hop-contact-main{
  flex:1;
  min-width:0;
  border:none;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:0;
  cursor:pointer;
}
.hop-contact-company{
  margin:0;
  font-weight:700;
  color:var(--nxt-text);
}
.hop-contact-sub{
  margin:4px 0 0;
  color:var(--nxt-text-dim);
  font-size:0.78rem;
  line-height:1.35;
}
.hop-contact-actions{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:6px;
  padding:8px 12px 12px;
}
.hop-contact-icon-btn{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px !important;
}
.hop-contact-icon-btn svg{
  width:18px;
  height:18px;
  display:block;
}
.hop-contact-edit{
  color:#93c5fd !important;
  border-color:rgba(96,165,250,0.35) !important;
}
.hop-contact-btn{
  text-align:center;
  padding:8px 6px !important;
  font-size:0.72rem !important;
  min-height:38px;
}
.hop-contact-btn.is-disabled{
  opacity:0.45;
  cursor:not-allowed;
}
.hop-contact-delete{
  color:#fca5a5 !important;
  border-color:rgba(248,113,113,0.35) !important;
}
.hop-contact-details{
  border-top:0.5px solid rgba(255,255,255,0.09);
  padding:10px 12px 12px;
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.hop-contact-details.hidden{display:none;}
.hop-contact-details p{
  margin:0;
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:0.77rem;
}
.hop-contact-details span{color:var(--nxt-text-faint);}
.hop-contact-details strong{
  color:var(--nxt-text);
  font-weight:600;
  text-align:right;
}
.hop-contact-sheet{
  position:fixed;
  inset:0;
  z-index:13000;
}
.hop-contact-sheet-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.45);
}
.hop-contact-sheet-card{
  position:absolute;
  left:12px;
  right:12px;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  border-radius:14px;
  background:#0b1220;
  border:var(--nxt-border);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.hop-contact-sheet-title{
  margin:0 0 2px;
  font-size:0.82rem;
  color:var(--nxt-text-dim);
}
.hop-contact-sheet-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.hop-contact-sheet-btn svg{
  width:16px;
  height:16px;
}
.hop-webcam-overlay{
  position:fixed; inset:0; z-index:12000;
  display:flex; align-items:center; justify-content:center;
  padding:16px;
  background:rgba(0,0,0,0.72);
  backdrop-filter:blur(4px);
}
.hop-webcam-dialog{
  width:min(560px, 100%);
  background:#0b1220;
  border:1px solid rgba(37,224,255,0.28);
  border-radius:16px;
  padding:14px;
  box-shadow:0 24px 60px rgba(0,0,0,0.55);
}
.hop-webcam-header{
  display:flex; flex-direction:column; gap:4px; margin-bottom:10px;
}
.hop-webcam-video{
  width:100%; max-height:min(52vh, 420px);
  background:#000; border-radius:12px; object-fit:cover;
}
.hop-webcam-actions{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;
}
.hop-webcam-actions .nx-btn{flex:1 1 120px; min-height:44px;}

@media (max-width: 900px){
  .nx-theme.hop-shell{grid-template-columns:1fr !important;}
  .hop-nav{
    border-right:none;
  }
  .hop-form-span-2{grid-column:span 1;}
  #hop-executive-workspace .hop-main{width:100% !important; max-width:100% !important;}
  #hop-executive-workspace:not(.hidden) {
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* ---------- Bombay Dyeing / NEXORA shell — same visual language as HoP ---------- */
#dashboard .nx-theme.hop-shell.bd-shell{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  min-height:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:232px minmax(0,1fr) !important;
  grid-template-rows:minmax(0,1fr) !important;
  gap:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  border:none !important;
}
#dashboard .bd-shell > .right-sidebar{display:none !important;}
#dashboard .bd-shell .left-nav.hop-nav{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  width:232px !important;
  max-width:232px !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  padding:16px 10px 16px 14px !important;
  border:none !important;
  border-right:0.5px solid rgba(255,255,255,0.08) !important;
  border-radius:0 !important;
  background:rgba(5,7,12,0.96) !important;
  box-shadow:none !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
  box-sizing:border-box !important;
}
#dashboard .bd-shell .hop-nav-brand,
#bd-left-nav.hop-nav .sidebar-brand.hop-nav-brand{
  border-bottom:none !important;
  cursor:pointer;
  border-radius:10px;
  width:100% !important;
  flex-shrink:0 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  padding:12px 8px !important;
  margin:0 0 6px !important;
  box-sizing:border-box !important;
  min-height:56px;
}
#dashboard .bd-shell .left-nav.hop-nav{
  gap:0 !important;
}
#dashboard .bd-shell .hop-nav-list.nav-list{
  width:100% !important;
  max-width:100% !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  align-content:flex-start !important;
  justify-content:flex-start !important;
  gap:6px !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
  overscroll-behavior:contain;
  scrollbar-gutter:unset;
  scrollbar-width:none !important;
  padding:4px 4px 12px 2px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  -webkit-overflow-scrolling:touch;
}
#dashboard .bd-shell .hop-nav-group{
  margin:0 8px !important;
  padding:0 !important;
  line-height:1.2 !important;
  flex-shrink:0 !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
}
#dashboard .bd-shell .hop-nav-group:first-child{
  margin-top:0 !important;
}
#dashboard .bd-shell .nav-item.nx-nav-item{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  align-self:stretch !important;
  box-sizing:border-box !important;
  min-height:42px !important;
  height:auto !important;
  padding:10px 14px !important;
  margin:0 !important;
  border-radius:12px !important;
  border:0.5px solid transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:var(--nxt-font-body) !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:var(--nxt-text-dim) !important;
  justify-content:flex-start !important;
  display:flex !important;
}
#dashboard .bd-shell .hop-nav-brand:hover{background:rgba(37,224,255,0.06);}
#dashboard .bd-shell .hop-nav-brand .nx-core{
  flex:0 0 auto;
  margin-top:0;
}
#dashboard .bd-shell .hop-nav-brand .nx-core--logo,
#bd-left-nav .hop-nav-brand .nx-core--logo{
  --nx-spark-a: #25e0ff;
  --nx-spark-b: #9a6bff;
  position: relative !important;
  width:32px !important;
  height:32px !important;
  border-radius:9px !important;
  background:transparent !important;
  box-shadow:none !important;
  animation:none !important;
  overflow:visible !important;
  display:grid;
  place-items:center;
  flex:0 0 32px !important;
  isolation:isolate;
}
#dashboard .bd-shell .hop-nav-brand .nx-core--logo img,
#bd-left-nav .hop-nav-brand .nx-core--logo img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:9px;
  /* Soft electric glow pulse on the mark itself — no spin */
  animation:nx-logo-glow 2.8s ease-in-out infinite;
}
/* Jagged lightning bolts that crack / strike (stay in place, no orbit) */
#bd-left-nav .hop-nav-brand .nx-core--logo .nx-core-bolt,
#dashboard .bd-shell .hop-nav-brand .nx-core--logo .nx-core-bolt{
  position:absolute;
  z-index:3;
  pointer-events:none;
  width:10px;
  height:16px;
  opacity:0;
  background:transparent;
  filter:drop-shadow(0 0 3px var(--nx-spark-a));
}
#bd-left-nav .hop-nav-brand .nx-core--logo .nx-core-bolt::before,
#dashboard .bd-shell .hop-nav-brand .nx-core--logo .nx-core-bolt::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, transparent 40%, var(--nx-spark-a) 42%, var(--nx-spark-a) 48%, transparent 50%),
    linear-gradient(250deg, transparent 45%, #fff 48%, var(--nx-spark-b) 52%, transparent 55%),
    linear-gradient(160deg, transparent 30%, var(--nx-spark-a) 35%, transparent 42%);
  clip-path:polygon(45% 0%, 62% 28%, 48% 28%, 70% 100%, 38% 48%, 52% 48%);
}
#bd-left-nav .hop-nav-brand .nx-core--logo .nx-core-bolt--1,
#dashboard .bd-shell .hop-nav-brand .nx-core--logo .nx-core-bolt--1{
  top:-10px;
  right:-2px;
  transform:rotate(8deg) scale(0.85);
  animation:nx-bolt-strike 2.6s steps(1, end) infinite;
}
#bd-left-nav .hop-nav-brand .nx-core--logo .nx-core-bolt--2,
#dashboard .bd-shell .hop-nav-brand .nx-core--logo .nx-core-bolt--2{
  bottom:-8px;
  left:-4px;
  transform:rotate(195deg) scale(0.75);
  animation:nx-bolt-strike 2.6s steps(1, end) infinite 0.9s;
}
#bd-left-nav .hop-nav-brand .nx-core--logo .nx-core-bolt--3,
#dashboard .bd-shell .hop-nav-brand .nx-core--logo .nx-core-bolt--3{
  top:4px;
  left:-11px;
  transform:rotate(-55deg) scale(0.7);
  animation:nx-bolt-strike 2.6s steps(1, end) infinite 1.7s;
}
@keyframes nx-logo-glow{
  0%,100%{
    filter:drop-shadow(0 0 2px rgba(37,224,255,0.25));
  }
  50%{
    filter:drop-shadow(0 0 7px rgba(37,224,255,0.55)) drop-shadow(0 0 12px rgba(154,107,255,0.35));
  }
}
@keyframes nx-bolt-strike{
  0%, 8%, 100%{ opacity:0; }
  10%{ opacity:1; }
  12%{ opacity:0.2; }
  14%{ opacity:1; }
  18%{ opacity:0; }
  42%, 48%{ opacity:0; }
  44%{ opacity:0.9; }
  46%{ opacity:0; }
}
@media (prefers-reduced-motion: reduce){
  #bd-left-nav .hop-nav-brand .nx-core--logo img,
  #dashboard .bd-shell .hop-nav-brand .nx-core--logo img,
  #bd-left-nav .hop-nav-brand .nx-core--logo .nx-core-bolt,
  #dashboard .bd-shell .hop-nav-brand .nx-core--logo .nx-core-bolt{
    animation:none !important;
  }
}
#dashboard .bd-shell .hop-nav-brand .bd-nav-brand-text{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
  display:flex !important;
  align-items:center !important;
}
#dashboard .bd-shell .hop-nav-brand .bd-nav-brand-company,
#bd-left-nav .bd-nav-brand-company{
  display:block;
  font-family:var(--nxt-font-body), 'Sora', sans-serif !important;
  font-size:0.72rem !important;
  font-weight:600 !important;
  letter-spacing:0.01em !important;
  line-height:1.35 !important;
  text-transform:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
  max-width:none !important;
  width:100% !important;
  color:inherit !important;
  opacity:0.95;
  margin:0 !important;
}
#dashboard .bd-shell .hop-nav-list.nav-list.is-scrollable{
  overflow-y:auto !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,255,255,0.35) rgba(255,255,255,0.06) !important;
}
#dashboard .bd-shell .hop-nav-list.nav-list::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
#dashboard .bd-shell .hop-nav-list.nav-list.is-scrollable::-webkit-scrollbar{
  width:8px !important;
  height:8px !important;
  display:block !important;
}
#dashboard .bd-shell .hop-nav-list.nav-list.is-scrollable::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.28) !important;
  border-radius:999px !important;
  border:2px solid transparent !important;
  background-clip:padding-box !important;
}
#dashboard .bd-shell .hop-nav-list.nav-list.is-scrollable::-webkit-scrollbar-track{
  background:rgba(255,255,255,0.05) !important;
  border-radius:999px !important;
}
/* Brand + Logout stay fixed; only the menu list scrolls */
body.bd-hop-ui #dashboard .bd-shell .left-nav.hop-nav,
body.bd-hop-ui #bd-left-nav.hop-nav{
  overflow:hidden !important;
}
body.bd-hop-ui #dashboard .nav-list,
body.bd-hop-ui #bd-left-nav .nav-list,
body.bd-hop-ui #bd-left-nav .hop-nav-list,
body.bd-hop-ui #dashboard .bd-shell .hop-nav-list.nav-list{
  overflow-x:hidden !important;
  overflow-y:hidden !important;
  scrollbar-width:none !important;
}
body.bd-hop-ui #dashboard .nav-list.is-scrollable,
body.bd-hop-ui #bd-left-nav .nav-list.is-scrollable,
body.bd-hop-ui #bd-left-nav .hop-nav-list.is-scrollable,
body.bd-hop-ui #dashboard .bd-shell .hop-nav-list.nav-list.is-scrollable{
  overflow-y:auto !important;
  scrollbar-width:thin !important;
}
#dashboard .bd-shell .nav-item.nx-nav-item.active{
  color:var(--nxt-text) !important;
  background:rgba(37,224,255,0.14) !important;
  border-color:rgba(37,224,255,0.35) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06) !important;
  border-radius:12px !important;
}
#dashboard .bd-shell .nav-item.nx-nav-item:hover{
  background:rgba(255,255,255,0.04) !important;
  color:var(--nxt-text) !important;
}
#dashboard .bd-shell .hop-nav-fold{
  width:100% !important;
}
#dashboard .bd-shell .hop-nav-fold-toggle.nav-item{
  font-weight:650 !important;
  width:100% !important;
}
#dashboard .bd-shell .hop-nav-sub.nav-item{
  padding-left:18px !important;
  font-size:12.5px !important;
  opacity:0.92;
  width:100% !important;
}
#dashboard .bd-shell .hop-nav-caret{
  color:inherit !important;
  opacity:0.75;
  margin-left:auto !important;
}
#dashboard .bd-shell .nav-icon{display:none !important;}
#dashboard .bd-shell .hop-nav-logout{
  width:100% !important;
  margin-top:auto !important;
  flex-shrink:0 !important;
}
#dashboard .bd-shell .main-content.hop-main{
  height:100% !important;
  min-height:0 !important;
  padding:16px 18px 28px !important;
  overflow:auto !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
#dashboard .bd-shell .bd-home-header .nx-display{
  font-size:1.35rem;
  letter-spacing:0.04em;
}
#dashboard .bd-shell .content-inner.dashboard-ta-focus{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:0 !important;
  min-height:0 !important;
}
#dashboard.bd-module-mode .hop-main{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* ---------- BD modules mount inside hop-main (scroll works like HoP) ---------- */
#dashboard .hop-main.main-content{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}
#dashboard #bd-home-view:not(.hidden){
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}
#dashboard .bd-module-mount{
  position:relative !important;
  inset:auto !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
  padding:0 !important;
  z-index:2;
}
#dashboard .bd-module-mount.hidden{display:none !important;}
#dashboard .bd-module-mount > .bd-mounted-module{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  max-height:none !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  margin:0 !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  z-index:auto !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  padding:12px 14px !important;
  box-sizing:border-box !important;
  background:transparent !important;
  pointer-events:auto !important;
}
#dashboard .bd-module-mount > #party-master-section.bd-mounted-module .container{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
#dashboard .bd-module-mount > #party-master-section.bd-mounted-module .tab-panel:not(.hidden){
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
#dashboard .bd-module-mount > #party-master-section.bd-mounted-module .party-master-scroll-wrapper{
  flex:1 1 auto !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:auto !important;
  overflow-x:auto !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  scrollbar-color:#25e0ff rgba(255,255,255,0.12);
}
#dashboard .bd-module-mount > #party-master-section.bd-mounted-module .party-master-scroll-wrapper::-webkit-scrollbar{
  width:14px !important;
  height:14px !important;
  display:block !important;
  background:rgba(255,255,255,0.06);
}
#dashboard .bd-module-mount > #party-master-section.bd-mounted-module .party-master-scroll-wrapper::-webkit-scrollbar-thumb{
  background:rgba(37,224,255,0.55) !important;
  border-radius:8px !important;
  border:2px solid rgba(5,7,12,0.9);
}
#dashboard .bd-module-mount > .workspace-shell.bd-mounted-module{
  overflow:auto !important;
}

/* Sticky HoP-style rail while BD modules are open — full-height sidebar, no bottom gap */
body.bd-hop-ui #dashboard.bd-module-mode{
  /* CRITICAL: #dashboard sets left+right+width — right:0 stretches full viewport and
     covers Customers/scrollbars. Force a true 232px rail only, floor-to-ceiling. */
  position:fixed !important;
  left:0 !important;
  right:auto !important;
  top:var(--nx-header-h, 64px) !important;
  bottom:0 !important;
  width:232px !important;
  max-width:232px !important;
  min-width:232px !important;
  height:auto !important;
  min-height:calc(100dvh - var(--nx-header-h, 64px)) !important;
  z-index:45 !important;
  pointer-events:none !important;
  background:#05070c !important;
  overflow:hidden !important;
}
body.bd-hop-ui #dashboard.bd-module-mode .bd-shell{
  width:232px !important;
  max-width:232px !important;
  height:100% !important;
  min-height:100% !important;
  grid-template-columns:232px !important;
  grid-template-rows:minmax(0, 1fr) !important;
  border-radius:0 !important;
  border:none !important;
  border-right:0.5px solid rgba(255,255,255,0.08) !important;
  background:inherit !important;
  display:flex !important;
  flex-direction:column !important;
}
body.bd-hop-ui #dashboard.bd-module-mode .hop-nav{
  pointer-events:auto !important;
  position:relative !important;
  z-index:46 !important;
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}
body.bd-hop-ui #dashboard.bd-module-mode .hop-nav .hop-nav-logout{
  margin-top:auto !important;
  flex-shrink:0 !important;
}
body.bd-hop-ui #dashboard.bd-module-mode .hop-main,
body.bd-hop-ui #dashboard.bd-module-mode .right-sidebar{
  display:none !important;
}
body.bd-hop-ui .workspace-shell:not(.hidden){
  position:fixed !important;
  left:232px !important;
  top:var(--nx-header-h, 64px) !important;
  right:0 !important;
  bottom:0 !important;
  width:calc(100vw - 232px) !important;
  max-width:calc(100vw - 232px) !important;
  min-height:calc(100dvh - var(--nx-header-h, 64px)) !important;
  height:auto !important;
  border-radius:0 !important;
  border:none !important;
  border-left:0.5px solid rgba(255,255,255,0.08) !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(37,224,255,0.08), transparent 40%),
    radial-gradient(circle at 90% 85%, rgba(154,107,255,0.10), transparent 45%),
    rgba(5,7,12,0.98) !important;
  box-shadow:none !important;
  font-family:var(--nxt-font-body) !important;
  color:var(--nxt-text) !important;
  z-index:50 !important;
  overflow:auto !important;
  padding:14px 16px 16px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
}
/* Target vs Achievement — readable FY table + scroll, not squashed */
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .ta-fy-overview-full-wrap{
  overflow:auto !important;
  max-height:none !important;
  min-height:160px !important;
  width:100% !important;
}
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .ta-fy-overview-table,
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .ta-excel-table-full{
  table-layout:auto !important;
  width:100% !important;
  min-width:640px !important;
}
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .ta-excel-table-full thead th{
  padding:10px 16px !important;
  font-size:13px !important;
  white-space:nowrap !important;
}
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .ta-excel-table-full tbody td{
  padding:10px 16px !important;
  font-size:13px !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .card-highlight,
body.bd-hop-ui #target-vs-achievement-workspace:not(.hidden) .executive-panel{
  overflow:visible !important;
}
/* Customers: original LARGE table + scroll (not flex-cramped mount) */
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden){
  position:fixed !important;
  left:232px !important;
  top:64px !important;
  right:0 !important;
  bottom:0 !important;
  width:calc(100vw - 232px) !important;
  max-width:calc(100vw - 232px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  z-index:60 !important;
  padding:0 !important;
  background:#080c14 !important;
  border:0 !important;
  border-left:0.5px solid rgba(255,255,255,0.08) !important;
  border-radius:0 !important;
  pointer-events:auto !important;
  box-sizing:border-box !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .bd-customers-body,
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .inv-body{
  padding:8px 10px 6px !important;
  flex:1 1 0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .bd-customers-shell,
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .inv-shell{
  height:100% !important;
  min-height:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 !important;
}
body.bd-hop-ui #party-master-section .inv-title,
body.bd-hop-ui #article-master-workspace .inv-title{
  font-size:0.95rem !important;
}
body.bd-hop-ui #party-master-section .inv-topbar-actions .nx-btn,
body.bd-hop-ui #article-master-workspace .inv-topbar-actions .nx-btn{
  padding:4px 9px !important;
  font-size:0.72rem !important;
  min-height:28px !important;
}
body.bd-hop-ui #party-master-section .party-master-tabs{
  margin:0 !important;
  gap:6px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
body.bd-hop-ui #party-master-section .party-master-tabs .tab-button{
  min-height:28px !important;
  padding:0 10px !important;
  font-size:0.72rem !important;
}
body.bd-hop-ui #party-master-section .bd-customers-filters{
  display:inline-flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 0 4px !important;
}
body.bd-hop-ui #party-master-section .bd-customers-filters.hidden{
  display:none !important;
}
body.bd-hop-ui #party-master-section .bd-customers-filter-inline{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  width:auto !important;
  max-width:none !important;
  min-height:28px !important;
}
body.bd-hop-ui #party-master-section .bd-customers-filter-inline.hidden{
  display:none !important;
}
body.bd-hop-ui #party-master-section .bd-customers-filter-inline > span{
  font-size:0.68rem !important;
  font-weight:600 !important;
  white-space:nowrap !important;
  color:inherit !important;
  opacity:0.75;
}
body.bd-hop-ui #party-master-section .bd-customers-filter-inline select,
body.bd-hop-ui #party-master-section .bd-customers-filter-inline input,
body.bd-hop-ui #party-master-section #retailer-distributor-filter,
body.bd-hop-ui #party-master-section #retailer-city-filter,
body.bd-hop-ui #party-master-section #retailer-search-input,
body.bd-hop-ui #party-master-section #distributor-city-filter,
body.bd-hop-ui #party-master-section #distributor-search-input{
  width:auto !important;
  min-width:120px !important;
  max-width:180px !important;
  height:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  padding:0 8px !important;
  margin:0 !important;
  border-radius:8px !important;
  font-size:0.72rem !important;
  line-height:1.2 !important;
  box-sizing:border-box !important;
}
body.bd-hop-ui #party-master-section #retailer-search-input,
body.bd-hop-ui #party-master-section #distributor-search-input{
  min-width:150px !important;
  max-width:200px !important;
}
body.bd-hop-ui #party-master-section .bd-customers-body{
  padding:6px 10px 8px !important;
}
body.bd-hop-ui #party-master-section .party-master-pagination{
  margin:0 !important;
  padding:2px 6px !important;
  gap:8px !important;
  flex:0 0 auto !important;
  min-height:0 !important;
  background:transparent !important;
  border:none !important;
}
body.bd-hop-ui #party-master-section .party-master-pagination-meta,
body.bd-hop-ui #party-master-section .party-master-pagination-page{
  font-size:0.65rem !important;
  line-height:1.2 !important;
}
body.bd-hop-ui #party-master-section .party-master-pagination .btn,
body.bd-hop-ui #party-master-section .party-master-pagination .btn-secondary{
  min-height:24px !important;
  height:24px !important;
  max-height:24px !important;
  padding:0 8px !important;
  border-radius:6px !important;
  font-size:0.65rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
body.bd-hop-ui #party-master-section .bd-customers-body{
  flex:1 1 0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
body.bd-hop-ui #party-master-section .bd-customers-title-wrap{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
body.bd-hop-ui #party-master-section .bd-customers-eyebrow{
  margin:0;
  font-size:0.62rem;
}
/* Critical: keep card as flex so table wrapper can scroll */
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .tab-panel.bd-customers-card:not(.hidden),
body.bd-hop-ui #party-master-section .bd-customers-card:not(.hidden){
  flex:1 1 0 !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  background:rgba(255,255,255,0.03) !important;
}
body.bd-hop-ui #party-master-section .bd-customers-card.hidden{
  display:none !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .container{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .party-master-scroll-wrapper,
body.bd-hop-ui #party-master-section .bd-customers-card .party-master-scroll-wrapper{
  flex:1 1 0 !important;
  height:0 !important;
  max-height:none !important;
  min-height:0 !important;
  width:100% !important;
  overflow:scroll !important;
  overflow-x:scroll !important;
  overflow-y:scroll !important;
  overscroll-behavior:contain;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  scrollbar-gutter:stable both-edges;
  scrollbar-width:auto !important;
  scrollbar-color:rgba(37,224,255,0.55) rgba(0,0,0,0.08) !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .party-master-scroll-wrapper::-webkit-scrollbar,
body.bd-hop-ui #party-master-section .bd-customers-card .party-master-scroll-wrapper::-webkit-scrollbar{
  width:12px !important;
  height:12px !important;
  display:block !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .party-master-scroll-wrapper::-webkit-scrollbar-thumb,
body.bd-hop-ui #party-master-section .bd-customers-card .party-master-scroll-wrapper::-webkit-scrollbar-thumb{
  background:rgba(37,224,255,0.5) !important;
  border-radius:999px !important;
  border:2px solid rgba(9,13,24,0.2) !important;
}
body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden) .party-master-scroll-wrapper::-webkit-scrollbar-track,
body.bd-hop-ui #party-master-section .bd-customers-card .party-master-scroll-wrapper::-webkit-scrollbar-track{
  background:rgba(0,0,0,0.06) !important;
}
body.bd-hop-ui .workspace-header h2{
  font-family:var(--nxt-font-display) !important;
  font-size:1.15rem !important;
  letter-spacing:0.04em !important;
}
body.bd-hop-ui .party-master-header h2{
  font-family:var(--nxt-font-display) !important;
  font-size:1.45rem !important;
  letter-spacing:-0.02em !important;
}
body.bd-hop-ui .workspace-breadcrumb,
body.bd-hop-ui .eyebrow{
  color:var(--nxt-text-faint) !important;
  font-family:var(--nxt-font-mono) !important;
  letter-spacing:0.1em !important;
}
body.bd-hop-ui .card-highlight,
body.bd-hop-ui .executive-panel{
  background:var(--nxt-glass) !important;
  border:var(--nxt-border) !important;
  border-radius:var(--nxt-radius-card) !important;
  box-shadow:none !important;
}
body.bd-hop-ui .btn-primary{
  background: var(--hop-c-accent, var(--nx-gold, #C9A227)) !important;
  color: #ffffff !important;
  border: 1px solid var(--hop-c-accent, var(--nx-gold, #C9A227)) !important;
  font-family: inherit !important;
  box-shadow: none !important;
  background-image: none !important;
}
body.bd-hop-ui .btn-secondary{
  background: var(--hop-c-bg-soft, var(--nxt-glass, transparent)) !important;
  border: 1px solid var(--hop-c-border, var(--nxt-border, #333)) !important;
  color: var(--hop-c-text, var(--nxt-text, #e6e6e6)) !important;
  font-family: inherit !important;
  background-image: none !important;
}

/* TA / FO home widgets — theme tokens, full text visible */
body.bd-hop-ui #dashboard-ta-widget.ta-playing-card-compact{
  width:340px !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:unset !important;
  background:var(--dash-widget-bg) !important;
  border:1px solid var(--dash-widget-border) !important;
  border-radius:10px !important;
  box-shadow:0 8px 22px var(--dash-widget-shadow) !important;
  color:var(--dash-widget-text) !important;
  font-family:var(--nxt-font-body) !important;
}
body.bd-hop-ui #dashboard-ta-widget .ta-playing-card-header h2{
  font-family:var(--nxt-font-display) !important;
  font-size:0.78rem !important;
  letter-spacing:-0.01em !important;
  color:var(--dash-widget-text) !important;
}
body.bd-hop-ui #dashboard-ta-widget .ta-playing-card-header p{
  color:var(--dash-widget-muted) !important;
}

body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget.ta-playing-card-compact,
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget.fo-playing-card-compact{
  width:360px !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:unset !important;
  background:var(--dash-widget-bg) !important;
  border:1px solid var(--dash-widget-border) !important;
  border-radius:10px !important;
  box-shadow:0 8px 22px var(--dash-widget-shadow) !important;
  color:var(--dash-widget-text) !important;
  font-family:var(--nxt-font-body, 'Sora', system-ui, sans-serif) !important;
}
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget .ta-playing-card-header h2{
  font-family:var(--nxt-font-display, 'Sora', system-ui, sans-serif) !important;
  font-size:0.78rem !important;
  letter-spacing:-0.01em !important;
  color:var(--dash-widget-text) !important;
}
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget .ta-playing-card-header p{
  color:var(--dash-widget-muted) !important;
  text-transform:none !important;
  letter-spacing:0.02em !important;
}
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget .ta-playing-card-footer{
  margin:0 !important;
  padding:2px 0 0 !important;
  border-top:none !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget .ta-excel-table-widget thead th{
  background:var(--dash-widget-bg-header) !important;
  color:var(--dash-widget-accent) !important;
}
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget .ta-excel-table-widget tbody td{
  background:var(--dash-widget-bg-deep) !important;
  color:var(--dash-widget-text) !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
body.bd-hop-ui .dashboard-fo-widget-layer .fo-season-widget .ta-excel-table-widget tbody tr:nth-child(even) td{
  background:var(--dash-widget-row-alt) !important;
}
body.bd-hop-ui .ta-playing-card-corner{display:none !important;}

/* --- Desktop contact toolbar --- */
.hop-desk-toolbar{
  display:flex;align-items:center;gap:10px;
  padding:10px 0;margin-bottom:4px;
}
.hop-desk-select-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px !important;font-size:.82rem;
  border-radius:6px;cursor:pointer;
  background:var(--nxt-glass,#1e293b) !important;
  border:1px solid var(--nxt-border-color,#334155) !important;
  color:var(--nxt-text-dim,#94a3b8) !important;
  transition:all .15s ease;
}
.hop-desk-select-btn:hover{
  border-color:var(--nxt-cyan,#22d3ee) !important;
  color:var(--nxt-cyan,#22d3ee) !important;
}
.hop-desk-select-btn.is-active{
  background:rgba(34,211,238,.1) !important;
  border-color:var(--nxt-cyan,#22d3ee) !important;
  color:var(--nxt-cyan,#22d3ee) !important;
}
.hop-desk-select-btn svg{flex-shrink:0;}
.hop-desk-count{
  font-size:.78rem;color:var(--nxt-text-dim,#64748b);
}
.hop-desk-toolbar-spacer{flex:1;}
.hop-desk-bulk-del-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px !important;font-size:.82rem;
  border-radius:6px;cursor:pointer;
  background:rgba(239,68,68,.12) !important;
  border:1px solid rgba(239,68,68,.3) !important;
  color:#f87171 !important;
  transition:all .15s ease;
}
.hop-desk-bulk-del-btn:hover{
  background:rgba(239,68,68,.22) !important;
  border-color:#ef4444 !important;
}
.hop-desk-bulk-del-btn svg{width:14px;height:14px;}
.hop-desk-check{cursor:pointer;}

/* --- Vyapar Import Page --- */
.vyp-page{max-width:720px;}
.vyp-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vyp-col{min-width:0;}

.vyp-drop-zone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:20px 12px;
  border:1.5px dashed rgba(255,255,255,.12);border-radius:10px;
  cursor:pointer;transition:border-color .15s,background .15s;
  color:var(--nxt-text-dim,#64748b);text-align:center;
}
.vyp-drop-zone:hover{border-color:var(--nxt-cyan,#22d3ee);background:rgba(34,211,238,.04);}
.vyp-drop-label{margin:0;font-size:.76rem;line-height:1.4;}
.vyp-drop-file{margin:0;font-size:.73rem;opacity:.82;transition:color .15s;}
.vyp-drop-file.is-active{opacity:1;color:var(--nxt-cyan,#22d3ee);}

.vyp-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
.vyp-btn{
  padding:8px 0;border:none;border-radius:7px;font-size:.8rem;font-weight:650;
  cursor:pointer;text-align:center;transition:all .15s;
}
.vyp-btn-scan{background:rgba(255,255,255,.06);color:var(--nxt-text,#e2e8f0);}
.vyp-btn-scan:hover{background:rgba(255,255,255,.1);}
.vyp-btn-import{
  background:linear-gradient(135deg,var(--nxt-cyan,#22d3ee),var(--nxt-violet,#8b5cf6));
  color:#fff;
}
.vyp-btn-import:hover{filter:brightness(1.1);}
.vyp-btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none;}

.vyp-firm-row{
  display:flex;align-items:baseline;gap:8px;margin-bottom:10px;
}
.vyp-firm-row strong{font-size:.85rem;color:var(--nxt-text,#e2e8f0);}
.vyp-firm-row span{font-size:.68rem;color:var(--nxt-text-dim,#64748b);}

.vyp-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;}
.vyp-s{
  text-align:center;padding:8px 0;
  background:rgba(255,255,255,.025);border-radius:6px;
  border:1px solid rgba(255,255,255,.05);
}
.vyp-s span{display:block;font-size:1.1rem;font-weight:700;color:var(--nxt-cyan,#22d3ee);line-height:1.2;}
.vyp-s small{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--nxt-text-dim,#64748b);}

.vyp-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;}
.vyp-t{padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:600;}
.vyp-t-s{background:rgba(34,197,94,.1);color:#4ade80;}
.vyp-t-p{background:rgba(96,165,250,.1);color:#93c5fd;}
.vyp-t-y{background:rgba(251,191,36,.1);color:#fbbf24;}
.vyp-hint{font-size:.68rem;color:var(--nxt-text-dim,#64748b);margin:0;}

.vyp-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:30px 10px;text-align:center;
  color:var(--nxt-text-dim,#64748b);
}
.vyp-empty p{margin:0;font-size:.76rem;}

@media(max-width:600px){.vyp-row{grid-template-columns:1fr;}}

/* Vyapar loader overlay */
.vyp-loader{
  position:fixed;inset:0;z-index:9500;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:0;transition:opacity .2s;
}
.vyp-loader.is-open{opacity:1;}
.vyp-loader-card{
  text-align:center;padding:28px 36px;
  background:var(--nxt-glass,#111827);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
.vyp-spinner{
  width:36px;height:36px;margin:0 auto 12px;
  border:3px solid rgba(255,255,255,.1);
  border-top-color:var(--nxt-cyan,#22d3ee);
  border-radius:50%;animation:vyp-spin .7s linear infinite;
}
@keyframes vyp-spin{to{transform:rotate(360deg)}}
.vyp-loader-msg{margin:0;font-size:.82rem;color:var(--nxt-text-dim,#94a3b8);}

/* Vyapar result dialog */
.vyp-result{
  position:fixed;inset:0;z-index:9600;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s;
}
.vyp-result.is-open{opacity:1;}
.vyp-result-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);}
.vyp-result-card{
  position:relative;z-index:1;
  width:340px;max-width:92vw;padding:24px;
  background:var(--nxt-glass,#111827);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;text-align:center;
  transform:scale(.92);transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.vyp-result.is-open .vyp-result-card{transform:scale(1);}
.vyp-result-icon{margin-bottom:10px;}
.vyp-result-icon.is-ok{color:#4ade80;}
.vyp-result-icon.is-fail{color:#f87171;}
.vyp-result-title{margin:0 0 10px;font-size:.95rem;font-weight:700;color:var(--nxt-text,#e2e8f0);}
.vyp-result-body{text-align:left;font-size:.78rem;color:var(--nxt-text-dim,#94a3b8);line-height:1.7;}
.vyp-result-body p{margin:0;}
.vyp-result-body strong{color:var(--nxt-cyan,#22d3ee);}
.vyp-r-label{
  display:inline-block;width:70px;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.04em;color:var(--nxt-text-dim,#64748b);
}
.vyp-r-warn{color:#fbbf24;font-size:.72rem;}

/* --- Parties (Vyapar-style) --- */
.pty-page{
  flex:1 1 0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.pty-topbar{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  padding-top:calc(12px + env(safe-area-inset-top, 0px));
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(8,10,16,.98);
}
.pty-topbar-left{display:flex;align-items:baseline;gap:10px;min-width:0;}
.pty-topbar-title{
  margin:0;font-size:1.2rem;font-weight:700;color:var(--nxt-text,#e2e8f0);
}
.pty-topbar-sub{font-size:.72rem;color:var(--nxt-text-dim,#64748b);}
.pty-topbar-actions{display:flex;gap:8px;flex-shrink:0;}
.hop-view--parties .hop-form-card{
  margin:10px 16px 0;
  flex-shrink:0;
}

.pty-layout{
  /* CSS Grid is more reliable than flex for fixed left + fluid right */
  display:grid !important;
  grid-template-columns:minmax(280px, 340px) minmax(0, 1fr) !important;
  grid-template-rows:minmax(0, 1fr) !important;
  align-items:stretch !important;
  flex:1 1 0;
  min-height:0;
  height:100%;
  width:100%;
  border:none;
  border-radius:0;
  overflow:hidden;
}
.pty-sidebar{
  display:flex;
  flex-direction:column;
  grid-column:1;
  min-width:0;
  min-height:0;
  height:100%;
  border-right:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);
  overflow:hidden;
}
.pty-detail{
  grid-column:2;
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto;
  padding:0;
  background:rgba(12,16,24,.9);
  border-left:1px solid rgba(255,255,255,.04);
}
.pty-search-row{padding:10px;}
.pty-search{
  width:100%;padding:7px 10px;font-size:.78rem;
  border:1px solid var(--nxt-border-color,#334155);border-radius:6px;
  background:rgba(255,255,255,.04);color:var(--nxt-text,#e2e8f0);
  outline:none;
}
.pty-search:focus{border-color:var(--nxt-cyan,#22d3ee);}
.pty-list-header{
  display:flex;justify-content:space-between;padding:4px 12px;
  font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--nxt-text-dim,#64748b);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pty-list{flex:1;overflow-y:auto;}
.pty-item-wrap{
  display:flex;
  flex-direction:column;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.pty-item-wrap.is-active{
  background:rgba(34,211,238,.06);
}
.pty-item-wrap .pty-item{
  border-bottom:none;
}
.pty-item-actions{
  display:flex;
  gap:6px;
  padding:0 10px 8px 40px;
  flex-wrap:wrap;
}
.pty-item-actions .pty-action-btn,
.pty-item-actions .nx-btn{
  min-height:30px;
  font-size:.7rem;
  padding:4px 8px;
}

.pty-item{
  display:flex;align-items:center;gap:8px;
  width:100%;padding:7px 10px;border:none;
  background:transparent;color:var(--nxt-text,#e2e8f0);
  cursor:pointer;text-align:left;font-size:.78rem;
  border-bottom:1px solid rgba(255,255,255,.03);
  transition:background .1s;
  min-height:36px;
}
.pty-item:hover{background:rgba(255,255,255,.04);}
.pty-item.is-active{background:rgba(34,211,238,.08);border-left:3px solid var(--nxt-cyan,#22d3ee);padding-left:7px;}
.pty-badge{
  flex-shrink:0;width:24px;height:24px;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:700;
}
.pty-badge-c{background:rgba(34,211,238,.15);color:#22d3ee;}
.pty-badge-v{background:rgba(168,85,247,.15);color:#a855f7;}
.pty-item-main{flex:1;min-width:0;display:flex;align-items:center;}
.pty-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.25;}
.pty-item-group{display:none;}
.pty-item-bal{font-size:.72rem;color:var(--nxt-text-dim,#64748b);flex-shrink:0;font-variant-numeric:tabular-nums;}
.pty-item-bal.is-due{color:#f87171;}
.pty-list-header{padding:4px 10px;}
.pty-search-row{padding:8px 10px;}
.pty-search{padding:6px 9px;font-size:.76rem;}
.pty-empty-list{padding:20px;text-align:center;font-size:.78rem;color:var(--nxt-text-dim,#64748b);}

.pty-no-selection{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:100%;gap:8px;color:var(--nxt-text-dim,#64748b);
}
.pty-no-selection p{font-size:.82rem;margin:0;}

.pty-detail-header{
  display:block;
  padding:20px 22px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.pty-detail-info{min-width:0;}
.pty-detail-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.pty-detail-heading{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.pty-detail-name{
  margin:0;
  font-size:1.2rem;
  font-weight:750;
  letter-spacing:-0.02em;
  color:var(--nxt-text,#f8fafc);
  line-height:1.25;
}
.pty-detail-type{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:rgba(34,211,238,.12);
  border:1px solid rgba(34,211,238,.28);
  color:#67e8f9;
}
.pty-detail-actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pty-detail-actions .nx-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  font-size:.78rem;
}
.pty-detail-actions .nx-btn svg{width:15px;height:15px;}
.pty-detail-meta{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
.pty-meta-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.8rem;
  line-height:1.45;
  color:#cbd5e1;
}
.pty-meta-ico{
  width:28px;height:28px;flex-shrink:0;
  border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);
  color:#67e8f9;
}
.pty-meta-ico svg{width:14px;height:14px;}
.pty-meta-text em{
  font-style:normal;
  color:#64748b;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-right:6px;
}
.pty-detail-contact{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.pty-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:#e2e8f0;
  font-size:.76rem;
  text-decoration:none;
  max-width:100%;
}
.pty-chip svg{width:14px;height:14px;flex-shrink:0;color:#67e8f9;}
.pty-chip-phone svg{color:#38bdf8;}
.pty-chip-mail svg{color:#a78bfa;}
.pty-chip-place svg{color:#fbbf24;}
.pty-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pty-chip:hover{border-color:rgba(34,211,238,.35);background:rgba(34,211,238,.08);}
.pty-action-btn{
  min-width:36px;height:36px;border-radius:8px;border:none;
  display:inline-flex;align-items:center;justify-content:center;
  gap:4px;
  padding:0 8px;
  background:rgba(255,255,255,.05);color:var(--nxt-text-dim,#94a3b8);
  cursor:pointer;transition:all .12s;text-decoration:none;
  font-size:.7rem;
}
.pty-action-btn svg{width:16px;height:16px;}
.pty-action-btn:hover{background:rgba(255,255,255,.1);color:var(--nxt-text,#e2e8f0);}
.pty-action-wa{color:#25d366 !important;}
.pty-action-del:hover{color:#f87171 !important;background:rgba(248,113,113,.1) !important;}

.pty-txn-section{padding:16px 22px;}
.pty-txn-header{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:10px;
}
.pty-txn-header strong{font-size:.85rem;color:var(--nxt-text,#e2e8f0);}
.pty-txn-header .nx-text-dim{font-size:.72rem;}
.pty-total-sale{
  margin-left:auto;
  font-size:.72rem;font-weight:600;color:#94a3b8;
  white-space:nowrap;
}
.pty-total-sale em{
  font-style:normal;color:#67e8f9;margin-left:6px;
}
.pty-txn-other{
  margin-top:14px;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px;
}
.pty-txn-other summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:600;color:#94a3b8;
  user-select:none;
}
.pty-txn-other summary::-webkit-details-marker{display:none;}
.pty-txn-other summary::before{
  content:'▸';font-size:.7rem;color:#64748b;
  transition:transform .15s ease;
}
.pty-txn-other[open] summary::before{transform:rotate(90deg);}
.pty-txn-other summary span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.4rem;height:1.2rem;padding:0 6px;
  border-radius:999px;font-size:.65rem;
  background:rgba(148,163,184,.12);color:#94a3b8;
}
.pty-txn-other-hint{
  margin:8px 0 10px;font-size:.68rem;color:#64748b;line-height:1.4;
}
.pty-txn-table{
  width:100%;border-collapse:collapse;font-size:.76rem;
}
.pty-txn-table th{
  text-align:left;padding:6px 8px;font-size:.65rem;
  text-transform:uppercase;letter-spacing:.05em;
  color:var(--nxt-text-dim,#64748b);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pty-txn-table td{
  padding:8px;border-bottom:1px solid rgba(255,255,255,.03);
  color:var(--nxt-text,#e2e8f0);
}
.pty-txn-row{cursor:pointer;}
.pty-txn-row:hover{background:rgba(37,224,255,.07);}
.pty-txn-row:focus-visible{outline:2px solid rgba(37,224,255,.45);outline-offset:-2px;}
.pty-txn-view{width:28px;text-align:right;color:var(--nxt-text-dim,#64748b);}
.pty-txn-view-ico{font-size:1.1rem;font-weight:700;opacity:.75;}
.pty-txn-row:hover .pty-txn-view-ico{color:#25e0ff;opacity:1;}
.pty-txn-amt{text-align:right;font-variant-numeric:tabular-nums;}

/* --- Vyapar-style document Preview modal --- */
.hop-doc-preview-overlay{
  position:fixed;inset:0;z-index:14000;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px));
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.hop-doc-preview-overlay.is-open{opacity:1;pointer-events:auto;}
.hop-doc-preview-backdrop{
  position:absolute;inset:0;background:rgba(2,6,14,.72);backdrop-filter:blur(6px);
}
.hop-doc-preview-modal{
  position:relative;z-index:1;
  width:min(920px, 100%);
  max-height:min(94vh, 960px);
  display:flex;flex-direction:column;
  background:#f8fafc;color:#0f172a;
  border-radius:10px;
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  overflow:hidden;
}
.hop-doc-preview-head{
  flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;background:#fff;border-bottom:2px solid #1d4ed8;
}
.hop-doc-preview-head-title{
  margin:0;font-size:1.05rem;font-weight:800;color:#0f172a !important;letter-spacing:.01em;
}
.hop-doc-preview-head strong{font-size:1rem;color:#0f172a;}
.hop-doc-preview-x{
  width:34px;height:34px;border:none;border-radius:8px;background:transparent;
  font-size:1.5rem;line-height:1;color:#64748b;cursor:pointer;
}
.hop-doc-preview-x:hover{background:#f1f5f9;color:#0f172a;}
.hop-doc-preview-scroll{
  flex:1 1 auto;min-height:0;overflow:auto;background:#e2e8f0;padding:14px;
  -webkit-overflow-scrolling:touch;
}
.hop-doc-preview-loading{padding:40px 16px;text-align:center;color:#475569;}
.hop-doc-preview-sheet{
  background:#fff;border:1px solid #cbd5e1;border-radius:4px;
  padding:18px 20px 24px;max-width:860px;margin:0 auto;
  color:#0f172a;font-family:Arial, Helvetica, sans-serif;font-size:13px;line-height:1.45;
}
.hop-doc-firm{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.hop-doc-firm-name{font-size:1.15rem;font-weight:700;margin-bottom:4px;}
.hop-doc-muted{color:#64748b;font-size:12px;}
.hop-doc-logo{
  width:64px;height:64px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(145deg,#1d4ed8,#0ea5e9);
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.4rem;
}
.hop-doc-title{
  text-align:center;color:#1d4ed8;font-size:1.45rem;font-weight:800;
  margin:14px 0 12px;letter-spacing:.02em;
}
.hop-doc-meta{
  display:grid;grid-template-columns:1.2fr .8fr;gap:16px;
  margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e2e8f0;
}
.hop-doc-meta-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;}
.hop-doc-party-name{font-weight:700;font-size:14px;margin:2px 0 4px;}
.hop-doc-meta-right{text-align:right;}
.hop-doc-table{width:100%;border-collapse:collapse;margin:8px 0 14px;}
.hop-doc-table th{
  background:#1d4ed8;color:#fff;text-align:left;padding:8px;font-size:12px;font-weight:700;
}
.hop-doc-table td{border:1px solid #cbd5e1;padding:7px 8px;vertical-align:top;}
.hop-doc-table .num,.hop-doc-table th:nth-child(n+4){text-align:right;}
.hop-doc-table tfoot td{background:#f8fafc;font-weight:600;}
.hop-doc-item-name{font-weight:600;}
.hop-doc-missing{
  margin:12px 0;padding:14px;border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc;
}
.hop-doc-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:8px;}
.hop-doc-section{margin-bottom:12px;}
.hop-doc-totals{border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;background:#f8fafc;}
.hop-doc-tot-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #e2e8f0;}
.hop-doc-tot-grand{
  margin-top:6px;padding:10px 8px;border:none;border-radius:4px;
  background:#0f172a;color:#fff;
}
.hop-doc-sign{margin-top:28px;text-align:right;}
.hop-doc-sign-space{height:48px;}
.hop-doc-logo-img{width:72px;height:72px;object-fit:contain;border-radius:6px;flex-shrink:0;}
.hop-doc-sign-img{max-width:140px;max-height:56px;object-fit:contain;margin:4px 0;}
.hop-doc-intro{margin:0 0 12px;padding:10px 12px;background:#f8fafc;border-left:3px solid #1d4ed8;font-size:12px;line-height:1.5;}
.hop-doc-letter{margin:0 0 14px;font-size:12px;line-height:1.55;color:#0f172a;}
.hop-doc-letter p{margin:0 0 8px;}
.hop-doc-comm-wrap{overflow-x:auto;margin:8px 0 14px;-webkit-overflow-scrolling:touch;}
.hop-doc-comm-unified{min-width:780px;font-size:11px;}
.hop-doc-comm-unified th,.hop-doc-comm-unified td{border:1px solid #94a3b8;padding:5px 6px;vertical-align:middle;}
.hop-doc-comm-unified th{background:#1d4ed8;color:#fff;font-size:11px;font-weight:700;}
.hop-doc-comm-unified .cen{text-align:center;}
.hop-doc-comm-unified .num{text-align:right;font-variant-numeric:tabular-nums;}
.hop-doc-comm-unified .item{text-align:left;min-width:140px;}
.hop-doc-comm-section-row td{
  background:#f1f5f9;font-weight:800;font-size:11px;text-transform:none;
  letter-spacing:.01em;color:#0f172a;border-top:2px solid #64748b;
}
.hop-doc-comm-total-row td{background:#f8fafc;font-weight:700;}
.hop-doc-comm-grand-row td{background:#0f172a !important;color:#fff !important;font-weight:800;font-size:12px;}
.hop-doc-comm-grand-row .num{color:#fff !important;}
.hop-doc-bottom--commercial{grid-template-columns:1fr auto;}
.hop-doc-sign-block{text-align:right;min-width:160px;margin-top:8px;}
/* ---------- Vyapar-style full-screen Estimate / Quotation / PI overlay ---------- */
.hop-vyp-doc-overlay{
  position:fixed;inset:0;z-index:18000;
  background:#eef1f5;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;transition:opacity .15s ease;
}
.hop-vyp-doc-overlay.is-open{opacity:1;pointer-events:auto;}
body.hop-vyp-doc-open{overflow:hidden;}
.hop-vyp-doc-shell{
  flex:1;min-height:0;display:flex;flex-direction:column;
  width:100%;height:100%;background:#eef1f5;
}
.hop-vyp-doc-head{
  flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px;background:#fff;border-bottom:1px solid #e2e8f0;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.hop-vyp-doc-head-left{display:flex;align-items:center;gap:10px;}
.hop-vyp-doc-head h2{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a;}
.hop-vyp-doc-x{
  width:34px;height:34px;border:none;border-radius:8px;background:#f1f5f9;color:#475569;
  font-size:1.4rem;line-height:1;cursor:pointer;
}
.hop-vyp-doc-x:hover{background:#e2e8f0;color:#0f172a;}
.hop-vyp-doc-head-right{display:flex;gap:8px;align-items:center;}
.hop-vyp-doc-scroll{flex:1;min-height:0;overflow:auto;padding:14px 16px 28px;}
.hop-vyp-doc{max-width:1280px;margin:0 auto;}
.hop-vyp-top{
  display:grid;grid-template-columns:1.4fr .9fr;gap:16px;margin-bottom:14px;
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;
}
.hop-vyp-top-left,.hop-vyp-top-right{display:flex;flex-direction:column;gap:10px;}
.hop-vyp-field{display:flex;flex-direction:column;gap:4px;}
.hop-vyp-field span{font-size:.72rem;font-weight:650;color:#64748b;}
.hop-vyp-control{
  width:100%;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;
  background:#fff;color:#0f172a;font-size:.88rem;
}
.hop-vyp-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15);}
.hop-vyp-control--sm{max-width:140px;text-align:right;}
.hop-vyp-section{
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin-bottom:12px;
}
.hop-vyp-section-title{
  width:100%;max-width:420px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;
  font-weight:700;font-size:.9rem;margin-bottom:10px;
}
.hop-vyp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.hop-vyp-table{
  width:100%;min-width:1100px;border-collapse:collapse;font-size:.8rem;background:#fff;
}
.hop-vyp-table th{
  background:#f8fafc;color:#475569;font-size:.68rem;font-weight:700;letter-spacing:.03em;
  text-align:left;padding:8px 6px;border-bottom:1px solid #e2e8f0;white-space:nowrap;
}
.hop-vyp-table td{padding:4px 4px;border-bottom:1px solid #f1f5f9;vertical-align:middle;}
.hop-vyp-sl{width:36px;text-align:center !important;color:#94a3b8;}
.hop-vyp-item{min-width:220px;width:26%;}
.hop-vyp-desc{min-width:200px;width:22%;}
.hop-vyp-num{min-width:88px;width:88px;}
.hop-vyp-unit{min-width:64px;width:64px;}
.hop-vyp-pct{min-width:64px;width:64px;}
.hop-vyp-act{width:40px;}
.hop-vyp-inp{
  width:100%;padding:8px 8px;border:1px solid transparent;border-radius:6px;
  background:transparent;font-size:.84rem;color:#0f172a;
}
.hop-vyp-inp:hover{border-color:#e2e8f0;background:#f8fafc;}
.hop-vyp-inp:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 2px rgba(37,99,235,.12);}
.hop-vyp-inp--num{text-align:right;}
.hop-vyp-inp--cen{text-align:center;}
.hop-vyp-read{text-align:right;font-variant-numeric:tabular-nums;color:#334155;padding-right:8px !important;white-space:nowrap;}
.hop-vyp-net{font-weight:700;color:#1d4ed8;}
.hop-vyp-trash{
  border:none;background:transparent;cursor:pointer;opacity:.55;font-size:.95rem;padding:4px 6px;
}
.hop-vyp-trash:hover{opacity:1;}
.hop-vyp-add-row{
  margin-top:8px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;
  font-weight:700;font-size:.78rem;padding:7px 12px;border-radius:8px;cursor:pointer;
}
.hop-vyp-add-row:hover{background:#dbeafe;}
.hop-vyp-add-section{
  margin:4px 0 12px;border:1px dashed #cbd5e1;background:#fff;color:#475569;
  font-weight:650;padding:8px 12px;border-radius:8px;cursor:pointer;width:100%;
}
.hop-vyp-section-total{
  display:flex;justify-content:flex-end;gap:12px;align-items:center;
  margin-top:8px;padding:8px 10px;background:#f8fafc;border-radius:8px;font-size:.85rem;
}
.hop-vyp-section-total strong{color:#1d4ed8;font-variant-numeric:tabular-nums;}
.hop-vyp-bottom{
  display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:8px;
}
.hop-vyp-bottom-left,.hop-vyp-bottom-right{
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;
}
.hop-vyp-sum-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;
  font-size:.88rem;color:#0f172a;
}
.hop-vyp-sum-muted{color:#64748b;}
.hop-vyp-sum-grand{
  margin-top:8px;padding-top:10px;border-top:2px solid #1d4ed8;font-weight:700;
}
.hop-vyp-sum-grand strong{font-size:1.15rem;color:#1d4ed8;font-variant-numeric:tabular-nums;}
.hop-vyp-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:14px;padding-top:4px;
}
.hop-vyp-foot-right{display:flex;gap:8px;}
.hop-vyp-btn{
  border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:8px;
  padding:9px 16px;font-weight:650;font-size:.88rem;cursor:pointer;
}
.hop-vyp-btn:hover{background:#f8fafc;}
.hop-vyp-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff;}
.hop-vyp-btn--primary:hover{background:#1d4ed8;}
.hop-vyp-btn--danger{background:#fff;border-color:#fecaca;color:#b91c1c;}
.hop-vyp-btn--danger:hover{background:#fef2f2;}
.hop-vyp-btn--sm{padding:7px 12px;font-size:.8rem;}
@media (max-width:900px){
  .hop-vyp-top,.hop-vyp-bottom{grid-template-columns:1fr;}
  .hop-vyp-table{min-width:980px;}
}

.hop-manual-doc-sticky{
  position:sticky;top:0;z-index:2;padding:12px 0 14px;margin-bottom:12px;
  background:#faf8f5;border-bottom:1px solid #e2e8f0;
}
.hop-comm-doc-totals{
  margin:14px 0 0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;
  background:#f8fafc;max-width:420px;margin-left:auto;
}
.hop-comm-doc-tot-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:6px 0;font-size:.88rem;color:#0f172a;
}
.hop-comm-doc-tot-row strong{font-variant-numeric:tabular-nums;}
.hop-comm-doc-tot-grand{
  margin-top:8px;padding-top:10px;border-top:2px solid #1d4ed8;
  font-size:.95rem;font-weight:700;
}
.hop-comm-doc-tot-grand strong{color:#1d4ed8;font-size:1.05rem;}
.hop-comm-shipping-block{
  margin:16px 0;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;
}
.hop-comm-shipping-head{font-size:.88rem;font-weight:700;color:#0f172a;margin-bottom:10px;}
.hop-comm-shipping-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end;}
.hop-comm-shipping-calc{
  padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;
}
.hop-comm-shipping-calc span{display:block;font-size:.68rem;font-weight:650;color:#64748b;margin-bottom:4px;text-transform:uppercase;}
.hop-comm-shipping-calc strong{font-size:1rem;color:#1d4ed8;font-variant-numeric:tabular-nums;}
@media (max-width:900px){.hop-comm-shipping-grid{grid-template-columns:1fr;}}
.hop-comm-lines{display:flex;flex-direction:column;gap:12px;margin:12px 0;}
.hop-comm-line-card{
  background:#fff;border:1px solid #e2e8f0;border-radius:12px;
  padding:14px 16px;box-shadow:0 1px 4px rgba(15,23,42,.06);
}
.hop-comm-line-card-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;
}
.hop-comm-sl-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  background:#1d4ed8;color:#fff;font-size:.78rem;font-weight:700;
}
.hop-comm-line-del{
  border:none;background:transparent;color:#b91c1c;font-size:.78rem;font-weight:650;
  cursor:pointer;padding:4px 8px;border-radius:6px;
}
.hop-comm-line-del:hover{background:#fee2e2;}
.hop-comm-line-main{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;
}
.hop-comm-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.hop-comm-field span{font-size:.72rem;font-weight:650;color:#64748b;letter-spacing:.02em;}
.hop-comm-field .nx-input{
  width:100%;padding:10px 12px;font-size:.88rem;border-radius:8px;
  border:1px solid #cbd5e1;background:#fff;color:#0f172a;
}
.hop-comm-field .nx-input:focus{border-color:#1d4ed8;outline:none;box-shadow:0 0 0 2px rgba(29,78,216,.15);}
.hop-comm-line-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px;
}
.hop-comm-field--unit{max-width:100px;}
.hop-comm-field--pct{max-width:120px;}
.hop-comm-line-calc{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;
}
.hop-comm-calc-cell span{display:block;font-size:.68rem;font-weight:650;color:#64748b;margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em;}
.hop-comm-calc-cell strong{font-size:1rem;font-variant-numeric:tabular-nums;color:#0f172a;}
.hop-comm-calc-cell--net strong{color:#1d4ed8;font-size:1.05rem;}
.hop-comm-section-total{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  margin:4px 0 12px;padding:12px 16px;border-radius:10px;
  background:#eff6ff;border:1px solid #bfdbfe;color:#0f172a;
}
.hop-comm-section-total-label{font-size:.82rem;font-weight:650;color:#475569;}
.hop-comm-sec-total-cell{font-size:1.1rem;font-variant-numeric:tabular-nums;color:#1d4ed8;}
.hop-comm-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:4px;}
.hop-comm-table--form{min-width:1180px;}
.hop-comm-table--form th:nth-child(2),
.hop-comm-table--form td:nth-child(2){min-width:220px;width:220px;}
.hop-comm-table--form th:nth-child(3),
.hop-comm-table--form td:nth-child(3){min-width:180px;width:180px;}
.hop-comm-inp-article{min-width:210px;}
.hop-comm-inp-desc{min-width:170px;}
.hop-comm-pc-disc{font-variant-numeric:tabular-nums;white-space:nowrap;padding:6px 8px !important;font-size:.78rem;color:#334155;}
.hop-comm-amt,.hop-comm-net{font-variant-numeric:tabular-nums;white-space:nowrap;padding:6px 8px !important;font-size:.78rem;}
.hop-comm-form-total-row td{
  background:#f1f5f9 !important;border-top:2px solid #94a3b8 !important;
  font-weight:700;padding:8px 6px !important;
}
.hop-comm-sec-total-cell{font-size:.85rem;color:#0f172a;}
.hop-comm-table--form tfoot .num{text-align:right;}
.hop-comm-table--form thead th{
  background:#1d4ed8;color:#fff;font-size:.72rem;font-weight:700;padding:6px 4px;
}
.hop-comm-table--form .cen{text-align:center;}
.hop-comm-table--form .num{text-align:right;}
.hop-comm-del{min-width:32px;padding:4px 8px;}
.hop-comm-sl{font-size:.75rem;color:var(--nxt-text-dim,#64748b);width:28px;}
.hop-gst-tick{color:#16a34a;font-weight:800;font-size:1.1rem;margin-left:6px;}
.hop-gst-tick.is-valid{color:#16a34a;}
.hop-gst-tick.is-verified{color:#15803d;}
.hop-firm-profile{max-width:920px;}
.hop-firm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px;}
.hop-firm-field{display:flex;flex-direction:column;gap:4px;}
.hop-firm-field span{font-size:.72rem;font-weight:650;color:var(--nxt-text-dim,#64748b);}
.hop-firm-field--wide{grid-column:1/-1;}
.hop-firm-gst-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.hop-firm-gst-wrap .nx-input{flex:1;min-width:180px;}
.hop-firm-img-prev{
  width:100%;max-width:160px;min-height:72px;border:1px dashed rgba(255,255,255,.2);
  border-radius:8px;display:grid;place-items:center;overflow:hidden;margin-bottom:6px;
  background:rgba(0,0,0,.15);
}
.hop-firm-img-prev img,.hop-firm-sign-prev img{max-width:100%;max-height:80px;object-fit:contain;}
.hop-firm-img-ph{font-size:.7rem;opacity:.5;}
.hop-firm-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap;}
.hop-firm-hint{font-size:.75rem;color:var(--nxt-text-dim,#64748b);margin:0;}
.hop-manual-doc{max-width:960px;}
.hop-manual-doc-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px;}
.hop-manual-doc-full{grid-column:1/-1;}
.hop-manual-doc-full .nx-input,.hop-manual-doc-grid-meta .nx-input,.hop-manual-wide .nx-input,.hop-comm-section-label .nx-input{
  padding:10px 12px;font-size:.88rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;
}
.hop-manual-doc-grid-meta{display:grid;grid-template-columns:200px 1fr;gap:12px;}
.hop-manual-wide{display:block;margin:12px 0;}
.hop-manual-wide span,.hop-manual-doc-full span,.hop-manual-doc-grid-meta label>span{display:block;font-size:.72rem;font-weight:650;color:#64748b;margin-bottom:4px;}
.hop-comm-section{
  margin:16px 0;padding:16px;border:1px solid #e2e8f0;border-radius:12px;
  background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.04);
}
.hop-comm-section-head{display:block;margin-bottom:8px;}
.hop-comm-section-label{display:block;width:100%;}
.hop-comm-section-label span{display:block;font-size:.72rem;font-weight:650;color:#64748b;margin-bottom:4px;}
.hop-comm-section-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
.hop-comm-add-item{font-weight:700;}
.hop-comm-add-section{margin-top:12px;font-weight:650;}
.hop-comm-table{width:100%;border-collapse:collapse;font-size:.78rem;}
.hop-comm-table th,.hop-comm-table td{padding:4px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle;}
.hop-comm-table .hop-comm-inp{padding:6px 8px;font-size:.78rem;min-width:0;width:100%;}
.hop-comm-table .num{text-align:right;}
.hop-manual-doc-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap;
}
.hop-manual-doc-btns{display:flex;gap:8px;flex-wrap:wrap;}
@media (max-width:900px){
  .hop-comm-line-main{grid-template-columns:1fr;}
  .hop-comm-line-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hop-comm-field--unit,.hop-comm-field--pct{max-width:none;}
  .hop-comm-line-calc{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .hop-firm-grid,.hop-manual-doc-grid,.hop-manual-doc-grid-meta{grid-template-columns:1fr;}
}
.hop-doc-bank{margin-top:10px;font-size:12px;}
.hop-doc-preview-foot{
  flex-shrink:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;
  padding:10px 14px;background:#fff;border-top:1px solid #e2e8f0;
}
.hop-doc-preview-close{
  background:#dc2626 !important;border-color:#dc2626 !important;color:#fff !important;
}
@media print{
  body > *:not(#hop-party-txn-overlay){display:none !important;}
  #hop-party-txn-overlay{
    position:static !important;inset:auto !important;padding:0 !important;
    background:#fff !important;opacity:1 !important;pointer-events:auto !important;z-index:1 !important;
  }
  #hop-party-txn-overlay .hop-doc-preview-backdrop,
  #hop-party-txn-overlay .hop-doc-preview-head,
  #hop-party-txn-overlay .hop-doc-preview-foot{display:none !important;}
  #hop-party-txn-overlay .hop-doc-preview-modal{
    max-height:none !important;width:100% !important;box-shadow:none !important;
    border-radius:0 !important;background:#fff !important;
  }
  #hop-party-txn-overlay .hop-doc-preview-scroll{
    overflow:visible !important;padding:0 !important;background:#fff !important;
  }
  .hop-doc-preview-sheet{border:none !important;max-width:none !important;padding:12px !important;}
  .hop-doc-comm-wrap{overflow:visible !important;}
  .hop-doc-bottom,.hop-doc-comm-wrap,.hop-doc-section{page-break-inside:avoid;}
  .hop-doc-table tr{page-break-inside:avoid;}
}
@media (max-width:700px){
  .hop-doc-preview-modal{max-height:96vh;border-radius:10px 10px 0 0;align-self:flex-end;width:100%;}
  .hop-doc-meta,.hop-doc-bottom{grid-template-columns:1fr;}
  .hop-doc-meta-right{text-align:left;}
  .hop-doc-preview-sheet{padding:14px 12px 20px;}
  .hop-doc-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
.pty-txn-amt.is-due{color:#f87171;}
.pty-status{
  padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:600;
}
.pty-status.is-paid{background:rgba(34,197,94,.1);color:#4ade80;}
.pty-status.is-partial{background:rgba(251,191,36,.1);color:#fbbf24;}
.pty-status.is-unpaid{background:rgba(239,68,68,.1);color:#f87171;}
.pty-status.is-na{background:transparent;color:inherit;opacity:.4;font-weight:550;padding:0;}
.pty-no-txn{
  text-align:center;padding:30px 10px;font-size:.78rem;
  color:var(--nxt-text-dim,#64748b);
}

@media (min-width: 701px){
  .pty-layout{
    display:grid !important;
    grid-template-columns:minmax(280px, 340px) minmax(0, 1fr) !important;
    grid-template-rows:minmax(0, 1fr) !important;
  }
  .pty-sidebar{
    max-height:none !important;
    height:100% !important;
    border-bottom:none !important;
    border-right:1px solid rgba(255,255,255,.12) !important;
  }
  .pty-detail{
    display:block !important;
    height:100% !important;
  }
}
/* Only stack on true phone widths — tablets/desktop stay side-by-side */
@media (max-width:700px){
  .pty-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(200px, 42vh) minmax(0, 1fr) !important;
    height:auto;
    min-height:70vh;
  }
  .pty-sidebar{
    grid-column:1;
    grid-row:1;
    max-height:42vh;
    border-right:none;
    border-bottom:1px solid var(--nxt-border-color,#1e293b);
  }
  .pty-detail{
    grid-column:1;
    grid-row:2;
    min-height:40vh;
  }
}

/* --- Edit Party modal (Vyapar layout · Nexora theme) --- */
.nx-party-modal{
  position:fixed;inset:0;z-index:17000;
  display:flex;align-items:center;justify-content:center;
  padding:max(18px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px)) max(18px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.nx-party-modal.is-open{opacity:1;pointer-events:auto;}
.nx-party-modal-backdrop{
  position:absolute;inset:0;
  background:rgba(2,6,14,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.nx-party-modal-card{
  position:relative;z-index:1;
  width:min(960px, 100%);
  max-height:min(92vh, 900px);
  display:flex;flex-direction:column;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, #0d121c 0%, #090e16 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  overflow:hidden;
}
.nx-party-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.nx-party-modal-head h2{
  margin:0;font-size:1.15rem;font-weight:700;color:#f1f5f9;
}
.nx-party-modal-close{
  width:34px;height:34px;border:none;border-radius:8px;
  background:rgba(255,255,255,.06);color:#94a3b8;
  font-size:1.4rem;line-height:1;cursor:pointer;
}
.nx-party-modal-close:hover{background:rgba(255,255,255,.1);color:#fff;}
.nx-party-modal-body{
  flex:1;min-height:0;overflow:auto;
  padding:16px 18px 8px;
}
.nx-party-primary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px 14px;
  margin-bottom:14px;
}
.nx-party-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.nx-party-field > span{
  font-size:.68rem;font-weight:650;letter-spacing:.04em;
  text-transform:uppercase;color:#64748b;
}
.nx-party-field input,
.nx-party-field select,
.nx-party-addr-box{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:#e2e8f0;
  padding:9px 11px;
  font-size:.85rem;
  outline:none;
}
.nx-party-field input:focus,
.nx-party-field select:focus,
.nx-party-addr-box:focus{
  border-color:rgba(34,211,238,.45);
  box-shadow:0 0 0 3px rgba(34,211,238,.12);
}
.nx-party-hint{font-size:.68rem;color:#64748b;line-height:1.35;}
.nx-party-gst-row{display:flex;align-items:center;gap:8px;}
.nx-party-gst-input-wrap{position:relative;flex:1;min-width:0;}
.nx-party-gst-input-wrap input{width:100%;padding-right:34px;box-sizing:border-box;}
.nx-party-gst-ok{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:700;
  background:rgba(34,197,94,.15);color:#4ade80;
  pointer-events:none;
}
.nx-party-gst-ok.is-valid{display:inline-flex;}
.nx-party-gst-ok.hidden{display:none !important;}
.nx-party-gst-fetch{
  flex:0 0 auto;white-space:nowrap;
  border:1px solid rgba(34,211,238,.35);
  background:rgba(34,211,238,.12);
  color:#67e8f9;border-radius:8px;
  padding:8px 10px;font-size:.72rem;font-weight:650;cursor:pointer;
}
.nx-party-gst-fetch:hover:not(:disabled){background:rgba(34,211,238,.2);}
.nx-party-gst-fetch:disabled{opacity:.45;cursor:not-allowed;}
.nx-party-gst-hint{display:block;margin-top:6px;min-height:1em;}
.nx-party-gst-hint.is-ok{color:#4ade80;}
.nx-party-gst-hint.is-error{color:#f87171;}
.nx-party-tabs{
  display:flex;gap:4px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:14px;
}
.nx-party-tab{
  border:none;background:transparent;cursor:pointer;
  padding:10px 14px;font-size:.8rem;font-weight:600;
  color:#64748b;border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.nx-party-tab.is-active{
  color:#22d3ee;
  border-bottom-color:#22d3ee;
}
.nx-party-tab:hover{color:#94a3b8;}
.nx-party-gst-grid{
  display:grid;
  grid-template-columns:minmax(200px, 0.9fr) 1fr 1fr;
  gap:14px;
}
.nx-party-gst-left{display:flex;flex-direction:column;gap:10px;}
.nx-party-group-field{position:relative;}
.nx-party-group-combo{position:relative;display:flex;align-items:center;}
.nx-party-group-combo input{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:#e2e8f0;
  padding:9px 34px 9px 11px;
  font-size:.85rem;
  outline:none;
}
.nx-party-group-combo input:focus{
  border-color:rgba(34,211,238,.45);
  box-shadow:0 0 0 3px rgba(34,211,238,.12);
}
.nx-party-group-caret{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border:none;border-radius:6px;
  background:transparent;color:#94a3b8;cursor:pointer;font-size:.85rem;
}
.nx-party-group-menu{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;
  max-height:220px;overflow:auto;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#0f1520;
  box-shadow:0 16px 40px rgba(0,0,0,.45);
  padding:6px;
}
.nx-party-group-new,
.nx-party-group-opt{
  display:block;width:100%;text-align:left;
  border:none;background:transparent;cursor:pointer;
  padding:9px 10px;border-radius:8px;font-size:.82rem;
}
.nx-party-group-new{color:#22d3ee;font-weight:700;}
.nx-party-group-new:hover{background:rgba(34,211,238,.08);}
.nx-party-group-opt{color:#e2e8f0;}
.nx-party-group-opt:hover{background:rgba(255,255,255,.06);}
.nx-party-group-create{color:#67e8f9;font-weight:650;}
.nx-party-group-empty{margin:8px;font-size:.75rem;color:#64748b;}
.nx-party-addr-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:8px;gap:8px;
}
.nx-party-addr-head strong{font-size:.78rem;color:#cbd5e1;}
.nx-party-addr-add{
  border:none;background:transparent;cursor:pointer;
  color:#22d3ee;font-size:.72rem;font-weight:650;padding:0;
}
.nx-party-addr-add:hover{text-decoration:underline;}
.nx-party-addr-card{
  border:1px solid rgba(34,211,238,.28);
  border-radius:10px;
  background:rgba(34,211,238,.04);
  padding:8px;
  min-height:120px;
}
.nx-party-addr-card textarea{
  width:100%;min-height:110px;resize:vertical;border:none;outline:none;
  background:transparent;color:#e2e8f0;font-size:.84rem;line-height:1.45;padding:4px;
}
.nx-party-tab-badge{
  display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:.58rem;font-weight:700;vertical-align:middle;
}
.nx-party-credit-toggle{
  display:inline-flex;border:1px solid rgba(255,255,255,.12);border-radius:999px;overflow:hidden;margin-top:6px;
}
.nx-party-tog{
  border:none;background:transparent;color:#94a3b8;cursor:pointer;
  padding:8px 14px;font-size:.78rem;font-weight:650;
}
.nx-party-tog.is-active{background:rgba(34,211,238,.18);color:#22d3ee;}
.nx-party-credit-limit-wrap{margin-top:10px;}
.nx-party-af-list{display:flex;flex-direction:column;gap:10px;}
.nx-party-af-row{
  display:grid;
  grid-template-columns:28px minmax(140px,1.1fr) auto minmax(160px,1fr);
  gap:10px;align-items:center;
  padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  background:rgba(255,255,255,.03);
}
.nx-party-af-check{display:flex;justify-content:center;}
.nx-party-af-name,.nx-party-af-val{
  width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;
  background:rgba(255,255,255,.04);color:#e2e8f0;padding:8px 10px;font-size:.82rem;
}
.nx-party-af-print{
  display:flex;align-items:center;gap:8px;font-size:.72rem;color:#94a3b8;white-space:nowrap;
}
.nx-party-addr-box{min-height:110px;resize:vertical;line-height:1.45;}
.nx-party-credit-grid,
.nx-party-more-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px 14px;
}
.nx-party-span2{grid-column:span 2;}
.nx-party-modal-foot{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:12px 18px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.25);
  position:relative;
  z-index:2;
}
.nx-party-dup-banner{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(250,204,21,.35);
  background:rgba(250,204,21,.1);
  color:var(--nxt-text,#f8fafc);
}
.nx-party-dup-title{font-weight:700;margin-bottom:4px;color:#fde68a;}
.nx-party-dup-banner p{margin:0 0 8px;font-size:.9rem;line-height:1.4;}
.nx-party-dup-list{margin:0 0 8px;padding-left:18px;font-size:.85rem;}
.nx-party-dup-list li{margin:4px 0;}
.nx-party-dup-hint{margin:0!important;font-size:.8rem;opacity:.9;}
.hop-party-live-dup{
  margin-top:8px;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(201,162,39,.4);
  background:rgba(201,162,39,.1);
}
.hop-party-live-dup.hidden{display:none;}
.hop-party-live-dup-title{
  font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#E8D48B;margin:0 0 6px;
}
.hop-party-live-dup-list{
  margin:0;padding:0 0 0 1.1rem;color:#f1f5f9;font-size:.84rem;line-height:1.4;
}
.hop-party-live-dup-list li{margin:2px 0;}
.hop-party-live-dup-hint{
  margin:8px 0 0;font-size:.72rem;line-height:1.35;color:#94a3b8;
}
.nx-party-modal.hop-party-theme-light .hop-party-live-dup{
  border-color:rgba(201,162,39,.5);
  background:#FBF3D8;
}
.nx-party-modal.hop-party-theme-light .hop-party-live-dup-title{color:#7a5f12;}
.nx-party-modal.hop-party-theme-light .hop-party-live-dup-list{color:#1F1F1F;}
.nx-party-modal.hop-party-theme-light .hop-party-live-dup-hint{color:#6B6254;}
.nx-party-foot-right{display:flex;gap:8px;}
.nx-party-foot-right .nx-btn-primary{
  min-width:110px;
  pointer-events:auto !important;
  opacity:1 !important;
  cursor:pointer !important;
}
.nx-party-foot-right .nx-btn-primary:disabled{
  opacity:.65 !important;
  cursor:wait !important;
}
.nx-party-btn-delete{
  color:#f87171 !important;
  border:1px solid rgba(248,113,113,.35) !important;
  background:transparent !important;
}
.nx-party-btn-delete:hover{
  background:rgba(248,113,113,.1) !important;
}
@media (max-width:820px){
  .nx-party-primary,
  .nx-party-gst-grid,
  .nx-party-credit-grid,
  .nx-party-more-grid{grid-template-columns:1fr;}
  .nx-party-span2{grid-column:span 1;}
  .nx-party-af-row{grid-template-columns:28px 1fr;}
  .nx-party-af-print,.nx-party-af-val{grid-column:2;}
  .nx-party-modal{padding:8px;align-items:flex-end;}
  .nx-party-modal-card{max-height:94vh;border-radius:14px 14px 0 0;}
}

/* Light themes: Add/Edit/Scan Party follow selected theme (modal is on body, outside workspace) */
.nx-party-modal.hop-party-theme-light {
  --party-bg: var(--hop-c-card, #ffffff);
  --party-text: var(--hop-c-text, #1F1F1F);
  --party-muted: var(--hop-c-muted, #6B6254);
  --party-border: var(--hop-c-border, #DED3BE);
  --party-accent: var(--hop-c-accent, #C9A227);
  --party-accent-dark: var(--hop-c-accent-dark, #A8861F);
  --party-head: var(--hop-c-bg-soft, #FBF8F1);
  --party-soft: var(--hop-c-bg, #F8F4EA);
  --party-accent-soft: var(--hop-c-accent-soft, rgba(201, 162, 39, 0.14));
}
.nx-party-modal.hop-party-theme-light[data-party-theme="bright"] {
  --party-bg: #ffffff;
  --party-text: #0f172a;
  --party-muted: #64748b;
  --party-border: #d0d7e2;
  --party-accent: #0d9488;
  --party-accent-dark: #0f766e;
  --party-head: #f4f7fb;
  --party-soft: #f4f7fb;
  --party-accent-soft: rgba(13, 148, 136, 0.12);
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-backdrop {
  background: rgba(15, 23, 42, 0.42) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-card {
  background: var(--party-bg) !important;
  border: 1px solid var(--party-border) !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18) !important;
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-head {
  border-bottom-color: var(--party-border) !important;
  background: var(--party-head) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-head h2 {
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-close {
  background: rgba(31, 31, 31, 0.06) !important;
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-close:hover {
  background: rgba(31, 31, 31, 0.1) !important;
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-field > span {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-field input,
.nx-party-modal.hop-party-theme-light .nx-party-field select,
.nx-party-modal.hop-party-theme-light .nx-party-addr-box,
.nx-party-modal.hop-party-theme-light .nx-party-group-combo input,
.nx-party-modal.hop-party-theme-light .nx-party-af-name,
.nx-party-modal.hop-party-theme-light .nx-party-af-val {
  background: #fff !important;
  border-color: var(--party-border) !important;
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-field input:focus,
.nx-party-modal.hop-party-theme-light .nx-party-field select:focus,
.nx-party-modal.hop-party-theme-light .nx-party-addr-box:focus,
.nx-party-modal.hop-party-theme-light .nx-party-group-combo input:focus {
  border-color: var(--party-accent) !important;
  box-shadow: 0 0 0 3px var(--party-accent-soft) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-hint {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-gst-fetch {
  border-color: var(--party-accent) !important;
  background: var(--party-accent-soft) !important;
  color: var(--party-accent-dark) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-tabs {
  border-bottom-color: var(--party-border) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-tab {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-tab:hover {
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-tab.is-active {
  color: var(--party-accent-dark) !important;
  border-bottom-color: var(--party-accent) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-group-menu {
  background: #fff !important;
  border-color: var(--party-border) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-group-new,
.nx-party-modal.hop-party-theme-light .nx-party-group-create,
.nx-party-modal.hop-party-theme-light .nx-party-addr-add {
  color: var(--party-accent-dark) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-group-opt {
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-group-opt:hover {
  background: rgba(31, 31, 31, 0.05) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-group-caret {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-addr-head strong {
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-addr-card {
  border-color: var(--party-accent) !important;
  background: var(--party-accent-soft) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-addr-card textarea {
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-credit-toggle {
  border-color: var(--party-border) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-tog {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-tog.is-active {
  background: var(--party-accent-soft) !important;
  color: var(--party-accent-dark) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-af-row {
  border-color: var(--party-border) !important;
  background: var(--party-head) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-af-print {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-modal-foot {
  border-top-color: var(--party-border) !important;
  background: var(--party-head) !important;
}
.nx-party-modal.hop-party-theme-light .nx-btn {
  border-color: var(--party-border) !important;
  background: #fff !important;
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-btn-primary,
.nx-party-modal.hop-party-theme-light .nx-party-foot-right .nx-btn-primary {
  background: var(--party-accent) !important;
  border-color: var(--party-accent) !important;
  color: #fff !important;
  background-image: none !important;
}
.nx-party-modal.hop-party-theme-light .nx-btn-primary:hover {
  background: var(--party-accent-dark) !important;
  border-color: var(--party-accent-dark) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-dup-banner {
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .nx-party-dup-title {
  color: #92400e !important;
}
.nx-party-modal.hop-party-theme-light .hop-add-party-choice {
  border-color: var(--party-border) !important;
  background: #fff !important;
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .hop-add-party-choice:hover {
  border-color: var(--party-accent) !important;
  background: var(--party-accent-soft) !important;
}
.nx-party-modal.hop-party-theme-light .hop-add-party-choice span {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .hop-vcard-src-btn {
  border-color: var(--party-border) !important;
  background: #fff !important;
  color: var(--party-text) !important;
}
.nx-party-modal.hop-party-theme-light .hop-vcard-src-btn--primary,
.nx-party-modal.hop-party-theme-light .hop-vcard-src-btn--primary:hover {
  border-color: var(--party-accent) !important;
  background: var(--party-accent) !important;
  color: #fff !important;
}
.nx-party-modal.hop-party-theme-light .hop-vcard-stage {
  border-color: var(--party-border) !important;
  background: var(--party-soft) !important;
}
.nx-party-modal.hop-party-theme-light .hop-vcard-empty strong,
.nx-party-modal.hop-party-theme-light .hop-vcard-status {
  color: var(--party-muted) !important;
}
.nx-party-modal.hop-party-theme-light .hop-vcard-empty span {
  color: var(--party-muted) !important;
}

/* Legacy attribute selectors (kept as backup) */
html[data-hop-theme="bright"] .nx-party-modal-backdrop,
html[data-hop-theme="emerald"] .nx-party-modal-backdrop,
html[data-hop-theme="custom"] .nx-party-modal-backdrop{
  background:rgba(15,23,42,.45);
}
html[data-hop-theme="bright"] .nx-party-modal-card,
html[data-hop-theme="emerald"] .nx-party-modal-card,
html[data-hop-theme="custom"] .nx-party-modal-card{
  background:var(--hop-c-card, #ffffff) !important;
  border:1px solid var(--hop-c-border, #DED3BE) !important;
  box-shadow:0 24px 64px rgba(15,23,42,.18);
  color:var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] .nx-party-modal-head,
html[data-hop-theme="emerald"] .nx-party-modal-head,
html[data-hop-theme="custom"] .nx-party-modal-head{
  border-bottom-color:var(--hop-c-border, #E8E0D1);
  background:var(--hop-c-bg-soft, #FBF8F1) !important;
}
html[data-hop-theme="bright"] .nx-party-modal-head h2,
html[data-hop-theme="emerald"] .nx-party-modal-head h2,
html[data-hop-theme="custom"] .nx-party-modal-head h2{
  color:var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] .nx-party-modal-close,
html[data-hop-theme="emerald"] .nx-party-modal-close,
html[data-hop-theme="custom"] .nx-party-modal-close{
  background:rgba(31,31,31,.06);
  color:#5b564c;
}
html[data-hop-theme="bright"] .nx-party-modal-close:hover,
html[data-hop-theme="emerald"] .nx-party-modal-close:hover,
html[data-hop-theme="custom"] .nx-party-modal-close:hover{
  background:rgba(31,31,31,.1);
  color:#1F1F1F;
}
html[data-hop-theme="bright"] .nx-party-field > span,
html[data-hop-theme="emerald"] .nx-party-field > span,
html[data-hop-theme="custom"] .nx-party-field > span{
  color:var(--hop-c-muted, #6B6254);
}
html[data-hop-theme="bright"] .nx-party-field input,
html[data-hop-theme="bright"] .nx-party-field select,
html[data-hop-theme="bright"] .nx-party-addr-box,
html[data-hop-theme="bright"] .nx-party-group-combo input,
html[data-hop-theme="bright"] .nx-party-af-name,
html[data-hop-theme="bright"] .nx-party-af-val,
html[data-hop-theme="emerald"] .nx-party-field input,
html[data-hop-theme="emerald"] .nx-party-field select,
html[data-hop-theme="emerald"] .nx-party-addr-box,
html[data-hop-theme="emerald"] .nx-party-group-combo input,
html[data-hop-theme="emerald"] .nx-party-af-name,
html[data-hop-theme="emerald"] .nx-party-af-val,
html[data-hop-theme="custom"] .nx-party-field input,
html[data-hop-theme="custom"] .nx-party-field select,
html[data-hop-theme="custom"] .nx-party-addr-box,
html[data-hop-theme="custom"] .nx-party-group-combo input,
html[data-hop-theme="custom"] .nx-party-af-name,
html[data-hop-theme="custom"] .nx-party-af-val{
  background:#fff !important;
  border-color:var(--hop-c-border, #DED3BE) !important;
  color:var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] .nx-party-field input:focus,
html[data-hop-theme="bright"] .nx-party-field select:focus,
html[data-hop-theme="bright"] .nx-party-addr-box:focus,
html[data-hop-theme="bright"] .nx-party-group-combo input:focus{
  border-color:#0d9488;
  box-shadow:0 0 0 3px rgba(13,148,136,.15);
}
html[data-hop-theme="emerald"] .nx-party-field input:focus,
html[data-hop-theme="emerald"] .nx-party-field select:focus,
html[data-hop-theme="emerald"] .nx-party-addr-box:focus,
html[data-hop-theme="emerald"] .nx-party-group-combo input:focus,
html[data-hop-theme="custom"] .nx-party-field input:focus,
html[data-hop-theme="custom"] .nx-party-field select:focus,
html[data-hop-theme="custom"] .nx-party-addr-box:focus,
html[data-hop-theme="custom"] .nx-party-group-combo input:focus{
  border-color:var(--hop-c-accent,#C9A227);
  box-shadow:0 0 0 3px rgba(201,162,39,.18);
}
html[data-hop-theme="bright"] .nx-party-hint,
html[data-hop-theme="emerald"] .nx-party-hint,
html[data-hop-theme="custom"] .nx-party-hint{
  color:#6B6254;
}
html[data-hop-theme="bright"] .nx-party-gst-fetch{
  border-color:rgba(13,148,136,.4);
  background:rgba(13,148,136,.1);
  color:#0f766e;
}
html[data-hop-theme="emerald"] .nx-party-gst-fetch,
html[data-hop-theme="custom"] .nx-party-gst-fetch{
  border-color:rgba(201,162,39,.45);
  background:rgba(201,162,39,.12);
  color:#A8861F;
}
html[data-hop-theme="bright"] .nx-party-tabs,
html[data-hop-theme="emerald"] .nx-party-tabs,
html[data-hop-theme="custom"] .nx-party-tabs{
  border-bottom-color:#E8E0D1;
}
html[data-hop-theme="bright"] .nx-party-tab,
html[data-hop-theme="emerald"] .nx-party-tab,
html[data-hop-theme="custom"] .nx-party-tab{
  color:#6B6254;
}
html[data-hop-theme="bright"] .nx-party-tab:hover,
html[data-hop-theme="emerald"] .nx-party-tab:hover,
html[data-hop-theme="custom"] .nx-party-tab:hover{
  color:#1F1F1F;
}
html[data-hop-theme="bright"] .nx-party-tab.is-active{
  color:#0d9488;
  border-bottom-color:#0d9488;
}
html[data-hop-theme="emerald"] .nx-party-tab.is-active,
html[data-hop-theme="custom"] .nx-party-tab.is-active{
  color:var(--hop-c-accent-dark, #A8861F);
  border-bottom-color:var(--hop-c-accent, #C9A227);
}
html[data-hop-theme="bright"] .nx-party-group-menu,
html[data-hop-theme="emerald"] .nx-party-group-menu,
html[data-hop-theme="custom"] .nx-party-group-menu{
  background:#fff;
  border-color:#DED3BE;
  box-shadow:0 12px 32px rgba(15,23,42,.12);
}
html[data-hop-theme="bright"] .nx-party-group-new{color:#0d9488;}
html[data-hop-theme="emerald"] .nx-party-group-new,
html[data-hop-theme="custom"] .nx-party-group-new{color:var(--hop-c-accent-dark, #A8861F);}
html[data-hop-theme="bright"] .nx-party-group-opt,
html[data-hop-theme="emerald"] .nx-party-group-opt,
html[data-hop-theme="custom"] .nx-party-group-opt{color:#1F1F1F;}
html[data-hop-theme="bright"] .nx-party-group-opt:hover,
html[data-hop-theme="emerald"] .nx-party-group-opt:hover,
html[data-hop-theme="custom"] .nx-party-group-opt:hover{background:rgba(31,31,31,.05);}
html[data-hop-theme="bright"] .nx-party-group-create{color:#0f766e;}
html[data-hop-theme="emerald"] .nx-party-group-create,
html[data-hop-theme="custom"] .nx-party-group-create{color:var(--hop-c-accent-dark, #A8861F);}
html[data-hop-theme="bright"] .nx-party-group-caret,
html[data-hop-theme="emerald"] .nx-party-group-caret,
html[data-hop-theme="custom"] .nx-party-group-caret{color:#6B6254;}
html[data-hop-theme="bright"] .nx-party-addr-head strong,
html[data-hop-theme="emerald"] .nx-party-addr-head strong,
html[data-hop-theme="custom"] .nx-party-addr-head strong{color:#3F3A32;}
html[data-hop-theme="bright"] .nx-party-addr-add{color:#0d9488;}
html[data-hop-theme="emerald"] .nx-party-addr-add,
html[data-hop-theme="custom"] .nx-party-addr-add{color:var(--hop-c-accent-dark, #A8861F);}
html[data-hop-theme="bright"] .nx-party-addr-card{
  border-color:rgba(13,148,136,.28);
  background:rgba(13,148,136,.05);
}
html[data-hop-theme="emerald"] .nx-party-addr-card,
html[data-hop-theme="custom"] .nx-party-addr-card{
  border-color:rgba(201,162,39,.3);
  background:rgba(201,162,39,.06);
}
html[data-hop-theme="bright"] .nx-party-addr-card textarea,
html[data-hop-theme="emerald"] .nx-party-addr-card textarea,
html[data-hop-theme="custom"] .nx-party-addr-card textarea{
  color:#1F1F1F;
}
html[data-hop-theme="bright"] .nx-party-credit-toggle,
html[data-hop-theme="emerald"] .nx-party-credit-toggle,
html[data-hop-theme="custom"] .nx-party-credit-toggle{
  border-color:#DED3BE;
}
html[data-hop-theme="bright"] .nx-party-tog,
html[data-hop-theme="emerald"] .nx-party-tog,
html[data-hop-theme="custom"] .nx-party-tog{color:#6B6254;}
html[data-hop-theme="bright"] .nx-party-tog.is-active{
  background:rgba(13,148,136,.15);
  color:#0f766e;
}
html[data-hop-theme="emerald"] .nx-party-tog.is-active,
html[data-hop-theme="custom"] .nx-party-tog.is-active{
  background:var(--hop-c-accent-soft, rgba(201,162,39,.18));
  color:var(--hop-c-accent-dark, #A8861F);
}
html[data-hop-theme="bright"] .nx-party-af-row,
html[data-hop-theme="emerald"] .nx-party-af-row,
html[data-hop-theme="custom"] .nx-party-af-row{
  border-color:#E8E0D1;
  background:#FBF8F1;
}
html[data-hop-theme="bright"] .nx-party-af-print,
html[data-hop-theme="emerald"] .nx-party-af-print,
html[data-hop-theme="custom"] .nx-party-af-print{color:#6B6254;}
html[data-hop-theme="bright"] .nx-party-modal-foot,
html[data-hop-theme="emerald"] .nx-party-modal-foot,
html[data-hop-theme="custom"] .nx-party-modal-foot{
  border-top-color:#E8E0D1;
  background:#FBF8F1 !important;
}
html[data-hop-theme="bright"] .nx-party-foot-right .nx-btn,
html[data-hop-theme="emerald"] .nx-party-foot-right .nx-btn,
html[data-hop-theme="custom"] .nx-party-foot-right .nx-btn{
  border-color:#DED3BE;
  background:#fff;
  color:#1F1F1F;
}
html[data-hop-theme="bright"] .nx-party-foot-right .nx-btn-primary{
  background:#0d9488 !important;
  border-color:#0d9488 !important;
  color:#fff !important;
  background-image:none !important;
}
html[data-hop-theme="emerald"] .nx-party-foot-right .nx-btn-primary,
html[data-hop-theme="custom"] .nx-party-foot-right .nx-btn-primary{
  background:var(--hop-c-accent,#C9A227) !important;
  border-color:var(--hop-c-accent,#C9A227) !important;
  color:#fff !important;
  background-image:none !important;
}
html[data-hop-theme="bright"] .nx-party-dup-banner,
html[data-hop-theme="emerald"] .nx-party-dup-banner,
html[data-hop-theme="custom"] .nx-party-dup-banner{
  color:#1F1F1F;
}
html[data-hop-theme="bright"] .nx-party-dup-title,
html[data-hop-theme="emerald"] .nx-party-dup-title,
html[data-hop-theme="custom"] .nx-party-dup-title{color:#92400e;}
html[data-hop-theme="bright"] .hop-add-party-card .nx-btn-primary,
html[data-hop-theme="emerald"] .hop-add-party-card .nx-btn-primary,
html[data-hop-theme="custom"] .hop-add-party-card .nx-btn-primary{
  color:#fff !important;
}
html[data-hop-theme="bright"] .hop-add-party-choice,
html[data-hop-theme="emerald"] .hop-add-party-choice,
html[data-hop-theme="custom"] .hop-add-party-choice{
  border-color:var(--hop-c-border, #DED3BE) !important;
  background:#fff !important;
  color:var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] .hop-add-party-choice:hover{
  border-color:#0d9488;
  background:rgba(13,148,136,.08);
}
html[data-hop-theme="emerald"] .hop-add-party-choice:hover,
html[data-hop-theme="custom"] .hop-add-party-choice:hover{
  border-color:var(--hop-c-accent, #C9A227);
  background:var(--hop-c-accent-soft, rgba(201,162,39,.08));
}
html[data-hop-theme="bright"] .hop-add-party-choice span,
html[data-hop-theme="emerald"] .hop-add-party-choice span,
html[data-hop-theme="custom"] .hop-add-party-choice span{
  color:var(--hop-c-muted, #6B6254) !important;
}

/* --- Clickable table rows --- */
.hop-clickable-row:hover{background:rgba(34,211,238,.06) !important;}

/* --- Contact icon delete on card --- */
.hop-contact-icon-del{color:#f87171 !important;}
.hop-contact-icon-del:hover{color:#ef4444 !important;background:rgba(248,113,113,.12) !important;}
.hop-toolbar-bulk-del{color:#f87171 !important;font-size:.8rem;gap:4px;}

/* --- Contact Detail Overlay --- */
.hop-detail-overlay{
  position:fixed;inset:0;z-index:12000;
  display:flex;align-items:stretch;justify-content:flex-end;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.hop-detail-overlay.is-open{opacity:1;pointer-events:auto;}
.hop-detail-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.hop-detail-panel{
  position:relative;z-index:1;
  width:100%;max-width:480px;
  background:var(--nxt-glass,#111827);
  border-left:1px solid var(--nxt-border-color,#1e293b);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.22,1,.36,1);
  overflow-y:auto;
}
.hop-detail-overlay.is-open .hop-detail-panel{transform:translateX(0);}
.hop-detail-header{
  display:flex;align-items:center;gap:8px;
  padding:16px;
  padding-top:calc(16px + env(safe-area-inset-top, 0px));
  border-bottom:1px solid var(--nxt-border-color,#1e293b);
  position:sticky;top:0;background:inherit;z-index:1;
}
.hop-detail-back{
  font-size:1.3rem;padding:4px 8px !important;
  background:transparent !important;border:none !important;
  color:var(--nxt-cyan,#22d3ee) !important;cursor:pointer;
}
.hop-detail-title{
  flex:1;margin:0;font-size:1.1rem;font-weight:600;
  color:var(--nxt-text,#e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hop-detail-edit-btn{color:#93c5fd !important;}
.hop-detail-edit-btn:hover{background:rgba(147,197,253,.12) !important;}
.hop-detail-quick-actions{
  display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--nxt-border-color,#1e293b);
}
.hop-detail-action-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px !important;border-radius:8px;font-size:.85rem;
  background:var(--nxt-glass,#1e293b) !important;border:1px solid var(--nxt-border-color,#334155) !important;
  color:var(--nxt-text,#e2e8f0) !important;text-decoration:none;
}
.hop-detail-action-btn svg{width:16px;height:16px;}
.hop-detail-wa{color:#25d366 !important;border-color:#25d366 !important;}
.hop-detail-del{color:#f87171 !important;border-color:rgba(248,113,113,.45) !important;}
.hop-detail-fields{padding:16px;display:flex;flex-direction:column;gap:2px;}
.hop-detail-field{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);
}
.hop-detail-label{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;
  color:var(--nxt-text-dim,#94a3b8);flex-shrink:0;margin-right:12px;
}
.hop-detail-value{
  font-size:.9rem;color:var(--nxt-text,#e2e8f0);text-align:right;
  word-break:break-word;
}

@media (max-width:600px){
  .hop-detail-panel{max-width:100%;}
}

@media (max-width: 900px){
  body.bd-hop-ui .workspace-shell:not(.hidden),
  body.bd-hop-ui #party-master-section.customers-workspace:not(.hidden){
    left:0 !important;
  }
  #dashboard .nx-theme.hop-shell.bd-shell{
    grid-template-columns:1fr !important;
  }
  body.bd-hop-ui #dashboard.bd-module-mode{
    width:100% !important;
    height:auto !important;
    bottom:auto !important;
  }
  body.bd-hop-ui #dashboard.bd-module-mode .hop-nav{
    display:none !important;
  }
}

/* --- Sale Invoices (compact Vyapar density) --- */
#hop-executive-workspace .hop-view--invoices .mod-body,
#hop-executive-workspace .hop-view--invoices .inv-body,
#hop-executive-workspace .hop-view--tx .inv-body:has(.inv-table-card),
#hop-executive-workspace .hop-view--tx .hop-tx-body:has(.inv-table-card),
#hop-executive-workspace .hop-view--tx .hop-tx-body:has(.hop-vcard-page){
  overflow:hidden !important;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 0;
}
#hop-executive-workspace .hop-view--tx .inv-body,
#hop-executive-workspace .hop-view--tx .hop-tx-body{
  padding:0 !important;
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 0;
}
.inv-shell{
  display:flex;flex-direction:column;min-height:0;height:100%;
}
.inv-topbar{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;
  padding:8px 12px;
  padding-top:calc(8px + env(safe-area-inset-top, 0px));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.inv-topbar-left{
  display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;
}
.inv-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.inv-title{margin:0;font-size:1.05rem;font-weight:700;color:#e2e8f0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hop-mobile-back{
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  flex-shrink:0;
  min-height:36px;
  padding:6px 10px !important;
  font-size:.8rem !important;
  font-weight:600;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.06) !important;
  color:#e2e8f0 !important;
}
.hop-mobile-back svg{display:block;flex-shrink:0;}
@media (min-width:901px){
  .hop-mobile-back span{display:inline;}
}
@media (max-width:900px){
  .hop-mobile-back{
    min-width:44px;
    justify-content:center;
    padding:6px 8px !important;
  }
}
.inv-add-btn,.inv-topbar-actions .nx-btn{padding:6px 12px !important;font-size:.78rem !important;}
.inv-body,.hop-tx-body{
  flex:1 1 0;min-height:0;
  display:flex;flex-direction:column;gap:8px;
  padding:8px 12px 10px !important;
}
.inv-body > .hop-form-card,
.hop-tx-body > .hop-form-card{flex-shrink:0;margin:0;}
.hop-tx-body > .hop-kpi-grid,
.hop-tx-body > .hop-toolbar,
.hop-tx-body > .hop-fabric-banner{flex-shrink:0;}
.hop-tx-body:has(.hop-vcard-page){
  overflow:hidden !important;
  padding:8px 12px 10px !important;
}
.hop-tx-body > .hop-vcard-page{flex:1 1 0;min-height:0;}
.hop-tx-body > .inv-table-card,
.inv-body > .inv-table-card{flex:1 1 0;min-height:0;}
/* Content modules (Theme, fabric, import, wipe…) — body scrolls */
#hop-executive-workspace .hop-view--tx .hop-tx-body:not(:has(.inv-table-card)):not(:has(.hop-vcard-page)),
#hop-executive-workspace .hop-view--tx .inv-body:not(:has(.inv-table-card)),
.hop-tx-body:not(:has(.inv-table-card)):not(:has(.hop-vcard-page)){
  overflow:auto !important;
  padding:8px 12px 24px !important;
  -webkit-overflow-scrolling:touch;
}

.inv-toolbar{
  flex-shrink:0;
  display:flex;flex-wrap:nowrap;align-items:center;gap:6px;
  overflow-x:auto;padding-bottom:2px;
}
.inv-ctrl{
  flex:0 0 auto;
  max-width:150px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,12,20,.95);
  color:#e2e8f0;border-radius:6px;
  padding:5px 8px;font-size:.72rem;outline:none;height:30px;
}
.inv-ctrl.inv-party{max-width:160px;}
.inv-ctrl.inv-date{max-width:128px;color-scheme:dark;}
.inv-ctrl:focus{border-color:rgba(34,211,238,.45);}
.inv-party-dd{
  position:relative;flex:0 1 200px;min-width:150px;max-width:240px;
}
.inv-party-toggle{
  display:inline-flex !important;align-items:center;justify-content:space-between;gap:8px;
  width:100%;max-width:none !important;cursor:pointer;text-align:left;
  padding-right:8px !important;
}
.inv-party-toggle.is-open{border-color:rgba(34,211,238,.45);}
.inv-party-label{
  flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#e2e8f0;font-size:.72rem;
}
.inv-party-label.is-placeholder{color:#94a3b8;}
.inv-party-caret{
  flex:0 0 auto;border:none;background:transparent;color:#94a3b8;
  padding:0;font-size:.7rem;line-height:1;pointer-events:none;
}
.inv-party-toggle.is-open .inv-party-caret{color:#67e8f9;}
.inv-party-panel{
  max-height:320px;display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.14);border-radius:8px;
  background:#0b1220;box-shadow:0 14px 36px rgba(0,0,0,.55);
  overflow:hidden;
}
.inv-party-panel.hidden{display:none !important;}
.inv-party-search-wrap{
  flex:0 0 auto;padding:8px;border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(15,23,42,.95);
}
.inv-party-q{
  width:100%;box-sizing:border-box;height:32px;
  border:1px solid rgba(255,255,255,.14);border-radius:6px;
  background:rgba(8,12,20,.95);color:#e2e8f0;
  padding:6px 10px;font-size:.74rem;outline:none;
}
.inv-party-q:focus{border-color:rgba(34,211,238,.45);}
.inv-party-menu-list{
  flex:1 1 auto;max-height:260px;overflow:auto;padding:4px 0;
}
.inv-party-opt{
  display:block;width:100%;text-align:left;border:none;cursor:pointer;
  padding:8px 12px;font-size:.74rem;color:#e2e8f0;
  background:transparent;border-bottom:1px solid rgba(255,255,255,.03);
}
.inv-party-opt:hover{background:rgba(34,211,238,.1);color:#67e8f9;}
.inv-party-opt.is-active{background:rgba(34,211,238,.14);color:#67e8f9;font-weight:600;}
.inv-party-empty{padding:12px;font-size:.72rem;color:#64748b;}
.inv-sep{font-size:.68rem;color:#64748b;flex-shrink:0;}
.inv-text-btn{
  flex:0 0 auto;border:none;background:transparent;
  color:#67e8f9;font-size:.72rem;font-weight:600;cursor:pointer;padding:4px 6px;
  white-space:nowrap;
}
.inv-text-btn:hover{text-decoration:underline;}
.inv-toolbar-spacer{flex:1 1 auto;min-width:8px;}

.inv-cards{
  flex-shrink:0;
  display:flex;flex-wrap:nowrap;align-items:stretch;gap:6px;
  overflow-x:auto;
}
.inv-card{
  flex:1 1 0;min-width:110px;
  display:flex;flex-direction:column;gap:2px;
  padding:6px 10px;border-radius:8px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.inv-card span{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:600;}
.inv-card strong{font-size:.92rem;font-weight:700;color:#f1f5f9;font-variant-numeric:tabular-nums;}
.inv-card--paid{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.08);}
.inv-card--paid strong{color:#4ade80;}
.inv-card--unpaid{border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.08);}
.inv-card--unpaid strong{color:#38bdf8;}
.inv-card--overdue{border-color:rgba(248,113,113,.28);background:rgba(248,113,113,.08);}
.inv-card--overdue strong{color:#f87171;}
.inv-card--total{border-color:rgba(251,146,60,.3);background:rgba(251,146,60,.08);}
.inv-card--total strong{color:#fb923c;}
.inv-op{align-self:center;color:#64748b;font-size:.85rem;flex:0 0 auto;}

.inv-table-card{
  flex:1 1 0;min-height:0;
  display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;overflow:hidden;
  background:rgba(0,0,0,.18);
}
.inv-table-head{
  flex-shrink:0;
  display:flex;align-items:center;gap:10px;
  padding:6px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.inv-table-head strong{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-weight:700;
}
.inv-count{font-size:.7rem;color:#64748b;}
.inv-search{
  margin-left:auto;width:180px;max-width:40vw;
  padding:5px 8px;border-radius:6px;font-size:.72rem;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);color:#e2e8f0;outline:none;
}
.inv-search:focus{border-color:rgba(34,211,238,.4);}
.inv-table-wrap{flex:1 1 0;min-height:0;overflow:auto;}
.inv-table{width:100%;border-collapse:collapse;font-size:.76rem;}
.inv-table th{
  position:sticky;top:0;z-index:1;
  text-align:left;padding:7px 10px;
  font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;
  color:#67e8f9;background:#0b1220;
  border-bottom:1px solid rgba(255,255,255,.08);
  white-space:nowrap;
}
.inv-table td{
  padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.045);
  color:#e2e8f0;vertical-align:middle;
}
.inv-table tbody tr:hover{background:rgba(34,211,238,.04);}
.inv-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.inv-table th.inv-num{text-align:right;}
.inv-date,.inv-no{
  white-space:nowrap;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  font-variant-numeric:tabular-nums;
}
.pty-txn-table td:nth-child(2){
  white-space:nowrap;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  font-family:ui-monospace,Consolas,monospace;
  font-size:.74rem;
}
.inv-empty{text-align:center;color:#64748b;padding:20px 12px !important;}
.inv-badge{
  display:inline-flex;align-items:center;
  padding:2px 7px;border-radius:999px;
  font-size:.64rem;font-weight:700;
}
.inv-badge--paid{background:rgba(34,197,94,.15);color:#4ade80;}
.inv-badge--final{background:rgba(34,197,94,.15);color:#4ade80;}
.inv-badge--na{background:transparent;color:inherit;opacity:.45;font-weight:550;}
.inv-badge--overdue{background:rgba(248,113,113,.15);color:#f87171;}
.inv-badge--partial{background:rgba(251,191,36,.15);color:#fbbf24;}
.inv-badge--unpaid,.inv-badge--open{background:rgba(56,189,248,.12);color:#38bdf8;}
.inv-actions{white-space:nowrap;width:auto;}
.inv-row.is-clickable{cursor:pointer;}
.inv-row.is-clickable:hover{background:rgba(37,224,255,.07);}
.inv-row.is-clickable:focus-visible{outline:2px solid rgba(37,224,255,.45);outline-offset:-2px;}
.inv-row.is-selected{background:rgba(37,224,255,.12);}
.hop-inv-ctx-menu{
  position:fixed;z-index:18500;min-width:210px;
  background:#fff;border:1px solid #cbd5e1;border-radius:10px;
  box-shadow:0 16px 40px rgba(15,23,42,.22);padding:6px 0;
  color:#0f172a;font-size:.88rem;
}
.hop-inv-ctx-head{
  padding:8px 14px 6px;font-size:.72rem;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.04em;
  border-bottom:1px solid #e2e8f0;margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;
}
.hop-inv-ctx-item{
  display:flex;align-items:center;gap:10px;width:100%;
  border:none;background:transparent;text-align:left;
  padding:9px 14px;cursor:pointer;color:#0f172a;font-size:.88rem;
}
.hop-inv-ctx-item:hover,.hop-inv-ctx-item:focus{background:#f1f5f9;outline:none;}
.hop-inv-ctx-ico{width:18px;text-align:center;opacity:.85;}
.hop-inv-ctx-danger{color:#b91c1c;}
.hop-inv-ctx-danger:hover{background:#fef2f2;}
.hop-comm-bar{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px 16px;
  padding:12px 14px;
  margin-bottom:10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(15,23,42,.72);
}
.hop-comm-bar-main{
  flex:1 1 420px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.hop-comm-bar-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 12px;
}
.hop-comm-bar-title strong{
  font-size:.95rem;
  color:#f8fafc;
}
.hop-comm-bar-party{
  color:#e2e8f0;
  font-size:.86rem;
}
.hop-comm-bar-meta{
  color:#94a3b8;
  font-size:.78rem;
}
.hop-comm-bar-meta b{color:#67e8f9;font-weight:600;}
.hop-comm-bar-fields{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
}
.hop-comm-bar-fields label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:.68rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.hop-comm-bar-fields input{
  width:5.5rem;
  height:34px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.14);
  background:#0b1220;
  color:#f8fafc;
  padding:0 10px;
  font-size:.86rem;
}
.hop-comm-bar-fields .hop-comm-notes{flex:1 1 180px;}
.hop-comm-bar-fields .hop-comm-notes input{width:100%;min-width:140px;}
.hop-comm-bar-results{
  display:flex;
  flex-wrap:wrap;
  gap:16px 22px;
}
.hop-comm-bar-results div{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:88px;
}
.hop-comm-bar-results span{
  font-size:.64rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#94a3b8;
}
.hop-comm-bar-results strong{
  font-size:1rem;
  color:#f8fafc;
  font-variant-numeric:tabular-nums;
}
.hop-comm-bar-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.hop-comm-table{
  font-size:.82rem !important;
}
.hop-comm-table th{
  font-size:.68rem !important;
  color:#a5f3fc !important;
}
.hop-comm-table td{
  padding:9px 12px !important;
  color:#f1f5f9 !important;
  font-size:.82rem;
}
.hop-comm-link{
  color:#38bdf8 !important;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  font-weight:600;
}
.hop-comm-link:hover{color:#7dd3fc !important;}
.hop-comm-status-lock{
  display:block;
  font-size:.68rem;
  margin-top:4px;
  line-height:1.2;
}
.hop-comm-view-toggle{
  display:inline-flex;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  overflow:hidden;
  flex:0 0 auto;
}
.hop-comm-view-btn{
  border:0;
  background:transparent;
  color:#94a3b8;
  padding:6px 12px;
  font-size:.78rem;
  font-weight:600;
  cursor:pointer;
}
.hop-comm-view-btn.is-active{
  background:rgba(34,211,238,.18);
  color:#67e8f9;
}
.hop-comm-view-btn:hover{color:#e2e8f0;}
.hop-comm-by-person{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:4px;
}
.hop-comm-agent-card{
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(15,23,42,.45);
  overflow:hidden;
}
.hop-comm-agent-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hop-comm-agent-name{
  font-size:.95rem;
  margin-right:8px;
  color:#f8fafc;
}
.hop-comm-agent-totals{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  font-size:.78rem;
  color:#94a3b8;
}
.hop-comm-agent-totals b{
  color:#67e8f9;
  font-weight:600;
  margin-left:4px;
  font-variant-numeric:tabular-nums;
}
.hop-comm-empty{
  padding:28px 16px;
  text-align:center;
  color:#94a3b8;
  font-size:.88rem;
}
.hop-comm-agent-field{
  flex:1 1 220px;
  min-width:180px;
}
.hop-comm-agent-select{
  width:100%;
  min-width:160px;
  max-width:320px;
}
.hop-comm-date-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px 12px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(15,23,42,.35);
}
.hop-comm-date-bar label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.hop-comm-date-bar input[type="date"],
.hop-comm-date-bar select{
  min-height:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  background:rgba(2,6,23,.55);
  color:#e2e8f0;
  padding:4px 8px;
  font-size:.82rem;
}
.hop-comm-agent-filter{flex:1 1 200px;min-width:160px;}
.hop-comm-date-bar .inv-search{margin-left:auto;min-width:160px;}
.hop-comm-bar-fields .hop-comm-agent-select{
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  background:rgba(2,6,23,.55);
  color:#e2e8f0;
  padding:6px 8px;
  font-size:.82rem;
  min-height:34px;
}
.inv-ico-btn{
  border:1px solid rgba(255,255,255,.12);background:transparent;
  color:#94a3b8;border-radius:5px;width:24px;height:24px;cursor:pointer;
  font-size:.7rem;font-weight:700;
}
.inv-ico-btn:hover{color:#67e8f9;border-color:rgba(34,211,238,.4);}
@media (max-width:900px){
  .inv-toolbar{flex-wrap:wrap;}
  .inv-cards{flex-wrap:wrap;}
  .inv-op{display:none;}
  .inv-card{min-width:calc(50% - 8px);}
}

/* ------------------------------------------------------------------
   Light themes: readable typed text in ALL inputs
   (dark NEXORA input color was leaking onto white/ivory fields)
   ------------------------------------------------------------------ */
html[data-hop-theme="bright"] #hop-executive-workspace input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="file"]),
html[data-hop-theme="bright"] #hop-executive-workspace textarea,
html[data-hop-theme="bright"] #hop-executive-workspace select,
html[data-hop-theme="emerald"] #hop-executive-workspace input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="file"]),
html[data-hop-theme="emerald"] #hop-executive-workspace textarea,
html[data-hop-theme="emerald"] #hop-executive-workspace select,
html[data-hop-theme="custom"] #hop-executive-workspace input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="file"]),
html[data-hop-theme="custom"] #hop-executive-workspace textarea,
html[data-hop-theme="custom"] #hop-executive-workspace select,
html[data-hop-theme="bright"] .hop-lead-prod-overlay input,
html[data-hop-theme="emerald"] .hop-lead-prod-overlay input,
html[data-hop-theme="custom"] .hop-lead-prod-overlay input,
html[data-hop-theme="bright"] .nx-party-modal input:not([type="checkbox"]):not([type="radio"]),
html[data-hop-theme="bright"] .nx-party-modal textarea,
html[data-hop-theme="bright"] .nx-party-modal select,
html[data-hop-theme="emerald"] .nx-party-modal input:not([type="checkbox"]):not([type="radio"]),
html[data-hop-theme="emerald"] .nx-party-modal textarea,
html[data-hop-theme="emerald"] .nx-party-modal select,
html[data-hop-theme="custom"] .nx-party-modal input:not([type="checkbox"]):not([type="radio"]),
html[data-hop-theme="custom"] .nx-party-modal textarea,
html[data-hop-theme="custom"] .nx-party-modal select {
  color: var(--hop-c-text, #1F1F1F) !important;
  -webkit-text-fill-color: var(--hop-c-text, #1F1F1F) !important;
  caret-color: var(--hop-c-text, #1F1F1F) !important;
  background-color: #ffffff !important;
  border-color: var(--hop-c-border, #DED3BE) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace input::placeholder,
html[data-hop-theme="bright"] #hop-executive-workspace textarea::placeholder,
html[data-hop-theme="emerald"] #hop-executive-workspace input::placeholder,
html[data-hop-theme="emerald"] #hop-executive-workspace textarea::placeholder,
html[data-hop-theme="custom"] #hop-executive-workspace input::placeholder,
html[data-hop-theme="custom"] #hop-executive-workspace textarea::placeholder,
html[data-hop-theme="bright"] .hop-lead-prod-overlay input::placeholder,
html[data-hop-theme="emerald"] .hop-lead-prod-overlay input::placeholder,
html[data-hop-theme="custom"] .hop-lead-prod-overlay input::placeholder {
  color: var(--hop-c-muted, #6B6254) !important;
  -webkit-text-fill-color: var(--hop-c-muted, #6B6254) !important;
  opacity: 1 !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .hop-vcard-field span,
html[data-hop-theme="emerald"] #hop-executive-workspace .hop-vcard-field span,
html[data-hop-theme="custom"] #hop-executive-workspace .hop-vcard-field span {
  color: var(--hop-c-muted, #6B6254) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .hop-vcard-field input:focus,
html[data-hop-theme="emerald"] #hop-executive-workspace .hop-vcard-field input:focus,
html[data-hop-theme="custom"] #hop-executive-workspace .hop-vcard-field input:focus {
  border-color: var(--hop-c-accent, #C9A227) !important;
  box-shadow: 0 0 0 3px var(--hop-c-accent-soft, rgba(201, 162, 39, 0.18));
}
html[data-hop-theme="bright"] #hop-executive-workspace .hop-vcard-field input:focus {
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
}

/* Products Interested popup: force visible typing on every theme/browser */
.hop-lead-prod-overlay .hop-lead-prod-search input,
.hop-lead-prod-overlay .hop-lead-prod-search input:focus,
.hop-lead-prod-overlay .hop-lead-prod-search input:active {
  color: #1F1F1F !important;
  background: #ffffff !important;
  -webkit-text-fill-color: #1F1F1F !important;
  caret-color: #1F1F1F !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.hop-lead-prod-overlay .hop-lead-prod-search input::placeholder {
  color: #6B6254 !important;
  -webkit-text-fill-color: #6B6254 !important;
  opacity: 1 !important;
}
.hop-lead-prod-overlay .hop-lead-prod-search input:-webkit-autofill,
.hop-lead-prod-overlay .hop-lead-prod-search input:-webkit-autofill:hover,
.hop-lead-prod-overlay .hop-lead-prod-search input:-webkit-autofill:focus {
  -webkit-text-fill-color: #1F1F1F !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  caret-color: #1F1F1F !important;
}

/* ------------------------------------------------------------------
   Vyapar Import readability (all light themes)
   ------------------------------------------------------------------ */
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-page,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-page,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-page {
  color: var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-drop-zone,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-drop-zone,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-drop-zone {
  border-color: var(--hop-c-border, #DED3BE) !important;
  background: #ffffff !important;
  color: var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-drop-zone:hover,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-drop-zone:hover,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-drop-zone:hover {
  border-color: var(--hop-c-accent, #C9A227) !important;
  background: var(--hop-c-accent-soft, rgba(201, 162, 39, 0.08)) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-drop-label,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-drop-label,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-drop-label {
  color: var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-drop-file,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-drop-file,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-drop-file {
  color: var(--hop-c-muted, #6B6254) !important;
  opacity: 1 !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-btn-scan,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-btn-scan,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-btn-scan {
  background: #ffffff !important;
  border: 1px solid var(--hop-c-border, #DED3BE) !important;
  color: var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-btn-scan:hover,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-btn-scan:hover,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-btn-scan:hover {
  background: var(--hop-c-bg-soft, #F5EFE0) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-btn-import,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-btn-import,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-btn-import {
  background: var(--hop-c-accent, #C9A227) !important;
  border: 1px solid var(--hop-c-accent, #C9A227) !important;
  color: #ffffff !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-btn-import:hover,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-btn-import:hover,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-btn-import:hover {
  background: var(--hop-c-accent-dark, #A8861F) !important;
  border-color: var(--hop-c-accent-dark, #A8861F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-btn.is-disabled,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-btn.is-disabled,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-btn.is-disabled {
  opacity: .62 !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-firm-row strong,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-firm-row strong,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-firm-row strong {
  color: var(--hop-c-text, #1F1F1F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-firm-row span,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-firm-row span,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-firm-row span,
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-hint,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-hint,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-hint {
  color: var(--hop-c-muted, #6B6254) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-s,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-s,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-s {
  background: #ffffff !important;
  border-color: var(--hop-c-border, #DED3BE) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-s span,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-s span,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-s span {
  color: var(--hop-c-accent-dark, #A8861F) !important;
}
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-s small,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-s small,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-s small,
html[data-hop-theme="bright"] #hop-executive-workspace .vyp-empty,
html[data-hop-theme="emerald"] #hop-executive-workspace .vyp-empty,
html[data-hop-theme="custom"] #hop-executive-workspace .vyp-empty {
  color: var(--hop-c-muted, #6B6254) !important;
}

/* ---------- BD master distributor/retailer form modals ---------- */
.bd-master-form-modal{
  z-index:5200;
  padding:16px;
  background:rgba(8,12,20,.55);
  backdrop-filter:blur(10px);
}
.bd-master-form-modal .bd-master-form-card{
  width:min(760px,96vw) !important;
  max-height:min(90vh,920px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(18,24,38,.98), rgba(10,14,24,.98)) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.45) !important;
  color:var(--nxt-text,#eaf0fb) !important;
}
.bd-master-form-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.bd-master-form-eyebrow{
  margin:0 0 2px;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.65;
}
.bd-master-form-head h2{
  margin:0 !important;
  font-size:1.15rem !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
.bd-master-form-close{
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:inherit;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}
.bd-master-form-close:hover{background:rgba(255,255,255,.12);}
.bd-master-form-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:12px 16px 8px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.bd-master-form-section{
  margin:0;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.bd-master-form-section h3{
  margin:0 0 10px !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.72;
}
.bd-master-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
.bd-master-form-modal .form-group{
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  align-items:stretch !important;
}
.bd-master-form-modal .form-group label{
  font-size:.68rem !important;
  font-weight:650 !important;
  opacity:.8;
  margin:0 !important;
}
.bd-master-form-modal .form-group input,
.bd-master-form-modal .form-group select{
  width:100% !important;
  min-height:36px !important;
  padding:7px 10px !important;
  border-radius:10px !important;
  font-size:.82rem !important;
  box-sizing:border-box !important;
}
.bd-master-span-2{grid-column:1 / -1;}
.bd-master-form-foot{
  flex:0 0 auto;
  display:flex !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin:0 !important;
  padding:12px 16px 14px !important;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.bd-master-form-foot .btn{
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:10px !important;
  font-size:.78rem !important;
}
@media (max-width:640px){
  .bd-master-form-grid{grid-template-columns:1fr;}
  .bd-master-span-2{grid-column:auto;}
}

/* ---------- BD party detail (Customer profile) modal ---------- */
.bd-party-detail-modal{
  z-index:5200;
  padding:16px;
  background:rgba(8,12,20,.55);
  backdrop-filter:blur(10px);
}
.bd-party-detail-modal .bd-party-detail-card{
  width:min(720px,96vw) !important;
  max-height:min(88vh,900px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(18,24,38,.98), rgba(10,14,24,.98)) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.45) !important;
  color:var(--nxt-text,#eaf0fb) !important;
}
.bd-party-detail-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.bd-party-detail-eyebrow{
  margin:0 0 2px;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.65;
}
.bd-party-detail-head h2{
  margin:0 !important;
  font-size:1.12rem !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  max-width:min(520px,78vw);
}
.bd-party-detail-close{
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:inherit;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}
.bd-party-detail-close:hover{background:rgba(255,255,255,.12);}
.bd-party-detail-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:14px 16px 10px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.bd-party-detail-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.bd-party-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  min-width:0;
}
.bd-party-field--wide{grid-column:1 / -1;}
.bd-party-field-label{
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.62;
}
.bd-party-field-value{
  font-size:.88rem;
  font-weight:600;
  line-height:1.35;
  word-break:break-word;
}
.am-rates-block{gap:8px;}
.am-rates-table-wrap{overflow-x:auto;}
.am-rates-table{
  width:100%;
  border-collapse:collapse;
  font-size:.84rem;
}
.am-rates-table th,
.am-rates-table td{
  text-align:left;
  padding:7px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
  vertical-align:middle;
}
.am-rates-table th{
  font-size:.65rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:.62;
  font-weight:700;
}
.am-rates-table .am-rate-old{
  opacity:.72;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  font-weight:500;
}
.am-rates-table .am-rate-new{font-weight:700;}
.am-rate-delta{
  display:inline-block;
  margin-left:6px;
  font-size:.72rem;
  font-weight:700;
  padding:1px 6px;
  border-radius:999px;
}
.am-rate-up{color:#b42318;background:rgba(180,35,24,.12);}
.am-rate-down{color:#067647;background:rgba(6,118,71,.12);}
.am-rate-flat{opacity:.7;}
.am-rates-meta{
  margin:4px 0 0;
  font-size:.72rem;
  opacity:.65;
}
.bd-party-muted{
  margin:0;
  font-size:.78rem;
  opacity:.7;
  line-height:1.4;
}
.bd-party-detail-actions{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
  margin:0 !important;
}
.bd-party-action-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border-radius:11px;
  border:1px solid transparent;
  text-decoration:none !important;
  font-size:.8rem;
  font-weight:700;
  line-height:1.2;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.bd-party-action-btn:hover{transform:translateY(-1px);}
.bd-party-action-call{
  flex:1 1 220px;
  justify-content:center;
  background:linear-gradient(135deg,#e11d48,#be123c);
  color:#fff !important;
  box-shadow:0 8px 20px rgba(225,29,72,.28);
}
.bd-party-action-wa{
  flex:0 0 auto;
  background:rgba(37,211,102,.12);
  border-color:rgba(37,211,102,.35);
  color:#86efac !important;
}
.bd-party-action-ico{font-size:.95rem;line-height:1;}
.bd-party-detail-360{
  margin:0 !important;
  padding:12px !important;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.bd-party-360-head h3{
  margin:0 !important;
  font-size:1rem !important;
  font-weight:700 !important;
}
.bd-party-360-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.bd-party-360-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  min-width:0;
}
.bd-party-360-metric{
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:.01em;
}
.bd-party-360-list{
  margin:0;
  padding-left:1.1rem;
  font-size:.78rem;
  line-height:1.45;
  opacity:.9;
}
.bd-party-detail-foot{
  flex:0 0 auto;
  display:flex !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin:0 !important;
  padding:12px 16px 14px !important;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.bd-party-detail-foot .btn{
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:10px !important;
  font-size:.78rem !important;
}
@media (max-width:640px){
  .bd-party-detail-fields,
  .bd-party-360-grid{grid-template-columns:1fr;}
  .bd-party-field--wide{grid-column:auto;}
}


