:root {
  --qp-navy: #04283e;
  --qp-blue: #0e8fd0;
  --qp-cyan: #27b9cf;
  --qp-teal: #0a9c8f;
  --qp-gold: #f6b719;
  --qp-ink: #142532;
  --qp-muted: #61727d;
  --qp-line: #d9e4ea;
  --qp-light: #f4f8fa;
}

body.nvx-qp-open { overflow: hidden !important; }
.nvx-qp-layer,
.nvx-qp-layer *,
.nvx-qp-layer *::before,
.nvx-qp-layer *::after { box-sizing:border-box; }

.nvx-qp-layer {
  position: fixed;
  inset: 0;
  z-index: 2147482200;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(3, 25, 40, .72);
  backdrop-filter: blur(8px);
}

.nvx-qp-shell {
  width: min(1500px, 98vw);
  min-width: 0;
  height: min(940px, 96vh);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 22px;
  box-shadow: 0 28px 90px rgba(0, 18, 31, .36);
  color: var(--qp-ink);
}

.nvx-qp-header {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 22px;
  color: #fff;
  background:
    radial-gradient(circle at 82% -40%, rgba(39,185,207,.42), transparent 45%),
    linear-gradient(122deg, #03263b 0%, #064d76 100%);
}

.nvx-qp-brand { min-width:0; flex:1 1 auto; display:flex; align-items:center; gap:16px; overflow:hidden; }
.nvx-qp-brand img {
  display: block;
  width: 118px;
  height: auto;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 24px rgba(0,0,0,.16);
}
.nvx-qp-brand p { margin: 0 0 3px; color: #69d7e7; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.nvx-qp-brand h1 { margin: 0; font-size: clamp(20px, 2.1vw, 30px); line-height: 1.15; color: #fff; }
.nvx-qp-brand span { display: block; margin-top: 4px; color: #c7deea; font-size: 12px; }

.nvx-qp-header-actions { flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.nvx-qp-reference {
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 11px;
  background: rgba(255,255,255,.09);
  font-size: 11px;
  color: #e8f6fa;
  white-space: nowrap;
}
.nvx-qp-close {
  width: 39px;
  height: 39px;
  border: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}
.nvx-qp-close:hover { background: rgba(255,255,255,.22); }

.nvx-qp-tabs {
  display: flex;
  gap: 4px;
  padding: 8px 18px;
  background: #eef5f8;
  border-bottom: 1px solid var(--qp-line);
  overflow-x: auto;
}
.nvx-qp-tabs button {
  border: 0;
  border-radius: 10px;
  padding: 9px 15px;
  background: transparent;
  color: #516773;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}
.nvx-qp-tabs button.active { background: #fff; color: #075c88; box-shadow: 0 2px 10px rgba(4,40,62,.08); }
.nvx-qp-tabs button:disabled { opacity:.48; cursor:not-allowed; }

.nvx-qp-content { min-height: 0; overflow: auto; background: #f5f8fa; }
.nvx-qp-form-wrap { padding: 18px; }
.nvx-qp-form { display: grid; gap: 15px; }
.nvx-qp-section {
  border: 1px solid var(--qp-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(4,40,62,.035);
  overflow: hidden;
}
.nvx-qp-section > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid #edf2f5;
}
.nvx-qp-section > header h2 { margin: 0; color: var(--qp-navy); font-size: 16px; }
.nvx-qp-section > header p { margin: 4px 0 0; color: var(--qp-muted); font-size: 11px; }
.nvx-qp-section-body { padding: 15px 16px 17px; }
.nvx-qp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nvx-qp-grid .span-2 { grid-column: span 2; }
.nvx-qp-grid .span-3 { grid-column: span 3; }
.nvx-qp-grid .wide { grid-column: 1 / -1; }

.nvx-qp-form label { display: grid; gap: 5px; min-width: 0; }
.nvx-qp-form label > span,
.nvx-qp-form legend { color: #526976; font-size: 10px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.nvx-qp-form input,
.nvx-qp-form select,
.nvx-qp-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cddce4;
  border-radius: 10px;
  background: #fff;
  color: var(--qp-ink);
  padding: 10px 11px;
  font: inherit;
  font-size: 12px;
  outline: 0;
}
.nvx-qp-form textarea { min-height: 74px; resize: vertical; line-height: 1.45; }
.nvx-qp-form input:focus,
.nvx-qp-form select:focus,
.nvx-qp-form textarea:focus { border-color: var(--qp-blue); box-shadow: 0 0 0 3px rgba(14,143,208,.12); }
.nvx-qp-form input[readonly] { background: #f4f7f9; color: #60727c; }

.nvx-qp-locked-pricing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.nvx-qp-locked-pricing > div {
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid #cfe1e9;
  border-radius: 11px;
  background: linear-gradient(180deg, #fafdfe, #eff7fa);
}
.nvx-qp-locked-pricing span,
.nvx-qp-locked-pricing small { display: block; color: #607783; font-size: 9px; font-weight: 750; }
.nvx-qp-locked-pricing b { display: block; margin: 3px 0; color: #063d5e; font-size: 18px; }

.nvx-qp-hint { color: var(--qp-muted); font-size: 10px; line-height: 1.35; }
.nvx-qp-callout {
  padding: 11px 13px;
  border: 1px solid #cfe7ef;
  border-radius: 11px;
  background: #eef9fc;
  color: #24556a;
  font-size: 11px;
  line-height: 1.45;
}
.nvx-qp-callout strong { color: #064d76; }

.nvx-qp-materials { overflow-x: auto; }
.nvx-qp-material-table { width: 100%; min-width: 1050px; border-collapse: separate; border-spacing: 0; font-size: 11px; }
.nvx-qp-material-table th {
  padding: 9px 8px;
  background: #eaf4f8;
  border-bottom: 1px solid #cadae2;
  color: #365363;
  text-align: left;
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.nvx-qp-material-table td { padding: 7px 6px; border-bottom: 1px solid #edf1f4; vertical-align: top; }
.nvx-qp-material-table input,
.nvx-qp-material-table textarea { padding: 8px; border-radius: 8px; font-size: 11px; }
.nvx-qp-material-table textarea { min-height: 57px; }
.nvx-qp-remove-row { width: 30px; height: 30px; padding: 0 !important; color: #ae3838 !important; background: #fff3f3 !important; }

.nvx-qp-payment-list { display: grid; gap: 8px; }
.nvx-qp-payment-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 34px; gap: 8px; align-items: center; }
.nvx-qp-mini-action,
.nvx-qp-section button,
.nvx-qp-footer button {
  border: 1px solid #c7d7df;
  border-radius: 10px;
  padding: 9px 13px;
  background: #fff;
  color: #23485d;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.nvx-qp-section button:hover,
.nvx-qp-footer button:hover { border-color: #8ebaca; background: #f5fbfd; }
.nvx-qp-footer button.primary,
.nvx-qp-section button.primary { border-color: #087fb7; background: linear-gradient(135deg, #0e8fd0, #0670a8); color: #fff; }
.nvx-qp-footer button.success { border-color: #078267; background: linear-gradient(135deg, #0a9c8f, #077660); color: #fff; }
.nvx-qp-footer button.gold { border-color: #dda314; background: #f6b719; color: #173449; }
.nvx-qp-footer button:disabled { opacity: .52; cursor: wait; }

.nvx-qp-calculation-strip { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.nvx-qp-calc {
  min-height: 62px;
  padding: 10px 11px;
  border: 1px solid #d8e5eb;
  border-radius: 11px;
  background: linear-gradient(180deg,#fff,#f8fbfc);
}
.nvx-qp-calc span { display: block; color: var(--qp-muted); font-size: 8.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.nvx-qp-calc b { display: block; margin-top: 5px; color: var(--qp-navy); font-size: 16px; }

.nvx-qp-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 16px;
  border-top: 1px solid var(--qp-line);
  background: #fff;
}
.nvx-qp-footer-status { min-width: 0; max-width:100%; color: var(--qp-muted); font-size: 11px; overflow-wrap:anywhere; }
.nvx-qp-footer-status strong { color: var(--qp-navy); }
.nvx-qp-footer-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.nvx-qp-error { color: #a52727; font-weight: 700; }

.nvx-qp-preview-stage { min-height: 100%; padding: 24px; overflow: auto; background: #dfe8ed; }
.nvx-qp-preview-tools { position: sticky; top: -1px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 10px; max-width: 794px; margin: 0 auto 14px; padding: 10px 12px; border-radius: 12px; background: rgba(4,40,62,.94); color: #fff; box-shadow: 0 8px 24px rgba(4,40,62,.2); }
.nvx-qp-preview-tools span { font-size: 11px; color: #d7e8f0; }
.nvx-qp-preview-pages { display: grid; gap: 22px; justify-content: center; }

.nvx-qp-page {
  position: relative;
  width: 794px;
  height: 1123px;
  box-sizing: border-box;
  overflow: hidden;
  color: #142532;
  background: #fff;
  box-shadow: 0 12px 34px rgba(0,35,55,.18);
  font-family: Inter, Arial, Helvetica, sans-serif;
  overflow-wrap: anywhere;
}
.nvx-qp-page * { box-sizing: border-box; }
.nvx-qp-page h1,
.nvx-qp-page h2,
.nvx-qp-page h3,
.nvx-qp-page p { margin-top: 0; }
.nvx-qp-page-inner { padding: 68px 50px 64px; }
.nvx-qp-page-header { position: absolute; left: 50px; right: 50px; top: 24px; height: 28px; display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid #0e8fd0; }
.nvx-qp-page-header img { display: block; width: 124px; height: auto; max-height: 24px; object-fit: contain; object-position: left center; }
.nvx-qp-page-header span { color: #57707d; font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.nvx-qp-page-footer { position: absolute; left: 50px; right: 50px; bottom: 20px; padding-top: 8px; border-top: 1px solid #d7e2e8; display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; color: #61727d; font-size: 8.5px; }
.nvx-qp-page-footer span:nth-child(2) { font-weight: 800; text-align: center; }
.nvx-qp-page-footer span:last-child { text-align: right; }
.nvx-qp-title { margin: 0 0 5px; color: #073b5c; font-size: 30px; line-height: 1.06; letter-spacing: -.025em; }
.nvx-qp-kicker { color: #0e8fd0; font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.nvx-qp-subtitle { max-width: 590px; color: #61727d; font-size: 13px; line-height: 1.5; }

.nvx-qp-cover { color: #fff; background: #04283e; }
.nvx-qp-cover::before { content: ""; position: absolute; inset: 0 0 0 54%; background: linear-gradient(180deg,rgba(0,30,48,.08),rgba(0,30,48,.38)), url('/assets/quick-proposal/solar-hero.png') center/cover no-repeat; }
.nvx-qp-cover::after { content: ""; position: absolute; left: 54%; top: 0; bottom: 0; width: 6px; background: #f6b719; }
.nvx-qp-cover-content { position: relative; z-index: 1; width: 54%; height: 100%; padding: 64px 46px 46px 54px; background: linear-gradient(145deg,#04283e 0%,#064566 100%); }
.nvx-qp-cover-logo { display: block; width: 216px; height: auto; max-height: 40px; padding: 0; object-fit: contain; object-position: left center; background: transparent; }
.nvx-qp-cover .eyebrow { margin: 70px 0 12px; color: #5ed3e4; font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.nvx-qp-cover h1 { margin: 0; font-size: 52px; line-height: .98; letter-spacing: -.035em; }
.nvx-qp-cover h2 { margin: 17px 0 10px; font-size: 27px; line-height: 1.12; }
.nvx-qp-cover .cover-sub { color: #c8dde7; font-size: 13px; line-height: 1.5; }
.nvx-qp-cover-client { margin-top: 48px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.23); }
.nvx-qp-cover-client small,
.nvx-qp-cover-by small { display: block; margin-bottom: 9px; color: #55cee1; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.nvx-qp-cover-detail { display:grid; grid-template-columns:90px minmax(0,1fr); gap:10px; align-items:start; margin-top:7px; }
.nvx-qp-cover-detail b { color:#69d7e7; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.nvx-qp-cover-detail span,
.nvx-qp-cover-detail strong { display:block; color:#f4fbfe; font-size:11px; line-height:1.42; }
.nvx-qp-cover-detail.attention strong { font-size:15px; line-height:1.3; }
.nvx-qp-cover-detail.address span { color:#d9e9ef; }
.nvx-qp-cover-by { position: absolute; left: 54px; right: 48px; bottom: 52px; }
.nvx-qp-cover-by strong { display: block; font-size: 13px; letter-spacing: .025em; }
.nvx-qp-cover-by span { display: block; margin-top: 6px; color: #c6dde6; font-size: 10px; }
.nvx-qp-cover-ref { position: absolute; right: 26px; bottom: 24px; z-index: 2; padding: 9px 12px; border-radius: 9px; background: rgba(4,40,62,.88); font-size: 9px; }

.nvx-qp-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 23px 0 22px; }
.nvx-qp-kpi { min-height: 88px; padding: 16px 14px; border: 1px solid #d7e4ea; border-radius: 15px; background: #fbfdfe; border-left: 7px solid #0e8fd0; }
.nvx-qp-kpi:nth-child(2) { border-left-color: #0a9c8f; }
.nvx-qp-kpi:nth-child(3) { border-left-color: #f6b719; }
.nvx-qp-kpi:nth-child(4) { border-left-color: #27b9cf; }
.nvx-qp-kpi span { display: block; color: #526b79; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.nvx-qp-kpi strong { display: block; margin-top: 13px; color: #053654; font-size: 21px; line-height: 1.1; }
.nvx-qp-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nvx-qp-card { padding: 16px; border: 1px solid #d9e4ea; border-radius: 17px; background: #fbfcfd; }
.nvx-qp-card h3 { margin-bottom: 13px; color: #073b5c; font-size: 17px; }
.nvx-qp-card p,
.nvx-qp-card li { color: #415965; font-size: 11px; line-height: 1.52; }
.nvx-qp-card ul { margin: 0; padding-left: 17px; }
.nvx-qp-card li + li { margin-top: 7px; }
.nvx-qp-highlight { background: linear-gradient(135deg,#053957,#0a638c); color:#fff; border:0; }
.nvx-qp-highlight h3 { color:#fff; }
.nvx-qp-highlight p,
.nvx-qp-highlight li { color:#dcebf1; }
.nvx-qp-highlight .nvx-qp-spec { border-bottom-color:rgba(255,255,255,.28); }
.nvx-qp-highlight .nvx-qp-spec b { color:#84e3ef; }
.nvx-qp-highlight .nvx-qp-spec span { color:#fff; font-weight:650; }

.nvx-qp-spec-list { display: grid; gap: 6px; }
.nvx-qp-spec { display: grid; grid-template-columns: 120px 1fr; gap: 10px; padding: 8px 0; border-bottom: 1px solid #e7eef2; }
.nvx-qp-spec:last-child { border-bottom:0; }
.nvx-qp-spec b { color:#526b79; font-size:9px; letter-spacing:.045em; text-transform:uppercase; }
.nvx-qp-spec span { color:#142532; font-size:11px; line-height:1.42; }
.nvx-qp-image-card { overflow:hidden; padding:0; }
.nvx-qp-image-card img { width:100%; height:262px; display:block; object-fit:cover; }
.nvx-qp-image-card div { padding:14px 16px; }

.nvx-qp-pdf-table { width:100%; border-collapse:collapse; table-layout:fixed; color:#203642; font-size:9px; }
.nvx-qp-pdf-table th { padding:9px 8px; background:#073b5c; color:#fff; text-align:left; font-size:8px; letter-spacing:.025em; }
.nvx-qp-pdf-table td { padding:8px; border-bottom:1px solid #dfe8ed; vertical-align:top; line-height:1.36; overflow-wrap:anywhere; }
.nvx-qp-pdf-table tbody tr:nth-child(even) td { background:#f7fafb; }
.nvx-qp-pdf-table .amount { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.nvx-qp-pdf-table .currency-cell { display:flex; justify-content:space-between; gap:8px; white-space:nowrap; }
.nvx-qp-pdf-table .currency-cell i { color:#667b86; font-style:normal; }
.nvx-qp-pdf-table .subtotal td { background:#eaf4f8 !important; color:#073b5c; font-weight:800; }
.nvx-qp-pdf-table .grand td { background:#073b5c !important; color:#fff; font-weight:850; }

.nvx-qp-commercial-total { margin-top:16px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-radius:15px; background:linear-gradient(130deg,#04283e,#07557c); color:#fff; }
.nvx-qp-commercial-total span { color:#bcdce8; font-size:10px; font-weight:800; letter-spacing:.08em; }
.nvx-qp-commercial-total strong { font-size:27px; }
.nvx-qp-rate-banner { margin-top:16px; padding:14px 17px; border:1px solid #c8e0e9; border-radius:15px; background:linear-gradient(135deg,#eef9fc,#f8fcfd); }
.nvx-qp-rate-banner span { display:block; color:#19789d; font-size:8px; font-weight:850; letter-spacing:.09em; }
.nvx-qp-rate-banner strong { display:block; margin-top:4px; color:#053c5c; font-size:23px; line-height:1.1; }
.nvx-qp-rate-banner strong small { color:#587482; font-size:11px; font-weight:750; }
.nvx-qp-rate-banner p { margin:5px 0 0; color:#58707c; font-size:9px; }
.nvx-qp-note { margin-top:13px; padding:11px 13px; border-radius:11px; background:#fff6db; color:#745514; font-size:9px; line-height:1.45; }

.nvx-qp-scope-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.nvx-qp-scope { padding:16px; border:1px solid #dbe6eb; border-radius:15px; }
.nvx-qp-scope h3 { font-size:15px; color:#073b5c; }
.nvx-qp-scope li { font-size:10px; color:#415965; line-height:1.45; margin-bottom:7px; }
.nvx-qp-om-banner { margin:15px 0; padding:17px 18px; display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:center; border-radius:16px; background:linear-gradient(135deg,#e7f7f3,#eff9fc); border:1px solid #bee0da; }
.nvx-qp-om-banner strong { color:#07806d; font-size:31px; text-align:center; }
.nvx-qp-om-banner h3 { margin-bottom:5px; color:#075b52; font-size:15px; }
.nvx-qp-om-banner p { margin:0; color:#3f6964; font-size:10px; line-height:1.45; }

.nvx-qp-timeline { display:grid; gap:11px; margin-top:18px; }
.nvx-qp-timeline-row { display:grid; grid-template-columns:34px 145px 1fr; gap:12px; align-items:start; }
.nvx-qp-timeline-row i { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#0e8fd0; color:#fff; font-style:normal; font-size:10px; font-weight:800; }
.nvx-qp-timeline-row b { color:#073b5c; font-size:11px; }
.nvx-qp-timeline-row span { color:#526a76; font-size:10px; line-height:1.45; }

.nvx-qp-chart { margin-top:18px; padding:17px 16px 13px; border:1px solid #dbe6eb; border-radius:16px; background:#fbfcfd; }
.nvx-qp-chart-legend { display:flex; gap:18px; margin-bottom:11px; color:#526b79; font-size:9px; }
.nvx-qp-chart-legend i { display:inline-block; width:10px; height:10px; margin-right:5px; border-radius:3px; vertical-align:-1px; }
.nvx-qp-bars { height:260px; display:grid; grid-template-columns:repeat(15,1fr); gap:5px; align-items:end; border-bottom:1px solid #aebfc8; background:repeating-linear-gradient(to top,#f0f4f6 0,#f0f4f6 1px,transparent 1px,transparent 52px); }
.nvx-qp-bar-year { height:100%; display:grid; grid-template-rows:1fr 18px; align-items:end; gap:4px; }
.nvx-qp-bar-pair { height:100%; display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.nvx-qp-bar { width:10px; min-height:2px; border-radius:3px 3px 0 0; background:#073b5c; }
.nvx-qp-bar.after { background:#27b9cf; }
.nvx-qp-bar-year small { color:#70838c; font-size:7px; text-align:center; }
.nvx-qp-chart-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px; }
.nvx-qp-chart-summary div { padding:10px; border-radius:10px; background:#eef6f8; }
.nvx-qp-chart-summary span { display:block; color:#61727d; font-size:8px; text-transform:uppercase; }
.nvx-qp-chart-summary b { display:block; margin-top:4px; color:#073b5c; font-size:13px; }

.nvx-qp-benefits { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.nvx-qp-benefit { min-height:118px; padding:16px; border:1px solid #dbe6eb; border-radius:15px; background:#fbfcfd; }
.nvx-qp-benefit i { width:34px; height:34px; display:grid; place-items:center; margin-bottom:11px; border-radius:11px; background:#e9f6fa; color:#0e8fd0; font-style:normal; font-weight:850; }
.nvx-qp-benefit h3 { margin-bottom:6px; color:#073b5c; font-size:14px; }
.nvx-qp-benefit p { margin:0; color:#526b77; font-size:10px; line-height:1.48; }

.nvx-qp-bank-card { padding:19px; border-radius:17px; background:linear-gradient(130deg,#063b5b,#07557c); color:#fff; }
.nvx-qp-bank-grid { display:grid; grid-template-columns:1.2fr .8fr .7fr; gap:15px; }
.nvx-qp-bank-grid small { display:block; color:#69d7e7; font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.nvx-qp-bank-grid strong { display:block; margin-top:6px; font-size:11px; line-height:1.4; }
.nvx-qp-signatures { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:26px; }
.nvx-qp-sign-box { min-height:105px; padding:14px; border:1px dashed #aebfc9; border-radius:13px; }
.nvx-qp-sign-box b { color:#073b5c; font-size:10px; }
.nvx-qp-sign-line { margin-top:50px; border-top:1px solid #8499a4; padding-top:5px; color:#687d87; font-size:8px; }

.nvx-qp-history { padding:18px; }
.nvx-qp-history-list { display:grid; gap:10px; }
.nvx-qp-history-group { display:grid; gap:9px; }
.nvx-qp-history-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 15px; border:1px solid var(--qp-line); border-radius:13px; background:#fff; }
.nvx-qp-history-card h3 { margin:0; color:var(--qp-navy); font-size:14px; }
.nvx-qp-history-card p { margin:5px 0 0; color:var(--qp-muted); font-size:10px; }
.nvx-qp-history .status { display:inline-block; margin-left:7px; padding:3px 7px; border-radius:999px; background:#e9f6f2; color:#087765; font-size:8px; font-weight:800; }
.nvx-qp-history-actions,
.nvx-qp-revision-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.nvx-qp-history button {
  border:1px solid #c7d7df;
  border-radius:9px;
  padding:8px 11px;
  background:#fff;
  color:#23485d;
  font:inherit;
  font-size:10px;
  font-weight:780;
  cursor:pointer;
}
.nvx-qp-history button:hover { border-color:#8ebaca; background:#f5fbfd; }
.nvx-qp-history button.primary { border-color:#087fb7; background:linear-gradient(135deg,#0e8fd0,#0670a8); color:#fff; }
.nvx-qp-history button.gold { border-color:#dda314; background:#f6b719; color:#173449; }
.nvx-qp-history button:disabled { opacity:.5; cursor:not-allowed; }
.nvx-qp-revision-list { display:grid; gap:7px; margin-left:18px; padding-left:14px; border-left:3px solid #cfe4ee; }
.nvx-qp-revision-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid #dbe7ec; border-radius:12px; background:linear-gradient(180deg,#fff,#f8fbfc); }
.nvx-qp-revision-card h4 { margin:0; color:var(--qp-navy); font-size:12px; }
.nvx-qp-revision-card p { margin:5px 0 0; color:var(--qp-muted); font-size:9.5px; }
.nvx-qp-revision-card .current { display:inline-block; margin-left:6px; padding:3px 6px; border-radius:999px; background:#e8f2ff; color:#0b67a0; font-size:7px; font-weight:900; letter-spacing:.05em; }
.nvx-qp-revision-empty { margin-left:18px; padding:12px 14px; border:1px dashed #c9dbe4; border-radius:11px; color:var(--qp-muted); font-size:10px; }
.nvx-qp-empty { padding:42px 20px; text-align:center; color:var(--qp-muted); }
.nvx-qp-loading { height:100%; display:grid; place-items:center; color:#5c727f; }

.nvx-quick-proposal-row { color:#fff !important; background:linear-gradient(135deg,#0e8fd0,#0670a8) !important; white-space:nowrap; }
.nvx-quick-proposal-row::before { content:"QP"; margin-right:5px; font-size:8px; font-weight:850; }

@media (max-width: 900px) {
  .nvx-qp-layer { padding:0; }
  .nvx-qp-shell { width:100vw; min-width:0; max-width:100vw; height:100dvh; max-height:none; border-radius:0; }
  .nvx-qp-header,
  .nvx-qp-tabs,
  .nvx-qp-content,
  .nvx-qp-footer { min-width:0; }
  .nvx-qp-brand span,
  .nvx-qp-reference { display:none; }
  .nvx-qp-brand img { width:90px; height:auto; }
  .nvx-qp-grid { grid-template-columns:1fr 1fr; }
  .nvx-qp-grid .span-3 { grid-column:1 / -1; }
  .nvx-qp-calculation-strip { grid-template-columns:1fr 1fr; }
  .nvx-qp-footer { align-items:flex-start; flex-direction:column; }
  .nvx-qp-footer-actions { width:100%; justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; }
  .nvx-qp-preview-stage { padding:12px; }
  .nvx-qp-preview-pages { transform-origin:top center; }
  .nvx-qp-history-card,
  .nvx-qp-revision-card { grid-template-columns:1fr; align-items:start; }
  .nvx-qp-history-actions,
  .nvx-qp-revision-actions { justify-content:flex-start; }
}

@media (max-width: 560px) {
  .nvx-qp-header { min-height:70px; gap:8px; padding:9px 10px; }
  .nvx-qp-brand { gap:9px; }
  .nvx-qp-brand img { width:68px; padding:7px 9px; }
  .nvx-qp-brand > div { min-width:0; }
  .nvx-qp-brand p { font-size:8px; letter-spacing:.1em; }
  .nvx-qp-brand h1 { max-width:195px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:17px; }
  .nvx-qp-close { width:34px; height:34px; flex:0 0 34px; }
  .nvx-qp-tabs { gap:2px; padding:6px; }
  .nvx-qp-tabs button { padding:8px 6px; font-size:9px; }
  .nvx-qp-form-wrap { padding:10px; }
  .nvx-qp-grid { grid-template-columns:1fr; }
  .nvx-qp-grid .span-2,
  .nvx-qp-grid .span-3 { grid-column:auto; }
  .nvx-qp-locked-pricing { grid-template-columns:1fr; }
  .nvx-qp-payment-row { grid-template-columns:minmax(0,1fr) 84px 34px; }
  .nvx-qp-history { padding:10px; }
  .nvx-qp-revision-list { margin-left:5px; padding-left:8px; }
}

@media print {
  .nvx-qp-page { box-shadow:none; break-after:page; page-break-after:always; }
}
