
/* LPC Neobi Insights — UI (Kadence-safe, scoped) */

.lpcn-fullbleed{
  width:100vw;
  margin-left:calc(50% - 50vw);
}

.lpcn-landing{
  --brand:#ff2d55;
  --ink:#0b1220;
  --muted:#5b667a;
  --bg1:#05070c;
  --bg2:#0b1020;
  color:#fff;
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(255,45,85,.22), transparent 55%),
    radial-gradient(900px 520px at 90% 20%, rgba(72,154,255,.18), transparent 60%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
  padding:48px 0 64px;
}

.lpcn-landingInner{
  max-width:1180px;
  margin:0 auto;
  padding:0 18px;
}

.lpcn-wrap{
  --brand:#ff2d55;
  --ink:#0b1220;
  --muted:#5b667a;
  --card:rgba(255,255,255,.92);
  --card2:rgba(255,255,255,.70);
  --line:rgba(15,23,42,.12);
  --shadow:0 12px 40px rgba(2,6,23,.15);
  --radius:18px;
  color:var(--ink);
}

.lpcn-h1{ font-size:clamp(32px, 4vw, 54px); line-height:1.05; margin:0 0 14px; letter-spacing:-.02em; }
.lpcn-h2{ font-size:clamp(22px, 2.3vw, 30px); line-height:1.15; margin:0 0 10px; letter-spacing:-.01em; }
.lpcn-h3{ font-size:18px; margin:0 0 8px; }
.lpcn-lede{ max-width:70ch; opacity:.9; font-size:16px; line-height:1.5; margin:0 0 18px; color:rgba(255,255,255,.88); }
.lpcn-sub{ font-size:13px; line-height:1.45; margin:0; color:var(--muted); }
.lpcn-kicker{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; opacity:.75; }

.lpcn-head{
  display:flex; gap:16px; justify-content:space-between; align-items:flex-end;
  margin:0 0 14px;
}

.lpcn-toolbar{
  display:flex; gap:14px; justify-content:space-between; align-items:center;
  flex-wrap:wrap;
  margin:10px 0 18px;
}

.lpcn-filters{ display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.lpcn-filters--compact{ justify-content:flex-end; }
.lpcn-field{ display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--muted); }
.lpcn-input{
  appearance:none;
  border:1px solid rgba(148,163,184,.35);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:var(--ink);
  min-width:120px;
  line-height:1.1;
}
.lpcn-input:focus{ outline:none; box-shadow:0 0 0 4px rgba(255,45,85,.15); border-color:rgba(255,45,85,.45); }

.lpcn-btn{
  border:0;
  border-radius:12px;
  padding:11px 14px;
  background:var(--brand);
  color:#fff;
  cursor:pointer;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(255,45,85,.25);
}
.lpcn-btn:hover{ filter:brightness(1.02); transform:translateY(-1px); }
.lpcn-btn:active{ transform:translateY(0); }
.lpcn-btn--ghost{
  background:rgba(15,23,42,.06);
  color:var(--ink);
  box-shadow:none;
}
.lpcn-btn--ghost:hover{ background:rgba(15,23,42,.09); }

.lpcn-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* ----------------------------------------------------------
   Portal/Table hardening (Kadence-safe)
   - Fix theme overrides that can change button/table colors
   - Ensure numeric columns align + use tabular numerals
---------------------------------------------------------- */
.lpcn-wrap button.lpcn-card,
.lpcn-wrap button.lpcn-card:focus,
.lpcn-wrap button.lpcn-card:active{
  background:var(--card) !important;
  color:var(--ink) !important;
}

/* Keep muted text readable across themes */
.lpcn-wrap .lpcn-sub{ color:var(--muted) !important; }

/* Weekly snapshot table: enforce contrast + alignment */
.lpcn-wrap .lpcn-table{
  font-variant-numeric: tabular-nums;
}
.lpcn-wrap .lpcn-table th,
.lpcn-wrap .lpcn-table td{
  color:var(--ink) !important;
}
.lpcn-wrap .lpcn-table thead th{
  color:rgba(11,18,32,.72) !important;
  font-weight:800;
}
.lpcn-wrap .lpcn-table td.ta-r,
.lpcn-wrap .lpcn-table th.ta-r{
  text-align:right !important;
}

/* Prevent theme "button" styles from recoloring pills inside outcome cards */
.lpcn-wrap .lpcn-delta,
.lpcn-wrap .lpcn-conf{
  color:var(--ink) !important;
}


.lpcn-card--soft{
  background:rgba(255,255,255,.70);
  box-shadow:0 10px 24px rgba(2,6,23,.10);
}

.lpcn-section{ margin-top:28px; }
.lpcn-section--tight{ margin-top:20px; }

.lpcn-pricing{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.lpcn-pricing .lpcn-priceCard{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:16px;
  backdrop-filter: blur(10px);
}
.lpcn-pricing .lpcn-priceCard--featured{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}
.lpcn-price{ font-size:30px; font-weight:900; margin-top:10px; }
.lpcn-price span{ font-size:12px; opacity:.75; margin-left:4px; }
.lpcn-pricing .lpcn-priceCard ul{ margin:12px 0 0; padding-left:16px; color:rgba(255,255,255,.86); font-size:13px; }
.lpcn-pricing .lpcn-priceCard li{ margin:6px 0; }

.lpcn-outcomes{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}


/* Portal: Outcome Focus v1 (sections + nested grids) */
.lpcn-outcomes[data-mode="portal"]{
  display:block;
}
.lpcn-outcomesSection{
  margin-top:14px;
}
.lpcn-outcomesHeader{
  margin:0 0 10px;
}
.lpcn-outcomesGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}
@media (max-width: 1024px){
  .lpcn-outcomesGrid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .lpcn-outcomesGrid{ grid-template-columns:1fr; }
}
.lpcn-outcome{
  width:100%;
  text-align:left;
  cursor:pointer;
  padding:14px 14px 12px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.lpcn-outcome:hover{
  transform:translateY(-2px);
  border-color:rgba(255,45,85,.35);
  box-shadow:0 16px 46px rgba(2,6,23,.18);
}
.lpcn-outcome:focus{ outline:none; box-shadow:0 0 0 4px rgba(255,45,85,.18), 0 16px 46px rgba(2,6,23,.18); }

.lpcn-outcomeTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
.lpcn-icon{ font-size:26px; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,45,85,.09); }
.lpcn-mini{ display:flex; gap:3px; align-items:flex-end; }
.lpcn-mini span{
  display:block; width:6px; border-radius:4px;
  background:rgba(15,23,42,.10);
  height:6px;
}
.lpcn-outcome.is-up .lpcn-mini span{ background:rgba(16,185,129,.25); }
.lpcn-outcome.is-down .lpcn-mini span{ background:rgba(239,68,68,.22); }
.lpcn-mini span:nth-child(1){ height:7px; }
.lpcn-mini span:nth-child(2){ height:12px; }
.lpcn-mini span:nth-child(3){ height:9px; }
.lpcn-mini span:nth-child(4){ height:15px; }
.lpcn-mini span:nth-child(5){ height:11px; }

.lpcn-title{ font-weight:900; font-size:14px; letter-spacing:-.01em; }
.lpcn-outcomeMid .lpcn-sub{ margin-top:2px; }

