/* ===================================================================
   PrepShipHub — Marketing site design system
   Navy + electric-blue accent, light base with dark feature sections.
   =================================================================== */

:root {
  /* ---- Brand palette ----  (navy #1D4072 primary · red #ED2939 logo/CTA) */
  --navy-950: #081325;
  --navy-900: #0c1d39;
  --navy-850: #122c50;
  --navy-800: #1D4072;   /* PRIMARY brand navy */
  --navy-700: #2b5286;
  --navy-600: #3c659c;

  --ink: #122c50;          /* primary text on light */
  --slate-700: #33455f;
  --slate-600: #4a5d78;
  --slate-500: #6a7e9b;
  --slate-400: #97a8c0;
  --slate-300: #c4cfdd;
  --slate-200: #dde4ee;
  --slate-100: #eef2f8;
  --slate-50:  #f5f8fc;
  --paper:     #ffffff;

  /* accent = primary navy for UI (links, tabs, charts, kickers) — tweakable */
  --accent: #1D4072;
  --accent-600: #163357;
  --accent-700: #102843;
  --accent-soft: #e8eef6;
  --accent-ink: #ffffff;

  /* data-viz blue (brighter, derived from navy) */
  --data: #2f6fc4;
  --data-2: #5a93da;

  /* brand red — logo + primary CTA punch (tweakable) */
  --brand: #ED2939;
  --brand-600: #d11d2d;
  --brand-700: #b3121f;
  --brand-soft: #fde8ea;

  /* live / success signal — changed from green to light blue */
  --live: #bcd2f4;
  --live-soft: #e8eef6;
  --live-ink: #1D4072;

  --warn: #f59e0b;
  --warn-soft: #fdf0d5;
  --danger: #ef4444;
  --danger-soft: #fde0e0;

  /* ---- Typography ---- */
  --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;
  --font-display: "Space Grotesk", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;

  /* ---- Radii ---- */
  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  /* ---- Shadows ---- */
  --sh-xs: 0 1px 2px rgba(11, 27, 48, 0.06);
  --sh-sm: 0 2px 8px rgba(11, 27, 48, 0.07);
  --sh-md: 0 8px 26px rgba(11, 27, 48, 0.10);
  --sh-lg: 0 22px 60px rgba(11, 27, 48, 0.16);
  --sh-glow: 0 16px 40px rgba(237, 41, 57, 0.30);
  --sh-glow-navy: 0 18px 50px rgba(29, 64, 114, 0.30);

  /* ---- Layout ---- */
  --maxw: 1200px;
  --gutter: 24px;
  --section-y: 40px;     /* tweakable density */
  --header-h: 68px;
}

/* density tweak hook */
[data-density="cozy"]   { --section-y: 48px; }
[data-density="roomy"]  { --section-y: 72px; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; overflow-x: clip; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height: 1.55;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  margin: 0;
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: var(--ink);
  text-wrap: balance;
  font-family: var(--font-display, var(--font-sans));
}
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }

/* ---------- Layout helpers ---------- */
.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.wrap-wide { max-width: 1320px; }
.section { padding-block: var(--section-y); }
/* Utility: fully hide a section but keep its markup in place so it can be
   re-enabled later — just remove the class. */
.is-hidden { display: none !important; }
/* Utility: hide only on mobile (used for the interactive explorer, which is
   too cramped on small screens). */
@media (max-width: 860px){ .hide-mobile { display: none !important; } }
/* Mobile fit-ups for the marketing app mockups (shared across solution pages).
   Selectors only match where those classes exist. */
