:root{
  --nqg-ink:#13233d;--nqg-muted:#637792;--nqg-line:#d9e4f0;
  --nqg-blue:#183f91;--nqg-violet:#6d45dc;--nqg-cyan:#27dff0;
  --nqg-green:#18a876;--nqg-paper:#fff;--nqg-bg:#f3f7fc;
  --nqg-shadow:0 24px 70px rgba(18,36,69,.20)
}
.sidebar .nqg-secondary .soon,.sidebar .side-link .soon{
  margin-left:auto;padding:4px 7px;border-radius:999px;color:#6a43bd;
  background:#eee8ff;font-size:.55rem;line-height:1;text-transform:uppercase;
  letter-spacing:.04em;font-weight:950
}
.sidebar .nqg-more{display:none!important;border:0;cursor:pointer}
.nqg-header-plan{
  display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;
  padding:0 13px;border:1px solid #cdd9e8;border-radius:13px;background:#fff;
  color:var(--nqg-blue);cursor:pointer;font:900 .76rem/1.1 Inter,"Segoe UI",Arial,sans-serif;
  white-space:nowrap
}
.nqg-header-plan b{
  display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;
  padding:0 6px;border-radius:8px;color:#fff;
  background:linear-gradient(135deg,var(--nqg-blue),var(--nqg-violet));
  font-size:.58rem;letter-spacing:.04em
}
.nqg-widget{
  position:fixed;right:20px;bottom:22px;z-index:520;width:min(305px,calc(100vw - 36px));
  overflow:hidden;border:1px solid rgba(137,159,197,.42);border-radius:20px;
  background:linear-gradient(145deg,#09254a 0%,#173f91 52%,#6d45dc 100%);
  color:#fff;box-shadow:var(--nqg-shadow);font-family:Inter,"Segoe UI",Arial,sans-serif;
  transition:transform .2s ease,opacity .2s ease
}
.nqg-widget[hidden]{display:none!important}
.nqg-widget-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px 0}
.nqg-widget-plan{
  display:inline-flex;align-items:center;gap:7px;color:#bdf8ff;font-size:.62rem;
  text-transform:uppercase;letter-spacing:.12em;font-weight:950
}
.nqg-widget-plan::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--nqg-cyan);
  box-shadow:0 0 0 5px rgba(39,223,240,.12)
}
.nqg-widget-collapse{
  display:flex;width:31px;height:31px;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fff;
  background:rgba(0,0,0,.12);cursor:pointer;font-weight:900
}
.nqg-widget-body{padding:10px 14px 14px}
.nqg-widget h3{margin:0 0 6px;font-size:1.02rem;line-height:1.25}
.nqg-widget p{margin:0;color:#dbe8ff;font-size:.72rem;line-height:1.52}
.nqg-widget-actions{display:flex;gap:8px;margin-top:12px}
.nqg-widget-open{
  flex:1;min-height:40px;border:0;border-radius:999px;color:#10223f;
  background:linear-gradient(135deg,#bdf8ff,#fff);cursor:pointer;font-weight:950;font-size:.72rem
}
.nqg-widget-mini{
  position:fixed;right:16px;bottom:18px;z-index:519;display:none;min-height:42px;
  align-items:center;gap:8px;padding:0 14px;border:0;border-radius:999px;color:#fff;
  background:linear-gradient(135deg,var(--nqg-blue),var(--nqg-violet));
  box-shadow:var(--nqg-shadow);cursor:pointer;font-weight:950;font-size:.72rem
}
.nqg-widget-mini.is-visible{display:inline-flex}
.nqg-widget-mini::before{content:"↑";font-size:.9rem}
.nqg-modal{
  position:fixed;inset:0;z-index:900;display:none;align-items:center;justify-content:center;
  padding:22px;background:rgba(5,18,42,.72);backdrop-filter:blur(11px);
  font-family:Inter,"Segoe UI",Arial,sans-serif
}
.nqg-modal.is-open{display:flex}
.nqg-dialog{
  width:min(1180px,100%);max-height:min(900px,94vh);overflow:auto;
  border:1px solid rgba(255,255,255,.25);border-radius:26px;background:#f6f9fd;
  color:var(--nqg-ink);box-shadow:0 36px 100px rgba(0,0,0,.35)
}
.nqg-dialog-top{
  position:sticky;top:0;z-index:4;display:flex;align-items:start;justify-content:space-between;
  gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--nqg-line);
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px)
}
.nqg-dialog-top small{
  display:block;margin-bottom:7px;color:#5d43c6;font-size:.65rem;text-transform:uppercase;
  letter-spacing:.12em;font-weight:950
}
.nqg-dialog-top h2{margin:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.04;letter-spacing:-.04em}
.nqg-dialog-top p{max-width:760px;margin:8px 0 0;color:var(--nqg-muted);font-size:.82rem;line-height:1.55}
.nqg-modal-close{
  flex:0 0 auto;display:flex;width:42px;height:42px;align-items:center;justify-content:center;
  border:1px solid var(--nqg-line);border-radius:13px;background:#fff;color:var(--nqg-blue);
  cursor:pointer;font-size:1.2rem;font-weight:900
}
.nqg-preview-note{
  margin:18px 24px 0;padding:12px 14px;border:1px solid #cce4de;border-radius:14px;
  background:#eaf9f4;color:#23634f;font-size:.73rem;line-height:1.5
}
.nqg-billing-switch{
  display:flex;width:max-content;max-width:calc(100% - 48px);margin:18px auto 0;
  padding:4px;border:1px solid var(--nqg-line);border-radius:999px;background:#fff
}
.nqg-billing-switch button{
  min-height:37px;padding:0 15px;border:0;border-radius:999px;color:#5d7089;
  background:transparent;cursor:pointer;font-weight:900;font-size:.72rem
}
.nqg-billing-switch button.active{
  color:#fff;background:linear-gradient(135deg,var(--nqg-blue),var(--nqg-violet))
}
.nqg-plans{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 24px
}
.nqg-plan{
  position:relative;display:flex;min-width:0;flex-direction:column;padding:18px;
  border:1px solid var(--nqg-line);border-radius:19px;background:#fff;
  box-shadow:0 12px 34px rgba(25,46,82,.07)
}
.nqg-plan.recommended{border:2px solid #7651e2;transform:translateY(-5px)}
.nqg-plan-ribbon{
  position:absolute;right:13px;top:13px;padding:5px 8px;border-radius:999px;color:#fff;
  background:var(--nqg-violet);font-size:.54rem;text-transform:uppercase;font-weight:950
}
.nqg-plan-kind{color:#667992;font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;font-weight:950}
.nqg-plan h3{margin:7px 0 4px;font-size:1.16rem}
.nqg-plan-audience{min-height:35px;margin:0;color:var(--nqg-muted);font-size:.7rem;line-height:1.45}
.nqg-price{display:flex;align-items:baseline;gap:5px;margin:13px 0 11px}
.nqg-price strong{font-size:1.75rem;letter-spacing:-.04em}
.nqg-price span{color:var(--nqg-muted);font-size:.68rem}
.nqg-plan ul{display:grid;gap:7px;margin:0 0 17px;padding:0;list-style:none}
.nqg-plan li{position:relative;padding-left:17px;color:#374a64;font-size:.7rem;line-height:1.42}
.nqg-plan li::before{content:"✓";position:absolute;left:0;color:var(--nqg-green);font-weight:950}
.nqg-plan-action{
  display:flex;min-height:43px;align-items:center;justify-content:center;margin-top:auto;
  padding:0 12px;border:1px solid var(--nqg-line);border-radius:999px;color:var(--nqg-blue);
  background:#fff;text-decoration:none;cursor:pointer;font-weight:950;font-size:.7rem
}
.nqg-plan.recommended .nqg-plan-action{
  border:0;color:#fff;background:linear-gradient(135deg,var(--nqg-blue),var(--nqg-violet))
}
.nqg-suite{
  margin:0 24px 22px;padding:18px;border:1px solid var(--nqg-line);
  border-radius:18px;background:#fff
}
.nqg-suite h3{margin:0 0 5px}
.nqg-suite>p{margin:0;color:var(--nqg-muted);font-size:.73rem;line-height:1.5}
.nqg-suite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}
.nqg-suite-item{padding:12px;border-radius:13px;background:#f3f7fc}
.nqg-suite-item b{display:block;font-size:.72rem}
.nqg-suite-item span{display:block;margin-top:4px;color:var(--nqg-muted);font-size:.66rem;line-height:1.42}
.nqg-inline-upgrade{
  display:flex!important;align-items:center;justify-content:space-between;gap:18px;
  margin-top:14px!important;padding:18px 20px!important;border:1px solid #cfc4fb!important;
  background:linear-gradient(135deg,#f7f4ff,#eefbff)!important;color:var(--nqg-ink)!important
}
.nqg-inline-upgrade h2{margin:0 0 5px!important;font-size:1.15rem!important}
.nqg-inline-upgrade p{
  margin:0!important;color:var(--nqg-muted)!important;font-size:.74rem!important;line-height:1.5!important
}
.nqg-inline-upgrade button{
  flex:0 0 auto;min-height:43px;padding:0 15px;border:0;border-radius:999px;color:#fff;
  background:linear-gradient(135deg,var(--nqg-blue),var(--nqg-violet));
  cursor:pointer;font-weight:950;font-size:.72rem
}
.nqg-more-panel{
  position:fixed;right:12px;bottom:78px;z-index:700;display:none;width:245px;padding:10px;
  border:1px solid var(--nqg-line);border-radius:17px;background:#fff;box-shadow:var(--nqg-shadow)
}
.nqg-more-panel.is-open{display:block}
.nqg-more-panel a,.nqg-more-panel button{
  display:flex;width:100%;align-items:center;gap:10px;padding:11px;border:0;border-radius:11px;
  color:var(--nqg-ink);background:transparent;text-align:left;text-decoration:none;
  cursor:pointer;font-weight:850;font-size:.76rem
}
.nqg-more-panel a:hover,.nqg-more-panel button:hover{background:#eef3ff}
.nqg-more-panel i{
  display:flex;width:31px;height:31px;align-items:center;justify-content:center;
  border-radius:9px;background:#edf2fb;font-style:normal;font-size:.62rem
}
.nqg-more-panel small{margin-left:auto;color:#7651e2;font-size:.55rem;text-transform:uppercase;font-weight:950}
.nq-journey-step.locked{cursor:pointer}
.nq-journey-step.locked:hover{border-color:#7a55df!important;background:#f7f3ff!important}
@media(max-width:1180px){
  .nqg-plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nqg-plan.recommended{transform:none}
  .nqg-suite-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .sidebar .nqg-secondary{display:none!important}
  .sidebar .nqg-more{display:flex!important}
  .nqg-header-plan span{display:none}
  .nqg-header-plan{min-width:42px;padding:0 8px}
  .nqg-widget{right:10px;bottom:77px;width:min(300px,calc(100vw - 20px))}
  .nqg-widget-mini{right:10px;bottom:77px}
  .nqg-modal{padding:0;align-items:flex-end}
  .nqg-dialog{width:100%;max-height:94vh;border-radius:24px 24px 0 0}
  .nqg-dialog-top{padding:18px 16px 14px}
  .nqg-preview-note{margin:14px 14px 0}
  .nqg-billing-switch{max-width:calc(100% - 28px)}
  .nqg-plans{grid-template-columns:1fr;padding:15px 14px}
  .nqg-suite{margin:0 14px 16px}
  .nqg-suite-grid{grid-template-columns:1fr}
  .nqg-inline-upgrade{align-items:flex-start;flex-direction:column}
}
@media print{
  .nqg-widget,.nqg-widget-mini,.nqg-modal,.nqg-header-plan,
  .nqg-more-panel,.nqg-inline-upgrade{display:none!important}
}

/* =========================================================
   NUVYQO PHASE 8A.1 — PREMIUM VISUAL LAYER
   Replaces only the shared presentation. No JS/API changes.
   ========================================================= */

:root{
  --nq-premium-midnight:#061a38;
  --nq-premium-navy:#0a2f68;
  --nq-premium-indigo:#4030b8;
  --nq-premium-violet:#7a2fd0;
  --nq-premium-cyan:#2be2ef;
  --nq-premium-mint:#73f4ca;
  --nq-premium-gold:#ffca55;
  --nq-premium-coral:#ff735c;
  --nq-premium-rose:#d7358a;
}

/* ---------- Header plan control ---------- */
.nqg-header-plan{
  position:relative;
  overflow:hidden;
  border-color:#c7baf7;
  color:#fff;
  background:
    radial-gradient(circle at 10% 0%,rgba(43,226,239,.35),transparent 36%),
    linear-gradient(135deg,#112d73 0%,#4832b8 55%,#7a2fd0 100%);
  box-shadow:0 10px 28px rgba(70,48,184,.22);
}
.nqg-header-plan::after{
  content:"";
  position:absolute;
  inset:-80% auto -80% -45%;
  width:34%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transition:left .45s ease;
}
.nqg-header-plan:hover::after{left:120%}
.nqg-header-plan b{
  color:#071a39;
  background:linear-gradient(135deg,#74f2ff,#fff);
  box-shadow:0 4px 12px rgba(43,226,239,.28);
}

/* ---------- Persistent premium growth widget ---------- */
.nqg-widget{
  isolation:isolate;
  border:1px solid rgba(255,212,103,.70);
  background:
    radial-gradient(circle at 92% 3%,rgba(255,202,85,.30),transparent 28%),
    radial-gradient(circle at 5% 100%,rgba(43,226,239,.25),transparent 34%),
    linear-gradient(145deg,#45105e 0%,#172c86 50%,#006676 100%);
  box-shadow:
    0 24px 70px rgba(36,16,91,.38),
    0 0 0 5px rgba(255,202,85,.08);
}
.nqg-widget::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-2px;
  border-radius:22px;
  background:conic-gradient(
    from 90deg,
    #ffca55,
    #ff735c,
    #d7358a,
    #7048eb,
    #2be2ef,
    #73f4ca,
    #ffca55
  );
  filter:blur(12px);
  opacity:.32;
  animation:nqPremiumHalo 7s linear infinite;
}
.nqg-widget::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.13) 47%,transparent 56%);
  transform:translateX(-110%);
  animation:nqPremiumSheen 8s ease-in-out infinite;
}
.nqg-widget-head,.nqg-widget-body{position:relative;z-index:1}
.nqg-widget-plan{
  color:#fff3c4;
  text-shadow:0 1px 12px rgba(0,0,0,.28);
}
.nqg-widget-plan::before{
  background:#ffca55;
  box-shadow:
    0 0 0 5px rgba(255,202,85,.16),
    0 0 18px rgba(255,202,85,.85);
}
.nqg-widget h3{
  color:#fff;
  font-size:1.08rem;
  letter-spacing:-.015em;
  text-shadow:0 2px 16px rgba(0,0,0,.28);
}
.nqg-widget p{color:#eef7ff}
.nqg-widget-collapse{
  border-color:rgba(255,255,255,.45);
  background:rgba(8,18,61,.30);
  backdrop-filter:blur(8px);
}
.nqg-widget-collapse:hover{background:rgba(255,255,255,.18)}
.nqg-widget-open{
  border:1px solid rgba(255,255,255,.80);
  color:#271552;
  background:linear-gradient(135deg,#fff3b6 0%,#fff 48%,#aef7ff 100%);
  box-shadow:0 12px 26px rgba(0,0,0,.20);
}
.nqg-widget-open:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(0,0,0,.25);
}
.nqg-widget-mini{
  border:1px solid rgba(255,220,126,.75);
  background:
    radial-gradient(circle at 90% 0%,rgba(255,220,126,.42),transparent 34%),
    linear-gradient(135deg,#9b1b64 0%,#5a2cc5 52%,#075d79 100%);
  box-shadow:
    0 18px 48px rgba(68,21,122,.38),
    0 0 0 5px rgba(255,202,85,.10);
  animation:nqPremiumMiniPulse 2.6s ease-in-out infinite;
}

/* ---------- Premium modal shell ---------- */
.nqg-modal{
  background:
    radial-gradient(circle at 14% 12%,rgba(43,226,239,.16),transparent 28%),
    radial-gradient(circle at 86% 90%,rgba(215,53,138,.18),transparent 32%),
    rgba(3,12,31,.82);
}
.nqg-dialog{
  overflow:auto;
  border-color:rgba(255,255,255,.35);
  background:
    radial-gradient(circle at 50% -15%,rgba(118,80,235,.18),transparent 38%),
    #f4f7fc;
  box-shadow:
    0 42px 120px rgba(0,0,0,.50),
    0 0 0 1px rgba(255,255,255,.10) inset;
}
.nqg-dialog-top{
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,202,85,.22),transparent 24%),
    radial-gradient(circle at 12% 100%,rgba(43,226,239,.20),transparent 32%),
    linear-gradient(115deg,#071c40 0%,#2f237f 55%,#711f82 100%);
}
.nqg-dialog-top small{color:#8cf6ff}
.nqg-dialog-top h2{color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.28)}
.nqg-dialog-top p{color:#e5ecff}
.nqg-modal-close{
  border-color:rgba(255,255,255,.48);
  color:#fff;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
.nqg-modal-close:hover{background:rgba(255,255,255,.20)}
.nqg-preview-note{
  border-color:#ebca6b;
  color:#5e4200;
  background:
    linear-gradient(135deg,#fff7d3,#fffdf2);
  box-shadow:0 8px 22px rgba(123,86,0,.08);
}
.nqg-billing-switch{
  border-color:#c7baf7;
  box-shadow:0 10px 26px rgba(55,43,133,.10);
}
.nqg-billing-switch button.active{
  background:linear-gradient(135deg,#143e98,#7040da 65%,#a12eaa);
  box-shadow:0 7px 17px rgba(80,48,186,.24);
}

/* ---------- Each plan gets a separate premium identity ---------- */
.nqg-plans{gap:15px}
.nqg-plan{
  overflow:hidden;
  border-width:1px;
  box-shadow:
    0 18px 45px rgba(19,35,61,.10),
    0 1px 0 rgba(255,255,255,.80) inset;
}
.nqg-plan::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:var(--plan-accent,#315dd1);
}
.nqg-plan::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-115px;
  top:-105px;
  border-radius:50%;
  background:var(--plan-orb,rgba(49,93,209,.13));
  pointer-events:none;
}
.nqg-plan:hover{
  transform:translateY(-6px);
  box-shadow:0 27px 65px rgba(19,35,61,.18);
}
.nqg-plan[data-plan="Free"]{
  --plan-accent:linear-gradient(90deg,#1587b8,#2be2ef);
  --plan-orb:rgba(43,226,239,.22);
  border-color:#b8dded;
  background:
    radial-gradient(circle at 100% 0%,rgba(43,226,239,.15),transparent 32%),
    linear-gradient(160deg,#f5fbff,#e7f4fb);
}
.nqg-plan[data-plan="Free"] .nqg-plan-kind{color:#086b94}
.nqg-plan[data-plan="Free"] .nqg-plan-action{
  border-color:#83c8df;
  color:#075f83;
  background:#fafdff;
}
.nqg-plan[data-plan="Growth"]{
  --plan-accent:linear-gradient(90deg,#7bf1ff,#b58cff,#ff8ecf);
  --plan-orb:rgba(149,109,255,.30);
  border-color:#9f8cff;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,142,207,.24),transparent 31%),
    radial-gradient(circle at 0% 100%,rgba(43,226,239,.20),transparent 35%),
    linear-gradient(155deg,#101c56 0%,#3c2aa4 52%,#702eae 100%);
  box-shadow:
    0 26px 68px rgba(60,42,164,.30),
    0 0 0 1px rgba(255,255,255,.13) inset;
}
.nqg-plan[data-plan="Growth"] .nqg-plan-kind,
.nqg-plan[data-plan="Growth"] .nqg-plan-audience,
.nqg-plan[data-plan="Growth"] .nq-price span,
.nqg-plan[data-plan="Growth"] .nqg-price span,
.nqg-plan[data-plan="Growth"] li{color:#edf0ff}
.nqg-plan[data-plan="Growth"] h3,
.nqg-plan[data-plan="Growth"] .nqg-price strong{color:#fff}
.nqg-plan[data-plan="Growth"] li::before{color:#73f4ca}
.nqg-plan[data-plan="Growth"] .nqg-plan-action{
  border:1px solid rgba(255,255,255,.70);
  color:#25205f;
  background:linear-gradient(135deg,#fff,#bff8ff);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
.nqg-plan[data-plan="Professional"]{
  --plan-accent:linear-gradient(90deg,#ffca55,#ff735c,#ef4aa5);
  --plan-orb:rgba(255,202,85,.28);
  border-color:#f4a76e;
  color:#fff;
  background:
    radial-gradient(circle at 94% 3%,rgba(255,202,85,.26),transparent 28%),
    radial-gradient(circle at 0% 100%,rgba(239,74,165,.24),transparent 36%),
    linear-gradient(150deg,#3e153e 0%,#8b214f 55%,#b63d32 100%);
}
.nqg-plan[data-plan="Professional"] .nqg-plan-kind,
.nqg-plan[data-plan="Professional"] .nqg-plan-audience,
.nqg-plan[data-plan="Professional"] .nqg-price span,
.nqg-plan[data-plan="Professional"] li{color:#fff0f4}
.nqg-plan[data-plan="Professional"] h3,
.nqg-plan[data-plan="Professional"] .nqg-price strong{color:#fff}
.nqg-plan[data-plan="Professional"] li::before{color:#ffdf87}
.nqg-plan[data-plan="Professional"] .nqg-plan-action{
  border-color:#ffd281;
  color:#5d1a2d;
  background:linear-gradient(135deg,#fff7cf,#fff);
}
.nqg-plan[data-plan="Implementation"]{
  --plan-accent:linear-gradient(90deg,#73f4ca,#2be2ef,#5393ff);
  --plan-orb:rgba(43,226,239,.22);
  border-color:#4fb0ba;
  color:#fff;
  background:
    radial-gradient(circle at 95% 0%,rgba(43,226,239,.20),transparent 30%),
    linear-gradient(150deg,#052938 0%,#075a66 52%,#133c79 100%);
}
.nqg-plan[data-plan="Implementation"] .nqg-plan-kind,
.nqg-plan[data-plan="Implementation"] .nqg-plan-audience,
.nqg-plan[data-plan="Implementation"] .nqg-price span,
.nqg-plan[data-plan="Implementation"] li{color:#e5fbff}
.nqg-plan[data-plan="Implementation"] h3,
.nqg-plan[data-plan="Implementation"] .nqg-price strong{color:#fff}
.nqg-plan[data-plan="Implementation"] li::before{color:#73f4ca}
.nqg-plan[data-plan="Implementation"] .nqg-plan-action{
  border-color:#8ef4e1;
  color:#053d48;
  background:linear-gradient(135deg,#d8fff7,#fff);
}
.nqg-plan.recommended{
  transform:translateY(-9px) scale(1.018);
  border-width:2px;
}
.nqg-plan-ribbon{
  color:#20164f;
  background:linear-gradient(135deg,#fff0a3,#fff,#a9f7ff);
  box-shadow:0 7px 18px rgba(0,0,0,.22);
}
.nqg-suite{
  border-color:#c9d6e8;
  background:
    radial-gradient(circle at 100% 0%,rgba(43,226,239,.09),transparent 25%),
    linear-gradient(150deg,#fff,#f2f6fd);
  box-shadow:0 16px 38px rgba(17,39,78,.08);
}
.nqg-suite-item:nth-child(1){background:#e8f8ff}
.nqg-suite-item:nth-child(2){background:#eafbf5}
.nqg-suite-item:nth-child(3){background:#eeeaff}
.nqg-suite-item:nth-child(4){background:#fff0f7}
.nqg-suite-item:nth-child(5){background:#fff5df}
.nqg-suite-item:nth-child(6){background:#eaf2ff}

/* ---------- Improvement loop becomes a strongly visible module map ---------- */
.nq-journey{
  border-color:rgba(133,164,222,.38)!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(43,226,239,.20),transparent 30%),
    radial-gradient(circle at 0% 100%,rgba(215,53,138,.18),transparent 34%),
    linear-gradient(120deg,#061a38 0%,#102e68 48%,#371966 100%)!important;
  box-shadow:
    0 22px 54px rgba(12,31,72,.22),
    0 0 0 1px rgba(255,255,255,.08) inset!important;
}
.nq-journey::before{
  background:rgba(43,226,239,.14)!important;
  filter:blur(2px);
}
.nq-journey-head strong{color:#fff!important}
.nq-journey-head span{color:#d8e7ff!important}
.nq-loop-badge{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.23);
  background:linear-gradient(135deg,rgba(43,226,239,.22),rgba(122,47,208,.25))!important;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.nq-journey-track{gap:12px!important}
.nq-journey .nq-journey-step{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.36)!important;
  color:#fff!important;
  box-shadow:
    0 13px 28px rgba(0,0,0,.20),
    0 1px 0 rgba(255,255,255,.18) inset!important;
  transform:translateZ(0);
}
.nq-journey .nq-journey-step::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 37%,rgba(255,255,255,.14) 47%,transparent 57%);
  transform:translateX(-120%);
  transition:transform .6s ease;
}
.nq-journey .nq-journey-step:hover::before{transform:translateX(120%)}
.nq-journey .nq-journey-step:nth-child(1){
  background:
    radial-gradient(circle at 100% 0%,rgba(115,244,202,.30),transparent 35%),
    linear-gradient(145deg,#075346,#087466)!important;
}
.nq-journey .nq-journey-step:nth-child(2){
  background:
    radial-gradient(circle at 100% 0%,rgba(180,138,255,.30),transparent 35%),
    linear-gradient(145deg,#28216f,#5630ad)!important;
}
.nq-journey .nq-journey-step:nth-child(3){
  background:
    radial-gradient(circle at 100% 0%,rgba(43,226,239,.27),transparent 35%),
    linear-gradient(145deg,#074f79,#0c6e98)!important;
}
.nq-journey .nq-journey-step:nth-child(4){
  background:
    radial-gradient(circle at 100% 0%,rgba(255,202,85,.27),transparent 35%),
    linear-gradient(145deg,#741f4b,#9f352f)!important;
}
.nq-journey .nq-journey-step:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(255,255,255,.76)!important;
  box-shadow:
    0 20px 38px rgba(0,0,0,.30),
    0 0 0 2px rgba(255,255,255,.16) inset!important;
}
.nq-journey .nq-journey-step.active{
  border-color:#fff3af!important;
  box-shadow:
    0 20px 48px rgba(0,0,0,.35),
    0 0 0 3px rgba(255,223,114,.28)!important;
  animation:nqPremiumActiveStep 2.8s ease-in-out infinite;
}
.nq-journey .nq-journey-step.done{
  border-color:rgba(115,244,202,.82)!important;
}
.nq-journey .nq-journey-step.locked{
  border-style:solid!important;
  border-color:rgba(255,212,103,.72)!important;
}
.nq-journey .nq-journey-step b{
  color:#fff!important;
  background:rgba(3,16,43,.38)!important;
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 7px 17px rgba(0,0,0,.20);
}
.nq-journey .nq-journey-step strong{color:#fff!important}
.nq-journey .nq-journey-step span{color:#eef5ff!important}
.nq-journey .nq-journey-step small{
  color:#10213e!important;
  background:linear-gradient(135deg,#fff0a6,#fff)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.18);
}
.nq-journey .nq-journey-step:not(:last-child)::after{
  color:#18254c!important;
  border:2px solid rgba(255,255,255,.90);
  background:linear-gradient(135deg,#fff2a7,#9df4ff)!important;
  box-shadow:0 6px 14px rgba(0,0,0,.24);
}
.nq-recheck,.nq-recheck strong{color:#dfeaff!important}

/* ---------- Reports upgrade strip matches premium palette ---------- */
.nqg-inline-upgrade{
  border-color:#a999ef!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,202,85,.22),transparent 32%),
    linear-gradient(135deg,#0b2f66 0%,#4530a8 60%,#7b2e8f 100%)!important;
  box-shadow:0 20px 48px rgba(44,32,128,.23)!important;
}
.nqg-inline-upgrade h2{color:#fff!important}
.nqg-inline-upgrade p{color:#e8edff!important}
.nqg-inline-upgrade button{
  border:1px solid rgba(255,255,255,.75);
  color:#24194e;
  background:linear-gradient(135deg,#fff0ab,#fff,#b9f8ff);
}

/* ---------- Animation and reduced motion ---------- */
@keyframes nqPremiumHalo{
  to{transform:rotate(360deg)}
}
@keyframes nqPremiumSheen{
  0%,70%{transform:translateX(-120%)}
  88%,100%{transform:translateX(120%)}
}
@keyframes nqPremiumMiniPulse{
  0%,100%{box-shadow:0 18px 48px rgba(68,21,122,.38),0 0 0 5px rgba(255,202,85,.09)}
  50%{box-shadow:0 22px 58px rgba(68,21,122,.48),0 0 0 10px rgba(255,202,85,.04)}
}
@keyframes nqPremiumActiveStep{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

@media(max-width:1180px){
  .nqg-plan.recommended{transform:none}
}
@media(max-width:760px){
  .nqg-widget{
    border-color:rgba(255,220,126,.90);
    box-shadow:
      0 22px 62px rgba(36,16,91,.48),
      0 0 0 4px rgba(255,202,85,.12);
  }
  .nq-journey{
    padding:14px!important;
  }
  .nq-journey .nq-journey-step{
    flex-basis:258px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .nqg-widget::before,
  .nqg-widget::after,
  .nqg-widget-mini,
  .nq-journey .nq-journey-step.active{
    animation:none!important;
  }
  .nqg-header-plan::after,
  .nq-journey .nq-journey-step::before{
    display:none!important;
  }
}

/* =========================================================
   PHASE 8A.2 — MOBILE LAYOUT AND ICON NAVIGATION
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.nq-nav-icon{
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.nq-nav-svg{
  display:block;
  width:20px;
  height:20px;
  color:inherit;
  flex:0 0 auto;
}
.side-link i.nq-nav-icon{
  width:36px;
  height:36px;
  border-radius:11px;
  color:#47617f;
  background:linear-gradient(145deg,#f0f5fb,#e3ebf7);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.side-link:hover i.nq-nav-icon{
  color:#173f8f;
  background:#e7efff;
}
.side-link.active i.nq-nav-icon{
  color:#fff;
  background:linear-gradient(145deg,#173f8f,#6e48dc);
  box-shadow:0 9px 20px rgba(63,48,176,.24);
}
.nq-header-plan-icon{
  display:flex;
  width:19px;
  height:19px;
  align-items:center;
  justify-content:center;
}
.nq-header-plan-icon .nq-nav-svg{width:18px;height:18px}
.nqg-more-panel i .nq-nav-svg{width:18px;height:18px}
.nqg-widget-mini-icon{
  display:flex;
  width:22px;
  height:22px;
  align-items:center;
  justify-content:center;
}
.nqg-widget-mini-icon .nq-nav-svg{width:21px;height:21px}
.nqg-widget-mini::before{display:none!important}

/* Tablet: keep actual icons while labels collapse. */
@media(max-width:860px){
  .side-link i.nq-nav-icon{width:42px;height:42px}
  .nq-nav-svg{width:22px;height:22px}
}

/* Mobile header, bottom navigation, journey and plan modal. */
@media(max-width:650px){
  .app-header{
    min-height:62px!important;
    gap:7px!important;
    padding:0 9px!important;
  }
  .brand{
    flex:0 0 43px!important;
    min-width:43px!important;
    gap:0!important;
  }
  .brand img{
    width:41px!important;
    height:41px!important;
    border-radius:12px!important;
  }
  .brand strong,.brand small{display:none!important}
  .project-select{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px!important;
    margin-left:0!important;
    padding:6px 8px!important;
    overflow:hidden!important;
  }
  .project-select::before{
    content:"";
    flex:0 0 18px;
    width:18px;
    height:18px;
    background:
      no-repeat center/18px 18px
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23183f91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.5 3.7 5.5 3.7 9S14.5 18.5 12 21c-2.5-2.5-3.7-5.5-3.7-9S9.5 5.5 12 3Z'/%3E%3C/svg%3E");
  }
  .project-select select{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font-size:.75rem!important;
  }
  .account-link,.user-menu{display:none!important}
  .nqg-header-plan{
    flex:0 0 46px!important;
    width:46px!important;
    min-width:46px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:14px!important;
    gap:0!important;
  }
  .nqg-header-plan b{
    min-width:33px!important;
    height:27px!important;
    padding:0 5px!important;
    font-size:.48rem!important;
  }
  .nqg-header-plan span,.nq-header-plan-icon{display:none!important}

  .sidebar{
    min-height:68px!important;
    height:68px!important;
    align-items:center!important;
    justify-content:space-evenly!important;
    gap:2px!important;
    padding:6px 5px calc(6px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(15px)!important;
    box-shadow:0 -12px 30px rgba(17,39,78,.10)!important;
  }
  .sidebar .side-link{
    flex:1 1 0!important;
    width:auto!important;
    min-width:50px!important;
    max-width:68px!important;
    min-height:54px!important;
    justify-content:center!important;
    padding:4px!important;
    border-radius:14px!important;
  }
  .sidebar .side-link i.nq-nav-icon{
    width:43px!important;
    height:43px!important;
    border-radius:13px!important;
  }
  .sidebar .side-link span,.sidebar .side-link .soon{display:none!important}
  .sidebar .nqg-secondary{display:none!important}
  .sidebar .nqg-more{display:flex!important}
  .main{padding-bottom:88px!important}

  /* Show all four journey stages without sideways scrolling. */
  .nq-journey{
    padding:12px!important;
    border-radius:19px!important;
  }
  .nq-journey-head{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:7px!important;
    margin-bottom:10px!important;
  }
  .nq-journey-head strong{
    font-size:.94rem!important;
    line-height:1.15!important;
  }
  .nq-journey-head span{display:none!important}
  .nq-loop-badge{
    display:inline-flex!important;
    padding:6px 8px!important;
    font-size:.47rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .nq-journey-track{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  .nq-journey .nq-journey-step{
    flex:none!important;
    min-width:0!important;
    min-height:94px!important;
    padding:32px 9px 10px!important;
    gap:7px!important;
    align-items:center!important;
    scroll-snap-align:none!important;
  }
  .nq-journey .nq-journey-step b{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
    font-size:.56rem!important;
  }
  .nq-journey .nq-journey-step strong{
    font-size:.69rem!important;
    line-height:1.18!important;
  }
  .nq-journey .nq-journey-step span{display:none!important}
  .nq-journey .nq-journey-step small{
    top:7px!important;
    right:7px!important;
    padding:4px 6px!important;
    font-size:.43rem!important;
  }
  .nq-journey .nq-journey-step::after{display:none!important}
  .nq-recheck{
    margin-top:9px!important;
    text-align:left!important;
    font-size:.57rem!important;
    line-height:1.35!important;
  }

  /* The visible mobile growth control becomes a compact premium icon. */
  .nqg-widget{
    right:9px!important;
    bottom:77px!important;
    width:calc(100vw - 18px)!important;
    max-height:calc(100vh - 155px)!important;
    overflow:auto!important;
  }
  .nqg-widget-mini{
    right:10px!important;
    bottom:79px!important;
    width:54px!important;
    min-width:54px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0!important;
    justify-content:center!important;
    border-radius:18px!important;
  }
  .nqg-widget-mini-text{display:none!important}

  /* Plan cards become a swipeable, readable carousel. */
  .nqg-dialog-top h2{
    padding-right:40px!important;
    font-size:1.42rem!important;
    line-height:1.06!important;
  }
  .nqg-dialog-top p{
    font-size:.72rem!important;
    line-height:1.45!important;
  }
  .nqg-plans{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding:14px!important;
    padding:15px 14px 20px!important;
    scrollbar-width:thin!important;
  }
  .nqg-plan{
    flex:0 0 min(84vw,330px)!important;
    min-width:min(84vw,330px)!important;
    scroll-snap-align:center!important;
    transform:none!important;
  }
  .nqg-plan.recommended{transform:none!important}
  .nqg-suite{margin-top:0!important}
}

@media(max-width:370px){
  .nq-loop-badge{display:none!important}
  .nq-journey-head{grid-template-columns:1fr!important}
  .nq-journey .nq-journey-step{
    min-height:88px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .nq-journey .nq-journey-step strong{font-size:.64rem!important}
}

/* =========================================================
   PHASE 9 — PROJECT MONITOR
   ========================================================= */
.nqg-more-panel a.active{
  color:#fff!important;
  background:linear-gradient(135deg,#173f8f,#6e48dc)!important;
}
.nqg-more-panel a.active i{color:#fff;background:rgba(255,255,255,.15)}
.pm-status-live{color:#06744d;background:#e5faf1}
.pm-status-paused{color:#8c6200;background:#fff5d7}
.pm-status-failed{color:#a72d46;background:#ffedf1}
@media(max-width:650px){
  body[data-nq-module="project-monitor"] .sidebar .nqg-more{
    color:#173f8f!important;
    background:#edf2ff!important;
  }
  body[data-nq-module="project-monitor"] .sidebar .nqg-more i.nq-nav-icon{
    color:#fff!important;
    background:linear-gradient(145deg,#173f8f,#6e48dc)!important;
  }
}