.lpcn-outcomeBottom{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.lpcn-value{
  font-size:26px;
  font-weight:900;
  letter-spacing:-.02em;
}
.lpcn-meta{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:12px;
  color:var(--muted);
}
.lpcn-delta{
  padding:4px 8px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  font-weight:800;
}
.lpcn-conf{
  padding:4px 8px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  font-weight:800;
}
.lpcn-note{
  font-size:12px;
  color:var(--muted);
  min-height:16px;
}

.lpcn-outcome.is-up .lpcn-delta{ background:rgba(16,185,129,.14); color:#065f46; }
.lpcn-outcome.is-down .lpcn-delta{ background:rgba(239,68,68,.12); color:#7f1d1d; }

.lpcn-portal .lpcn-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin:6px 0 8px;
}
.lpcn-portal .lpcn-heroRight{ display:flex; align-items:center; gap:10px; }


/* Portal hero actions alignment (premium, no-wrap chaos) */
.lpcn-portal .lpcn-hero{ align-items:center; }
.lpcn-portal .lpcn-heroRight{
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.lpcn-portal .lpcn-heroRight .lpcn-input,
.lpcn-portal .lpcn-heroRight .lpcn-btn,
.lpcn-portal .lpcn-heroRight .lpcn-pill{
  height:40px;
  display:inline-flex;
  align-items:center;
}
.lpcn-portal .lpcn-heroRight .lpcn-input{
  padding-top:0;
  padding-bottom:0;
}
.lpcn-portal .lpcn-heroRight .lpcn-btn{
  padding-top:0;
  padding-bottom:0;
}


.lpcn-pill{
  font-weight:900;
  font-size:12px;
  border-radius:999px;
  padding:8px 10px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
}
.lpcn-pill.is-live{ border-color:rgba(16,185,129,.35); background:rgba(16,185,129,.08); color:#065f46; }
.lpcn-pill.is-sample{ border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.10); color:#7c2d12; }

.lpcn-brief{
  padding:16px;
  margin:0 0 14px;
}
.lpcn-briefGrid{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:14px;
  align-items:start;
}
.lpcn-briefTitle{ font-size:18px; font-weight:900; margin-top:4px; }
.lpcn-briefBullets{ display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.lpcn-bullet{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); }
.lpcn-dot{ width:10px; height:10px; border-radius:50%; margin-top:3px; background:rgba(15,23,42,.18); }
.lpcn-dot--up{ background:rgba(16,185,129,.55); }
.lpcn-dot--warn{ background:rgba(245,158,11,.70); }
.lpcn-dot--brand{ background:rgba(255,45,85,.70); }

.lpcn-briefActions{ display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }

/* Weekly Brief (modal) CTA spacing: keep buttons breathable + consistent */
.lpcn-modal .lpcn-briefActions{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.22);
  justify-content:flex-start;
  gap:12px;
}
@media (max-width: 560px){
  .lpcn-modal .lpcn-briefActions{ justify-content:stretch; }
  .lpcn-modal .lpcn-briefActions .lpcn-btn{ width:100%; }
}

/* ---------------------------------------------------------
   Portal filter + action alignment (Kadence-safe)
--------------------------------------------------------- */
.lpcn-portal .lpcn-briefRight{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

/* Filters as a tidy grid: Province / Audience / Window / Refresh */
.lpcn-portal .lpcn-filters{
  display:grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr)) auto;
  gap:10px;
  align-items:end;
  justify-content:end;
  width:100%;
  max-width:520px;
}

/* Ensure selects don't overflow the grid */
.lpcn-portal .lpcn-filters .lpcn-field{ min-width:0; }
.lpcn-portal .lpcn-filters .lpcn-input{ width:100%; min-width:0; }

/* Exports line up with Refresh */
.lpcn-portal .lpcn-briefActions{
  width:100%;
  max-width:520px;
  justify-content:flex-end;
}

/* Force ghost buttons to stay ghost (theme overrides are common) */
.lpcn-wrap .lpcn-btn--ghost{
  background:rgba(15,23,42,.06) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}
.lpcn-wrap .lpcn-btn--ghost:hover{
  background:rgba(15,23,42,.09) !important;
}

/* Responsive: keep it guided + easy on narrow screens */
@media (max-width: 920px){
  .lpcn-portal .lpcn-filters{
    grid-template-columns: repeat(2, minmax(140px, 1fr)) auto;
    max-width:560px;
  }
}
@media (max-width: 560px){
  .lpcn-portal .lpcn-briefRight{ align-items:stretch; }
  .lpcn-portal .lpcn-filters{
    grid-template-columns: 1fr 1fr;
    max-width:none;
  }
  .lpcn-portal .lpcn-filters .js-refresh{
    grid-column:1 / -1;
    width:100%;
  }
  .lpcn-portal .lpcn-briefActions{
    justify-content:stretch;
    max-width:none;
  }
  .lpcn-portal .lpcn-briefActions .lpcn-btn{
    width:100%;
  }
}


.lpcn-tabs{
  display:flex;
  gap:6px;
  margin:16px 0;
  padding:4px;
  border-radius:999px;
  background: rgba(2,6,23,.04);
  border:1px solid rgba(148,163,184,.28);
}
.lpcn-tab{
  flex:1;
  border:0;
  background:transparent;
  border-radius:999px;
  padding:10px 12px;
  cursor:pointer;
  font-weight:900;
  font-size:12px;
  letter-spacing:.01em;
  color:var(--muted);
}
.lpcn-tab.is-active{
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(148,163,184,.35);
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.lpcn-tabPanel{ display:none; }

@media (max-width: 860px){
  /* Mobile tabs: scroll instead of shrinking labels */
  .lpcn-tabs{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    flex-wrap:nowrap;
    gap:8px;
    padding:6px;
  }
  .lpcn-tab{
    flex:0 0 auto;
    min-width:132px;
    text-align:center;
    white-space:nowrap;
  }
}


.lpcn-tabPanel.is-active{ display:block; }

.lpcn-tableWrap{ overflow:auto; -webkit-overflow-scrolling:touch; }
.lpcn-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.lpcn-table th, .lpcn-table td{
  padding:10px 10px;
  border-bottom:1px solid rgba(148,163,184,.25);
  white-space:nowrap;
}

/* ---------------------------------------------------------
   Mobile tables (scrollable)
   - Keep tables as tables (no stacked cards)
   - Use the existing .lpcn-tableWrap overflow container for horizontal swipe
--------------------------------------------------------- */
@media (max-width: 560px){
  .lpcn-tableWrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  /* Sensible minimum widths to avoid crushed columns */
  .lpcn-table.js-weeklyTable{ min-width: 760px; }
  .lpcn-table.js-topProductsTable{ min-width: 620px; }
  .lpcn-table.js-itemsTable{ min-width: 720px; }
}
.lpcn-table thead th{
  position:sticky;
  top:0;
  background:#fff;
  z-index:1;
  text-align:left;
  font-size:12px;
  color:var(--muted);
  letter-spacing:.02em;
}
.ta-r{ text-align:right; }

.lpcn-muted{ color:var(--muted); padding:14px; }

.lpcn-tableTools{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 12px 10px;
  gap:10px;
}

.lpcn-modal{ position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
/* Respect the HTML `hidden` attribute.
   Without this, `.lpcn-modal{display:flex}` can override the UA rule and show the modal on load. */
.lpcn-modal[hidden]{ display:none !important; }
.lpcn-modalBack{ position:absolute; inset:0; background:rgba(2,6,23,.6); backdrop-filter: blur(3px); }

/* Lock page scroll when any overlay modal is open (set by portal.js). */
html.lpcn-modalOpen,
body.lpcn-modalOpen{
  overflow:hidden !important;
  height:100% !important;
}

/* Profiles modal (separate from the drilldown modal to avoid JS collisions) */
.lpcn-profileModal{ position:fixed; inset:0; z-index:99998; display:flex; align-items:center; justify-content:center; padding:16px; }
.lpcn-profileModal[hidden]{ display:none !important; }
.lpcn-profileModalBack{ position:absolute; inset:0; background:rgba(2,6,23,.6); backdrop-filter: blur(3px); }
.lpcn-profileModal .lpcn-modalCard{ max-width:760px; width:min(760px, calc(100vw - 22px)); }
.lpcn-modalCard{
  position:relative;
  max-width:980px;
  width:min(980px, calc(100vw - 22px));
  max-height:min(92vh, 820px);
  /*
    Mobile Safari + fixed overlays can behave poorly when the dialog itself is
    the scroll container. Make the BODY the scroll container so the header stays
    reachable and the dialog remains usable at all sizes.
  */
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.2);
  border-radius:22px;
  box-shadow:0 24px 90px rgba(0,0,0,.45);
}
.lpcn-modalHead{
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
  padding:14px 16px 10px;
  /* Header is outside the scroll container; keep it stable and visible. */
  position:relative;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(148,163,184,.22);
  z-index:2;
}
.lpcn-iconBtn{
  /* Modal close button (Kadence-safe) */
  border:1px solid rgba(148,163,184,.30) !important;
  background:rgba(255,255,255,.96) !important;
  color:var(--ink, #0f172a) !important;
  border-radius:12px !important;
  width:40px !important;
  height:40px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  font-weight:900 !important;
  font-size:18px !important;
  line-height:1 !important;
  box-shadow:0 10px 24px rgba(2,6,23,.08) !important;
}
.lpcn-iconBtn:hover{ filter:brightness(1.02); transform:translateY(-1px); }
.lpcn-iconBtn:active{ transform:translateY(0); }
.lpcn-modalBody{
  padding:14px 16px 18px;
  display:grid;
  gap:12px;
  /* This is the scroll container (see .lpcn-modalCard). */
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  flex:1 1 auto;
  min-height:0;
  overscroll-behavior:contain;
}
.lpcn-chartCard{
  border-radius:18px;
  border:1px solid rgba(148,163,184,.25);
  background:#fff;
  padding:12px;
}
.lpcn-chart{ height:180px; width:100%; }
.lpcn-modalActions{
  padding-top:10px;
  display:flex;
  justify-content:flex-end;
  /* Keep Done reachable on long modals (mobile especially). */
  position:sticky;
  bottom:0;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-top:1px solid rgba(148,163,184,.18);
  padding-bottom:12px;
}

.lpcn-formGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.lpcn-form textarea{ min-height:92px; resize:vertical; margin-top:10px; }
.lpcn-formMsg{ margin-top:10px; font-size:13px; color:var(--muted); }
.lpcn-lead{ padding:16px; }

@media (max-width: 980px){
  .lpcn-outcomes{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .lpcn-pricing{ grid-template-columns:1fr; }
  .lpcn-briefGrid{ grid-template-columns:1fr; }
  .lpcn-briefActions{ justify-content:flex-start; }
}

@media (max-width: 680px){
  .lpcn-outcomes{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .lpcn-head{ flex-direction:column; align-items:flex-start; }
  .lpcn-filters--compact{ width:100%; }
  .lpcn-input{ min-width:0; width:100%; }
  .lpcn-formGrid{ grid-template-columns:1fr; }
}

/*
  Modal: treat <=860px as "mobile".
  This covers phones, small tablets, and narrow browser windows.
*/
@media (max-width: 860px){
  /* Modal: make it truly usable on phones */
  .lpcn-modal{ align-items:stretch; justify-content:stretch; padding:0; }
  .lpcn-modalCard{ width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; height:100svh; max-height:100svh; border-radius:0; }
  .lpcn-modalHead{
    padding:12px 12px 10px;
    padding-top: calc(12px + env(safe-area-inset-top));
    gap:10px;
  }
  .lpcn-modalBody{ padding:12px; }
  .lpcn-chart{ height:170px; }
  .lpcn-tableTools{ padding:10px 10px 8px; flex-direction:column; align-items:flex-start; }
  .lpcn-tableTools .lpcn-btn{ width:100%; }
  .lpcn-table{ min-width:620px; } /* allows horizontal scroll for 6-column table */
  .lpcn-table th, .lpcn-table td{ padding:9px 8px; font-size:12px; }
  .lpcn-modalActions{ padding:10px 12px 14px; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }

  /* Modal details: prevent 2-column squeeze on phones */
  .lpcn-leaderStrip{ grid-template-columns: 1fr; }
}

@media (max-width: 420px){
  .lpcn-outcomes{ grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------
   Mobile layout hardening (portal-wide)
--------------------------------------------------------- */
@media (max-width: 760px){
  .lpcn-portal .lpcn-hero{ flex-direction:column; align-items:flex-start; }
  .lpcn-portal .lpcn-heroRight{ width:100%; justify-content:flex-start; }
}

@media (max-width: 560px){
  /* Tabs: allow swipe instead of crushing labels */
  .lpcn-tabs{ overflow:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; }
  .lpcn-tab{ flex:0 0 auto; min-width: 124px; scroll-snap-align:start; }
}

@media (max-width: 560px){
  /* Weekly Brief printable doc: prevent 6-up KPI grid from shrinking to dust */
  .lpcn-briefDoc__kpis{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lpcn-briefDoc__grid{ grid-template-columns: 1fr; }
}

@media (max-width: 420px){
  .lpcn-briefDoc__kpis{ grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------
   Upgrade UX (locked flow)
--------------------------------------------------------- */
.lpcn-upgradePlans{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.lpcn-upgradePlan{
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.88);
}
.lpcn-upgradePlan h4{ margin:0; font-size:13px; font-weight:900; }
.lpcn-upgradePlan p{ margin:6px 0 0; font-size:12px; color:var(--muted); }
.lpcn-upgradePlan .lpcn-btn{ width:100%; margin-top:10px; }
.lpcn-upgradePlan.is-rec{ border-color: rgba(255,45,85,.28); box-shadow: 0 14px 34px rgba(255,45,85,.08); }

@media (max-width: 680px){
  .lpcn-upgradePlans{ grid-template-columns: 1fr; }
}

/* ==========================================================
   THEME SHIELD (Kadence-safe)
   Purpose: prevent theme selectors like `.entry-content button`
   from overriding our component classes.
   ========================================================== */

/* Consistent sizing + typography inside the app */
.lpcn-wrap{ font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; line-height: 1.4; color: var(--ink); }
.lpcn-wrap, .lpcn-wrap *{ box-sizing: border-box; }

/* Headings / text (raise specificity vs theme element rules) */
.lpcn-wrap .lpcn-h2{ font-size:clamp(22px, 2.3vw, 30px); line-height:1.15; margin:0 0 10px; letter-spacing:-.01em; }
.lpcn-wrap .lpcn-sub{ font-size:13px; line-height:1.45; margin:0; color:var(--muted); }
.lpcn-wrap .lpcn-kicker{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; opacity:.75; }

/* Buttons / tabs (beat theme rules like `.entry-content button`) */
.lpcn-wrap button.lpcn-btn,
.lpcn-wrap a.lpcn-btn,
.lpcn-wrap .lpcn-btn{
  -webkit-appearance:none;
  appearance:none;
  padding:11px 14px;
  border-radius:12px;
  border:0;
  background: var(--brand);
  color:#fff;
  font: inherit;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(255,45,85,.25);
}
.lpcn-wrap .lpcn-btn:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.lpcn-wrap .lpcn-btn:active{ transform: translateY(0); }
.lpcn-wrap .lpcn-btn:focus{ outline:none; box-shadow: 0 0 0 3px rgba(255,45,85,.18), 0 10px 24px rgba(255,45,85,.25); }

.lpcn-landing button.lpcn-tab,
.lpcn-landing .lpcn-tab{
  -webkit-appearance:none;
  appearance:none;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  font: inherit;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
}
.lpcn-wrap .lpcn-tab[aria-pressed="true"]{ background: rgba(56,189,248,.20); border-color: rgba(56,189,248,.45); color: #eafcff; box-shadow: 0 10px 24px rgba(56,189,248,.10); }
.lpcn-wrap .lpcn-tab:hover{ background: rgba(255,255,255,.09); }

/* Inputs (beat theme `input`, `select`, `textarea` rules) */
.lpcn-wrap input.lpcn-input,
.lpcn-wrap select.lpcn-input,
.lpcn-wrap textarea.lpcn-input,
.lpcn-wrap .lpcn-input{
  -webkit-appearance:none;
  appearance:none;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #e7ecf2;
  background:#fff;
  color: var(--ink);
  font: inherit;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
}
.lpcn-wrap .lpcn-input:focus{ outline:none; box-shadow:0 0 0 4px rgba(255,45,85,.15); border-color:rgba(255,45,85,.45); }

/* Links */
.lpcn-wrap a.lpcn-link{ color: var(--ink); text-decoration: underline; text-decoration-color: rgba(236,72,153,.35); text-underline-offset: 3px; }
.lpcn-wrap a.lpcn-link:hover{ text-decoration-color: rgba(236,72,153,.55); }



/* Ensure Kadence button chrome never leaks onto card-buttons */
.lpcn-wrap button.lpcn-card,
.lpcn-wrap button.lpcn-outcome,
.lpcn-wrap button.lpcn-iconBtn{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:inherit !important;
}

/* PORTAL: final hardening (protect tab/button text against theme styles) */
.lpcn-portal button.lpcn-tab,
.lpcn-portal .lpcn-tab{
  color:var(--muted) !important;
}
.lpcn-portal button.lpcn-tab.is-active,
.lpcn-portal .lpcn-tab.is-active{
  color:var(--ink) !important;
}


/* ==========================================================
   Neobi Insights Portal — v1.2.0 UX additions
   ========================================================== */

/* Prevent “Refresh” from collapsing into a vertical word stack */
.lpcn-filters--compact .js-refresh{
  min-width: 120px;
  white-space: nowrap;
}

/* About layout + pricing cards */
.lpcn-aboutGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.lpcn-priceGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.lpcn-priceCard{
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.72);
  border-radius: 16px;
  padding: 14px;
  color: rgba(15,23,42,.92);
}

.lpcn-price{
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 6px 0 0;
}

.lpcn-priceAmt{
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.lpcn-pricePer{
  font-size: 13px;
  opacity: .8;
}

.lpcn-miniList{
  margin: 10px 0 0;
  padding-left: 18px;
  color: rgba(15,23,42,.78);
}

.lpcn-priceCard p{ color: rgba(15,23,42,.82); }
.lpcn-miniList strong{ color: rgba(15,23,42,.92); }

/* About readability hardening (theme-safe) */
.lpcn-priceCard{ color: rgba(15,23,42,.92) !important; }
.lpcn-priceCard .lpcn-h3{ color: rgba(15,23,42,.95) !important; }
.lpcn-priceCard .lpcn-miniList,
.lpcn-priceCard .lpcn-miniList li{ color: rgba(15,23,42,.84) !important; }
.lpcn-priceCard .lpcn-sub{ color: rgba(15,23,42,.72) !important; }
[data-dmxr-tone="dark"] .lpcn-priceCard{ background: rgba(17,24,39,.78) !important; border-color: rgba(255,255,255,.12) !important; color: rgba(255,255,255,.92) !important; }
[data-dmxr-tone="dark"] .lpcn-priceCard .lpcn-h3{ color: rgba(255,255,255,.95) !important; }
[data-dmxr-tone="dark"] .lpcn-priceCard .lpcn-miniList,
[data-dmxr-tone="dark"] .lpcn-priceCard .lpcn-miniList li{ color: rgba(255,255,255,.82) !important; }
[data-dmxr-tone="dark"] .lpcn-priceCard .lpcn-sub{ color: rgba(255,255,255,.70) !important; }

.lpcn-table td.ta-r,
.lpcn-table th.ta-r{
  font-variant-numeric: tabular-nums;
}

/* Mobile: stack About + filters cleanly */
@media (max-width: 860px){
  .lpcn-aboutGrid{
    grid-template-columns: 1fr;
  }
  .lpcn-priceGrid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px){
  .lpcn-filters--compact{
    grid-template-columns: 1fr 1fr;
  }
  .lpcn-filters--compact .js-refresh{
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }
  .lpcn-briefActions{
    justify-content: stretch;
  }
  .lpcn-briefActions .lpcn-btn{
    flex: 1;
  }
}




/* ==========================================================
   PREGNORF ✅ Theme-safety overrides + Brief action layout
   - Fixes Kadence/theme button defaults that can make text
     appear white-on-white (cards) or hide primary buttons.
   - Adds deterministic layout for Province/Audience/Window +
     Refresh/Export actions, responsive down to mobile.
   ========================================================== */

.lpcn-wrap button.lpcn-card{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  color:var(--ink, #0b1220) !important;
}
.lpcn-wrap button.lpcn-card .lpcn-title{ color:var(--ink, #0b1220) !important; }
.lpcn-wrap button.lpcn-card .lpcn-sub{ color:var(--muted, rgba(15,23,42,.62)) !important; }
.lpcn-wrap button.lpcn-card .lpcn-value{ color:var(--ink, #0b1220) !important; }

.lpcn-wrap button.lpcn-btn{
  writing-mode:horizontal-tb !important;
  transform:none !important;
  position:static !important;
  text-decoration:none !important;
  background:var(--brand, #ff2d55) !important;
  color:#fff !important;
}
.lpcn-wrap button.lpcn-btn--ghost{
  background:#f3f4f6 !important;
  color:var(--ink, #0b1220) !important;
  box-shadow:none !important;
}
.lpcn-wrap button.lpcn-btn--ghost:hover{
  background:#eceef2 !important;
}
.lpcn-wrap button.lpcn-btn:focus{
  outline:0 !important;
  box-shadow:0 0 0 4px rgba(255,45,85,.18) !important;
}
.lpcn-wrap button.lpcn-btn:disabled{
  opacity:.55 !important;
  cursor:not-allowed !important;
}

/* Brief (THIS WEEK) right-side controls */
.lpcn-actions{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}

@media (max-width: 860px){
  /* Mobile header actions: grid layout so nothing overflows */
  .lpcn-head{ align-items:flex-start; }
  .lpcn-actions{
    width:100%;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:10px;
    align-items:stretch;
    justify-content:stretch;
  }
  .lpcn-actions .lpcn-pill--live{ grid-column:1; }
  .lpcn-actions .js-planPill{ grid-column:2; }
  .lpcn-actions .lpcn-profilePicker{ grid-column:1 / -1; }
  .lpcn-actions .js-upgradeBtn{ grid-column:1; width:100%; }
  .lpcn-actions .js-weeklyBrief{ grid-column:2; width:100%; }
  .lpcn-actions .js-viewSelect{ grid-column:1 / -1; width:100%; }
  .lpcn-actions .js-saveView{ grid-column:1; width:100%; }
  .lpcn-actions .js-delView{ grid-column:2; width:100%; }
  .lpcn-actions a.lpcn-btn,
  .lpcn-actions button.lpcn-btn{
    width:100%;
  }
}


.lpcn-filters{
  display:grid;
  grid-template-columns:repeat(3, minmax(110px, 1fr));
  gap:10px 12px;
  align-items:end;
}
.lpcn-buttons{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.lpcn-buttons .lpcn-refreshBtn{ min-width:110px; }
.lpcn-buttons .lpcn-btn{ padding:10px 14px !important; border-radius:14px !important; }
@media (max-width: 860px){
  .lpcn-filters{ grid-template-columns:repeat(2, minmax(120px, 1fr)); }
}
@media (max-width: 640px){
  .lpcn-actions{ flex-direction:column; align-items:stretch; }
  .lpcn-filters{ grid-template-columns:1fr; }
  .lpcn-buttons{ justify-content:stretch; }
  .lpcn-buttons .lpcn-btn{ flex:1 1 auto; }
}

/* Modal close button safety */
.lpcn-modalClose{
  background:#fff !important;
  color:var(--ink, #0b1220) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:none !important;
}
.lpcn-modalClose:hover{ background:#f6f7f9 !important; }


/* Coming Soon outcome badge */
.lpcn-badgeSoon{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  line-height:18px;
  background:rgba(255,45,85,.12);
  border:1px solid rgba(255,45,85,.25);
  color:rgba(255,45,85,.95);
  vertical-align:middle;
}

.lpcn-outcome.is-soon{
  opacity:.86;
}

.lpcn-outcome.is-soon:hover{
  transform:none;
  box-shadow:none;
  border-color:rgba(148,163,184,.25);
}

/* ---------- Outcome modal: signal + leader strips ---------- */
.lpcn-insightStrip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:12px;
}
.lpcn-insightStrip:empty{ display:none; }
/* Hide “details” strips unless explicitly expanded via the Insight toggle. */
.lpcn-modal[data-details="0"] .lpcn-insightStrip{ display:none; }
.lpcn-modal[data-details="0"] .lpcn-leaderStrip{ display:none; }

.lpcn-modal[data-details="1"] .lpcn-insightStrip{ display:flex; }
.lpcn-modal[data-details="1"] .lpcn-leaderStrip{ display:grid; }

.lpcn-chip{
  border:1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.04);
  border-radius:14px;
  padding:10px 12px;
  min-width:120px;
  flex: 1 1 120px;
}

.lpcn-chipLabel{
  font-size:12px;
  color: rgba(15,23,42,.65);
  line-height:1.1;
}
.lpcn-chipVal{
  font-weight:700;
  font-size:14px;
  margin-top:4px;
}
.lpcn-chipSub{
  font-size:12px;
  color: rgba(15,23,42,.60);
  margin-top:4px;
}

.lpcn-leaderStrip{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  padding-top:12px;
}
.lpcn-leaderBox{
  border:1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
  border-radius:14px;
  padding:10px 12px;
}
.lpcn-leaderBox h4{
  margin:0 0 8px 0;
  font-size:13px;
  font-weight:700;
  letter-spacing:.2px;
}
.lpcn-leaderRow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-top:1px dashed rgba(15,23,42,.10);
}
.lpcn-leaderRow:first-of-type{ border-top:0; padding-top:0; }
.lpcn-leaderKey{
  font-size:12px;
  color: rgba(15,23,42,.85);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width: 65%;
}
.lpcn-leaderVal{
  font-size:12px;
  color: rgba(15,23,42,.70);
  white-space:nowrap;
}

@media (max-width: 740px){
  .lpcn-leaderStrip{ grid-template-columns: 1fr; }
  .lpcn-chip{ min-width: 0; }
}


/* ---------- Modal: reporting seg + narration ---------- */
.lpcn-seg{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
  padding:4px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
  width: fit-content;
  max-width: 100%;
}
.lpcn-segBtn{
  appearance:none;
  border:0;
  background:transparent;
  padding:7px 10px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  color: rgba(15,23,42,.78);
  cursor:pointer;
  line-height:1;
}
.lpcn-segBtn:hover{ background: rgba(15,23,42,.06); }
.lpcn-segBtn.is-active{
  background: rgba(255,255,255,.92);
  box-shadow: 0 1px 2px rgba(15,23,42,.10);
  color: rgba(15,23,42,.92);
}
.lpcn-segBtn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.lpcn-narration{
  padding:12px 12px 12px;
  display:grid;
  gap:10px;
}

/* Modal-specific: keep narration + CTA buttons away from card edges */
.lpcn-modal .lpcn-narration{
  padding:14px 16px 16px;
}
.lpcn-narration .lpcn-nBlock{
  border:1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.02);
  border-radius:14px;
  padding:10px 12px;
}
.lpcn-narration .lpcn-nTitle{
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  color: rgba(15,23,42,.80);
  margin:0 0 6px 0;
  text-transform: uppercase;
}
.lpcn-narration .lpcn-nText{
  margin:0;
  font-size:14px;
  color: rgba(15,23,42,.86);
  line-height:1.35;
}

.lpcn-narration .lpcn-nBecause{margin-top:8px;font-size:13px;line-height:1.35;opacity:.92;}
.lpcn-narration .lpcn-nBecause span{opacity:.75;margin-right:6px;}
.lpcn-narration .lpcn-nList{
  margin:0;
  padding-left:18px;
}
.lpcn-narration .lpcn-nList li{
  margin:6px 0;
  line-height:1.35;
}

.lpcn-narration .lpcn-nMeta{
  margin-top:10px;
  font-size:13px;
  color: rgba(15,23,42,.78);
}
.lpcn-narration .lpcn-nActions{
  margin-top:10px;
}
.lpcn-narration .lpcn-nToggle{
  appearance:none;
  border:1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.85);
  border-radius:12px;
  padding:8px 10px;
  font-size:13px;
  font-weight:700;
  color: rgba(15,23,42,.86);
  cursor:pointer;
}
.lpcn-narration .lpcn-nToggle:hover{
  background: rgba(255,255,255,.95);
}

@media (max-width: 680px){
  .lpcn-tableTools{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .lpcn-seg{ width:100%; }
  .lpcn-segBtn{ flex:1 1 auto; text-align:center; }
}



/* --- Plans + Locking (v1.3.5) --- */
.lpcn-pill--plan{
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
}

.lpcn-badgeLock{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 8px;
  font-size:12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.86);
  background: rgba(0,0,0,.18);
  margin-left:8px;
}

.lpcn-badgeFree{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 8px;
  font-size:12px;
  border-radius:999px;
  border:1px solid rgba(16,185,129,.35);
  color: rgba(16,185,129,.92);
  background: rgba(16,185,129,.12);
  margin-left:8px;
}

.lpcn-badgePreview{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 8px;
  font-size:12px;
  border-radius:999px;
  border:1px solid rgba(59,130,246,.35);
  color: rgba(59,130,246,.92);
  background: rgba(59,130,246,.12);
  margin-left:8px;
}

.lpcn-outcome.is-locked{
  position:relative;
  opacity:.95;
}

.lpcn-outcome.is-locked:after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:999px !important;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.28));
}

/* Preview cards should look clickable (not fully "blocked"). */
.lpcn-outcome.is-preview:after{
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.14));
}

/* ---------------------------------------------------------
   Free Preview overlay (tables)
--------------------------------------------------------- */
.lpcn-previewOverlay{
  position: sticky;
  bottom: 0;
  width: 100%;
  padding: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.92) 40%, rgba(255,255,255,.96));
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(148,163,184,.18);
}
.lpcn-previewOverlay__card{
  border: 1px solid rgba(59,130,246,.20);
  background: rgba(59,130,246,.06);
  border-radius: 14px;
  padding: 10px 12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.lpcn-previewOverlay__title{ font-weight:900; font-size:12px; letter-spacing:.2px; text-transform:uppercase; color:rgba(15,23,42,.78); }
.lpcn-previewOverlay__sub{ font-size:13px; color:rgba(15,23,42,.76); line-height:1.35; }
.lpcn-previewOverlay__actions{ display:flex; gap:10px; flex-wrap:wrap; }
@media (max-width: 560px){
  .lpcn-previewOverlay__actions{ flex-direction:column; }
  .lpcn-previewOverlay__actions .lpcn-btn{ width:100%; }
}

/* ---------------------------------------------------------
   AI Brief (Executive Summary + Action Plan)
--------------------------------------------------------- */
.lpcn-aiBrief{ display:grid; gap:10px; }
.lpcn-aiHeadline{ font-weight:900; font-size:14px; color:rgba(15,23,42,.92); }
.lpcn-aiBullets{ margin:0; padding-left:18px; }
.lpcn-aiBullets li{ margin:6px 0; font-size:13px; color:rgba(15,23,42,.86); line-height:1.35; }
.lpcn-aiDrivers{ font-size:13px; color:rgba(15,23,42,.78); }
.lpcn-aiDrivers span{ opacity:.75; margin-right:6px; }
.lpcn-aiPlanTitle{ font-weight:800; font-size:13px; margin-top:2px; color:rgba(15,23,42,.86); }
.lpcn-aiSteps{ margin:0; padding-left:18px; }
.lpcn-aiSteps li{ margin:6px 0; font-size:13px; color:rgba(15,23,42,.86); line-height:1.35; }
.lpcn-aiMeta{ font-size:12px; color:rgba(15,23,42,.70); }

.lpcn-planGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-top:14px;
}
@media (max-width: 980px){
  .lpcn-planGrid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .lpcn-planGrid{ grid-template-columns: 1fr; }
}

.lpcn-planCard{
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  background: var(--card);
  /* Kadence/theme hardening: ensure plan text is always readable */
  color: var(--ink) !important;
}


/* Plan covers (Plans tab) */
.lpcn-planCard{
  overflow:hidden;
}
.lpcn-planCover{
  height:110px;
  margin:-16px -16px 12px;
  border-radius:18px 18px 14px 14px;
  background-size:cover;
  background-repeat:no-repeat;
  /* Center by default — per-plan artwork can be pre-cropped */
  background-position:center;
  position:relative;
  transform:translateZ(0);
  transition:transform .18s ease, filter .18s ease;
  border-bottom:1px solid rgba(15,23,42,.10);
  filter:saturate(1.04) contrast(1.02);
}
.lpcn-planCover::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, var(--fx1, rgba(255,255,255,.10)), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.58) 100%);
  opacity:.95;
}
.lpcn-planCover::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(1200px 220px at 20% 10%, rgba(255,255,255,.22), transparent 55%);
  opacity:.85;
  mix-blend-mode:overlay;
}
.lpcn-planCard:hover .lpcn-planCover{
  transform:scale(1.02);
  filter:saturate(1.08) contrast(1.04);
}

/* Per-plan overlays + framing
 * Goal: keep the price block in the cover image centered and aligned with the matching plan.
 * The cover artwork has stacked price tiles on the left; we anchor X to the left and shift Y per plan.
 */
.lpcn-planCover--free{   --fx1: rgba(56, 189, 248, .22); }
.lpcn-planCover--starter{--fx1: rgba(255, 45, 85, .22); }
.lpcn-planCover--growth{ --fx1: rgba(34, 211, 238, .20); }
.lpcn-planCover--pro{    --fx1: rgba(245, 158, 11, .20); }

/* Plan CTA buttons */
.lpcn-btn--plan{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.lpcn-btn--plan.is-current{
  background:rgba(15,23,42,.06);
  color:var(--ink);
  box-shadow:none;
  cursor:default;
}

.lpcn-planCard.is-featured{
  border-color: rgba(255,45,85,.25);
  box-shadow: 0 14px 40px rgba(255,45,85,.08), var(--shadow);
}

.lpcn-planTop{ margin-bottom:12px; }

.lpcn-planPrice{
  font-size:30px;
  font-weight:800;
  letter-spacing:-0.02em;
  margin:8px 0 10px;
  color: var(--ink);
}

.lpcn-planPer{
  font-size:14px;
  opacity:.8;
  margin-left:6px;
  font-weight:700;
  color: var(--muted);
}

.lpcn-planList{
  margin:0 0 14px 18px;
  padding:0;
  line-height:1.45;
  color: var(--ink);
}

.lpcn-planList li{
  margin:6px 0;
  color: var(--ink);
}

.lpcn-upgradeMsg{
  margin:8px 0 10px;
  color: rgba(255,255,255,.92);
}

.lpcn-upgradeCta{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Profiles list */
.lpcn-profileList{ display:grid; gap:12px; }
.lpcn-emptyState{ padding:14px; border-radius:14px; border:1px dashed rgba(0,0,0,.18); background: rgba(255,255,255,.55); }
.lpcn-profileItem{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); }
.lpcn-profileItem.is-active{ border-color: rgba(45, 211, 111, .55); box-shadow: 0 0 0 2px rgba(45, 211, 111, .18) inset; }
.lpcn-profileMeta{ display:grid; gap:4px; }
.lpcn-profileName{ font-weight:700; color: var(--ink); }
.lpcn-profileSub{ font-size:12px; color: var(--muted) !important; }
.lpcn-profileBtns{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

/* Profiles — picker + status (PREGNORF ✅) */
.lpcn-profileTopRight{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.lpcn-profileStatus{ font-size:12px; color:var(--muted); padding:6px 10px; border-radius:999px; border:1px dashed rgba(0,0,0,.12); background: rgba(255,255,255,.55); }

.lpcn-profileOverview{ margin-top:12px; padding:12px; border-radius:14px; border:1px solid rgba(0,0,0,.08); background: rgba(0,0,0,.02); }

/* Small badge / tag (ensure contrast — theme-safe) */
.lpcn-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(15,23,42,.06);
  color: rgba(15,23,42,.92) !important;
  margin-left:8px;
}
.lpcn-badge a{ color: inherit !important; text-decoration:none; }

/* Profiles type badge (Brand/Product/Store) — force high contrast in all themes */
.lpcn-wrap .lpcn-profileItem .lpcn-badge{
  background: rgba(255,45,85,.14) !important;
  border-color: rgba(255,45,85,.28) !important;
  color: #0b1220 !important;
}

/* Segmented control (used in Profile modal) */
.lpcn-seg{ display:flex; gap:6px; padding:6px; border-radius:999px; background: rgba(0,0,0,.04); border:1px solid rgba(0,0,0,.10); }
.lpcn-segBtn{ appearance:none; border:1px solid transparent; background:transparent; padding:8px 10px; border-radius:999px; font-weight:800; font-size:12px; color: var(--muted); cursor:pointer; line-height:1; }
.lpcn-segBtn:hover{ background: rgba(0,0,0,.04); }
.lpcn-segBtn.is-active{ background: rgba(255,255,255,.95); border-color: rgba(0,0,0,.12); color: var(--ink); box-shadow:0 8px 18px rgba(2,6,23,.08); }
.lpcn-miniList{ margin:0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.45; }
.lpcn-miniList li{ margin:6px 0; }

.lpcn-profilePicker{ position:relative; }
.lpcn-profilePickerBtn{ cursor:pointer; }
.lpcn-profilePickerBtn .lpcn-caret{ font-size:12px; opacity:.8; }

.lpcn-profilePickerMenu{ position:absolute; right:0; top:calc(100% + 8px); min-width:260px; padding:8px; border-radius:14px; background: rgba(255,255,255,.98); border:1px solid rgba(0,0,0,.10); box-shadow:0 18px 40px rgba(2,6,23,.18); z-index:99999; }

.lpcn-profilePickItem{ width:100%; display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:10px; border-radius:12px; border:1px solid transparent; background:transparent; text-align:left; cursor:pointer; }
.lpcn-profilePickItem:hover{ background: rgba(0,0,0,.03); }
.lpcn-profilePickItem.is-active{ background: rgba(45,211,111,.10); border-color: rgba(45,211,111,.25); }
.lpcn-profilePickItem .meta{ display:grid; gap:2px; }
.lpcn-profilePickItem .name{ font-weight:700; color: var(--ink); }
.lpcn-profilePickItem .sub{ font-size:12px; color: var(--muted); }

@media (max-width: 640px){
  .lpcn-profileTopRight{ justify-content:flex-start; }
  .lpcn-profileStatus{ width:100%; }
  .lpcn-profilePickerMenu{ left:0; right:0; min-width:0; }
  .lpcn-profileItem{ flex-direction:column; }
  .lpcn-profileBtns{ justify-content:flex-start; }
}


.lpcn-suggest{ border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); padding:12px; }
.lpcn-suggest h4{ margin:0 0 6px; font-size:13px; }


/* Weekly Brief (print-friendly) */
.lpcn-briefDoc{
  border:1px solid var(--line, rgba(15,23,42,.12));
  background: rgba(255,255,255,.72);
  border-radius:999px !important;
  padding:16px;
  margin-top:12px;
  color: var(--ink, rgba(15,23,42,.92));
}
.lpcn-briefDoc__head{margin-bottom:12px}
.lpcn-briefDoc__kicker{
  letter-spacing:.16em;
  font-size:11px;
  text-transform:uppercase;
  color: var(--muted, #5b667a);
}
.lpcn-briefDoc__title{
  font-size:20px;
  font-weight:800;
  margin-top:6px;
  color: var(--ink, rgba(15,23,42,.92));
}
.lpcn-briefDoc__meta{margin-top:6px; font-size:12px; color: var(--muted, #5b667a);}
.lpcn-briefDoc__kpis{
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top:12px;
}
.lpcn-briefDoc__kpiBox{
  border:1px solid var(--line, rgba(15,23,42,.12));
  background: rgba(255,255,255,.88);
  border-radius:14px;
  padding:10px;
}
.lpcn-briefDoc__kpiLab{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color: var(--muted, #5b667a); }
.lpcn-briefDoc__kpi{font-size:18px;font-weight:800;color: var(--ink, rgba(15,23,42,.92));}
.lpcn-briefDoc__ai{margin:10px 0 14px 0;}
.lpcn-briefDoc__aiTitle{font-size:14px;font-weight:800;margin-bottom:6px;color: var(--ink, rgba(15,23,42,.92));}
.lpcn-briefDoc__aiExec{color: var(--ink, rgba(15,23,42,.92)); margin-bottom:10px;}
.lpcn-briefDoc__sectionTitle{margin-top:10px;font-size:13px;font-weight:800;color: var(--ink, rgba(15,23,42,.92));}
.lpcn-briefDoc__list{margin:8px 0 0 18px;}
.lpcn-briefDoc__list li{margin:8px 0;}
.lpcn-briefDoc__steps{margin:6px 0 0 18px;}
.lpcn-briefDoc__watch{margin:6px 0 0 18px;}
.lpcn-briefDoc__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.lpcn-briefDoc__card{
  border:1px solid var(--line, rgba(15,23,42,.12));
  background: rgba(255,255,255,.88);
  border-radius:999px !important;
  padding:12px;
}
.lpcn-briefDoc__cardTitle{font-weight:800;color: var(--ink, rgba(15,23,42,.92));}
.lpcn-briefDoc__sig{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.lpcn-briefDoc__sig .lpcn-pill{ font-size:11px; }
.lpcn-briefDoc__drivers{margin-top:10px;}
.lpcn-briefDoc__drivers table{width:100%; border-collapse:collapse; font-size:12px;}
.lpcn-briefDoc__drivers th, .lpcn-briefDoc__drivers td{padding:8px 6px; border-bottom:1px solid var(--line, rgba(15,23,42,.12)); text-align:left;}
.lpcn-briefDoc__drivers th{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color: var(--muted, #5b667a);}
.lpcn-briefDoc__drivers td{color: var(--ink, rgba(15,23,42,.92));}
.lpcn-briefDoc__drivers .ta-r{ text-align:right; }
.lpcn-briefDoc__drivers .ta-c{ text-align:center; }
.lpcn-briefDoc__outTop{margin:6px 0 0 18px;font-size:12px;color: var(--ink, rgba(15,23,42,.92));}
.lpcn-briefDoc__foot{margin-top:12px;font-size:12px;color: var(--muted, #5b667a);}

/* Dark portal support (DMXReady contracts / theme classes) */
body.dmxr-tone-dark .lpcn-briefDoc,
[data-dmxr-tone="dark"] .lpcn-briefDoc{
  border-color: rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.92);
}
body.dmxr-tone-dark .lpcn-briefDoc__kicker,
[data-dmxr-tone="dark"] .lpcn-briefDoc__kicker{ color: rgba(255,255,255,.72); }
body.dmxr-tone-dark .lpcn-briefDoc__title,
[data-dmxr-tone="dark"] .lpcn-briefDoc__title,
body.dmxr-tone-dark .lpcn-briefDoc__aiTitle,
[data-dmxr-tone="dark"] .lpcn-briefDoc__aiTitle,
body.dmxr-tone-dark .lpcn-briefDoc__sectionTitle,
[data-dmxr-tone="dark"] .lpcn-briefDoc__sectionTitle,
body.dmxr-tone-dark .lpcn-briefDoc__kpi,
[data-dmxr-tone="dark"] .lpcn-briefDoc__kpi,
body.dmxr-tone-dark .lpcn-briefDoc__aiExec,
[data-dmxr-tone="dark"] .lpcn-briefDoc__aiExec,
body.dmxr-tone-dark .lpcn-briefDoc__drivers td,
[data-dmxr-tone="dark"] .lpcn-briefDoc__drivers td,
body.dmxr-tone-dark .lpcn-briefDoc__cardTitle,
[data-dmxr-tone="dark"] .lpcn-briefDoc__cardTitle,
body.dmxr-tone-dark .lpcn-briefDoc__outTop,
[data-dmxr-tone="dark"] .lpcn-briefDoc__outTop{ color: rgba(255,255,255,.92); }
body.dmxr-tone-dark .lpcn-briefDoc__meta,
[data-dmxr-tone="dark"] .lpcn-briefDoc__meta,
body.dmxr-tone-dark .lpcn-briefDoc__kpiLab,
[data-dmxr-tone="dark"] .lpcn-briefDoc__kpiLab,
body.dmxr-tone-dark .lpcn-briefDoc__drivers th,
[data-dmxr-tone="dark"] .lpcn-briefDoc__drivers th,
body.dmxr-tone-dark .lpcn-briefDoc__foot,
[data-dmxr-tone="dark"] .lpcn-briefDoc__foot{ color: rgba(255,255,255,.72); }
body.dmxr-tone-dark .lpcn-briefDoc__kpiBox,
[data-dmxr-tone="dark"] .lpcn-briefDoc__kpiBox,
body.dmxr-tone-dark .lpcn-briefDoc__card,
[data-dmxr-tone="dark"] .lpcn-briefDoc__card{
  border-color: rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
}
body.dmxr-tone-dark .lpcn-briefDoc__drivers th, body.dmxr-tone-dark .lpcn-briefDoc__drivers td,
[data-dmxr-tone="dark"] .lpcn-briefDoc__drivers th, [data-dmxr-tone="dark"] .lpcn-briefDoc__drivers td{
  border-bottom-color: rgba(255,255,255,.10);
}
/* AI Copilot (floating chat) */
.lpcn-copilot{ position:fixed; right:18px; bottom:18px; z-index:999999; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.lpcn-copilotFab{ display:flex; align-items:center; gap:10px; border:1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.92); color:#111; border-radius:999px; padding:10px 14px; box-shadow: 0 10px 28px rgba(0,0,0,.18); cursor:pointer; }
.lpcn-copilotFab:hover{ transform: translateY(-1px); }
.lpcn-copilotFabDot{ width:10px; height:10px; border-radius:999px; background: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.lpcn-copilotFabText{ font-weight:800; font-size:13px; letter-spacing:.2px; }

.lpcn-copilotPanel{ position:absolute; right:0; bottom:56px; width:min(380px, calc(100vw - 30px)); max-height: min(520px, calc(100vh - 120px)); border:1px solid rgba(0,0,0,.12); background: rgba(255,255,255,.98); color:#111; border-radius:18px; box-shadow: 0 18px 46px rgba(0,0,0,.22); overflow:hidden; display:none; }
.lpcn-copilotPanel.is-open{ display:flex; flex-direction:column; }

.lpcn-copilotHeader{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:12px 12px 10px; border-bottom:1px solid rgba(0,0,0,.08); }
.lpcn-copilotTitleTop{ font-weight:900; font-size:14px; }
.lpcn-copilotTitleSub{ margin-top:2px; font-size:12px; color: rgba(0,0,0,.62); }
.lpcn-copilotClose{
  /* Explicit styling so the ✕ is always visible (theme-safe) */
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.92);
  color:var(--ink, #111);
  cursor:pointer;
  width:34px;
  height:34px;
  padding:0;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}
.lpcn-copilotClose:hover{ background: rgba(15,23,42,.06); }

.lpcn-copilotBody{ padding:10px 12px 0; display:flex; flex-direction:column; gap:10px; overflow:auto; }
.lpcn-copilotMsgs{ display:flex; flex-direction:column; gap:8px; overflow:auto; max-height: 320px; padding-right:2px; }
.lpcn-copilotHint{ font-size:12px; color: rgba(0,0,0,.55); padding: 0 2px 10px; }

.lpcn-copilotMsg{ display:flex; }
.lpcn-copilotMsg.is-user{ justify-content:flex-end; }
.lpcn-copilotMsg.is-ai{ justify-content:flex-start; }
.lpcn-copilotBubble{ max-width: 86%; white-space: pre-wrap; font-size:13px; line-height:1.35; padding:10px 12px; border-radius:14px; border:1px solid rgba(0,0,0,.10); }
.lpcn-copilotBubble.is-markdown{ white-space: normal; }
.lpcn-copilotBubble.is-markdown .lpcn-chatH1,
.lpcn-copilotBubble.is-markdown .lpcn-chatH2,
.lpcn-copilotBubble.is-markdown .lpcn-chatH3{ font-weight:800; margin:0 0 10px 0; }
.lpcn-copilotBubble.is-markdown .lpcn-chatH1{ font-size:15px; }
.lpcn-copilotBubble.is-markdown .lpcn-chatH2{ font-size:14px; }
.lpcn-copilotBubble.is-markdown .lpcn-chatH3{ font-size:13px; }
.lpcn-copilotBubble.is-markdown .lpcn-chatP{ margin:0 0 10px 0; }
.lpcn-copilotBubble.is-markdown .lpcn-chatUl,
.lpcn-copilotBubble.is-markdown .lpcn-chatOl{ margin:6px 0 10px 18px; padding:0; }
.lpcn-copilotBubble.is-markdown .lpcn-chatSp{ height:8px; }
.lpcn-copilotBubble.is-markdown strong{ font-weight:800; }

.lpcn-copilotMsg.is-user .lpcn-copilotBubble{ background:#111; color:#fff; border-color:#111; }
.lpcn-copilotMsg.is-ai .lpcn-copilotBubble{ background: rgba(0,0,0,.03); }

.lpcn-copilotFooter{ padding:10px 12px 12px; border-top:1px solid rgba(0,0,0,.08); }
.lpcn-copilotLock{ margin-bottom:8px; font-size:12px; color: rgba(0,0,0,.72); }
.lpcn-copilotLock a{ font-weight:800; text-decoration:underline; }
.lpcn-copilotRow{ display:flex; gap:8px; align-items:flex-end; }
.lpcn-copilotInput{ flex:1; resize:none; border:1px solid rgba(0,0,0,.12); border-radius:14px; padding:10px 10px; font-size:13px; line-height:1.35; background:#fff; }
.lpcn-copilotSend{ border:0; border-radius:14px; padding:10px 12px; font-weight:900; font-size:13px; cursor:pointer; background:#2563eb; color:#fff; }
.lpcn-copilotSend:disabled{ opacity:.6; cursor:not-allowed; }
.lpcn-copilotMic{
  flex:0 0 auto;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.92);
  box-shadow:0 10px 26px rgba(2,6,23,.10);
  cursor:pointer;
  font-size:18px !important;
  line-height:1 !important;
}

.lpcn-copilotRow .lpcn-copilotMic{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  font-size:18px !important;
}

.lpcn-copilotMic.is-on{ background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.22); }

@media (max-width: 520px){
  .lpcn-copilot{ right:12px; bottom:12px; }
  .lpcn-copilotPanel{ bottom:52px; }
}



/* ----------------------------------------------------------
   Premium loading + empty states (PREGNORF ✅)
---------------------------------------------------------- */
.lpcn-btn--sm{ padding:8px 10px; border-radius:10px; font-size:12px; font-weight:800; }

.lpcn-emptyBox,
.lpcn-emptyRow{
  padding:12px;
  border-radius:12px;
  border:1px dashed rgba(0,0,0,.14);
  background: rgba(0,0,0,.02);
}
.lpcn-emptyTitle{ font-weight:900; color: var(--ink); }

.lpcn-skel{ display:grid; gap:10px; }
.lpcn-skelLine{
  height:12px;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(0,0,0,.06), rgba(0,0,0,.10), rgba(0,0,0,.06));
  background-size: 200% 100%;
  animation: lpcnShimmer 1.15s ease-in-out infinite;
}
.lpcn-skelChart{ padding:12px; border-radius:12px; border:1px solid rgba(0,0,0,.06); background: rgba(0,0,0,.02); display:grid; gap:12px; }
.lpcn-skelRow td{ padding-top:10px !important; padding-bottom:10px !important; }
@keyframes lpcnShimmer{
  0%{ background-position: 0% 0; }
  100%{ background-position: 200% 0; }
}

/* (PREGNORF ✅) Pill contrast hardening (Kadence/theme-safe)
   Fix: profile picker pills and "Active" pill showing white-on-white due to inherited button/link colors.
   Rule: pills must always be readable regardless of theme typography styles.
*/
.lpcn-wrap .lpcn-pill,
.lpcn-wrap a.lpcn-pill,
.lpcn-wrap button.lpcn-pill{
  color:#0f172a !important;
  background:#ffffff !important;
  border-color:rgba(15,23,42,.18) !important;
}
.lpcn-wrap .lpcn-profilePickerBtn{
  color:#0f172a !important;
  background:#ffffff !important;
}
.lpcn-wrap .lpcn-profilePickItem .lpcn-pill{
  border-color:rgba(16,185,129,.35) !important;
  background:rgba(16,185,129,.10) !important;
  color:#065f46 !important;
}


/* ---------------------------------------------------------
   Mobile modal refactor (outcome + profile modals)
--------------------------------------------------------- */
@media (max-width: 920px){
  .lpcn-modal,
  .lpcn-profileModal{
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
  }
  .lpcn-modal .lpcn-modalCard,
  .lpcn-profileModal .lpcn-modalCard{
    width:100vw !important;
    max-width:100vw !important;
    min-height:100svh !important;
    min-height:100dvh !important;
    height:100svh !important;
    height:100dvh !important;
    max-height:none !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto;
  }
  .lpcn-modal .lpcn-modalHead,
  .lpcn-profileModal .lpcn-modalHead{
    position:sticky;
    top:0;
    z-index:4;
    padding:12px 12px 10px !important;
    padding-top:calc(12px + env(safe-area-inset-top)) !important;
  }
  .lpcn-modal .lpcn-modalBody,
  .lpcn-profileModal .lpcn-modalBody{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain;
    min-height:0;
    padding:12px !important;
    gap:10px !important;
  }
  .lpcn-modal .lpcn-modalActions,
  .lpcn-profileModal .lpcn-modalActions{
    position:sticky;
    bottom:0;
    z-index:4;
    margin:0;
    padding:10px 12px calc(14px + env(safe-area-inset-bottom)) !important;
    background:rgba(255,255,255,.96);
  }
  .lpcn-modal .lpcn-tableTools,
  .lpcn-profileModal .lpcn-tableTools{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .lpcn-modal .lpcn-tableTools .lpcn-btn,
  .lpcn-profileModal .lpcn-tableTools .lpcn-btn,
  .lpcn-modal .lpcn-tableTools .lpcn-input,
  .lpcn-profileModal .lpcn-tableTools .lpcn-input{
    width:100%;
  }
  .lpcn-modal .lpcn-seg,
  .lpcn-profileModal .lpcn-seg{
    display:flex;
    flex-wrap:nowrap;
    overflow:auto;
    width:100%;
    -webkit-overflow-scrolling:touch;
  }
  .lpcn-modal .lpcn-segBtn,
  .lpcn-profileModal .lpcn-segBtn{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .lpcn-modal .lpcn-chart{ height:160px; }
  .lpcn-modal .lpcn-table{ min-width:640px; }
  .lpcn-profileModal .lpcn-row{ flex-direction:column; align-items:stretch !important; }
  .lpcn-profileModal .lpcn-row > div{ min-width:0 !important; width:100% !important; flex:1 1 auto !important; }
}


.lpcn-profileOverview a.lpcn-link, .lpcn-sub a.lpcn-link{ font-weight:700; }