@media (max-width: 600px){
  /* Shipment-plan mockup tables (FBA / WFS): keep Action / Name / Status,
     drop the trailing columns so the status badge stays visible & aligned. */
  .amz-fba .amz-tbl th:nth-child(n+4),
  .amz-fba .amz-tbl td:nth-child(n+4){ display: none; }
  .amz-fba .amz-tbl th:nth-child(3),
  .amz-fba .amz-tbl td:nth-child(3){ text-align: right; }
  .amz-fba .amz-tbl td:nth-child(2){ white-space: normal !important; }
  /* Product-detail cards: let the wide column grid swipe horizontally inside
     the card instead of clipping. Add class "pd-scroll" to the wrapper and
     "pd-grid" to the grid. */
  .pd-scroll{ overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
  .pd-scroll > .pd-grid{ width: max-content; min-width: 100%; }
  /* merchant-fulfillment hero mockup: drop the Stores sidebar and show the
     orders list full-width so it fits a phone */
  .mf-hero{ grid-template-columns: 1fr !important; }
  .mf-hero > :first-child{ display: none; }
  /* merchant-fulfillment order rows: drop the status / qty / shipping columns
     so the order detail fits (otherwise the 1fr column collapses and its text
     overlaps the status column) */
  .mf-orders > div{ grid-template-columns: 58px 44px 1fr !important; }
  .mf-orders > div > :nth-child(n+4){ display: none !important; }
}
.section-tight { padding-block: calc(var(--section-y) * 0.62); }

.dark { background: var(--navy-900); color: #dfe8f5; }
.dark h1, .dark h2, .dark h3, .dark h4 { color: #fff; }
.tint { background: var(--slate-50); }

/* ---------- Eyebrow / kicker ---------- */
.kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: 12px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}
.kicker::before {
  content: ""; width: 22px; height: 2px; background: var(--accent); border-radius: 2px;
}
.dark .kicker { color: #9ec1ff; }
.dark .kicker::before { background: #9ec1ff; }
.kicker.center { justify-content: center; }

/* ---------- Headings scale ---------- */
.h-display { font-size: clamp(40px, 6.2vw, 70px); line-height: 1.02; letter-spacing: -0.035em; font-family: var(--font-display, var(--font-sans)); }
.h1 { font-size: clamp(34px, 4.6vw, 52px); letter-spacing: -0.03em; }
.h2 { font-size: clamp(28px, 3.4vw, 40px); }
.h3 { font-size: clamp(20px, 2vw, 24px); }
.lead { font-size: clamp(17px, 1.4vw, 20px); color: var(--slate-600); line-height: 1.6; }
.dark .lead { color: #acc0db; }
.muted { color: var(--slate-500); }
.dark .muted { color: #8ea6c6; }

.section-head { max-width: 720px; }
.section-head.center { margin-inline: auto; text-align: center; }
.section-head .h2 { margin-top: 14px; }
.section-head p { margin-top: 16px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-weight: 600; font-size: 15px; line-height: 1;
  padding: 14px 22px; border-radius: var(--r-pill);
  border: 1px solid transparent; cursor: pointer;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  white-space: nowrap;
}
.btn svg { width: 17px; height: 17px; }
.btn-primary { background: var(--brand); color: #fff; }
.btn-primary:hover { background: var(--brand-600); transform: translateY(-2px); }
.btn-blue { background: var(--navy-800); color: #fff; }
.btn-blue:hover { background: var(--navy-700); transform: translateY(-2px); }
.btn-blue { position: relative; overflow: hidden; }
.btn-blue::after { content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-18deg); transition: left .6s ease; }
.btn-blue:hover::after { left: 130%; }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--slate-300); }
.btn-ghost:hover { border-color: var(--slate-500); background: var(--slate-50); }
.dark .btn-ghost { color: #fff; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.08); backdrop-filter: blur(4px); }
.dark .btn-ghost:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.65); box-shadow: 0 4px 20px rgba(255,255,255,.1); }
.btn-light { background: #fff; color: var(--navy-900); }
.btn-light:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }
.btn-sm { padding: 10px 16px; font-size: 14px; }
.btn-lg { padding: 17px 28px; font-size: 16px; }

.btn-link { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; color: var(--accent); }
.btn-link svg { width: 16px; height: 16px; transition: transform .2s ease; }
.btn-link:hover svg { transform: translateX(4px); }
.dark .btn-link { color: #9ec1ff; }

/* ---------- Pills / chips ---------- */
.chip {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: var(--r-pill);
  background: var(--slate-100); color: var(--slate-700);
}
.chip-live { background: var(--live-soft); color: var(--live-ink); }
.chip-dot::before { content:""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.chip-live.chip-dot::before { background: var(--live); animation: pulse 1.8s infinite; }
@keyframes pulse { 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.4; transform:scale(.7);} }

/* ---------- Cards ---------- */
.card {
  background: #fff; border: 1px solid var(--slate-200); border-radius: var(--r-lg);
  box-shadow: var(--sh-xs);
}
.card-pad { padding: 28px; }

/* =================================================================
   HEADER
   ================================================================= */
.trustbar {
  background: var(--navy-950); color: #b9cbe6;
  font-size: 12.5px; letter-spacing: .01em;
}
.trustbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 22px; height: 36px; }
.trustbar .tb-left { display: flex; align-items: center; gap: 22px; min-width: 0; }
.trustbar .tb-item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.trustbar svg { width: 14px; height: 14px; color: var(--live); }
.trustbar .tb-item.dim { color: #7e96b6; }
.trustbar .tb-login { color: #cdd9ec; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; transition: color .2s; }
.trustbar .tb-login:hover { color: #fff; }
.trustbar .tb-login svg { width: 12px; height: 12px; color: currentColor; }
@media (max-width: 760px){ .trustbar .tb-left .tb-item:nth-child(n+2){ display:none; } }

.site-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255,255,255,.86);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--slate-200);
}
.site-header .bar { display: flex; align-items: center; gap: 28px; height: var(--header-h); justify-content: center; position: relative; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; font-size: 19px; letter-spacing: -.02em; color: var(--ink); position: absolute; left: 0; }
.brand-logo { height: 30px; width: auto; display: block; flex: none; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { padding: 9px 13px; border-radius: var(--r-sm); font-size: 14.5px; font-weight: 600; color: var(--slate-700); display:inline-flex; align-items:center; gap:6px; }
.nav a:hover { background: var(--slate-100); color: var(--ink); }
.nav .caret { width: 13px; height: 13px; opacity: .55; }
.header-cta { position: absolute; right: 0; display: flex; align-items: center; gap: 10px; }
.header-cta .login { font-weight: 600; font-size: 14.5px; color: var(--slate-700); padding: 9px 12px; }
.header-cta .login:hover { color: var(--ink); }

/* nav dropdowns */
.nav-dd { position: relative; }
.nav-trigger { padding: 9px 13px; border-radius: var(--r-sm); font-size: 14.5px; font-weight: 600; color: var(--slate-700); display: inline-flex; align-items: center; gap: 6px; background: none; border: none; font-family: inherit; cursor: pointer; }
.nav-dd:hover .nav-trigger, .nav-dd:focus-within .nav-trigger { background: var(--slate-100); color: var(--ink); }
.nav-trigger .caret { width: 13px; height: 13px; opacity: .55; transition: transform .2s; }
.nav-dd:hover .nav-trigger .caret, .nav-dd:focus-within .nav-trigger .caret { transform: rotate(180deg); }
.nav-menu { position: absolute; top: 100%; left: 0; padding-top: 8px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 70; }
.nav-dd:hover .nav-menu, .nav-dd:focus-within .nav-menu { opacity: 1; visibility: visible; transform: none; }
.nav-menu-inner { background: #fff; border: 1px solid var(--slate-200); border-radius: var(--r-md); box-shadow: var(--sh-lg); padding: 8px; min-width: 300px; display: grid; gap: 2px; }
.nav-menu.wide .nav-menu-inner { min-width: 340px; }
.nav-menu a { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: var(--r-sm); }
.nav-menu a:hover { background: var(--slate-50); }
.nav-menu a .mi { width: 32px; height: 32px; border-radius: 8px; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; flex: none; }
.nav-menu a .mi svg { width: 17px; height: 17px; }
.nav-menu a .mt { display: block; font-weight: 700; font-size: 13.5px; color: var(--ink); }
.nav-menu a .md { display: block; font-size: 12px; color: var(--slate-500); margin-top: 1px; }
.menu-btn { display: none; }
@media (max-width: 980px){
  .nav, .header-cta .login { display: none; }
  .menu-btn { display: inline-flex; }
  /* the wide "Watch demo" pill overflows a phone header — drop it here
     (it stays reachable in the drawer / hero) and keep the primary CTA */
  .header-cta .btn-blue { display: none; }

  /* mobile drawer: reuse the existing .nav as a slide-down panel */
  .site-header.menu-open .nav {
    display: flex; flex-direction: column; align-items: stretch;
    position: absolute; top: var(--header-h); left: 0; right: 0;
    background: #fff; border-top: 1px solid var(--slate-200);
    box-shadow: var(--sh-lg); padding: 10px; gap: 2px; z-index: 90;
    max-height: calc(100dvh - var(--header-h)); overflow-y: auto;
  }
  .site-header.menu-open .nav > a,
  .site-header.menu-open .nav-trigger { width: 100%; font-size: 15.5px; padding: 12px 14px; }
  .site-header.menu-open .nav-dd { width: 100%; }
  .site-header.menu-open .nav-trigger { justify-content: space-between; }
  /* expand dropdown groups inline inside the drawer (no hover on touch) */
  .site-header.menu-open .nav-menu {
    position: static; opacity: 1; visibility: visible; transform: none; padding-top: 0;
  }
  .site-header.menu-open .nav-menu-inner {
    box-shadow: none; border: none; min-width: 0; background: transparent; padding: 2px 0 8px 10px;
  }
}

/* =================================================================
   HERO
   ================================================================= */
.hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(1100px 560px at 78% -8%, rgba(43,82,134,.55), transparent 60%),
    radial-gradient(760px 460px at 92% 12%, rgba(237,41,57,.18), transparent 58%),
    radial-gradient(900px 500px at 6% 8%, rgba(29,64,114,.10), transparent 55%),
    linear-gradient(180deg, var(--navy-900), var(--navy-950));
  color: #e6eefb;
  padding-block: 64px 68px;
}
.hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px; mask-image: radial-gradient(900px 500px at 70% 0%, #000, transparent 75%);
  opacity:.5;
}
.hero .wrap { position: relative; z-index: 2; }
.hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 68px; align-items: center; }
/* let columns shrink below content min-size so the product mockup can't force
   the hero (and the page) wider than a phone viewport */
.hero-copy, .hero-panel { min-width: 0; }

/* ---- phone (≤560px) header/hero fit-ups ---- */
@media (max-width: 560px){
  /* logo mark only — drop the "PrepShipHub" wordmark so the header fits,
     and give the mark a small left gutter so it isn't jammed on the edge */
  .brand { font-size: 0; gap: 0; margin-left: 14px; }
  /* the stat pill wraps into an awkward blob; the same numbers already
     appear in the hero stats grid below (specificity bumped so it wins
     over the base .hero-eyebrow rule that appears later in the file) */
  .hero .hero-eyebrow { display: none; }
  /* keep big display headings inside the viewport and wrapping cleanly
     (override text-wrap:balance which can overflow a narrow column) */
  .h-display { font-size: clamp(28px, 8.2vw, 40px); }
  h1, h2, h3, .h-display, .h1, .h2, .h3 { overflow-wrap: break-word; text-wrap: normal; }
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .04em;
  color: #bcd2f4; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
  padding: 7px 14px; border-radius: var(--r-pill);
}
.hero-eyebrow b { color: #fff; font-weight: 700; }
.hero-eyebrow .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
/* wrap the hero heading at word boundaries (base rule uses text-wrap:balance
   which can keep "Ecommerce Fulfillment" on one overflowing line) */
.hero h1 { color: #fff; margin-top: 22px; text-wrap: normal; }
.hero h1 .hl { color: transparent; background: linear-gradient(100deg, #8fb6ee, #bcd2f4); -webkit-background-clip: text; background-clip: text; }
.hero-sub { margin-top: 20px; font-size: clamp(16px,1.35vw,19px); color: #b3c6e4; max-width: 540px; line-height: 1.6; }
.hero-cta { margin-top: 30px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hero-note { margin-top: 16px; font-size: 13px; color: #8ea6c6; display:flex; align-items:center; gap:8px; }
.hero-note svg { width: 15px; height: 15px; color: var(--live); }

.hero-stats { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 26px; }
.hero-stats .stat .num { font-size: clamp(26px, 2.8vw, 34px); font-weight: 800; letter-spacing: -.03em; color: #fff; font-feature-settings: "tnum"; }
.hero-stats .stat .num .u { color: #bcd2f4; }
.hero-stats .stat .lbl { font-size: 12.5px; color: #94aacb; margin-top: 4px; line-height: 1.3; }
@media (max-width: 560px){ .hero-stats { grid-template-columns: repeat(2,1fr); gap: 18px 10px; } }

.hero-marks { margin-top: 30px; }
.hero-marks .lbl { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #7e96b6; font-family: var(--font-mono); }
.hero-marks .row { margin-top: 14px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.logo-chip { background: #fff; border-radius: var(--r-pill); padding: 10px 18px; display: inline-flex; align-items: center; box-shadow: 0 4px 14px rgba(0,0,0,.18); transition: transform .18s ease; }
.logo-chip:hover { transform: translateY(-2px); }
.logo-chip svg { display: block; width: auto; }

/* hero product panel */
.hero-panel { position: relative; }
@media (max-width: 940px){
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-panel { order: 2; }
}

/* ---- generic app window chrome (used by demos) ---- */
.appwin { max-width: 100%;
  background: #fff; border-radius: var(--r-lg); border: 1px solid var(--slate-200);
  box-shadow: var(--sh-lg); overflow: hidden;
}
.appwin .topbar {
  display: flex; align-items: center; gap: 8px; padding: 12px 16px;
  background: var(--slate-50); border-bottom: 1px solid var(--slate-200);
}
.appwin .dots { display: flex; gap: 6px; }
.appwin .dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--slate-300); }
.appwin .topbar .addr {
  margin-left: 8px; font-family: var(--font-mono); font-size: 12px; color: var(--slate-500);
  background: #fff; border: 1px solid var(--slate-200); padding: 5px 12px; border-radius: var(--r-pill);
  min-width: 0; flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.appwin .topbar .right { margin-left: auto; display: flex; gap: 7px; align-items: center; }

/* =================================================================
   LOGO STRIP
   ================================================================= */
.logostrip { border-top: 1px solid rgba(255,255,255,.08); }
.logobar { background: #fff; border-bottom: 1px solid var(--slate-200); padding: 30px 0; }
.logobar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 34px; flex-wrap: wrap; }
.logobar-lbl { font-size: 16px; font-weight: 600; color: var(--slate-600); max-width: 260px; line-height: 1.45; flex: none; }
.logobar-row { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.logobar-row svg { display: block; opacity: .92; transition: transform .22s ease, opacity .22s ease; }
.logobar-row svg:hover { transform: translateY(-3px); opacity: 1; }
@media (max-width: 760px){ .logobar .wrap { justify-content: center; text-align: center; } .logobar-lbl { max-width: 100%; } .logobar-row { gap: 24px; justify-content: center; } }

/* =================================================================
   MODULE GRID  ("everything you need")
   ================================================================= */
.modgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
@media (max-width: 900px){ .modgrid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .modgrid { grid-template-columns: 1fr; } }
/* =================================================================
   MODULE GRID v2 — premium feature cards
   ================================================================= */
.feat-grid-v2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; }
@media (max-width: 900px){ .feat-grid-v2 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .feat-grid-v2 { grid-template-columns: 1fr; } }
.feat-card-wide { grid-column: span 3; }
@media (max-width: 900px){ .feat-card-wide { grid-column: span 2; } }
@media (max-width: 560px){ .feat-card-wide { grid-column: span 1; } }

.feat-card-v2 {
  background: #fff;
  border: 1px solid var(--slate-300);
  border-radius: 16px;
  padding: 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(11,27,48,.12), 0 4px 12px rgba(11,27,48,.06);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s;
}
.feat-card-v2::before {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--navy-800);
  transform: scaleY(1);
  transform-origin: top;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
  border-radius: 3px 0 0 3px;
}
.feat-card-v2 {
  background: #fff;
  border: 1px solid var(--slate-300);
  border-radius: 16px;
  padding: 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(11,27,48,.12), 0 4px 12px rgba(11,27,48,.06);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s, background .35s;
}
.feat-card-v2::before {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--navy-800);
  transform: scaleY(1);
  transform-origin: top;
  transition: width .35s cubic-bezier(.2,.7,.2,1), background .35s;
  border-radius: 3px 0 0 3px;
}
.feat-card-v2:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 32px 64px rgba(11,27,48,.2), 0 8px 24px rgba(11,27,48,.1);
  border-color: var(--brand);
  background: linear-gradient(135deg, #fff 60%, rgba(237,41,57,.03));
}
.feat-card-v2:hover::before {
  width: 4px;
  background: var(--brand);
}
.feat-card-v2:hover .fc-icon {
  transform: scale(1.16) rotate(-6deg);
  box-shadow: 0 6px 20px rgba(237,41,57,.3);
}
.feat-card-v2:hover .fc-body h3 {
  color: var(--navy-900);
}
.feat-card-v2:hover .fc-link {
  color: var(--brand);
  gap: 10px;
}

.fc-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: grid; place-items: center;
  flex-shrink: 0;
  background: var(--brand);
  color: #fff;
  transform: scale(1.08) rotate(-4deg);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), background .3s, color .3s;
}
.fc-icon svg { width: 24px; height: 24px; }

.fc-body h3 { font-size: 16.5px; font-weight: 700; color: var(--ink); margin: 0; transition: color .3s; }
.fc-body p { font-size: 14px; color: var(--slate-600); line-height: 1.55; margin-top: 6px; }
.fc-link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 700; color: var(--navy-800);
  margin-top: 10px; opacity: 1; transform: translateX(0);
  transition: opacity .25s, transform .25s;
}
.fc-link svg { width: 14px; height: 14px; }

/* stagger */
.feat-grid-v2 .reveal:nth-child(3n+2) { transition-delay: .07s; }
.feat-grid-v2 .reveal:nth-child(3n+3) { transition-delay: .14s; }

/* show 6, hide rest */
.feat-grid-v2 .feat-card-v2:nth-child(n+7) { display: none; }
.feat-grid-v2.expanded .feat-card-v2:nth-child(n+7) { display: flex; }
.feat-more-wrap.hidden { display: none !important; }

/* =================================================================
   PAIN POINTS  ("Sound familiar?")
   ================================================================= */
.pain-wrap { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 48px; }
@media (max-width: 820px){ .pain-wrap { grid-template-columns: 1fr; } }
.pain {
  display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--r-md); padding: 22px 24px;
}
.pain .x { width: 34px; height: 34px; border-radius: 9px; background: rgba(239,68,68,.16); color: #ff9b9b; display: grid; place-items: center; flex: none; }
.pain .x svg { width: 18px; height: 18px; }
.pain h4 { font-size: 16.5px; color: #fff; }
.pain .ans { margin-top: 9px; font-size: 14px; color: #a9c0de; display: flex; gap: 9px; align-items: start; }
.pain .ans svg { width: 16px; height: 16px; color: var(--live); flex: none; margin-top: 2px; }

/* =================================================================
   PRODUCT EXPLORER (flagship interactive)
   ================================================================= */
.explorer { margin-top: 44px; border-radius: var(--r-xl); overflow: hidden; border: 1px solid var(--slate-200); box-shadow: var(--sh-lg); background: #fff; }
.explorer .ex-top { display: flex; align-items: center; gap: 10px; padding: 13px 18px; border-bottom: 1px solid var(--slate-200); background: var(--slate-50); }
.explorer .ex-top .dots { display: flex; gap: 6px; }
.explorer .ex-top .dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--slate-300); }
.explorer .ex-top .title { font-weight: 700; font-size: 14px; margin-left: 6px; }
.explorer .ex-top .live { margin-left: auto; }
.explorer-body { display: grid; grid-template-columns: 100px 1fr; min-height: 540px; }
@media (max-width: 860px){ .explorer-body { grid-template-columns: 1fr; } }
/* Vertical icon-rail sidebar — mirrors the real app (icon on top, label below) */
.ex-side { border-right: 1px solid var(--slate-200); background: #fff; padding: 12px 9px; display: flex; flex-direction: column; gap: 4px; }
@media (max-width: 860px){
  .ex-side { border-right: none; border-bottom: 1px solid var(--slate-200); flex-direction: row; gap: 6px; overflow-x: auto; padding: 10px; }
}
.ex-side .grp { display: none; }
.ex-tab {
  display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; text-align: center;
  padding: 11px 4px; border-radius: 12px; border: none; background: transparent;
  font-size: 11px; font-weight: 600; color: #374151; line-height: 1.15;
  cursor: pointer; transition: background .15s, color .15s, box-shadow .15s;
}
@media (max-width: 860px){ .ex-tab { min-width: 84px; flex: none; } }
.ex-tab svg { width: 25px; height: 25px; flex: none; color: #374151; }
.ex-tab:hover { background: #f3f4f6; color: #374151; }
.ex-tab:hover svg { color: #374151; }
.ex-tab[aria-selected="true"] { background: #fb923c; color: #fff; box-shadow: 0 8px 18px rgba(251,146,60,.35); }
.ex-tab[aria-selected="true"] svg { color: #fff; }
.ex-tab .tag { display: none; }

.ex-main { padding: 26px 28px; overflow: hidden; }
@media (max-width: 560px){ .ex-main { padding: 20px 16px; } }
.ex-panel { display: none; animation: fadein .35s ease; }
.ex-panel.active { display: block; }
@keyframes fadein { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ex-panel .ph { display: flex; align-items: flex-start; gap: 16px; justify-content: space-between; flex-wrap: wrap; margin-bottom: 20px; }
.ex-panel .ph h3 { font-size: 20px; }
.ex-panel .ph .sub { font-size: 13.5px; color: var(--slate-500); margin-top: 5px; max-width: 460px; }
.ex-hint { font-size: 12px; color: var(--accent-700); background: var(--accent-soft); padding: 7px 12px; border-radius: var(--r-pill); display:inline-flex; align-items:center; gap:7px; font-weight:600; }
.ex-hint svg { width: 14px; height: 14px; }

/* KPI cards */
.kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
@media (max-width: 640px){ .kpis { grid-template-columns: repeat(2,1fr); } }
.kpi { border: 1px solid var(--slate-200); border-radius: var(--r-md); padding: 16px; background: var(--slate-50); }
.kpi .k-lbl { font-size: 12px; color: var(--slate-500); display:flex; align-items:center; gap:7px; }
.kpi .k-lbl svg { width: 15px; height: 15px; color: var(--accent); }
.kpi .k-num { font-size: 26px; font-weight: 800; letter-spacing: -.02em; margin-top: 8px; font-feature-settings:"tnum"; color: var(--ink); }
.kpi .k-lbl svg { width: 15px; height: 15px; color: var(--data); }
.kpi .k-delta { font-size: 12px; font-weight: 700; margin-top: 4px; display:inline-flex; align-items:center; gap:4px; }
.kpi .k-delta.up { color: var(--live-ink); }
.kpi .k-delta.down { color: var(--danger); }

/* data table */
.dtable { width: 100%; border-collapse: collapse; margin-top: 4px; font-size: 13.5px; }
.dtable th, .dtable td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--slate-100); }
.dtable thead th {
  font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--slate-500);
  font-weight: 700; cursor: pointer; user-select: none; white-space: nowrap; background: var(--slate-50);
}
.dtable thead th:first-child { border-top-left-radius: 8px; }
.dtable thead th:last-child { border-top-right-radius: 8px; }
.dtable thead th .arr { opacity: 0; margin-left: 5px; font-size: 10px; }
.dtable thead th.sorted .arr { opacity: 1; }
.dtable tbody tr { transition: background .12s; }
.dtable tbody tr:hover { background: var(--slate-50); }
.dtable td.num, .dtable th.num { text-align: right; font-family: var(--font-mono); font-feature-settings:"tnum"; }
.dtable .sku { font-family: var(--font-mono); font-size: 12.5px; color: var(--slate-600); }
.dtable .pname { font-weight: 600; }

.badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: var(--r-pill); }
.badge::before { content:""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.b-open { background: var(--slate-100); color: var(--slate-600); }
.b-working { background: var(--warn-soft); color: #9a6500; }
.b-shipped { background: var(--live-soft); color: var(--live-ink); }
.b-low { background: var(--danger-soft); color: #b91c1c; }
.b-ok { background: var(--live-soft); color: var(--live-ink); }

.adv-btn { font-size: 12px; font-weight: 700; padding: 6px 12px; border-radius: var(--r-pill); border: 1px solid var(--accent); color: var(--accent-700); background: var(--accent-soft); }
.adv-btn:hover { background: var(--accent); color: #fff; }
.adv-btn:disabled { opacity: .45; cursor: default; background: var(--slate-100); border-color: var(--slate-200); color: var(--slate-500); }

/* channel filter */
.seg { display: inline-flex; background: var(--slate-100); border-radius: var(--r-pill); padding: 4px; gap: 2px; }
.seg button { border: none; background: transparent; padding: 7px 14px; border-radius: var(--r-pill); font-size: 13px; font-weight: 600; color: var(--slate-600); }
.seg button[aria-pressed="true"] { background: #fff; color: var(--ink); box-shadow: var(--sh-xs); }

/* workflow stepper */
.stepper { display: flex; align-items: center; gap: 0; margin: 6px 0 22px; }
.stepper .step { display: flex; align-items: center; gap: 10px; }
.stepper .node { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 13px; flex: none; border: 2px solid var(--slate-200); color: var(--slate-400); background: #fff; transition: .25s; }
.stepper .step.done .node { background: var(--live); border-color: var(--live); color: #fff; }
.stepper .step.active .node { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 0 0 4px var(--accent-soft); }
.stepper .step .nm { font-size: 13px; font-weight: 600; color: var(--slate-500); }
.stepper .step.done .nm, .stepper .step.active .nm { color: var(--ink); }
.stepper .line { flex: 1; height: 2px; background: var(--slate-200); margin: 0 12px; border-radius: 2px; min-width: 18px; }
.stepper .line.done { background: var(--live); }
@media (max-width: 620px){ .stepper .step .nm { display: none; } }

/* mini bar chart */
.barchart { display: flex; align-items: flex-end; gap: 10px; height: 180px; padding: 12px 4px 0; }
.barchart .bar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; height: 100%; justify-content: flex-end; }
.barchart .bar .col { width: 60%; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, var(--data), var(--data-2)); transition: height .6s cubic-bezier(.2,.7,.2,1); }
.barchart .bar .col.alt { background: linear-gradient(180deg, var(--live), #a3c4e8); }
.barchart .bar .bl { font-size: 11px; color: var(--slate-500); font-family: var(--font-mono); }

/* donut */
.donut-wrap { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.donut { width: 150px; height: 150px; border-radius: 50%; flex: none; display: grid; place-items: center; }
.donut .hole { width: 96px; height: 96px; background: #fff; border-radius: 50%; display: grid; place-items: center; text-align: center; }
.donut .hole b { font-size: 22px; }
.donut .hole span { font-size: 11px; color: var(--slate-500); }
.legend { display: grid; gap: 10px; }
.legend .li { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.legend .li .sw { width: 12px; height: 12px; border-radius: 3px; flex: none; }
.legend .li .v { margin-left: auto; font-family: var(--font-mono); font-weight: 600; }

/* =================================================================
   FEATURE SPLIT rows
   ================================================================= */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.split.flip .split-media { order: -1; }
/* allow columns to shrink and keep media within the column on mobile */
.split-copy, .split-media { min-width: 0; }
.split-media svg, .split-media img { max-width: 100%; height: auto; }
@media (max-width: 900px){ .split { grid-template-columns: 1fr; gap: 36px; } .split.flip .split-media { order: 0; } }
.feat-list { margin-top: 24px; display: grid; gap: 14px; }
.feat-list .fi { display: flex; gap: 13px; align-items: flex-start; }
.feat-list .fi .ck { width: 24px; height: 24px; border-radius: 7px; background: var(--live-soft); color: var(--live-ink); display: grid; place-items: center; flex: none; }
.feat-list .fi .ck svg { width: 14px; height: 14px; }
.feat-list .fi b { font-weight: 700; }
.feat-list .fi p { font-size: 14px; color: var(--slate-600); margin-top: 2px; }

/* =================================================================
   GUARANTEES
   ================================================================= */
.guarantees { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 46px; }
@media (max-width: 900px){ .guarantees { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px){ .guarantees { grid-template-columns: 1fr; } }
.guard { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-md); padding: 24px; position: relative; }
.guard .ic { width: 46px; height: 46px; border-radius: 12px; background: rgba(188,210,244,.14); color: #bcd2f4; display: grid; place-items: center; margin-bottom: 16px; }
.guard .ic svg { width: 24px; height: 24px; }
.guard h4 { font-size: 16px; color: #fff; }
.guard p { font-size: 13.5px; color: #a9c0de; margin-top: 8px; line-height: 1.5; }

/* =================================================================
   INTEGRATIONS
   ================================================================= */
.intg-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 14px; margin-top: 32px; }
@media (max-width: 820px){ .intg-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 460px){ .intg-grid { grid-template-columns: repeat(2,1fr); } }
.intg {
  min-width: 0; aspect-ratio: 1 / .78; border: 1px solid var(--slate-200); border-radius: var(--r-md); background: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  transition: transform .18s, box-shadow .2s, border-color .2s; padding: 16px;
}
.intg:hover { transform: translateY(-4px); box-shadow: var(--sh-md); border-color: var(--slate-300); }
.intg .gi { width: 48px; height: 48px; display: grid; place-items: center; color: var(--navy-800); }
.intg .gi svg { width: 38px; height: 38px; }
.intg .gi-logo { width: auto; min-width: 70px; max-width: 100%; height: 44px; }
.intg .gi-logo svg.brandlogo { width: auto; height: auto; max-width: 100%; }
.intg .nm { font-size: 13.5px; font-weight: 700; color: var(--slate-700); }

/* =================================================================
   PRICING
   ================================================================= */
.price-toggle { display: inline-flex; background: #fff; border: 1px solid var(--slate-200); border-radius: var(--r-pill); padding: 5px; gap: 4px; margin: 26px auto 0; box-shadow: var(--sh-xs); }
.price-toggle button { border: none; background: transparent; padding: 11px 22px; border-radius: var(--r-pill); font-weight: 700; font-size: 14.5px; color: var(--slate-600); display:inline-flex; align-items:center; gap:8px; }
.price-toggle button[aria-pressed="true"] { background: var(--navy-850); color: #fff; }
.price-toggle button .ico { width: 17px; height: 17px; }

.price-view { margin-top: 44px; }
.price-view[hidden] { display: none; }
.price-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
@media (max-width: 880px){ .price-cards { grid-template-columns: 1fr; max-width: 440px; margin-inline: auto; } }
.pcard { background: #fff; border: 1px solid var(--slate-200); border-radius: var(--r-lg); padding: 30px; position: relative; display: flex; flex-direction: column; }
.pcard.feat { border-color: var(--brand); box-shadow: var(--sh-glow); }
.pcard .pop { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--brand); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 5px 14px; border-radius: var(--r-pill); }
.pcard .pname { font-size: 15px; font-weight: 700; color: var(--slate-600); }
.pcard .pprice { margin-top: 14px; font-size: 44px; font-weight: 800; letter-spacing: -.03em; }
.pcard .pprice span { font-size: 15px; font-weight: 600; color: var(--slate-500); }
.pcard .pdesc { font-size: 13.5px; color: var(--slate-500); margin-top: 6px; min-height: 38px; }
.pcard .btn { margin-top: 20px; width: 100%; }
.pcard ul { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
.pcard li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--slate-700); }
.pcard li svg { width: 18px; height: 18px; color: var(--live-ink); flex: none; margin-top: 1px; }

/* prep center single panel */
.prep-price { display: grid; grid-template-columns: 1fr 1.05fr; gap: 24px; align-items: stretch; }
@media (max-width: 880px){ .prep-price { grid-template-columns: 1fr; } }
.cost-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 6px; }
.cost-table th, .cost-table td { padding: 12px 14px; border-bottom: 1px solid var(--slate-100); text-align: left; }
.cost-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--slate-500); }
.cost-table td.num, .cost-table th.num { text-align: right; font-family: var(--font-mono); }
.cost-table tr.total td { font-weight: 800; border-top: 2px solid var(--slate-200); border-bottom: none; }
.cost-table tr.total td.num { color: var(--accent-700); }

/* =================================================================
   PROOF / REVIEW BADGES
   ================================================================= */
.review-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 14px; }
@media (max-width: 820px){ .review-row { grid-template-columns: repeat(2,1fr); } }
.rbadge { display: flex; align-items: center; gap: 14px; border: 1px solid var(--slate-200); border-radius: var(--r-md); padding: 16px 18px; background: #fff; }
.rbadge .lg { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; font-weight: 800; color: #fff; flex: none; font-size: 15px; }
.rbadge .stars { color: var(--warn); font-size: 13px; letter-spacing: 1px; }
.rbadge .sc { font-weight: 800; font-size: 16px; }
.rbadge .ct { font-size: 12px; color: var(--slate-500); }
.rbadge .lg.bm { background: transparent !important; padding: 0; overflow: hidden; }
.rbadge .lg.bm svg { width: 42px; height: 42px; display: block; }
.rbadge .lg.bm img { width: 42px; height: 42px; display: block; object-fit: contain; }
/* white "Watch demo" button with hover */
.btn-watch { background: #fff; color: var(--navy-900); border: none; font-weight: 700;
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, background .25s; }
.btn-watch svg { transition: transform .25s; }
.btn-watch:hover { background: #fff; transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,.32); }
.btn-watch:hover svg { transform: scale(1.18); }

/* case studies */
.cases { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 46px; }
@media (max-width: 880px){ .cases { grid-template-columns: 1fr; } }
.case { border: 1px solid var(--slate-200); border-radius: var(--r-lg); overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: transform .18s, box-shadow .2s; }
.case:hover { transform: translateY(-4px); box-shadow: var(--sh-md); }
.case .ch { padding: 24px 24px 0; }
.case .ch .co { display: inline-flex; align-items: center; gap: 9px; font-weight: 800; font-size: 15px; }
.case .ch .co .lg { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: #fff; font-size: 13px; }
.case .big { padding: 18px 24px; display: flex; gap: 22px; }
.case .big .m .n { font-size: 30px; font-weight: 800; letter-spacing: -.03em; color: var(--accent-700); font-feature-settings:"tnum"; }
.case .big .m .l { font-size: 12px; color: var(--slate-500); }
.case .q { padding: 0 24px 24px; font-size: 14px; color: var(--slate-700); line-height: 1.55; }
.case .tag { font-size: 11px; letter-spacing:.08em; text-transform: uppercase; color: var(--slate-400); font-family: var(--font-mono); }

/* testimonials */
.tcarousel { margin-top: 44px; position: relative; }
.ttrack { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(340px, 1fr); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: none; }
.ttrack::-webkit-scrollbar { display: none; }
@media (min-width: 900px){ .ttrack { grid-auto-columns: minmax(0,1fr); grid-auto-flow: row; grid-template-columns: repeat(3,1fr); overflow: visible; } }
.tcard { scroll-snap-align: start; background: #fff; border: 1px solid var(--slate-200); border-radius: var(--r-lg); padding: 26px; display: flex; flex-direction: column; }
.tcard .stars { color: var(--warn); font-size: 14px; letter-spacing: 2px; }
.tcard .vfd { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--live-ink); background: var(--live-soft); padding: 3px 9px; border-radius: var(--r-pill); }
.tcard .qt { margin-top: 16px; font-size: 15px; line-height: 1.6; color: var(--slate-800,#28374d); flex: 1; }
.tcard .who { margin-top: 20px; display: flex; align-items: center; gap: 12px; }
.tcard .who .av { width: 42px; height: 42px; border-radius: 50%; flex: none; display: grid; place-items: center; font-weight: 800; color: #fff; font-size: 15px; }
.tcard .who .nm { font-weight: 700; font-size: 14px; }
.tcard .who .rl { font-size: 12.5px; color: var(--slate-500); }
.thead-row { display: flex; align-items: center; gap: 8px; }

/* how it works */
.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 46px; }
@media (max-width: 820px){ .steps { grid-template-columns: 1fr; } }
.stepc { position: relative; padding: 26px 24px; background: linear-gradient(168deg,#fff,#f7f9fc);
  border: 0.5px solid var(--slate-300); border-radius: 16px;
  box-shadow: 0 1px 2px rgba(11,27,48,.04), inset 0 1px 0 rgba(255,255,255,.6); }
.stepc .no { display: inline-flex; align-items: center; font-family: var(--font-mono); font-size: 11.5px; font-weight: 700;
  color: var(--accent); background: var(--accent-soft); padding: 5px 11px; border-radius: 999px; letter-spacing: .04em; }
.stepc h4 { font-size: 17px; margin-top: 14px; letter-spacing: -.01em; }
.stepc p { font-size: 14px; color: var(--slate-600); margin-top: 8px; line-height: 1.55; }
.stepc .bar { height: 3px; background: var(--slate-200); border-radius: 3px; margin-top: 20px; overflow: hidden; }
.stepc .bar i { display: block; height: 100%; width: 40%; background: var(--accent); }

.video-cta { margin-top: 40px; border-radius: var(--r-xl); overflow: hidden; position: relative; background: linear-gradient(120deg, var(--navy-850), var(--navy-950)); border: 1px solid var(--navy-700); padding: 40px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.video-cta .play { width: 72px; height: 72px; border-radius: 50%; background: #fff; display: grid; place-items: center; flex: none; box-shadow: var(--sh-md); transition: transform .2s; }
.video-cta .play:hover { transform: scale(1.06); }
.video-cta .play svg { width: 26px; height: 26px; color: var(--navy-900); margin-left: 3px; }

/* =================================================================
   FAQ
   ================================================================= */
.faq { max-width: 820px; margin: 46px auto 0; }
.faq-item { border-bottom: 1px solid var(--slate-200); }
.faq-q { width: 100%; text-align: left; background: none; border: none; padding: 22px 4px; display: flex; align-items: center; gap: 18px; font-size: 17px; font-weight: 700; color: var(--ink); }
.faq-q .pm { margin-left: auto; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--slate-300); display: grid; place-items: center; flex: none; transition: .2s; }
.faq-q .pm svg { width: 14px; height: 14px; transition: transform .25s; }
.faq-item.open .faq-q .pm { background: var(--accent); border-color: var(--accent); color: #fff; }
.faq-item.open .faq-q .pm svg { display: none; }
.faq-q .pm::after { content: ""; display: none; width: 12px; height: 2px; background: currentColor; border-radius: 1px; }
.faq-item.open .faq-q .pm::after { display: block; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-a .inner { padding: 0 4px 24px; font-size: 15px; color: var(--slate-600); line-height: 1.6; max-width: 700px; }

/* =================================================================
   FINAL CTA
   ================================================================= */
.finalcta { position: relative; overflow: hidden; background: radial-gradient(900px 500px at 80% -20%, rgba(37,99,235,.4), transparent 60%), linear-gradient(160deg, var(--navy-850), var(--navy-950)); border-radius: var(--r-xl); padding: 64px; text-align: center; }
.finalcta::after { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(600px 300px at 50% 0%, #000, transparent 70%); }
.finalcta > * { position: relative; z-index: 2; }
.finalcta .hero-cta { justify-content: center; }

/* compliance strip */
.compliance { display: flex; align-items: center; justify-content: center; gap: 38px; flex-wrap: wrap; }
.compliance .ci { display: flex; align-items: center; gap: 11px; color: var(--slate-600); font-size: 13.5px; font-weight: 600; }
.compliance .ci svg { width: 26px; height: 26px; color: var(--navy-700); }

/* =================================================================
   FOOTER
   ================================================================= */
.footer { background: var(--navy-950); color: #9fb4d2; padding-block: 64px 32px; }
.footer .fgrid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
@media (max-width: 900px){ .footer .fgrid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 520px){ .footer .fgrid { grid-template-columns: 1fr 1fr; } }
.footer .brand { color: #fff; font-size: 18px; position: static; }
.footer .brand .brand-logo { height: 26px; width: auto; }
.footer .fabout { margin-top: 16px; font-size: 13.5px; color: #8ea6c6; max-width: 280px; line-height: 1.6; }
.footer h5 { color: #fff; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 16px; }
.footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer ul a { font-size: 14px; color: #9fb4d2; }
.footer ul a:hover { color: #fff; }
.footer .fbot { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #7e96b6; }
.footer .fsoc { display: flex; gap: 10px; }
.footer .fsoc a { width: 34px; height: 34px; border-radius: 9px; border: 1px solid rgba(255,255,255,.14); display: grid; place-items: center; color: #b9cbe6; }
.footer .fsoc a:hover { background: rgba(255,255,255,.08); color: #fff; }
.footer .fsoc svg { width: 16px; height: 16px; }

/* reveal on scroll */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ .reveal { opacity: 1; transform: none; transition: none; } }

/* utility */
.center { text-align: center; }
.mt-s { margin-top: 14px; } .mt-m { margin-top: 26px; } .mt-l { margin-top: 44px; }
.grad-text { color: transparent; background: linear-gradient(100deg, var(--accent), #bcd2f4); -webkit-background-clip: text; background-clip: text; }

/* =================================================================
   DATED STAT BAND  ("by the numbers")
   ================================================================= */
.statband {
  position: relative; overflow: hidden; border-radius: var(--r-xl); padding: 52px 48px;
  background:
    radial-gradient(700px 360px at 88% -20%, rgba(237,41,57,.22), transparent 60%),
    linear-gradient(125deg, var(--navy-800), var(--navy-950));
  color: #fff;
}
.statband::after { content:""; position:absolute; inset:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 46px 46px; mask-image: radial-gradient(600px 320px at 80% 0%, #000, transparent 72%); }
.statband > * { position: relative; z-index: 2; }
.statband .sb-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.statband .sb-head h3 { color: #fff; font-size: clamp(22px,2.4vw,30px); }
.statband .dated { font-family: var(--font-mono); font-size: 12px; color: #9ec1ff; display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); padding: 7px 13px; border-radius: var(--r-pill); }
.statband .dated .chip-dot::before { background: var(--live); }
.sb-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-top: 34px; }
@media (max-width: 760px){ .sb-grid { grid-template-columns: repeat(2,1fr); gap: 28px 22px; } }
.sb .n { font-size: clamp(34px, 4.4vw, 54px); font-weight: 800; letter-spacing: -.035em; line-height: 1; font-feature-settings: "tnum"; }
.sb .n .u { color: #bcd2f4; }
.sb .l { font-size: 13.5px; color: #acc4e4; margin-top: 10px; line-height: 1.4; }
.sb .sub { font-size: 11.5px; color: #7e9ac0; margin-top: 3px; }

/* =================================================================
   INDUSTRIES
   ================================================================= */
.ind-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 46px; }
@media (max-width: 820px){ .ind-grid { grid-template-columns: repeat(2,1fr); } }
.ind { display: flex; align-items: center; gap: 13px; padding: 16px 18px; border: 1px solid var(--slate-200); border-radius: var(--r-md); background: #fff; transition: transform .16s, box-shadow .2s, border-color .2s; }
.ind:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: var(--slate-300); }
.ind .ii { width: 40px; height: 40px; border-radius: 10px; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; flex: none; }
.ind .ii svg { width: 21px; height: 21px; }
.ind .it { font-weight: 700; font-size: 14.5px; }
.ind .ic2 { font-size: 12px; color: var(--slate-500); margin-top: 1px; }

/* =================================================================
   PERSONA TABS
   ================================================================= */
.persona { display: grid; grid-template-columns: 300px 1fr; gap: 22px; margin-top: 46px; align-items: start; }
@media (max-width: 860px){ .persona { grid-template-columns: 1fr; gap: 24px; } }
.persona-rail { display: grid; gap: 10px; }
@media (max-width: 860px){ .persona-rail { grid-auto-flow: column; overflow-x: auto; } }
.prole { text-align: left; border: 1px solid var(--slate-200); background: #fff; border-radius: var(--r-md); padding: 18px 20px; cursor: pointer; transition: .18s; display: flex; gap: 14px; align-items: center; white-space: nowrap; }
.prole .pic { width: 42px; height: 42px; border-radius: 11px; background: var(--slate-100); color: var(--slate-500); display: grid; place-items: center; flex: none; }
.prole .pic svg { width: 21px; height: 21px; }
.prole .pt { display: block; font-weight: 700; font-size: 15px; }
.prole .pd { display: block; font-size: 12.5px; color: var(--slate-500); margin-top: 2px; }
.prole[aria-selected="true"] { border-color: var(--accent); background: var(--accent-soft); box-shadow: var(--sh-sm); }
.prole[aria-selected="true"] .pic { background: var(--accent); color: #fff; }
.persona-panel { display: none; }
.persona-panel.active { display: block; animation: fadein .35s ease; }
.persona-panel .pp-card { border: 1px solid var(--slate-200); border-radius: var(--r-lg); padding: 32px; background: #fff; box-shadow: var(--sh-sm); }
.persona-panel h3 { font-size: 22px; }
.persona-panel .pp-lead { font-size: 15px; color: var(--slate-600); margin-top: 10px; line-height: 1.6; }
.pp-list { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px){ .pp-list { grid-template-columns: 1fr; } }
.pp-list .pli { display: flex; gap: 12px; align-items: flex-start; }
.pp-list .pli .ck { width: 24px; height: 24px; border-radius: 7px; background: var(--live-soft); color: var(--live-ink); display: grid; place-items: center; flex: none; }
.pp-list .pli .ck svg { width: 14px; height: 14px; }
.pp-list .pli b { font-size: 14px; }
.pp-list .pli p { font-size: 13px; color: var(--slate-600); margin-top: 2px; }
.pp-metric { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--slate-100); display: flex; gap: 36px; flex-wrap: wrap; }
.pp-metric .m .n { font-size: 28px; font-weight: 800; color: var(--accent); letter-spacing: -.02em; }
.pp-metric .m .l { font-size: 12.5px; color: var(--slate-500); }

/* =================================================================
   VIDEO GALLERY
   ================================================================= */
.video-main { position: relative; border-radius: var(--r-xl); overflow: hidden; margin-top: 44px; aspect-ratio: 16 / 7.4; border: 1px solid rgba(255,255,255,.1);
  background: radial-gradient(700px 380px at 30% 20%, rgba(43,82,134,.7), transparent 60%), linear-gradient(130deg, var(--navy-850), var(--navy-950)); display: grid; place-items: center; }
@media (max-width: 700px){ .video-main { aspect-ratio: 16/11; } }
.video-main::after { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(500px 280px at 50% 40%, #000, transparent 72%); }
.video-main .vm-inner { position: relative; z-index: 2; text-align: center; }
.video-main .play-lg { width: 84px; height: 84px; border-radius: 50%; background: #fff; display: grid; place-items: center; margin: 0 auto; box-shadow: 0 16px 44px rgba(0,0,0,.4); transition: transform .2s; border: none; cursor: pointer; }
.video-main .play-lg:hover { transform: scale(1.07); }
.video-main .play-lg svg { width: 30px; height: 30px; color: var(--navy-900); margin-left: 4px; }
.video-main .vm-cap { color: #fff; font-weight: 700; font-size: 17px; margin-top: 20px; }
.video-main .vm-sub { color: #9fb6d6; font-size: 13.5px; margin-top: 6px; }
.video-main .vm-badge { position: absolute; top: 18px; left: 18px; z-index: 3; }
.video-main .vm-time { position: absolute; bottom: 16px; right: 18px; z-index: 3; font-family: var(--font-mono); font-size: 12px; color: #cde; background: rgba(0,0,0,.4); padding: 5px 10px; border-radius: var(--r-pill); }
.vgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 18px; }
@media (max-width: 820px){ .vgrid { grid-template-columns: 1fr; } }
.vcard { position: relative; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 16/10; border: 1px solid rgba(255,255,255,.1); cursor: pointer; display: grid; place-items: center; transition: transform .18s; }
.vcard:hover { transform: translateY(-4px); }
.vcard:hover .vc-play { transform: scale(1.1); }
.vcard.v1 { background: linear-gradient(140deg, #1e3a63, #0c1d39); }
.vcard.v2 { background: linear-gradient(140deg, #5a2230, #160c12); }
.vcard.v3 { background: linear-gradient(140deg, #1c4a44, #0a1c1a); }
.vcard .vc-play { width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.95); display: grid; place-items: center; transition: transform .2s; }
.vcard .vc-play svg { width: 19px; height: 19px; color: var(--navy-900); margin-left: 2px; }
.vcard .vc-meta { position: absolute; left: 16px; bottom: 14px; right: 16px; }
.vcard .vc-name { color: #fff; font-weight: 700; font-size: 14px; }
.vcard .vc-role { color: #cdd8ea; font-size: 12px; }
.vcard .vc-tag { position: absolute; top: 14px; left: 14px; font-size: 10.5px; font-family: var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: #fff; background: rgba(0,0,0,.32); padding: 4px 9px; border-radius: var(--r-pill); }

/* =================================================================
   CALCULATOR
   ================================================================= */
.calc { display: grid; grid-template-columns: 1.05fr 1fr; gap: 0; border: 1px solid var(--slate-200); border-radius: var(--r-xl); overflow: hidden; margin-top: 46px; box-shadow: var(--sh-md); background: #fff; }
@media (max-width: 820px){ .calc { grid-template-columns: 1fr; } }
.calc-controls { padding: 36px; }
.calc-field { margin-bottom: 26px; }
.calc-field:last-child { margin-bottom: 0; }
.calc-field .cf-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.calc-field .cf-lbl { font-weight: 700; font-size: 14.5px; }
.calc-field .cf-val { font-family: var(--font-mono); font-weight: 700; font-size: 15px; color: var(--accent); }
.calc-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; background: var(--slate-200); outline: none; }
.calc-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%; background: var(--accent); border: 3px solid #fff; box-shadow: var(--sh-sm); cursor: pointer; }
.calc-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--accent); border: 3px solid #fff; box-shadow: var(--sh-sm); cursor: pointer; }
.calc-seg { margin-top: 6px; }
.calc-result { padding: 36px; background: linear-gradient(160deg, var(--navy-850), var(--navy-950)); color: #fff; display: flex; flex-direction: column; justify-content: center; }
.calc-result .cr-lbl { font-size: 13px; color: #9fb6d6; }
.calc-result .cr-big { font-size: clamp(40px,5vw,60px); font-weight: 800; letter-spacing: -.04em; line-height: 1; margin-top: 8px; font-feature-settings:"tnum"; }
.calc-result .cr-big span { font-size: 18px; font-weight: 600; color: #9fb6d6; }
.calc-result .cr-break { margin-top: 24px; display: grid; gap: 12px; }
.calc-result .cr-row { display: flex; justify-content: space-between; font-size: 13.5px; color: #c2d4ec; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
.calc-result .cr-row b { color: #fff; font-family: var(--font-mono); }
.calc-result .cr-note { font-size: 12px; color: #7e9ac0; margin-top: 16px; }
.calc-result .btn { margin-top: 22px; }

/* =================================================================
   PREMIUM EFFECTS PASS — motion, depth, hovers
   ================================================================= */

/* richer base shadows */
:root {
  --sh-md: 0 10px 30px rgba(11,27,48,.10), 0 2px 6px rgba(11,27,48,.06);
  --sh-lg: 0 28px 64px rgba(11,27,48,.18), 0 6px 16px rgba(11,27,48,.08);
}

/* hero product panel float + glow */
@media (prefers-reduced-motion: no-preference){
  .hero-panel .appwin { animation: floaty 7s ease-in-out infinite; }
  @keyframes floaty { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-12px) } }
}
.hero-panel { position: relative; }
.hero-panel::before { content:""; position:absolute; inset:-12% -8% -16% -8%; z-index:0; border-radius:40px;
  background: radial-gradient(60% 55% at 50% 40%, rgba(43,82,134,.55), transparent 70%); filter: blur(20px); }
.hero-panel .appwin { position: relative; z-index: 1; box-shadow: 0 40px 90px rgba(0,0,0,.45), 0 8px 24px rgba(0,0,0,.3); }

/* button sheen */
.btn-primary { position: relative; overflow: hidden; }
.btn-primary::after { content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-18deg); transition: left .6s ease; }
.btn-primary:hover::after { left: 130%; }

/* staggered reveal inside grids */
.modgrid .reveal:nth-child(3n+2), .guarantees .reveal:nth-child(4n+2), .intg-grid .reveal:nth-child(6n+2), .cases .reveal:nth-child(3n+2), .ind-grid .reveal:nth-child(4n+2) { transition-delay: .07s; }
.modgrid .reveal:nth-child(3n+3), .guarantees .reveal:nth-child(4n+3), .intg-grid .reveal:nth-child(6n+3), .cases .reveal:nth-child(3n+3), .ind-grid .reveal:nth-child(4n+3) { transition-delay: .14s; }
.guarantees .reveal:nth-child(4n+4), .intg-grid .reveal:nth-child(6n+4) { transition-delay: .21s; }
.intg-grid .reveal:nth-child(6n+5) { transition-delay: .28s; }
.intg-grid .reveal:nth-child(6n+6) { transition-delay: .34s; }

/* module tiles — premium */
.modtile { position: relative; overflow: hidden; transition: transform .32s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; }
.modtile::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background: linear-gradient(90deg, var(--accent), var(--live)); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.modtile:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); border-color: transparent; }
.modtile:hover::before { transform: scaleX(1); }
.modtile .ic { transition: transform .35s cubic-bezier(.2,.7,.2,1), background .3s, color .3s; }
.modtile:hover .ic { transform: translateY(-2px) rotate(-6deg) scale(1.06); background: var(--accent); color: #fff; }

/* PAIN CARDS — premium hover */
.pain-card {
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
  cursor: default;
}
.pain-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(188,210,244,.25);
  border-color: rgba(188,210,244,.35) !important;
}
.pain-card:hover h4 { color: #bcd2f4 !important; transition: color .3s; }
.pain-card:hover .fc-pain-icon {
  transform: scale(1.1) rotate(-6deg);
  background: rgba(188,210,244,.2) !important;
}
.pain { position: relative; overflow: hidden; padding-left: 28px;
  transition: transform .34s cubic-bezier(.2,.7,.2,1), box-shadow .34s, border-color .34s, background .34s; }
.pain::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background: linear-gradient(180deg, #ff6b6b, #ff8f8f); border-radius: 4px; transition: background .4s ease; }
.pain::after { content:""; position:absolute; inset:0; opacity:0; transition: opacity .45s ease; pointer-events:none;
  background: radial-gradient(440px 220px at 0% 0%, rgba(237,41,57,.16), transparent 60%); }
.pain:hover { transform: translateY(-6px); background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.24);
  box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.pain:hover::before { background: linear-gradient(180deg, var(--live), #a3c4e8); }
.pain:hover::after { opacity: 1; }
.pain .x { transition: transform .4s cubic-bezier(.2,.7,.2,1), background .4s, color .4s; }
.pain:hover .x { transform: rotate(-8deg) scale(1.12); }
.pain .ans { transition: transform .4s ease, opacity .4s ease; }
.pain .ans svg { transition: transform .4s ease; }
.pain:hover .ans svg { transform: scale(1.25); }

/* GUARANTEES — redesigned as numbered seals */
.guarantees { counter-reset: gd; }
.guard { overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: 30px 26px 26px;
  transition: transform .34s cubic-bezier(.2,.7,.2,1), box-shadow .34s, border-color .34s; }
.guard::before { counter-increment: gd; content: "0" counter(gd);
  position: absolute; top: 22px; right: 24px; font-family: var(--font-mono); font-weight: 700;
  font-size: 13px; color: rgba(188,210,244,.55); letter-spacing: .04em; }
.guard::after { content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(188,210,244,.6), transparent); opacity:.7; }
.guard .ic { width: 56px; height: 56px; border-radius: 16px; position: relative;
  background: radial-gradient(120% 120% at 30% 20%, rgba(188,210,244,.28), rgba(188,210,244,.06));
  box-shadow: 0 0 0 1px rgba(188,210,244,.25), 0 10px 26px rgba(29,64,114,.18);
  color: #bcd2f4; display: grid; place-items: center; margin-bottom: 18px;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s; }
.guard .ic::after { content:""; position:absolute; inset:-6px; border-radius:20px;
  border:1px dashed rgba(188,210,244,.3); opacity:0; transition: opacity .4s, transform .8s ease; }
.guard .ic svg { width: 27px; height: 27px; }
.guard h4 { display: inline-flex; align-items: center; gap: 8px; }
.guard .gtag { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px;
  font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--live-ink); background: var(--live-soft); padding: 5px 11px; border-radius: var(--r-pill); }
.guard .gtag svg { width: 13px; height: 13px; }
.guard .gtag.gtag-red {
  color: #fff;
  background: linear-gradient(135deg, #ff3b4a, #d11d2d);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 6px 18px rgba(209,29,45,.45), inset 0 1px 0 rgba(255,255,255,.25);
  font-size: 11.5px; padding: 6px 13px;
}
.guard .gtag.gtag-red svg { color: #fff; }
.guard:hover .gtag.gtag-red { box-shadow: 0 10px 24px rgba(209,29,45,.6), inset 0 1px 0 rgba(255,255,255,.3); }
.guard:hover { transform: translateY(-8px); border-color: rgba(188,210,244,.4);
  box-shadow: 0 36px 70px rgba(0,0,0,.45), 0 0 0 1px rgba(188,210,244,.15); }
.guard:hover .ic { transform: scale(1.08) rotate(4deg); box-shadow: 0 0 0 1px rgba(188,210,244,.4), 0 16px 36px rgba(29,64,114,.3); }
.guard:hover .ic::after { opacity: 1; transform: rotate(40deg); }

/* card lifts elsewhere */
.tcard { transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; }
.tcard:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); border-color: var(--slate-300); }
.rbadge { transition: transform .25s, box-shadow .25s; }
.rbadge:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
.pcard { transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
.pcard:not(.feat):hover { transform: translateY(-6px); box-shadow: var(--sh-lg); }
.pcard.feat:hover { transform: translateY(-6px); }
.kpi { transition: transform .25s, box-shadow .25s, border-color .25s; }
.kpi:hover { transform: translateY(-3px); box-shadow: var(--sh-sm); border-color: var(--slate-300); }


/* section heads rise in */
.appwin { box-shadow: var(--sh-lg); }

/* ===== folded-in inline <style> blocks from homepage ===== */
.hero-panel .appwin{max-width:100%}
        .hero-panel .kpis{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
        .hero-panel .kpi{min-width:0;padding:13px 14px}
        .hero-panel .kpi .k-num{color:var(--ink)!important;font-size:22px!important}
        .hero-panel .kpi .k-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        @media(max-width:600px){
          .hero-panel .appwin .topbar .addr{font-size:10.5px}
          .hero-panel .kpi .k-num{font-size:20px!important}
          .hero-panel .kpi{padding:12px}
        }
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
@media(max-width:760px){.pain-grid{grid-template-columns:1fr}}
.pain-card{
  position:relative;overflow:hidden;border-radius:18px;padding:32px;
  background:linear-gradient(155deg, rgba(96,134,196,.20), rgba(20,40,72,.42));
  border:1px solid rgba(188,210,244,.22);
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
  box-shadow:0 20px 46px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;
}
.pain-card:hover{transform:translateY(-6px);border-color:rgba(188,210,244,.42);
  box-shadow:0 30px 64px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.18)}
.pain-card .pc-line{position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(143,182,238,.85),transparent)}
.pain-card .pc-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(140deg,rgba(143,182,238,.34),rgba(143,182,238,.12));
  border:1px solid rgba(188,210,244,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.pain-card:hover .pc-ic{transform:scale(1.08) rotate(-4deg)}
.pain-card .pc-desc{color:#bccfe9;font-size:14.5px;line-height:1.62;margin-bottom:20px}
.pain-card .pc-sol{position:relative;display:flex;gap:12px;align-items:flex-start;
  border-radius:12px;padding:15px 17px;
  background:linear-gradient(135deg,rgba(143,182,238,.18),rgba(143,182,238,.06));
  border:1px solid rgba(188,210,244,.22);border-left:3px solid #8fb6ee}
.pain-card .pc-sol-ck{flex-shrink:0;margin-top:1px;width:22px;height:22px;border-radius:6px;
  background:rgba(143,182,238,.22);display:grid;place-items:center}
.pain-card .pc-sol-ck svg{width:14px;height:14px;color:#cfe0fb}
.pain-card .pc-sol-txt{color:#eef4fd;font-size:13.5px;font-weight:600;line-height:1.5}
.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:44px auto 0}
    @media(max-width:680px){.pick-grid{grid-template-columns:1fr}}
    .pick{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;border-radius:var(--r-xl);padding:36px;text-align:left;color:#eaf1fb;border:1px solid rgba(255,255,255,.12);transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s,border-color .32s}
    .pick::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(420px 220px at 85% 0%,#000,transparent 72%)}
    .pick.indiv{background:radial-gradient(560px 280px at 82% -12%,rgba(237,41,57,.45),transparent 60%),linear-gradient(150deg,#23375f,#0b1830)}
    .pick.prep{background:radial-gradient(560px 280px at 82% -12%,rgba(90,147,218,.55),transparent 60%),linear-gradient(150deg,#1d4072,#0b1830)}
    .pick>*{position:relative;z-index:1}
    .pick:hover{transform:translateY(-8px);box-shadow:0 34px 70px rgba(0,0,0,.45);border-color:rgba(255,255,255,.28)}
    .pick-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;transition:transform .3s}
    .pick:hover .pick-ic{transform:scale(1.08) rotate(-5deg)}
    .pick-ic svg{width:28px;height:28px;color:#fff}
    .pick.indiv .pick-ic{background:linear-gradient(140deg,#ff5563,#d11d2d);box-shadow:0 12px 28px rgba(237,41,57,.5)}
    .pick.prep .pick-ic{background:linear-gradient(140deg,#6aa0e0,#2f6fc4);box-shadow:0 12px 28px rgba(47,111,196,.5)}
    .pick h3{color:#fff;font-size:23px}
    .pick p{color:#b9cbe6;font-size:14.5px;margin-top:8px;line-height:1.55}
    .pick-price{margin-top:18px;font-size:15px;color:#9fb6d6}
    .pick-price b{font-size:34px;font-weight:800;letter-spacing:-.02em}
    .pick.indiv .pick-price b{color:#ffc0c6}
    .pick.prep .pick-price b{color:#bcd6ff}
    .pick-cta{margin-top:24px;display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:13px 22px;border-radius:999px}
    .pick.indiv .pick-cta{background:var(--brand);color:#fff}
    .pick.prep .pick-cta{background:#fff;color:var(--navy-900)}
    .pick-cta svg{width:17px;height:17px;transition:transform .2s}
    .pick:hover .pick-cta svg{transform:translateX(5px)}
.finalcta.cta-left{text-align:left}
      .finalcta.cta-left .kicker{justify-content:flex-start}
      .finalcta.cta-left .hero-cta{justify-content:flex-start}
      .finalcta .cta-amz{position:absolute;right:-30px;top:50%;transform:translateY(-50%);width:520px;height:auto;opacity:.09;z-index:1;pointer-events:none}
      @media(max-width:820px){.finalcta .cta-amz{width:320px;opacity:.06}}

/* ===== dashboard explorer panel — seller dashboard replica (real StatWidget chrome) ===== */
.dwrow { display: grid; gap: 14px; margin-top: 14px; }
.dwrow.split-3 { grid-template-columns: repeat(3, 1fr); }
.dwrow.mix { grid-template-columns: 1fr 1.45fr; }

/* StatWidget card chrome (colored circular icon badge top-right) */
.swid { position: relative; background: #fff; border: 1px solid var(--slate-200); border-radius: 14px; padding: 18px; box-shadow: var(--sh-xs); }
.swid-badge { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; }
.swid-badge svg { width: 20px; height: 20px; }
.swid-badge.c-green { background: #dcfce7; color: #16a34a; }
.swid-badge.c-red { background: #fee2e2; color: #dc2626; }
.swid-badge.c-orange { background: #ffedd5; color: #ea580c; }
.swid-badge.c-purple { background: #f3e8ff; color: #9333ea; }
.swid-badge.c-blue { background: #dbeafe; color: #2563eb; }
.swid-head { padding-right: 52px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.swid-title { font-size: 13px; font-weight: 600; color: var(--ink); }
.swid-title.c-red { color: #dc2626; }
.swid-title.c-purple { color: #9333ea; }
.swid-title .o { color: #ea580c; }
.swid-value { font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); margin-top: 3px; font-feature-settings: "tnum"; }
.swid-sub { font-size: 11.5px; color: var(--slate-500); margin-top: 2px; }

/* range selector (Week / Month / Year) */
.rsel { display: inline-flex; gap: 4px; flex: none; }
.rsel button { padding: 4px 10px; font-size: 11px; font-weight: 600; border: none; border-radius: 6px; background: var(--slate-100); color: var(--slate-600); cursor: pointer; transition: background .15s; }
.rsel button:hover { background: var(--slate-200); }
.rsel button.on { background: #2563eb; color: #fff; }

/* daily sales mini bar chart (green) */
.gbars { display: flex; align-items: flex-end; justify-content: space-between; gap: 5px; height: 84px; margin-top: 16px; }
.gbars .gb { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px; height: 100%; justify-content: flex-end; }
.gbars .gb i { width: 100%; border-radius: 4px 4px 0 0; background: #22c55e; display: block; transition: height .6s cubic-bezier(.2,.7,.2,1); }
.gbars .gb.last i { background: #15803d; }
.gbars .gb b { font-size: 10.5px; font-weight: 500; color: #16a34a; }

/* alerts widget */
.alert-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.alert-cards .ac { border-radius: 10px; padding: 14px 12px; text-align: center; }
.alert-cards .ac .n { font-size: 22px; font-weight: 800; }
.alert-cards .ac .l { font-size: 11.5px; margin-top: 2px; }
.alert-cards .ac.red { background: #fef2f2; } .alert-cards .ac.red .n { color: #dc2626; } .alert-cards .ac.red .l { color: #ef4444; }
.alert-cards .ac.blue { background: #eff6ff; } .alert-cards .ac.blue .n { color: #2563eb; } .alert-cards .ac.blue .l { color: #3b82f6; }
.alert-link { display: block; text-align: center; margin-top: 12px; font-size: 12.5px; font-weight: 600; color: #2563eb; }
.swid.alerts { border-color: #fecaca; }

/* donut (ring) widget */
.dwid-donut { display: flex; align-items: center; gap: 16px; margin-top: 10px; }
.dwid-donut .ring { width: 112px; height: 112px; border-radius: 50%; flex: none; display: grid; place-items: center; }
.dwid-donut .ring .hole { width: 72px; height: 72px; background: #fff; border-radius: 50%; }
.dlegend { display: grid; gap: 8px; flex: 1; min-width: 0; }
.dlegend .row { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--slate-600); }
.dlegend .row .sw { width: 11px; height: 11px; border-radius: 3px; flex: none; }
.dlegend .row .v { margin-left: auto; font-weight: 700; color: var(--ink); font-family: var(--font-mono); font-feature-settings: "tnum"; }

/* monthly profit & loss */
.pnl { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px; margin-top: 16px; }
.pnl-main { background: var(--slate-50); border-radius: 10px; padding: 14px; display: grid; gap: 12px; align-content: start; }
.pnl-sec { padding-left: 12px; border-left: 4px solid var(--slate-300); display: grid; gap: 5px; }
.pnl-sec.rev { border-color: #22c55e; }
.pnl-sec.cost { border-color: #f97316; }
.pnl-sec.other { border-color: #ef4444; }
.pnl-sec.profit { border-color: #3b82f6; border-top: 1px solid var(--slate-200); padding-top: 9px; }
.pnl-li { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.pnl-li .lbl { color: var(--slate-700); }
.pnl-li .lbl.b { font-weight: 700; color: var(--ink); }
.pnl-li .val { font-weight: 600; font-feature-settings: "tnum"; }
.pnl-li .val.pos { color: #16a34a; }
.pnl-li .val.neg { color: #dc2626; }
.pnl-li .val.b { font-weight: 800; }
.pnl-side { background: var(--slate-50); border-radius: 10px; padding: 14px; display: grid; gap: 10px; align-content: start; }
.pnl-side .card { background: #eff6ff; border-radius: 8px; padding: 11px 13px; }
.pnl-side .card .l { font-size: 11.5px; color: var(--slate-600); }
.pnl-side .card .n { font-size: 17px; font-weight: 800; color: #2563eb; margin-top: 3px; font-feature-settings: "tnum"; }

/* top sold items list */
.tsi { display: grid; gap: 9px; margin-top: 16px; }
.tsi-row { display: flex; align-items: center; gap: 11px; background: var(--slate-50); border-radius: 10px; padding: 10px 12px; }
.tsi-thumb { width: 46px; height: 46px; border-radius: 8px; flex: none; display: grid; place-items: center; color: var(--slate-400); background: linear-gradient(135deg, var(--slate-200), var(--slate-100)); }
.tsi-thumb svg { width: 20px; height: 20px; }
.tsi-meta { min-width: 0; flex: 1; }
.tsi-meta .nm { font-weight: 600; font-size: 13px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tsi-meta .sub { font-size: 11px; color: var(--slate-500); font-family: var(--font-mono); display: flex; gap: 12px; align-items: center; margin-top: 3px; }
.tsi-meta .sub span { display: inline-flex; align-items: center; gap: 4px; }
.tsi-meta .sub svg { width: 12px; height: 12px; }
.tsi-qty { text-align: center; flex: none; }
.tsi-qty svg { width: 15px; height: 15px; color: #2563eb; }
.tsi-qty .q { font-size: 14px; font-weight: 800; color: var(--ink); font-feature-settings: "tnum"; }
.tsi-qty .ql { font-size: 10.5px; color: var(--slate-500); }

@media (max-width: 900px) {
  .dwrow.split-3, .dwrow.mix { grid-template-columns: 1fr; }
  .pnl { grid-template-columns: 1fr; }
}

/* dashboard panel header — subtle "customizable" pill beside title */
.dash-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dash-pill { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--slate-500);
  background: var(--slate-50); border: 1px solid var(--slate-200); padding: 6px 12px; border-radius: var(--r-pill); }
.dash-pill svg { width: 14px; height: 14px; color: var(--accent); }

/* daily-sales bars are clickable; selected bar = dark green */
.gbars .gb { cursor: pointer; }
.gbars .gb i { transition: height .6s cubic-bezier(.2,.7,.2,1), background .2s; }
.gbars .gb.sel i { background: #15803d; }
.gbars .gb:hover i { background: #16a34a; }

/* tools panel — utility tiles */
.tools-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (max-width: 760px) { .tools-grid { grid-template-columns: 1fr; } }
.tool { display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--slate-200); border-radius: 14px; padding: 16px; background: #fff; transition: transform .2s, box-shadow .2s, border-color .2s; }
.tool:hover { transform: translateY(-3px); box-shadow: var(--sh-sm); border-color: var(--slate-300); }
.tool .ti { width: 42px; height: 42px; border-radius: 11px; flex: none; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }
.tool .ti svg { width: 21px; height: 21px; }
.tool b { font-size: 14px; color: var(--ink); }
.tool p { font-size: 12.5px; color: var(--slate-500); margin-top: 3px; line-height: 1.5; }

/* ===== Purchase Orders panel — replica of the real PO page ===== */
.po-stats { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
@media (max-width: 1100px) { .po-stats { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 680px) { .po-stats { grid-template-columns: repeat(2, 1fr); } }
.postat { position: relative; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; padding: 13px 14px; min-width: 0; }
.postat .pt { font-size: 11px; font-weight: 600; color: var(--slate-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 32px; }
.postat .pv { font-size: 20px; font-weight: 800; color: var(--ink); margin-top: 5px; font-feature-settings: "tnum"; }
.postat .pb { position: absolute; top: 11px; right: 11px; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; }
.postat .pb svg { width: 17px; height: 17px; }
.postat.c-blue .pt { color: #2563eb; } .postat.c-blue .pb { background: #dbeafe; color: #2563eb; }
.postat.c-purple .pt { color: #9333ea; } .postat.c-purple .pb { background: #f3e8ff; color: #9333ea; }
.postat.c-orange .pt { color: #ea580c; } .postat.c-orange .pb { background: #ffedd5; color: #ea580c; }
.postat.c-green .pt { color: #16a34a; } .postat.c-green .pb { background: #dcfce7; color: #16a34a; }
.postat.c-yellow .pt { color: #ca8a04; } .postat.c-yellow .pb { background: #fef9c3; color: #ca8a04; }
.postat.c-gray .pt { color: #4b5563; } .postat.c-gray .pb { background: #f3f4f6; color: #4b5563; }
.postat.link { cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.postat.link:hover { transform: translateY(-2px); box-shadow: var(--sh-sm); border-color: var(--slate-300); }

/* PO toolbar */
.po-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 16px 0 14px; }
.po-search { position: relative; flex: 1; min-width: 200px; max-width: 340px; }
.po-search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--slate-400); }
.po-search input { width: 100%; padding: 9px 12px 9px 36px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 13px; font-family: inherit; color: var(--ink); background: #fff; }
.po-search input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.po-select { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 13px; font-weight: 600; color: var(--slate-600); background: #fff; cursor: pointer; }
.po-select svg { width: 13px; height: 13px; color: var(--slate-400); }
.po-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.btn-import { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; background: #2563eb; color: #fff; border: none; border-radius: 9px; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .15s; }
.btn-import:hover { background: #1d4ed8; }
.btn-draft { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; background: #f97316; color: #fff; border: none; border-radius: 9px; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .15s; }
.btn-draft:hover { background: #ea580c; }
.btn-import svg, .btn-draft svg { width: 15px; height: 15px; }
.po-iconbtn { width: 38px; height: 38px; border: 1px solid var(--slate-200); border-radius: 9px; background: #fff; display: grid; place-items: center; color: var(--slate-500); cursor: pointer; transition: background .15s; }
.po-iconbtn:hover { background: var(--slate-50); }
.po-iconbtn svg { width: 17px; height: 17px; }
.po-iconbtn.excel { color: #16a34a; }
.po-iconbtn.refresh { color: #2563eb; background: #eff6ff; border-color: #bfdbfe; }

/* PO table — wide, horizontally scrollable */
.po-tablewrap { overflow-x: auto; border: 1px solid var(--slate-200); border-radius: 12px; }
.po-tablewrap .dtable { margin-top: 0; min-width: 1180px; font-size: 13px; }
.po-tablewrap .dtable th, .po-tablewrap .dtable td { padding: 11px 14px; white-space: nowrap; }
.po-link { color: #2563eb; font-weight: 600; cursor: pointer; }
.po-link:hover { text-decoration: underline; }
.po-buy { color: #ea580c; font-weight: 700; font-family: var(--font-mono); }
.po-sell { color: #16a34a; font-weight: 700; font-family: var(--font-mono); }
.po-store { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; }
.po-store .si { width: 16px; height: 16px; color: #FF9900; flex: none; }
.pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.pill svg { width: 13px; height: 13px; }
.pill.draft { background: #f3f4f6; color: #374151; }
.pill.open { background: #dbeafe; color: #1e40af; }
.pill.complete { background: #dcfce7; color: #166534; }
.pill.needs { background: #fef9c3; color: #854d0e; }
/* action buttons */
.po-act { display: inline-flex; gap: 6px; }
.po-act button { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--slate-200); background: var(--slate-100); display: grid; place-items: center; cursor: pointer; transition: all .15s; }
.po-act button svg { width: 15px; height: 15px; }
.po-act .view { color: #2563eb; } .po-act .view:hover { background: #2563eb; color: #fff; border-color: #2563eb; }
.po-act .edit { color: #16a34a; } .po-act .edit:hover { background: #16a34a; color: #fff; border-color: #16a34a; }
.po-act .del { color: #dc2626; } .po-act .del:hover { background: #dc2626; color: #fff; border-color: #dc2626; }
/* received/total progress */
.po-recv { min-width: 190px; }
.po-recv .top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; margin-bottom: 6px; }
.po-recv .top .lbl { color: var(--slate-500); }
.po-recv .top .g { color: #16a34a; font-weight: 700; }
.po-recv .bar { position: relative; height: 8px; background: var(--slate-200); border-radius: 5px; overflow: hidden; }
.po-recv .bar i { position: absolute; left: 0; top: 0; height: 100%; border-radius: 5px; display: block; }
.recv-all { display: inline-flex; align-items: center; padding: 5px 11px; background: #16a34a; color: #fff; border: none; border-radius: 7px; font-size: 11.5px; font-weight: 700; cursor: pointer; }
.recv-all:hover { background: #15803d; }

/* fix: Tailwind preflight [type=button]{background:transparent} ties with single-class
   rules; bump specificity so PO toolbar buttons keep their fill at rest (not only on hover) */
.po-toolbar .btn-import { background: #2563eb; }
.po-toolbar .btn-draft { background: #f97316; }
.po-toolbar .po-iconbtn { background: #fff; }
.po-toolbar .po-iconbtn.refresh { background: #eff6ff; }
.po-toolbar .po-select { background: #fff; }

/* ===== modals (Receive All + Import) ===== */
.modal-overlay { position: fixed; inset: 0; z-index: 130; background: rgba(15,28,50,.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); display: none; align-items: center; justify-content: center; padding: 20px; }
.modal-overlay.show { display: flex; }
.modal-card { background: #fff; border-radius: 16px; width: 100%; max-width: 520px; box-shadow: 0 30px 80px rgba(0,0,0,.4); overflow: hidden; animation: modalin .25s ease; max-height: 92vh; display: flex; flex-direction: column; }
@keyframes modalin { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 20px 22px 4px; }
.modal-head h4 { font-size: 18px; font-weight: 700; color: var(--ink); }
.modal-x { border: none; background: transparent; color: var(--slate-400); cursor: pointer; padding: 4px; }
.modal-x svg { width: 20px; height: 20px; }
.modal-body { padding: 14px 22px 4px; overflow-y: auto; }
.modal-foot { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 22px; margin-top: 14px; background: var(--slate-50); border-top: 1px solid var(--slate-100); }
.mbtn { padding: 9px 16px; border-radius: 9px; font-size: 13px; font-weight: 700; cursor: pointer; border: 1px solid transparent; display: inline-flex; align-items: center; gap: 7px; }
.mbtn-ghost { background: #fff; border-color: var(--slate-200); color: var(--slate-700); }
.mbtn-ghost:hover { background: var(--slate-50); }
.mbtn-green { background: #16a34a; color: #fff; } .mbtn-green:hover { background: #15803d; }
.mbtn-blue { background: #2563eb; color: #fff; } .mbtn-blue:hover { background: #1d4ed8; }
.mbtn:disabled { opacity: .5; cursor: not-allowed; }

/* receive-all modal */
.rcv-summary { background: var(--slate-50); border-radius: 10px; padding: 14px 16px; display: grid; gap: 9px; }
.rcv-summary .r { display: flex; justify-content: space-between; font-size: 13px; }
.rcv-summary .r dt { color: var(--slate-500); } .rcv-summary .r dd { font-weight: 600; color: var(--ink); }
.rcv-summary .r dd.g { color: #16a34a; } .rcv-summary .r dd.b { color: #2563eb; }
.rcv-field { margin-top: 14px; }
.rcv-field label { display: block; font-size: 13px; font-weight: 600; color: var(--slate-700); margin-bottom: 6px; }
.rcv-field label .opt { color: var(--slate-400); font-weight: 400; } .rcv-field label .req { color: #dc2626; }
.rcv-input, .rcv-select { width: 100%; padding: 9px 12px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 13px; font-family: inherit; color: var(--ink); background: #fff; }
.rcv-ware { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid var(--slate-200); border-radius: 9px; background: var(--slate-100); color: var(--slate-700); font-size: 13px; }
.rcv-ware svg { width: 16px; height: 16px; color: var(--slate-400); }

/* import / upload modal */
.up-drop { border: 2px dashed var(--slate-300); border-radius: 12px; padding: 26px; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.up-drop:hover { border-color: #60a5fa; background: #eff6ff; }
.up-drop .ci { width: 46px; height: 46px; color: var(--slate-400); margin: 0 auto; }
.up-drop .t1 { font-size: 13.5px; color: var(--slate-600); margin-top: 10px; } .up-drop .t1 b { color: #2563eb; }
.up-drop .t2 { font-size: 11.5px; color: var(--slate-400); margin-top: 4px; }
.up-file { display: flex; align-items: center; justify-content: space-between; background: var(--slate-50); border-radius: 10px; padding: 12px 14px; margin-top: 14px; }
.up-file .fi { display: flex; align-items: center; gap: 11px; } .up-file .fi > svg { width: 30px; height: 30px; color: #16a34a; }
.up-file .nm { font-size: 13px; font-weight: 600; color: var(--ink); } .up-file .sz { font-size: 11.5px; color: var(--slate-500); }
.up-file .rm { border: none; background: transparent; color: var(--slate-400); cursor: pointer; } .up-file .rm svg { width: 18px; height: 18px; }
.up-opts { margin-top: 16px; display: grid; gap: 9px; }
.up-opt { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--slate-700); cursor: pointer; }
.up-opt input { width: 16px; height: 16px; accent-color: #2563eb; }
.up-prog { margin-top: 4px; }
.up-prog .pl { display: flex; justify-content: space-between; font-size: 12.5px; margin-bottom: 7px; color: var(--slate-600); }
.up-prog .track { height: 8px; background: var(--slate-200); border-radius: 5px; overflow: hidden; }
.up-prog .track i { display: block; height: 100%; background: #2563eb; border-radius: 5px; width: 0; transition: width .2s; }
.up-steps { display: grid; gap: 14px; padding: 8px 0; margin-top: 16px; }
.up-step { display: flex; align-items: center; gap: 12px; font-size: 13.5px; color: var(--slate-400); transition: color .2s; }
.up-step .dot { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--slate-200); display: grid; place-items: center; flex: none; color: #2563eb; }
.up-step.active { color: var(--ink); font-weight: 600; }
.up-step.done { color: var(--ink); } .up-step.done .dot { border-color: #16a34a; background: #16a34a; color: #fff; }
.up-step.done .dot svg { width: 14px; height: 14px; }
.spinner { width: 14px; height: 14px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: spin .7s linear infinite; display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }
.up-done { text-align: center; padding: 18px 0 6px; }
.up-done .big { width: 64px; height: 64px; border-radius: 50%; background: #dcfce7; color: #16a34a; display: grid; place-items: center; margin: 0 auto; }
.up-done .big svg { width: 34px; height: 34px; }
.up-done h5 { font-size: 17px; font-weight: 700; color: var(--ink); margin-top: 14px; }
.up-done p { font-size: 13px; color: var(--slate-500); margin-top: 5px; }

/* success toast (after import) */
.toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(20px); z-index: 200; display: none; align-items: center; gap: 9px; background: #16a34a; color: #fff; font-size: 13.5px; font-weight: 600; padding: 12px 18px; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.25); opacity: 0; transition: opacity .25s, transform .25s; }
.toast svg { width: 18px; height: 18px; }
.toast.show { display: flex; opacity: 1; transform: translateX(-50%) translateY(0); }

/* import review stage (Batch Data + File Data) */
#modal-import.wide { max-width: min(1120px, 95vw); }
.bd-head h5, .fd-head h5 { font-size: 16px; font-weight: 700; color: var(--ink); }
.bd-sub { font-size: 12.5px; color: var(--slate-500); margin-top: 3px; }
.bd-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
@media (max-width: 620px) { .bd-form { grid-template-columns: 1fr; } }
.bd-field label { display: block; font-size: 13px; font-weight: 600; color: var(--slate-700); margin-bottom: 6px; }
.bd-checks { display: flex; align-items: center; gap: 22px; margin-top: 14px; flex-wrap: wrap; }
.bd-hint { margin-left: auto; font-size: 12px; color: var(--slate-400); }
.bd-hint kbd { font-family: var(--font-mono); font-size: 10.5px; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 4px; padding: 1px 5px; color: var(--slate-600); }
.fd-head { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; }
.fd-head .mbtn { padding: 7px 13px; font-size: 12.5px; }
.fd-head .mbtn svg { width: 14px; height: 14px; }
.fd-tablewrap { overflow-x: auto; border: 1px solid var(--slate-200); border-radius: 10px; margin-top: 10px; }
.fd-table { min-width: 1480px; margin: 0; font-size: 12px; }
.fd-table th, .fd-table td { padding: 9px 12px; white-space: nowrap; }
.fd-table .sku { font-size: 11.5px; }
.fd-foot { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--slate-500); margin-top: 10px; }
.cond-pill { display: inline-flex; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #dbeafe; color: #1e40af; }

/* create-draft modal */
.cd-count { font-size: 11.5px; color: var(--slate-400); margin-top: 6px; }
#modal-draft .rcv-input { background: var(--slate-50); }

/* ===== Batch Content (PO drill-in) ===== */
.bc-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.bc-back { width: 42px; height: 42px; border-radius: 12px; background: #ffedd5; color: #ea580c; border: none; display: grid; place-items: center; cursor: pointer; flex: none; transition: background .15s; }
.bc-back:hover { background: #fed7aa; }
.bc-back svg { width: 20px; height: 20px; transform: rotate(180deg); }
.bc-htext h3 { font-size: 20px; font-weight: 800; color: var(--ink); }
.bc-crumb { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--slate-600); margin-top: 3px; }
.bc-crumb .sep { color: var(--slate-300); }
.bc-crumb .cur { color: var(--slate-400); }

.bc-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.bc-pills { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.bc-pill { padding: 6px 13px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--slate-100); color: var(--slate-600); border: none; cursor: pointer; transition: all .15s; }
.bc-pill:hover { background: var(--slate-200); }
.bc-pill.on { background: #dcfce7; color: #166534; }
.bc-pill.ghost { background: transparent; color: var(--slate-400); border: 1px dashed var(--slate-300); }
.bc-check { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--slate-600); cursor: pointer; }
.bc-check input { width: 15px; height: 15px; accent-color: #2563eb; }

.bc-listwrap { border: 1px solid var(--slate-200); border-radius: 12px; overflow-x: auto; }
.bc-grid { display: grid; grid-template-columns: minmax(330px, 1.6fr) 160px 100px 200px 150px 140px 150px; gap: 16px; align-items: start; padding: 16px; min-width: 1180px; }
.bc-gridhead { padding: 12px 16px; background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--slate-400); font-weight: 600; }
.bc-item { border-bottom: 1px solid var(--slate-100); font-size: 12.5px; }
.bc-item:hover { background: var(--slate-50); }

.bc-prod { display: flex; gap: 11px; }
.bc-act { display: flex; flex-direction: column; gap: 5px; flex: none; }
.bc-act button { width: 26px; height: 26px; border-radius: 7px; border: 1px solid var(--slate-200); background: var(--slate-100); display: grid; place-items: center; cursor: pointer; }
.bc-act button svg { width: 13px; height: 13px; }
.bc-act .edit { color: #16a34a; } .bc-act .del { color: #dc2626; }
.bc-thumb { width: 56px; height: 56px; border-radius: 8px; flex: none; display: grid; place-items: center; color: var(--slate-400); background: linear-gradient(135deg, var(--slate-200), var(--slate-100)); }
.bc-thumb svg { width: 24px; height: 24px; }
.bc-pinfo { min-width: 0; }
.bc-pname { font-weight: 600; font-size: 13px; color: #2563eb; cursor: pointer; display: block; line-height: 1.35; }
.bc-pname:hover { text-decoration: underline; }
.bc-dims { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--slate-500); margin-top: 5px; }
.bc-tag { background: var(--slate-100); border-radius: 5px; padding: 1px 7px; font-size: 11px; color: var(--slate-600); }
.bc-ids { display: flex; gap: 12px; flex-wrap: wrap; color: var(--slate-500); margin-top: 4px; font-family: var(--font-mono); font-size: 11px; }
.bc-ids b { color: #2563eb; font-weight: 600; }
.bc-salerank { margin-top: 5px; color: var(--slate-500); }
.bc-salerank .g { color: #16a34a; } .bc-salerank .o { color: #ea580c; }

.bc-track { display: grid; gap: 6px; }
.bc-track button { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--slate-200); border-radius: 8px; background: #fff; font-size: 12px; font-weight: 600; color: var(--slate-700); cursor: pointer; transition: background .15s; }
.bc-track button:hover { background: var(--slate-50); }
.bc-track button svg { width: 14px; height: 14px; color: var(--slate-500); }
.bc-purch { color: var(--slate-600); }

.bc-qty { display: grid; gap: 6px; }
.bc-qtxt, .bc-qtxt2 { display: flex; justify-content: space-between; gap: 8px; color: var(--slate-500); font-size: 11.5px; }
.bc-qtxt b { color: var(--ink); }
.bc-bar { height: 7px; background: var(--slate-200); border-radius: 4px; overflow: hidden; }
.bc-bar i { display: block; height: 100%; border-radius: 4px; }
.bc-qtxt2 .dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 5px; }
.bc-qtxt2 .dot.o { background: #f59e0b; } .bc-qtxt2 .dot.g { background: #22c55e; }

.bc-status { display: grid; gap: 6px; }
.bc-status .l { color: var(--slate-500); font-size: 11.5px; }
.bc-cost { display: grid; gap: 7px; }
.bc-cost .l { color: var(--slate-500); font-size: 11.5px; }
.bc-cost .o { color: #ea580c; } .bc-cost .g { color: #16a34a; }
.bc-cost .ed { width: 12px; height: 12px; color: var(--slate-400); cursor: pointer; vertical-align: -1px; }
.bc-buy { color: var(--slate-600); }

/* inline-editable tracking/order/pallet buttons */
.bc-inline { border: none; outline: none; background: transparent; font: inherit; font-size: 12px; width: 96px; color: var(--ink); }
.bc-track button.set { border-color: #bfdbfe; background: #eff6ff; color: #1e40af; }
.bc-track button.set svg { color: #2563eb; }
.bc-track button .bc-val { font-weight: 700; }

/* inline-edit save (green check) + cancel (X) controls */
.bc-track button.editing { background: #fff; cursor: default; padding-right: 6px; }
.bc-track button .bc-inline { width: 130px; }
.bc-track button .bc-save, .bc-track button .bc-cancel { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; flex: none; cursor: pointer; }
.bc-track button .bc-save { color: #16a34a; } .bc-track button .bc-save:hover { background: #dcfce7; }
.bc-track button .bc-cancel { color: #64748b; } .bc-track button .bc-cancel:hover { background: var(--slate-100); }
.bc-track button .bc-save svg, .bc-track button .bc-cancel svg { width: 16px; height: 16px; }

/* ===== Inventory panel (In-House) ===== */
.inv-tabs { display: flex; gap: 26px; border-bottom: 1px solid var(--slate-200); margin: 4px 0 18px; overflow-x: auto; }
.inv-tab { display: inline-flex; align-items: center; gap: 8px; padding: 12px 2px; border: none; border-bottom: 2px solid transparent; background: none; font-size: 14px; font-weight: 600; color: var(--slate-500); cursor: pointer; white-space: nowrap; transition: color .15s, border-color .15s; }
.inv-tab svg { width: 18px; height: 18px; }
.inv-tab:hover { color: var(--slate-700); }
.inv-tab.on { color: #ea580c; border-bottom-color: #f97316; }
.inv-tab.soon { color: var(--slate-400); cursor: default; }

/* missing StatWidget badge colors */
.swid-badge.c-yellow { background: #fef9c3; color: #ca8a04; }
.swid-badge.c-gray { background: #f3f4f6; color: #4b5563; }
.swid.active { box-shadow: 0 0 0 2px #2563eb; border-color: #2563eb; }

.inv-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
@media (max-width: 1100px) { .inv-stats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 680px) { .inv-stats { grid-template-columns: repeat(2, 1fr); } }
.inv-stats .swid { padding: 16px; }
.istat-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.istat-box { text-align: center; border-radius: 8px; padding: 7px 6px; }
.istat-box .l { font-size: 10.5px; font-weight: 600; }
.istat-box .v { font-size: 15px; font-weight: 800; margin-top: 2px; font-feature-settings: "tnum"; }
.istat-box.green { background: #f0fdf4; } .istat-box.green .l { color: #16a34a; } .istat-box.green .v { color: #15803d; }
.istat-box.orange { background: #fff7ed; } .istat-box.orange .l { color: #ea580c; } .istat-box.orange .v { color: #c2410c; }
.istat-box.blue { background: #eff6ff; } .istat-box.blue .l { color: #2563eb; } .istat-box.blue .v { color: #1d4ed8; }

/* Move button + action / qty badges */
.po-toolbar .btn-move { background: #2563eb; color: #fff; }
.btn-move { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border: none; border-radius: 9px; font-size: 13px; font-weight: 700; cursor: pointer; }
.btn-move:hover { background: #1d4ed8; }
.btn-move svg { width: 15px; height: 15px; }
.po-toolbar .btn-ship { background: var(--slate-100); color: var(--slate-400); }
.btn-ship { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 13px; font-weight: 700; cursor: not-allowed; }
.btn-ship svg { width: 15px; height: 15px; }
.po-iconbtn.pin { color: #9333ea; }
.pill.fba { background: #ffedd5; color: #9a3412; }
.pill.fbm { background: #dcfce7; color: #166534; }
.pill.wfs { background: #dbeafe; color: #1e40af; }
.pill.storage { background: #f3f4f6; color: #374151; }
.qbadge { display: inline-flex; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.qbadge.green { background: #dcfce7; color: #166534; }
.qbadge.yellow { background: #fef9c3; color: #854d0e; }
.qzero { color: var(--slate-400); }
.inv-loc { color: #9333ea; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; cursor: pointer; }
.inv-loc:hover { background: #faf5ff; }
.inv-loc svg { width: 18px; height: 18px; }

/* product thumbnail — clean white tile (not a dull gray block) */
#p-inventory .bc-thumb { background: #fff; border: 1px solid var(--slate-200); color: #93a4bf; }
#p-inventory .bc-thumb svg { width: 22px; height: 22px; }
#p-inventory .bc-pname { font-size: 13.5px; }

/* selection checkboxes */
.dtable th.cbcol, .dtable td.cbcol { width: 34px; text-align: center; }
.inv-cb, .inv-all { width: 15px; height: 15px; accent-color: #2563eb; cursor: pointer; }
#p-inventory tbody tr.sel { background: #eff6ff; }

/* non In-House channel empty state */
.inv-empty-card { text-align: center; padding: 56px 24px; border: 1px dashed var(--slate-300); border-radius: 14px; }
.inv-empty-card .ie-icon { width: 60px; height: 60px; border-radius: 16px; background: var(--slate-100); color: var(--slate-400); display: inline-grid; place-items: center; }
.inv-empty-card .ie-icon svg { width: 30px; height: 30px; }
.inv-empty-card h4 { font-size: 18px; font-weight: 700; color: var(--ink); margin-top: 16px; }
.inv-empty-card p { font-size: 13.5px; color: var(--slate-500); margin-top: 6px; max-width: 380px; margin-inline: auto; }
.inv-empty-card .btn-import { margin-top: 18px; }

/* move modal modes + existing-batch list */
.mv-count { font-size: 13px; color: var(--slate-600); margin-bottom: 14px; }
.mv-count b { color: var(--ink); }
.mv-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.mv-mode { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px; border: 1px solid var(--slate-200); border-radius: 10px; background: #fff; font-size: 13px; font-weight: 600; color: var(--slate-600); cursor: pointer; transition: all .15s; }
.mv-mode svg { width: 17px; height: 17px; }
.mv-mode:hover { background: var(--slate-50); }
.mv-mode.on { border-color: #2563eb; background: #eff6ff; color: #1e40af; }
.mv-list { display: grid; gap: 8px; max-height: 200px; overflow-y: auto; }
.mv-item { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--slate-200); border-radius: 10px; font-size: 13px; color: var(--slate-700); cursor: pointer; }
.mv-item:hover { background: var(--slate-50); }
.mv-item input { accent-color: #2563eb; }

/* ===== Move/Ship inventory modal (wide, real-app layout) ===== */
.modal-card.mv2 { max-width: min(1120px, 96vw); }
.mv2-body { overflow-y: auto; padding-top: 14px; }
.mbtn-red { background: #dc2626; color: #fff; } .mbtn-red:hover { background: #b91c1c; }
.mv2-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: linear-gradient(90deg, #eff6ff, #eef2ff); border: 1px solid #dbeafe; border-radius: 12px; padding: 14px 18px; margin: 0 22px 14px; }
.mv2-sumfields { display: flex; gap: 30px; flex-wrap: wrap; }
.mv2-sf { display: flex; flex-direction: column; gap: 3px; }
.mv2-sf .l { font-size: 11.5px; color: var(--slate-500); font-weight: 600; }
.mv2-sf .v { font-size: 18px; font-weight: 800; color: var(--ink); font-feature-settings: "tnum"; }
.mv2-sf .v.o { color: #ea580c; } .mv2-sf .v.b { color: #2563eb; } .mv2-sf .v.g { color: #16a34a; }
.mv2-sumact { display: flex; gap: 10px; }
.mv2-fields { display: flex; gap: 16px; flex-wrap: wrap; align-items: flex-end; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 12px; padding: 14px 16px; margin: 0 22px 16px; }
.mv2-fld { display: flex; flex-direction: column; gap: 6px; }
.mv2-fld.grow { flex: 1; min-width: 200px; }
.mv2-fld label { font-size: 12.5px; font-weight: 600; color: var(--slate-700); }
.mv2-seg { display: inline-flex; border: 1px solid var(--slate-200); border-radius: 9px; overflow: hidden; background: #fff; }
.mv2-seg button { display: inline-flex; align-items: center; gap: 6px; padding: 9px 13px; border: none; background: #fff; font-size: 12.5px; font-weight: 600; color: var(--slate-600); cursor: pointer; border-right: 1px solid var(--slate-200); }
.mv2-seg button:last-child { border-right: none; }
.mv2-seg button svg { width: 15px; height: 15px; }
.mv2-seg button.on { background: #eff6ff; color: #1e40af; }
.mv2-thead { display: grid; grid-template-columns: 1fr 100px 170px; gap: 12px; padding: 10px 22px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--slate-400); border-top: 1px solid var(--slate-200); }
.mv2-thead .av, .mv2-thead .mq { text-align: center; }
.mv2-toolrow { display: flex; justify-content: flex-end; gap: 14px; padding: 2px 22px 6px; }
.mv2-link { display: inline-flex; align-items: center; gap: 5px; border: none; background: none; font-size: 12.5px; font-weight: 700; color: #2563eb; cursor: pointer; }
.mv2-link.gray { color: var(--slate-500); }
.mv2-link svg { width: 13px; height: 13px; }
.mv2-rows { padding: 0 22px 20px; }
.mv2-prow { display: grid; grid-template-columns: 1fr 100px 170px; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--slate-100); }
.mv2-pinfo { display: flex; gap: 12px; align-items: center; min-width: 0; }
.mv2-pinfo .bc-thumb { width: 48px; height: 48px; background: #fff; border: 1px solid var(--slate-200); color: #93a4bf; }
.mv2-pn { font-size: 13px; font-weight: 600; color: var(--ink); }
.mv2-pids { font-size: 11px; color: var(--slate-500); font-family: var(--font-mono); display: flex; gap: 12px; flex-wrap: wrap; margin-top: 3px; }
.mv2-pids b { color: #2563eb; font-weight: 600; }
.mv2-avail { text-align: center; }
.mv2-moveqty { display: flex; align-items: center; justify-content: center; gap: 8px; }
.mv2-addbtn { display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px; border: 1px solid #bfdbfe; background: #eff6ff; color: #1e40af; border-radius: 8px; font-size: 12px; font-weight: 700; cursor: pointer; }
.mv2-addbtn svg { width: 13px; height: 13px; }
.mv2-qin { width: 58px; padding: 7px 8px; border: 1px solid var(--slate-200); border-radius: 8px; font-size: 13px; text-align: center; font-family: inherit; }

/* constrain icon size inside modal buttons (was rendering oversized) */
.mbtn svg { width: 16px; height: 16px; flex: none; }

/* "No Stores Found" empty state — orange alert circle + Add New Store */
#p-inventory .inv-empty-card .ie-icon { width: 76px; height: 76px; border-radius: 50%; background: #f97316; color: #fff; }
#p-inventory .inv-empty-card .ie-icon svg { width: 40px; height: 40px; }
#p-inventory .inv-empty-card h4 { font-size: 24px; }
#p-inventory .inv-empty-card .btn-import { background: #2563eb; padding: 12px 22px; font-size: 14px; }
#p-inventory .inv-empty-card .btn-import svg { width: 18px; height: 18px; }

/* ===== Shipments hub (launchpad cards) ===== */
.shub-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 1100px) { .shub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .shub-grid { grid-template-columns: 1fr; } }
.shub-card { border: 1px solid var(--slate-200); border-radius: 14px; padding: 18px; background: #fff; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; display: flex; flex-direction: column; }
.shub-card:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: var(--slate-300); }
.shub-head { display: flex; align-items: flex-start; gap: 12px; }
.shub-ic { width: 44px; height: 44px; border-radius: 12px; flex: none; display: grid; place-items: center; }
.shub-ic svg { width: 22px; height: 22px; }
.shub-ic.c-orange { background: #ffedd5; color: #ea580c; } .shub-ic.c-blue { background: #dbeafe; color: #2563eb; }
.shub-ic.c-green { background: #dcfce7; color: #16a34a; } .shub-ic.c-purple { background: #f3e8ff; color: #9333ea; }
.shub-ic.c-teal { background: #ccfbf1; color: #0d9488; } .shub-ic.c-amber { background: #fef3c7; color: #d97706; }
.shub-ic.c-indigo { background: #e0e7ff; color: #4f46e5; }
.shub-t { font-size: 15px; font-weight: 700; color: var(--ink); }
.shub-s { font-size: 12.5px; color: var(--slate-500); margin-top: 2px; }
.shub-arrow { width: 18px; height: 18px; color: var(--slate-400); margin-left: auto; flex: none; }
.shub-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 10px; margin: 18px 0; flex: 1; align-content: start; }
.shub-stats .l { display: block; font-size: 12px; color: var(--slate-500); }
.shub-stats .v { display: block; font-size: 22px; font-weight: 800; color: var(--ink); margin-top: 3px; font-feature-settings: "tnum"; }
.shub-card.nostat .shub-acts { margin-top: 20px; }
.shub-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--slate-100); margin-top: auto; }
.shub-btn { padding: 7px 13px; border: 1px solid #dbeafe; background: #eff6ff; color: #2563eb; border-radius: 8px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.shub-btn:hover { background: #dbeafe; }
.shub-icbtn { width: 34px; height: 34px; border: 1px solid var(--slate-200); border-radius: 8px; background: #fff; color: var(--slate-500); display: grid; place-items: center; cursor: pointer; margin-left: auto; }
.shub-icbtn svg { width: 16px; height: 16px; }

/* FBA Force status pills (orange active) */
.sh-pills .bc-pill.on-o { background: #f97316; color: #fff; }
.sh-foot { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--slate-500); margin-top: 12px; }
.sh-foot b { color: var(--ink); }

/* FBA Force row actions + dropdown */
.fba-act { display: inline-flex; gap: 8px; align-items: center; }
.fba-3dot { width: 34px; height: 34px; border: 1px solid var(--slate-200); border-radius: 8px; background: var(--slate-100); color: var(--slate-600); display: grid; place-items: center; cursor: pointer; }
.fba-3dot svg { width: 16px; height: 16px; }
.fba-3dot.open { background: #2563eb; color: #fff; border-color: #2563eb; }
.fba-cont { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border: 1px solid var(--slate-200); border-radius: 8px; background: #fff; color: #2563eb; font-size: 12.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.fba-cont svg { width: 14px; height: 14px; }
.fba-cont:hover { background: #eff6ff; }
.fba-menu { position: fixed; z-index: 140; min-width: 250px; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: 0 18px 44px rgba(0,0,0,.16); padding: 6px; display: none; }
.fba-menu.show { display: block; }
.fba-menu button { display: flex; align-items: center; gap: 11px; width: 100%; padding: 9px 12px; border: none; background: none; border-radius: 8px; font-size: 13.5px; font-weight: 500; color: var(--ink); cursor: pointer; text-align: left; }
.fba-menu button:hover { background: var(--slate-50); }
.fba-menu button svg { width: 17px; height: 17px; flex: none; }
.fba-menu .amber svg { color: #d97706; } .fba-menu .red svg { color: #dc2626; } .fba-menu .blue svg { color: #2563eb; } .fba-menu .green svg { color: #16a34a; } .fba-menu .gray { color: var(--slate-400); } .fba-menu .gray svg { color: var(--slate-400); }
.fba-menu hr { border: none; border-top: 1px solid var(--slate-100); margin: 5px 0; }

/* ===== MFN Force (orders) ===== */
.mfn-layout { display: grid; grid-template-columns: 220px 1fr; gap: 16px; }
@media (max-width: 820px) { .mfn-layout { grid-template-columns: 1fr; } }
.mfn-stores { border: 1px solid var(--slate-200); border-radius: 12px; padding: 12px; height: max-content; }
.mfn-stores-h { font-size: 12px; font-weight: 700; color: var(--slate-500); text-transform: uppercase; letter-spacing: .05em; padding: 4px 6px 10px; }
.mfn-store { display: flex; align-items: center; gap: 9px; width: 100%; padding: 10px 11px; border: 1px solid transparent; border-radius: 10px; background: none; cursor: pointer; font-size: 13px; color: var(--slate-700); text-align: left; }
.mfn-store svg { width: 16px; height: 16px; color: var(--slate-400); flex: none; }
.mfn-store .nm { font-weight: 600; display: flex; flex-direction: column; line-height: 1.2; }
.mfn-store .nm small { font-size: 10.5px; color: var(--slate-400); font-weight: 400; }
.mfn-store .mfn-badge { margin-left: auto; background: #dcfce7; color: #166534; font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 999px; }
.mfn-store:hover { background: var(--slate-50); }
.mfn-store.on { background: #eff6ff; border-color: #bfdbfe; }
.mfn-store.on svg { color: #ea580c; }

.mfn-toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.mfn-listhead { display: grid; grid-template-columns: 1.7fr 0.9fr 0.8fr 0.6fr 0.4fr; gap: 12px; padding: 10px 14px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--slate-400); border-bottom: 1px solid var(--slate-200); }
.mfn-orders { display: grid; }
.mfn-order { display: grid; grid-template-columns: 1.7fr 0.9fr 0.8fr 0.6fr 0.4fr; gap: 12px; align-items: center; padding: 14px; border-bottom: 1px solid var(--slate-100); cursor: pointer; position: relative; }
.mfn-order:hover { background: var(--slate-50); }
.mfn-order .mfn-od { display: flex; flex-direction: column; gap: 3px; padding-left: 96px; min-width: 0; }
.mfn-ship { position: absolute; left: 14px; top: 14px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 54px; height: 54px; border: none; border-radius: 10px; background: #16a34a; color: #fff; font-size: 11px; font-weight: 700; cursor: pointer; }
.mfn-ship:hover { background: #15803d; }
.mfn-ship svg { width: 18px; height: 18px; }
.mfn-thumb { position: absolute; left: 74px; top: 18px; width: 46px; height: 46px; border-radius: 8px; border: 1px solid var(--slate-200); background: #fff; display: grid; place-items: center; color: var(--slate-400); }
.mfn-thumb svg { width: 20px; height: 20px; }
.mfn-order .mfn-od { padding-left: 80px; }
.mfn-onum { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.mfn-desc { font-size: 12.5px; color: var(--slate-600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mfn-meta { font-size: 11.5px; color: var(--slate-500); display: flex; align-items: center; gap: 8px; }
.mfn-status { display: grid; gap: 4px; font-size: 11.5px; color: var(--slate-500); }
.mfn-items { display: grid; gap: 4px; font-size: 11.5px; color: var(--slate-500); }
.mfn-items b { color: var(--ink); }
.mfn-shipcol { font-size: 12.5px; color: var(--slate-600); }
.mfn-age { font-size: 12px; color: var(--slate-500); }
.ostat { display: inline-flex; padding: 1px 8px; border-radius: 5px; font-size: 10.5px; font-weight: 700; letter-spacing: .03em; }
.ostat.open { background: #dcfce7; color: #166534; }
.ostat.unsh { background: #fef9c3; color: #854d0e; }
.ostat.paid { background: #dcfce7; color: #166534; }

/* order detail modal */
.ord-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ord-head h4 { font-size: 17px; }
.ord-amz { width: 16px; height: 16px; color: #FF9900; }
.ord-store { font-size: 13px; color: var(--slate-600); }
.ord-grid2 { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; }
@media (max-width: 680px) { .ord-grid2 { grid-template-columns: 1fr; } }
.ord-buyer { background: var(--slate-50); border-radius: 10px; padding: 14px; }
.ord-buyer-h { font-size: 13px; color: var(--slate-600); display: flex; align-items: center; gap: 7px; }
.ord-buyer-h svg { width: 15px; height: 15px; color: var(--slate-400); }
.ord-line { font-size: 12.5px; color: var(--slate-600); display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.ord-line svg { width: 14px; height: 14px; color: var(--slate-400); flex: none; }
.ord-totals { border: 1px solid var(--slate-200); border-radius: 10px; padding: 14px; display: grid; gap: 8px; align-content: start; }
.ord-totals .r { display: flex; justify-content: space-between; font-size: 13px; color: var(--slate-600); }
.ord-totals .r b { color: var(--ink); }
.ord-totals .r.tot { border-top: 1px solid var(--slate-200); padding-top: 9px; margin-top: 3px; font-size: 15px; }
.ord-totals .r.tot b { color: #ea580c; }
.ord-sec { display: flex; align-items: center; justify-content: space-between; margin: 20px 0 12px; }
.ord-sec-h { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--ink); }
.ord-sec-h svg { width: 17px; height: 17px; color: var(--accent); }
.ord-sec-r { font-size: 12px; color: var(--slate-500); }
.ord-chip { background: var(--accent-soft); color: var(--accent-700); font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 999px; }
.ord-item { display: flex; gap: 12px; align-items: center; border: 1px solid var(--slate-200); border-radius: 10px; padding: 12px; }
.ord-item .bc-thumb { width: 52px; height: 52px; }
.ord-item-info { flex: 1; min-width: 0; }
.ord-item-info .nm { font-size: 13px; font-weight: 600; color: var(--ink); }
.ord-item-qty { text-align: center; flex: none; }
.ord-item-qty .l { font-size: 11px; color: var(--slate-500); }
.ord-item-qty .q { font-size: 18px; font-weight: 800; }
.ord-labeltabs { display: inline-flex; gap: 6px; border: 1px solid var(--slate-200); border-radius: 9px; padding: 4px; background: var(--slate-50); }
.ord-labeltabs button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: none; background: none; border-radius: 7px; font-size: 12.5px; font-weight: 600; color: var(--slate-600); cursor: pointer; }
.ord-labeltabs button svg { width: 14px; height: 14px; }
.ord-labeltabs button.on { background: #f3e8ff; color: #7c3aed; }
.ord-box-h { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--ink); margin: 16px 0 12px; }
.ord-box-h svg { width: 16px; height: 16px; color: #16a34a; }
.ord-box { border: 1px solid var(--slate-200); border-radius: 10px; padding: 14px; margin-top: 10px; }
.ord-box-t { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 12px; }
.ord-box-t small { color: var(--slate-500); font-weight: 400; }
.ord-box-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
@media (max-width: 680px) { .ord-box-grid { grid-template-columns: repeat(3, 1fr); } }
.ord-box-grid label { display: block; font-size: 11px; font-weight: 600; color: var(--slate-600); margin-bottom: 5px; }
.ord-box-grid .rcv-input { padding: 8px 10px; }
.ord-rates { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.ord-charges { border: 1px solid #fde68a; background: #fffbeb; border-radius: 10px; padding: 14px; margin-top: 18px; }
.ord-charges-foot { text-align: right; font-size: 13px; color: var(--slate-600); margin-top: 6px; }
.ord-charges-foot b { color: var(--ink); font-size: 15px; }
.ord-foot { justify-content: flex-end; }

/* not-yet-implemented hub cards (WFS, FBM) — inert, no clickable affordance */
.shub-card.soon { cursor: default; }
.shub-card.soon:hover { transform: none; box-shadow: none; border-color: var(--slate-200); }
.shub-card.soon .shub-btn { cursor: default; opacity: .7; }

/* Returns: active channel tab is blue (not orange) */
#p-returns .inv-tab.on { color: #2563eb; border-bottom-color: #2563eb; }

/* Returns rows: grid action + two-line store + green Receive All */
.rt-grid { width: 32px; height: 32px; border: 1px solid var(--slate-200); border-radius: 8px; background: var(--slate-100); color: #2563eb; display: grid; place-items: center; cursor: pointer; }
.rt-grid:hover { background: #2563eb; color: #fff; border-color: #2563eb; }
.rt-grid svg { width: 15px; height: 15px; }
.po-link.rt-open { cursor: pointer; }
.po-store2 { display: flex; align-items: center; gap: 8px; }
.po-store2 > svg { width: 15px; height: 15px; color: var(--slate-400); flex: none; }
.po-store2 .n { font-weight: 600; color: var(--ink); font-size: 13px; }
.po-store2 .s { font-size: 11.5px; color: var(--slate-400); }

/* Confirm Item Receive modal */
.cir-q { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #2563eb; color: #fff; font-weight: 800; font-size: 14px; margin-right: 8px; }
.modal-head h4 { display: inline-flex; align-items: center; }
.cir-info { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 2px solid #06b6d4; color: #06b6d4; margin: 8px auto 16px; }
.cir-info svg { width: 32px; height: 32px; }
.cir-text { text-align: center; font-size: 14.5px; color: var(--slate-700); line-height: 1.55; }
.cir-list { margin-top: 18px; display: grid; gap: 0; }
.cir-list .r { display: flex; justify-content: space-between; padding: 11px 2px; font-size: 14px; color: var(--slate-700); border-bottom: 1px solid var(--slate-100); }
.cir-list .r:last-child { border-bottom: none; }
.cir-list .r b { color: var(--ink); }
.cir-list .r b.o { color: #ea580c; } .cir-list .r b.g { color: #16a34a; }
.mbtn-redout { background: #fff; border-color: #fca5a5; color: #dc2626; } .mbtn-redout:hover { background: #fef2f2; }

/* Receive Item modal */
.ri-sub { font-size: 12.5px; color: var(--slate-500); margin-top: 2px; }
.ri-tabs { display: inline-flex; gap: 6px; background: var(--slate-100); border-radius: 9px; padding: 4px; }
.ri-tabs button { padding: 8px 18px; border: none; background: none; border-radius: 7px; font-size: 13px; font-weight: 600; color: var(--slate-600); cursor: pointer; }
.ri-tabs button.on { background: #2563eb; color: #fff; }
.ri-prod { display: flex; gap: 16px; margin-top: 18px; }
.ri-thumb { width: 90px; height: 90px; border-radius: 10px; border: 1px solid var(--slate-200); background: #fff; display: grid; place-items: center; color: var(--slate-400); flex: none; }
.ri-thumb svg { width: 36px; height: 36px; }
.ri-pname { font-size: 16px; font-weight: 700; color: #2563eb; display: block; }
.ri-ids { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; }
@media (max-width: 760px) { .ri-ids { grid-template-columns: repeat(2, 1fr); } }
.ri-id { border: 1px solid var(--slate-200); border-radius: 8px; padding: 8px 11px; }
.ri-id .l { display: block; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--slate-400); }
.ri-id .v { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ri-dispo { text-align: right; font-style: italic; font-size: 12.5px; color: var(--slate-500); margin-top: 12px; }
.ri-tags { font-size: 13px; color: var(--slate-500); margin-top: 12px; }
.ri-addtag { color: #2563eb; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.ri-addtag svg { width: 13px; height: 13px; }
.ri-actionrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.ri-action { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ri-lbl { font-size: 13px; font-weight: 700; color: var(--ink); }
.ri-seg.err { border: 2px solid #fca5a5; border-radius: 11px; }
.ri-seg button { cursor: pointer; }
.ri-err { font-size: 12.5px; color: #dc2626; font-weight: 600; }
.ri-costs { display: flex; gap: 10px; }
.ri-cost { background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; padding: 9px 14px; font-size: 13px; color: var(--slate-600); }
.ri-cost b { color: var(--ink); }
.ri-fields { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 16px; }
@media (max-width: 860px) { .ri-fields { grid-template-columns: repeat(3, 1fr); } }
.ri-fields label { display: block; font-size: 11.5px; font-weight: 600; color: var(--slate-600); margin-bottom: 5px; }
.ri-fields .rcv-input:disabled { background: var(--slate-50); color: var(--slate-500); }
.ri-receive { border-color: #2563eb !important; box-shadow: 0 0 0 3px var(--accent-soft); font-weight: 700; }
/* Removal Order LPN — the key field, highlighted */
.ri-lpn { margin-top: 18px; }
.ri-lpn > label { display: block; font-size: 12.5px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.ri-lpn-row { display: flex; gap: 10px; max-width: 460px; }
.ri-lpn-input { display: flex; align-items: center; gap: 9px; flex: 1; background: #fef9c3; border: 1px solid #fde047; border-radius: 9px; padding: 0 12px; }
.ri-lpn-input svg { width: 16px; height: 16px; color: #ca8a04; flex: none; }
.ri-lpn-input input { flex: 1; border: none; background: transparent; padding: 11px 0; font-size: 13.5px; font-family: var(--font-mono); font-weight: 700; color: #854d0e; outline: none; }
.ri-lpn-check { display: inline-flex; align-items: center; gap: 6px; padding: 0 16px; border: 1px solid var(--slate-300); border-radius: 9px; background: var(--slate-100); color: var(--slate-700); font-size: 13px; font-weight: 700; cursor: pointer; }
.ri-lpn-check svg { width: 15px; height: 15px; color: #16a34a; }
.ri-lpn-check.ok { background: #dcfce7; border-color: #86efac; color: #166534; }
.ri-charges { margin-top: 22px; border-top: 1px solid var(--slate-200); padding-top: 16px; }
.ri-charges-h { display: flex; align-items: center; justify-content: space-between; }
.ri-charges-r { font-size: 13px; color: var(--slate-600); } .ri-charges-r b.g { color: #16a34a; }
.ri-charges-sub { font-size: 12px; color: var(--slate-500); background: var(--slate-50); border-radius: 8px; padding: 8px 12px; margin: 12px 0; }
.ri-charge-row { display: grid; grid-template-columns: 1.2fr 1.6fr 0.8fr 0.8fr 44px; gap: 10px; align-items: center; }
@media (max-width: 760px) { .ri-charge-row { grid-template-columns: 1fr 1fr; } }
.ri-del { width: 40px; height: 38px; border: none; border-radius: 8px; background: #dc2626; color: #fff; display: grid; place-items: center; cursor: pointer; }
.ri-del svg { width: 16px; height: 16px; }
.ri-charge-add { text-align: right; margin-top: 12px; }
.ri-foot { justify-content: space-between; align-items: center; }
.ri-by { font-size: 13px; color: #ca8a04; font-weight: 600; } .ri-by b { color: var(--ink); }

/* Receive Items page (opened from Receive Items button) */
.ri2-head, .ri2-row { display: grid; grid-template-columns: 2.3fr 1.4fr 1.1fr 1.1fr 0.5fr 0.7fr 0.6fr; gap: 14px; min-width: 1180px; }
.ri2-head { padding: 12px 16px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--slate-400); border-bottom: 1px solid var(--slate-200); }
.ri2-row { align-items: start; padding: 16px; border-bottom: 1px solid var(--slate-100); font-size: 12.5px; }
.ri2-row:hover { background: var(--slate-50); }
.ri2-track { display: grid; gap: 6px; min-width: 0; }
.ri2-track .sku { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11.5px; }
.ri2-viewtr { justify-self: start; padding: 3px 10px; border: none; border-radius: 6px; background: #eff6ff; color: #2563eb; font-size: 11.5px; font-weight: 600; cursor: pointer; }
.ri2-qas { display: grid; gap: 8px; align-content: start; }
.ri2-qty { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.ri2-qty > b { color: #16a34a; font-weight: 700; }
.ri2-qty svg { width: 13px; height: 13px; color: #2563eb; cursor: pointer; }
.ri2-badge { background: var(--slate-100); color: var(--slate-600); font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 6px; font-family: var(--font-mono); }
.ri2-receive { padding: 9px 14px; background: #16a34a; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; justify-self: start; }
.ri2-receive:hover { background: #15803d; }
.ri2-q .t { font-size: 11.5px; color: var(--slate-500); margin-bottom: 6px; }
.ri2-q .t b { color: var(--ink); } .ri2-q .t b.g { color: #16a34a; }
.ri2-q .bar { height: 7px; background: var(--slate-200); border-radius: 4px; overflow: hidden; }
.ri2-q .bar i { display: block; height: 100%; border-radius: 4px; }
.ri2-bundle, .ri2-store, .ri2-exp { color: var(--slate-600); }

/* ===== Problem Management table ===== */
.pm-acts { display: grid; gap: 6px; min-width: 130px; }
.pm-acts button { display: inline-flex; align-items: center; gap: 6px; justify-content: center; padding: 7px 10px; border-radius: 8px; font-size: 12px; font-weight: 600; cursor: pointer; border: 1px solid; background: #fff; }
.pm-acts button svg { width: 13px; height: 13px; }
.pm-take { border-color: #fcd34d !important; color: #b45309; background: #fffbeb !important; }
.pm-bar, .pm-ord { border-color: #bfdbfe !important; color: #2563eb; }
.pm-charge { border-color: #86efac !important; color: #16a34a; }
.pm-acct { display: flex; gap: 14px; margin-top: 8px; font-size: 11.5px; color: var(--slate-500); }
.pm-acct b { color: var(--slate-700); }
.pm-status { display: grid; gap: 6px; font-size: 12px; min-width: 220px; }
.pm-status .l { color: var(--slate-500); }
.pm-status .o { color: #ea580c; font-weight: 600; }
.pm-hl { background: #fef9c3; color: #854d0e; font-weight: 600; padding: 2px 8px; border-radius: 5px; }
.pm-resol { background: #fed7aa; color: #9a3412; font-weight: 700; font-size: 11px; padding: 2px 9px; border-radius: 6px; }
.pm-setloc { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; color: #2563eb; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.pm-setloc svg { width: 13px; height: 13px; }
#p-problems .bc-prod { min-width: 280px; }
#p-problems .bc-ids b.o { color: #ea580c; }

/* Print Barcode modal */
.pb-box { background: var(--slate-50); border-radius: 12px; padding: 22px; text-align: center; }
.pb-bars { height: 88px; max-width: 280px; margin: 0 auto; background: repeating-linear-gradient(90deg, #111 0 3px, #fff 3px 5px, #111 5px 6px, #fff 6px 10px, #111 10px 14px, #fff 14px 16px, #111 16px 17px, #fff 17px 21px); }
.pb-num { font-family: var(--font-mono); font-size: 18px; font-weight: 700; letter-spacing: .08em; margin-top: 8px; }
.pb-id { font-size: 13px; color: var(--slate-500); margin-top: 12px; }
.pb-label { font-size: 14px; font-weight: 700; margin: 18px 0 8px; }
.pb-printer { border: 1px solid var(--slate-200); border-radius: 10px; padding: 26px; text-align: center; color: var(--slate-500); }
.pb-printer svg { width: 32px; height: 32px; color: var(--slate-300); }
.pb-printer div { font-size: 14px; font-weight: 600; color: var(--slate-600); margin-top: 6px; }
.pb-printer span { font-size: 12px; }
.pb-copies { margin-top: 18px; }
.pb-copies label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.pb-stepper { display: flex; gap: 10px; }
.pb-stepper button { width: 48px; border: 1px solid var(--slate-200); border-radius: 9px; background: var(--slate-100); font-size: 18px; cursor: pointer; }
.pb-stepper input { flex: 1; text-align: center; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 15px; font-family: inherit; padding: 11px; }

/* Take Action modal */
.ta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
@media (max-width: 820px) { .ta-grid { grid-template-columns: 1fr; } }
.ta-h, .ta-h2 { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--ink); }
.ta-h svg, .ta-h2 svg { width: 17px; height: 17px; color: var(--accent); }
.ta-loc { margin-left: auto; font-size: 11px; color: var(--slate-400); font-weight: 600; } .ta-loc b { background: var(--slate-100); color: var(--slate-600); padding: 1px 7px; border-radius: 5px; }
.ta-id { font-size: 12.5px; color: var(--slate-500); font-family: var(--font-mono); margin: 4px 0 14px; }
.ta-select { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 11px 12px; border: 1px solid var(--slate-200); border-radius: 9px; background: #fff; font-size: 13.5px; color: var(--slate-500); cursor: pointer; }
.ta-select svg { width: 14px; height: 14px; color: var(--slate-400); }
.ta-select.set .ta-action-val { color: var(--ink); font-weight: 600; }
.ta-dropdown { position: absolute; left: 0; right: 0; top: 100%; margin-top: 6px; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: 0 18px 44px rgba(0,0,0,.16); padding: 8px; z-index: 30; display: none; max-height: 280px; overflow-y: auto; }
.ta-dropdown.show { display: block; }
.ta-search { display: flex; align-items: center; gap: 8px; border: 1px solid #93c5fd; border-radius: 8px; padding: 8px 10px; margin-bottom: 6px; }
.ta-search svg { width: 14px; height: 14px; color: var(--slate-400); }
.ta-search input { border: none; outline: none; flex: 1; font-size: 13px; font-family: inherit; }
.ta-dropdown button { display: block; width: 100%; text-align: left; padding: 10px 12px; border: none; background: none; border-radius: 8px; font-size: 13.5px; color: var(--ink); cursor: pointer; }
.ta-dropdown button:hover { background: var(--slate-50); }
.ta-btns { display: flex; justify-content: center; gap: 12px; margin-top: 16px; }
.ta-attach { margin-top: 22px; }
.ta-attach-h { display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 700; }
.ta-attach-h > span { display: inline-flex; align-items: center; gap: 7px; } .ta-attach-h svg { width: 15px; height: 15px; }
.ta-attach-empty { border: 1px dashed var(--slate-200); border-radius: 12px; padding: 30px; text-align: center; color: var(--slate-400); margin-top: 12px; }
.ta-attach-empty svg { width: 34px; height: 34px; color: var(--slate-200); }
.ta-attach-empty div { font-size: 13px; color: var(--slate-500); margin-top: 8px; } .ta-attach-empty span { font-size: 11.5px; }
.ta-ship { display: flex; align-items: center; gap: 12px; border: 1px solid #fde68a; background: #fffbeb; border-radius: 12px; padding: 14px; margin-bottom: 20px; }
.ta-ship-ic { width: 40px; height: 40px; border-radius: 10px; background: #ffedd5; color: #ea580c; display: grid; place-items: center; flex: none; }
.ta-ship-ic svg { width: 20px; height: 20px; }
.ta-ship-t { flex: 1; } .ta-ship-t b { font-size: 13.5px; } .ta-ship-t p { font-size: 12px; color: var(--slate-500); margin-top: 2px; }
.ta-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0; }
@media (max-width: 1000px) { .ta-chips { grid-template-columns: repeat(2, 1fr); } }
.ta-chip { border: 1px solid var(--slate-200); border-radius: 10px; padding: 10px 12px; }
.ta-chip .l { display: block; font-size: 10.5px; color: var(--slate-400); }
.ta-chip b { font-size: 13px; }
.ta-chip.c-o { background: #fff7ed; border-color: #fed7aa; } .ta-chip.c-o b { color: #ea580c; }
.ta-chip.c-y { background: #fffbeb; border-color: #fde68a; } .ta-chip.c-y b { color: #92400e; }
.ta-chip.c-b { background: #eff6ff; border-color: #bfdbfe; } .ta-chip.c-b b { color: #2563eb; }
.ta-chip.c-o2 { background: #fff7ed; border-color: #fed7aa; } .ta-chip.c-o2 b { color: #ea580c; }
.ta-hist { display: grid; gap: 0; }
.ta-hist-row { display: flex; gap: 10px; padding: 14px 4px; font-size: 13px; color: var(--slate-600); border-bottom: 1px solid var(--slate-100); position: relative; }
.ta-hist-row .muted { color: var(--slate-400); margin-top: 3px; }
.ta-hist-ic { width: 22px; height: 22px; border-radius: 50%; background: #dcfce7; color: #16a34a; display: grid; place-items: center; flex: none; }
.ta-hist-ic svg { width: 13px; height: 13px; }
.ta-date { margin-left: auto; font-size: 11px; color: var(--slate-400); white-space: nowrap; }

/* ===== WMS Dashboard hub ===== */
.wms-search { display: flex; align-items: center; gap: 14px; border: 1px solid var(--slate-200); border-radius: 14px; padding: 16px 18px; background: #fff; margin-bottom: 16px; }
.wms-search-ic { width: 44px; height: 44px; border-radius: 11px; background: #f3e8ff; color: #9333ea; display: grid; place-items: center; flex: none; }
.wms-search-ic svg { width: 20px; height: 20px; }
.wms-search-t { font-size: 14px; font-weight: 700; color: var(--ink); }
.wms-search-s { font-size: 12.5px; color: var(--slate-500); margin-top: 2px; }
.wms-search-go { margin-left: auto; color: var(--slate-400); } .wms-search-go svg { width: 18px; height: 18px; }
.wms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .wms-grid { grid-template-columns: 1fr; } }
.wms-card { border: 1px solid var(--slate-200); border-radius: 14px; padding: 18px; background: #fff; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.wms-card:not(.soon):hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: #bfdbfe; }
.wms-card.soon { cursor: default; }
.wms-card.soon:hover { transform: none; box-shadow: none; }
.wms-ic { width: 44px; height: 44px; border-radius: 11px; display: grid; place-items: center; }
.wms-ic svg { width: 22px; height: 22px; }
.wms-ic.c-blue { background: #dbeafe; color: #2563eb; } .wms-ic.c-green { background: #dcfce7; color: #16a34a; }
.wms-ic.c-amber { background: #fef3c7; color: #d97706; } .wms-ic.c-teal { background: #ccfbf1; color: #0d9488; }
.wms-ic.c-red { background: #fee2e2; color: #dc2626; } .wms-ic.c-indigo { background: #e0e7ff; color: #4f46e5; }
.wms-t { font-size: 16px; font-weight: 700; color: var(--ink); margin-top: 14px; }
.wms-desc { font-size: 13px; color: var(--slate-500); line-height: 1.55; margin-top: 6px; }
.wms-link { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 700; }
.wms-link.c-blue { color: #2563eb; } .wms-link.c-green { color: #16a34a; } .wms-link.c-amber { color: #d97706; }
.wms-link.c-teal { color: #0d9488; } .wms-link.c-red { color: #dc2626; } .wms-link.c-indigo { color: #4f46e5; }

/* WMS Location Setup */
.wms-locbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; padding: 12px 14px; margin-bottom: 16px; }
.wms-zones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .wms-zones { grid-template-columns: 1fr; } }
.wms-zone { position: relative; border: 1px solid #bfdbfe; border-radius: 14px; padding: 16px; background: #fff; }
.wms-zbadge { position: absolute; top: 14px; left: 14px; }
.wms-zedit { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; border: none; border-radius: 8px; background: #eff6ff; color: #2563eb; display: grid; place-items: center; cursor: pointer; }
.wms-zedit svg { width: 14px; height: 14px; }
.wms-zname { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; color: var(--ink); margin: 34px 0 16px; }
.wms-zpin { width: 34px; height: 34px; border-radius: 9px; background: #eff6ff; color: #2563eb; display: grid; place-items: center; }
.wms-zpin svg { width: 17px; height: 17px; }
.wms-zacts { display: flex; gap: 6px; flex-wrap: wrap; border-top: 1px solid var(--slate-100); padding-top: 12px; }
.wms-zacts button { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border: none; background: none; font-size: 12px; font-weight: 600; color: var(--slate-600); cursor: pointer; border-radius: 6px; }
.wms-zacts button:hover { background: var(--slate-50); }
.wms-zacts button svg { width: 13px; height: 13px; }
.wms-zacts .del { color: #dc2626; }

/* WMS Quick Actions */
.qa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .qa-grid { grid-template-columns: 1fr; } }
.qa-card { border: 1px solid var(--slate-200); border-radius: 14px; padding: 18px; background: #fff; display: grid; gap: 12px; align-content: start; }
.qa-h { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.qa-ic { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: none; }
.qa-ic svg { width: 18px; height: 18px; }
.qa-ic.c-blue { background: #dbeafe; color: #2563eb; } .qa-ic.c-green { background: #dcfce7; color: #16a34a; } .qa-ic.c-purple { background: #f3e8ff; color: #9333ea; }
.qa-row2 { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.qa-btn { width: 100%; justify-content: center; }
.qa-links-h { font-size: 16px; font-weight: 700; color: var(--ink); margin: 22px 0 12px; }
.qa-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 900px) { .qa-links { grid-template-columns: 1fr 1fr; } }
.qa-link { display: flex; align-items: center; gap: 10px; border: 1px solid var(--slate-200); border-radius: 10px; padding: 14px; background: #fff; font-size: 13.5px; font-weight: 600; color: var(--ink); cursor: pointer; }
.qa-link:hover { background: var(--slate-50); }
.qa-link svg { width: 17px; height: 17px; }

/* ===== Tools (Manual Barcode Print / Barcode Scanning / Printer Settings) ===== */
.tl-tabs { display: flex; gap: 26px; border-bottom: 1px solid var(--slate-200); margin-bottom: 20px; overflow-x: auto; }
.tl-tab { display: inline-flex; align-items: center; gap: 8px; padding: 12px 2px; border: none; border-bottom: 2px solid transparent; background: none; font-size: 14px; font-weight: 600; color: var(--slate-500); cursor: pointer; white-space: nowrap; }
.tl-tab svg { width: 17px; height: 17px; }
.tl-tab.on { color: #ea580c; border-bottom-color: #f97316; }
.tl-h1 { font-size: 15px; font-weight: 700; color: #2563eb; margin: 26px 0 14px; }
.tl-h2 { font-size: 15px; font-weight: 700; color: #2563eb; margin-bottom: 4px; }
.tl-sub { font-size: 12.5px; color: var(--slate-500); margin-bottom: 14px; }
.tl-grid3 { display: grid; grid-template-columns: 1fr 1.4fr 1.2fr; gap: 18px; }
@media (max-width: 1000px) { .tl-grid3 { grid-template-columns: 1fr; } }
.tl-grid2, .tl-grid2b { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 860px) { .tl-grid2, .tl-grid2b { grid-template-columns: 1fr; } }
.tl-col { background: #fff; }
.tl-warn { background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; padding: 14px; }
.tl-warn b { color: #92400e; font-size: 13.5px; } .tl-warn p { color: #b45309; font-size: 12.5px; margin-top: 8px; line-height: 1.5; }
.tl-field { margin-bottom: 14px; }
.tl-field > label { display: block; font-size: 12.5px; font-weight: 600; color: var(--slate-700); margin-bottom: 7px; }
.tl-sizes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
@media (max-width: 1200px) { .tl-sizes { grid-template-columns: repeat(3, 1fr); } }
.tl-size { border: 1px solid var(--slate-200); border-radius: 9px; padding: 9px; background: #fff; cursor: pointer; text-align: center; }
.tl-size b { display: block; font-size: 12px; color: var(--ink); } .tl-size span { display: block; font-size: 10px; color: var(--slate-400); margin-top: 2px; }
.tl-size.on { background: #2563eb; border-color: #2563eb; } .tl-size.on b { color: #fff; } .tl-size.on span { color: #dbeafe; }
.tl-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tl-print { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 11px; border: none; border-radius: 9px; background: #2563eb; color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .15s; }
.tl-print:hover { background: #1d4ed8; }
.tl-print[disabled] { background: #bfdbfe; cursor: not-allowed; }
.tl-print svg { width: 15px; height: 15px; }

/* connected printers list */
.tl-printers { display: flex; flex-direction: column; gap: 8px; }
.tl-printer { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 10px 12px;
  border: 1px solid var(--slate-200); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.tl-printer:hover { border-color: #bfdbfe; }
.tl-printer.on { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.14); background: #f5f9ff; }
.tl-pr-ic { width: 36px; height: 36px; border-radius: 9px; flex: none; display: grid; place-items: center; background: var(--slate-100); color: var(--slate-500); }
.tl-printer.on .tl-pr-ic { background: #dbeafe; color: #2563eb; }
.tl-pr-ic svg { width: 19px; height: 19px; }
.tl-pr-meta { flex: 1; min-width: 0; }
.tl-pr-meta b { display: block; font-size: 13.5px; font-weight: 700; color: var(--slate-800); }
.tl-pr-meta span { font-size: 12px; color: var(--slate-500); }
.tl-pr-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.18); }
.tl-preview { border: 1px solid var(--slate-200); border-radius: 12px; background: var(--slate-50); display: grid; place-content: center; text-align: center; padding: 30px; }
.tl-bars { height: 56px; width: 120px; margin: 0 auto; background: repeating-linear-gradient(90deg, #111 0 3px, #fff 3px 5px, #111 5px 6px, #fff 6px 10px, #111 10px 13px, #fff 13px 15px); }
.tl-pv-t { font-size: 14px; font-weight: 600; color: var(--slate-600); margin-top: 14px; } .tl-pv-s { font-size: 12px; color: var(--slate-400); margin-top: 4px; }
.tl-ltype { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tl-ltype button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px; border: 1px solid var(--slate-200); border-radius: 9px; background: #fff; font-size: 13px; font-weight: 600; color: var(--slate-700); cursor: pointer; }
.tl-ltype button svg { width: 15px; height: 15px; }
.tl-ltype button.on { background: #f59e0b; border-color: #f59e0b; color: #fff; }
.tl-copies { display: flex; align-items: center; gap: 12px; }
.tl-warnprev { text-align: center; }
.tl-pv-cap { font-size: 11.5px; color: var(--slate-400); margin: 6px 0; }
.tl-warnbox { border: 2px solid #f59e0b; border-radius: 8px; padding: 16px; max-width: 360px; margin: 0 auto; }
.tl-warnbox .w1 { color: #d97706; font-weight: 800; font-size: 16px; } .tl-warnbox .w2 { font-weight: 800; font-size: 14px; margin-top: 4px; } .tl-warnbox .w3 { font-size: 12px; color: var(--slate-600); margin-top: 6px; line-height: 1.5; }
.tl-hint { font-size: 11.5px; color: var(--slate-400); margin-top: 6px; }
.tl-stats { border: 1px solid var(--slate-200); border-radius: 10px; padding: 14px; margin-top: 16px; }
.tl-stats-h { font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.tl-stats .r { display: flex; justify-content: space-between; font-size: 13px; color: var(--slate-600); padding: 5px 0; } .tl-stats .r b { color: var(--ink); } .tl-stats .r b.g { color: #16a34a; }
.tl-empty { border: 1px dashed var(--slate-200); border-radius: 12px; padding: 44px; text-align: center; color: var(--slate-400); }
.tl-empty svg { width: 46px; height: 46px; color: var(--slate-200); }
.tl-empty div { font-size: 16px; font-weight: 700; color: var(--slate-600); margin-top: 12px; } .tl-empty span { font-size: 12.5px; }
.tl-banner { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 12px 16px; color: #dc2626; font-size: 13px; display: flex; align-items: center; gap: 8px; margin-bottom: 18px; }
.tl-banner svg { width: 16px; height: 16px; } .tl-banner a { color: #dc2626; font-weight: 700; text-decoration: underline; }
.tl-osc { border: 1px solid var(--slate-200); border-radius: 12px; overflow: hidden; }
.tl-osc-h { background: #eff6ff; padding: 14px 16px; display: flex; flex-direction: column; }
.tl-os { font-size: 16px; font-weight: 700; color: var(--ink); } .tl-os-s { font-size: 12px; color: var(--slate-500); }
.tl-soft { display: flex; gap: 12px; padding: 16px; border-top: 1px solid var(--slate-100); }
.tl-soft-ic { width: 36px; height: 36px; border-radius: 9px; background: var(--slate-100); color: #2563eb; display: grid; place-items: center; flex: none; }
.tl-soft-ic svg { width: 18px; height: 18px; }
.tl-soft-t b { font-size: 14px; } .tl-soft-t span { display: block; font-size: 12px; color: var(--slate-500); } .tl-soft-t p { font-size: 11.5px; color: var(--slate-400); margin: 8px 0; }
.tl-soft-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.tl-mp { border: 1px solid var(--slate-200); border-radius: 12px; padding: 16px; }
.tl-mp-h { margin-bottom: 14px; } .tl-mp-h b { font-size: 15px; } .tl-mp-h span { display: block; font-size: 12px; color: var(--slate-500); }
.tl-mp-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 760px) { .tl-mp-fields { grid-template-columns: 1fr; } }
.tl-noprinter { text-align: center; padding: 28px; color: var(--slate-400); border: 1px dashed var(--slate-200); border-radius: 10px; margin-top: 16px; }
.tl-noprinter svg { width: 32px; height: 32px; color: #fca5a5; } .tl-noprinter div { font-size: 14px; font-weight: 700; color: var(--slate-600); margin-top: 8px; } .tl-noprinter span { font-size: 11.5px; }

/* ===== Reports Dashboard ===== */
.rep-filters { display: flex; gap: 10px; margin-left: 4px; }
.rep-navbtns { display: flex; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.rep-pcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1100px) { .rep-pcards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .rep-pcards { grid-template-columns: 1fr; } }
.rep-pcard { border: 1px solid var(--slate-200); border-top: 3px solid #93c5fd; border-radius: 12px; padding: 16px; background: #fff; }
.rep-pc-h { display: flex; align-items: flex-start; justify-content: space-between; }
.rep-pc-t { font-size: 14px; font-weight: 700; color: var(--ink); }
.rep-pc-d { font-size: 11.5px; color: var(--slate-400); margin-top: 2px; }
.rep-pc-dots { color: var(--slate-300); font-weight: 800; letter-spacing: 1px; }
.rep-pc-ts { font-size: 11.5px; color: var(--slate-500); margin-top: 14px; display: flex; align-items: center; gap: 5px; }
.rep-i { width: 12px; height: 12px; color: var(--slate-300); }
.rep-pc-tv { font-size: 26px; font-weight: 800; color: var(--ink); margin-top: 2px; }
.rep-pc-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px 8px; margin-top: 16px; }
.rep-pc-grid .l { display: block; font-size: 10.5px; color: var(--slate-400); }
.rep-pc-grid .v { display: block; font-size: 13px; font-weight: 700; color: var(--ink); margin-top: 2px; }
.rep-pc-grid .v.g { color: #16a34a; }
.rep-pc-net { background: #f0fdf4; border-radius: 7px; padding: 4px 8px; margin: -4px -4px 0 -8px; }
.rep-pc-roi { display: flex; justify-content: space-between; border-top: 1px solid var(--slate-100); margin-top: 14px; padding-top: 11px; font-size: 12px; color: var(--slate-500); }
.rep-pc-roi b.g { color: #16a34a; }
.rep-ov-h { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; color: var(--ink); margin: 24px 0 14px; }
.rep-ov-h svg { width: 18px; height: 18px; color: #2563eb; }
.rep-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 900px) { .rep-charts { grid-template-columns: 1fr; } }
.rep-chart { border: 1px solid var(--slate-200); border-radius: 12px; padding: 16px; background: #fff; }
.rep-chart-t { font-size: 14px; font-weight: 700; text-align: center; color: var(--ink); margin-bottom: 12px; }
.rep-svg { width: 100%; height: 200px; display: block; }
.rep-legend { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 10px; font-size: 11.5px; color: var(--slate-500); }
.rep-legend span { display: inline-flex; align-items: center; gap: 6px; }
.rep-legend i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }

/* Reports stat cards (Sales / Profitability) */
.rep-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 16px; }
@media (max-width: 1200px) { .rep-stats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 680px) { .rep-stats { grid-template-columns: repeat(2, 1fr); } }
.rep-stat { border: 1px solid var(--slate-200); border-radius: 12px; padding: 14px; background: #fff; }
.rep-stat-top { display: flex; align-items: flex-start; justify-content: space-between; }
.rep-stat-t { font-size: 12px; font-weight: 700; }
.rep-stat-ic { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; flex: none; }
.rep-stat-ic svg { width: 17px; height: 17px; }
.rep-stat-v { font-size: 22px; font-weight: 800; color: var(--ink); margin-top: 8px; font-feature-settings: "tnum"; }
.rep-stat-s { font-size: 11px; color: var(--slate-400); margin-top: 3px; }
.rep-stat.c-blue .rep-stat-t { color: #2563eb; } .rep-stat.c-blue .rep-stat-ic { background: #dbeafe; color: #2563eb; }
.rep-stat.c-purple .rep-stat-t { color: #9333ea; } .rep-stat.c-purple .rep-stat-ic { background: #f3e8ff; color: #9333ea; }
.rep-stat.c-green .rep-stat-t { color: #16a34a; } .rep-stat.c-green .rep-stat-ic { background: #dcfce7; color: #16a34a; }
.rep-stat.c-orange .rep-stat-t { color: #ea580c; } .rep-stat.c-orange .rep-stat-ic { background: #ffedd5; color: #ea580c; }
.rep-stat.c-yellow .rep-stat-t { color: #ca8a04; } .rep-stat.c-yellow .rep-stat-ic { background: #fef9c3; color: #ca8a04; }
.rep-stat.c-gray .rep-stat-t { color: #4b5563; } .rep-stat.c-gray .rep-stat-ic { background: #f3f4f6; color: #4b5563; }

/* ===================== My Company ===================== */
/* sidebar footer account item */
.ex-side-foot { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--slate-200); }
@media (max-width: 860px){ .ex-side-foot { margin-top: 0; padding-top: 0; border-top: none; border-left: 1px solid var(--slate-200); padding-left: 6px; } }
.ex-acct svg { width: 26px; height: 26px; }

/* generic pill colors */
.pill.green { background: #dcfce7; color: #166534; }
.pill.gray { background: #f3f4f6; color: #374151; }
.pill.blue { background: #dbeafe; color: #1e40af; }
.pill.amber { background: #fef9c3; color: #854d0e; }
.pill.mfn { background: #dcfce7; color: #166534; }

/* action bar */
.mc-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; }
.mc-id { display: flex; align-items: center; gap: 12px; }
.mc-avatar { width: 44px; height: 44px; border-radius: 12px; flex: none; display: grid; place-items: center;
  color: #fff; font-weight: 800; font-size: 14px; background: linear-gradient(135deg, #3b82f6, #2563eb); }
.mc-id h4 { font-size: 18px; font-weight: 700; color: var(--slate-800); }
.mc-bar-actions { display: flex; align-items: center; gap: 8px; }

/* grid */
.mc-grid { display: grid; grid-template-columns: 300px 1fr; gap: 16px; align-items: start; }
@media (max-width: 760px){ .mc-grid { grid-template-columns: 1fr; } }

/* left card */
.mc-card { background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; padding: 16px; }
.mc-sec { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--slate-400); }
.mc-sec-row { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.mc-add { border: none; background: transparent; color: #2563eb; cursor: pointer; display: grid; place-items: center; padding: 2px; border-radius: 6px; }
.mc-add:hover { background: #eff6ff; }
.mc-add svg { width: 16px; height: 16px; }
.mc-line { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var(--slate-600); }
.mc-line svg { width: 16px; height: 16px; color: var(--slate-400); flex: none; }
.mc-item { display: flex; align-items: flex-start; gap: 8px; margin-top: 7px; font-size: 13px; color: var(--slate-600); padding: 3px 4px; border-radius: 8px; }
.mc-item:hover { background: var(--slate-50); }
.mc-item svg { width: 16px; height: 16px; color: var(--slate-400); flex: none; margin-top: 1px; }
.mc-item svg.green { color: #22c55e; }

/* right panel */
.mc-panel { background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; overflow: hidden; }
.mc-tabs { display: flex; border-bottom: 1px solid var(--slate-200); overflow-x: auto; }
.mc-tab { display: inline-flex; align-items: center; gap: 6px; padding: 12px 14px; border: none; background: transparent;
  border-bottom: 2px solid transparent; font-size: 13px; font-weight: 600; color: var(--slate-500); cursor: pointer; white-space: nowrap; }
.mc-tab svg { width: 16px; height: 16px; color: var(--slate-400); }
.mc-tab:hover { color: var(--slate-700); }
.mc-tab.on { color: #2563eb; border-bottom-color: #3b82f6; }
.mc-tab.on svg { color: #3b82f6; }
.mc-cnt { color: var(--slate-400); font-weight: 500; }
.mc-body { padding: 16px; }

/* toolbar inside tabs */
.mc-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.mc-searchwrap { position: relative; flex: 1; }
.mc-searchwrap svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--slate-400); }
.mc-search { width: 100%; padding: 9px 12px 9px 32px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 13px; color: var(--slate-700); }
.mc-search:focus { outline: none; border-color: #93c5fd; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }

/* store cards */
.mc-store { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border: 1px solid var(--slate-200); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; transition: box-shadow .15s; }
.mc-store:hover { box-shadow: 0 6px 16px rgba(15,23,42,.06); }
.mc-store-l { display: flex; align-items: center; gap: 12px; }
.mc-plat { width: 44px; height: 44px; border-radius: 10px; flex: none; display: grid; place-items: center; background: var(--slate-100); }
.mc-plat svg { width: 26px; height: 26px; }
.mc-plat.amz { color: #ff9900; } .mc-plat.wmt { color: #0071dc; } .mc-plat.shp { color: #95bf47; }
.mc-store-name { font-size: 15px; font-weight: 700; color: var(--slate-800); display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.mc-store-name .pill { font-size: 11px; padding: 2px 8px; }
.mc-store-sub { font-size: 12.5px; color: var(--slate-500); margin-top: 3px; }
.mc-store-r { display: flex; align-items: center; gap: 8px; }
.mc-auth-lbl { font-size: 11px; color: var(--slate-500); }

/* toggle switch */
.mc-switch { width: 38px; height: 21px; border-radius: 999px; background: var(--slate-300); position: relative; cursor: pointer; flex: none; transition: background .18s; }
.mc-switch span { position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%; background: #fff; transition: left .18s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.mc-switch.on { background: #16a34a; }
.mc-switch.on span { left: 19px; }

/* users */
.mc-user { display: flex; align-items: center; gap: 9px; }
.mc-ua { width: 28px; height: 28px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 11px; font-weight: 700; color: #1e40af; background: #dbeafe; }

/* payment methods */
.mc-pm-h b { display: block; font-size: 14px; font-weight: 700; color: var(--slate-800); }
.mc-pm-h span { font-size: 12.5px; color: var(--slate-500); }
.mc-pmcard { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--slate-200); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.mc-pm-l { display: flex; align-items: center; gap: 12px; }
.mc-pm-ic { width: 46px; height: 30px; border-radius: 6px; flex: none; display: grid; place-items: center; font-size: 11px; font-weight: 800; color: #fff; letter-spacing: .02em; }
.mc-pm-ic.visa { background: #1a1f71; } .mc-pm-ic.mc { background: linear-gradient(90deg,#eb001b,#f79e1b); }
.mc-pm-name { font-size: 14px; font-weight: 700; color: var(--slate-800); display: flex; align-items: center; gap: 8px; }
.mc-pm-name .pill { font-size: 11px; padding: 2px 8px; }
.mc-pm-sub { font-size: 12.5px; color: var(--slate-500); margin-top: 2px; }
.mc-pm-del { border: none; background: transparent; color: var(--slate-400); cursor: pointer; padding: 6px; border-radius: 8px; }
.mc-pm-del:hover { background: #fef2f2; color: #dc2626; }
.mc-pm-del svg { width: 17px; height: 17px; }

/* membership & billing */
.mc-mb-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.mc-mb-title { font-size: 17px; font-weight: 700; color: var(--slate-800); }
.mc-mb-sub { font-size: 13px; color: var(--slate-500); margin-top: 3px; }
.mc-mb-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.mc-mb-cancel { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid #fecaca; border-radius: 9px; background: #fff; color: #dc2626; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .15s; }
.mc-mb-cancel:hover { background: #fef2f2; }
.mc-mb-cancel svg { width: 15px; height: 15px; }
.mc-mb-cards { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; margin-bottom: 16px; }
@media (max-width: 620px){ .mc-mb-cards { grid-template-columns: 1fr; } }
.mc-mb-plan, .mc-mb-bal { border: 1px solid #bbf7d0; background: #f0fdf4; border-radius: 12px; padding: 16px; }
.mc-mb-plan-h { display: flex; align-items: center; gap: 10px; }
.mc-mb-pic { width: 34px; height: 34px; border-radius: 9px; flex: none; display: grid; place-items: center; background: #dcfce7; color: #16a34a; }
.mc-mb-pic svg { width: 20px; height: 20px; }
.mc-mb-plan-h b { font-size: 15px; font-weight: 700; color: var(--slate-800); }
.mc-mb-plan-h .pill { font-size: 10.5px; padding: 2px 8px; }
.mc-mb-plan-cycle { font-size: 13.5px; color: var(--slate-600); margin-top: 10px; }
.mc-mb-bal-t { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--slate-700); }
.mc-mb-bal-t svg { width: 17px; height: 17px; color: #16a34a; flex: none; }
.mc-mb-bal-t svg.ext { width: 12px; height: 12px; color: var(--slate-400); }
.mc-mb-bal-v { font-size: 22px; font-weight: 800; color: #15803d; margin-top: 10px; }
.mc-mb-box { border: 1px solid var(--slate-200); border-radius: 12px; padding: 16px; margin-bottom: 14px; }
.mc-mb-box.nopad { padding: 0; overflow: hidden; }
.mc-mb-sech { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--slate-800); margin-bottom: 12px; }
.mc-mb-sech.pad { padding: 14px 16px; margin-bottom: 0; border-bottom: 1px solid var(--slate-200); }
.mc-mb-sech svg { width: 17px; height: 17px; color: var(--slate-500); }
.mc-ext { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--slate-50); border-radius: 10px; padding: 12px 14px; }
.mc-ext-l { display: flex; align-items: center; gap: 10px; }
.mc-ext-l svg { width: 20px; height: 20px; color: #2563eb; flex: none; }
.mc-ext-n { font-size: 13.5px; font-weight: 700; color: var(--slate-800); }
.mc-ext-s { font-size: 12px; color: var(--slate-500); }
.mc-ext-cancel { border: none; background: transparent; color: #dc2626; font-size: 13px; font-weight: 600; cursor: pointer; padding: 6px 10px; border-radius: 8px; }
.mc-ext-cancel:hover { background: #fef2f2; }
.mc-bill-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: #eff6ff; border-bottom: 1px solid #e2e8f0; }
.mc-bill-row:last-child { border-bottom: none; }
.mc-bill-row:hover { background: #dbeafe; }
.mc-bill-top { display: flex; align-items: center; gap: 8px; }
.mc-bill-top b { font-size: 14px; font-weight: 700; color: var(--slate-800); }
.mc-bill-top .pill { font-size: 10.5px; padding: 2px 7px; }
.mc-inv { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border: none; border-radius: 7px; background: #e0e7ff; color: #4338ca; font-size: 11.5px; font-weight: 600; cursor: pointer; }
.mc-inv svg { width: 12px; height: 12px; }
.mc-bill-sub { font-size: 12.5px; color: var(--slate-600); margin-top: 5px; }
.mc-bill-date { font-size: 12px; color: var(--slate-400); margin-top: 2px; }
.mc-bill-amt { font-size: 15px; font-weight: 800; color: var(--slate-800); white-space: nowrap; }
.mc-toolbar .btn-blue { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 9px; font-size: 13px; font-weight: 600; flex: none; white-space: nowrap; }
.mc-toolbar .btn-blue svg { width: 16px; height: 16px; flex: none; }
