/* =====================================================================
   Sales kit page (uses the colour tokens from app.css)
   ===================================================================== */

/* ---------- header: prices switch + edit button ---------- */
.sales-actions { align-items: center; }
.seg-switch { display: inline-flex; align-items: center; padding: 0.2rem; gap: 0.15rem; border-radius: var(--radius-sm);
              border: 1px solid var(--border-strong); background: rgba(5, 10, 28, 0.5); }
.seg-label { padding: 0 0.5rem 0 0.4rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em;
             text-transform: uppercase; color: var(--muted); }
.seg-switch button { padding: 0.38rem 0.75rem; border: none; border-radius: 7px; background: none; color: var(--text-soft);
                     font: inherit; font-size: 0.84rem; font-weight: 600; cursor: pointer; }
.seg-switch button:hover { color: var(--text); background: rgba(255, 255, 255, 0.05); }
.seg-switch button[aria-pressed="true"] { background: var(--accent); color: #fff; }

.sales-note { display: flex; align-items: flex-start; gap: 0.6rem; margin: -0.4rem 0 1rem; padding: 0.7rem 0.9rem;
              border-radius: var(--radius-sm); font-size: 0.86rem; color: var(--text); }
.sales-note svg { margin-top: 0.15rem; }
.proposed-note { background: var(--amber-soft); border: 1px solid rgba(243, 181, 63, 0.45); }
.proposed-note svg { color: var(--amber); }
.edit-note { background: var(--accent-soft); border: 1px solid rgba(77, 155, 255, 0.45); }
.edit-note svg { color: var(--accent-bright); }
.sales-note svg + span svg { width: 0.95em; height: 0.95em; vertical-align: -0.12em; color: var(--amber); }

/* ---------- layout: lists on the left, the quote beside them on wide screens ---------- */
.sales-layout { display: block; }
.sales-tabs { display: flex; gap: 0.25rem; margin-bottom: 1rem; border-bottom: 1px solid var(--border);
              overflow-x: auto; scrollbar-width: none; }
.sales-tabs::-webkit-scrollbar { display: none; }
.sales-tabs button { position: relative; padding: 0.6rem 0.95rem; border: none; background: none; color: var(--text-soft);
                     font: inherit; font-size: 0.92rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.sales-tabs button:hover { color: var(--text); }
.sales-tabs button[aria-selected="true"] { color: #fff; box-shadow: inset 0 -2px 0 var(--accent-bright); }
.tab-count:not(:empty) { display: inline-grid; place-items: center; min-width: 1.3rem; height: 1.3rem; padding: 0 0.3rem;
                         margin-left: 0.2rem; border-radius: 99px; background: var(--accent); color: #fff; font-size: 0.72rem; }

.sales-tab, .quote-panel { display: none; }
.sales[data-tab="packages"] [data-panel="packages"],
.sales[data-tab="prices"] [data-panel="prices"],
.sales[data-tab="ref"] [data-panel="ref"],
.sales[data-tab="quote"] .quote-panel { display: block; }

@media (min-width: 1300px) {
  .sales-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 1.3rem; align-items: start; }
  .quote-panel { display: block; position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
  .has-banner .quote-panel { top: 3.1rem; max-height: calc(100vh - 4.2rem); }
  .tab-quote { display: none; }
  .sales[data-tab="quote"] [data-panel="packages"] { display: block; }
  .quote-bar { display: none !important; }
}

/* ---------- packages ---------- */
.range { margin-bottom: 2rem; }
.range-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.5rem 1rem;
              margin-bottom: 0.8rem; }
.range-head h2 { margin: 0; font-size: 1.2rem; letter-spacing: -0.01em; }
.range-head p { margin: 0.1rem 0 0; color: var(--muted); font-size: 0.86rem; }
.range-billing { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.pkg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.9rem; }
.pkg-card { display: flex; flex-direction: column; gap: 0.45rem; padding: 1rem 1.05rem 1.05rem; border-radius: var(--radius);
            background: var(--panel); border: 1px solid var(--border); border-top: 3px solid var(--teal); }
.pkg-card.tier-pro { border-top-color: var(--accent-bright); }
.pkg-card.tier-pro_plus { border-top-color: var(--purple); }
.pkg-card header h3 { margin: 0; font-size: 1.05rem; }
.pkg-tag { margin: 0.1rem 0 0; color: var(--text-soft); font-size: 0.84rem; }
.pkg-price { display: flex; align-items: baseline; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.2rem; }
.pkg-price b { font-size: 1.85rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }
.pkg-price span { color: var(--muted); font-size: 0.85rem; font-weight: 600; }
.pkg-sub { margin: -0.2rem 0 0; color: var(--muted); font-size: 0.8rem; }
.pkg-discount { margin: 0; }
.pkg-includes { list-style: none; margin: 0.3rem 0 0; padding: 0; display: grid; gap: 0.28rem; font-size: 0.86rem; }
.pkg-includes li { display: flex; gap: 0.45rem; align-items: flex-start; color: var(--text-soft); }
.pkg-includes svg { color: var(--green); margin-top: 0.15rem; width: 1rem; height: 1rem; }
.pkg-same { font-size: 0.82rem; color: var(--muted); }
.pkg-same summary { cursor: pointer; padding: 0.2rem 0; }
.pkg-same summary:hover { color: var(--text); }
.pkg-same .pkg-includes { margin-top: 0.35rem; }
.pkg-add { margin-top: auto; }
.pkg-card > .pkg-add { margin-top: auto; align-self: stretch; }
.pkg-includes + .pkg-add, .pkg-same + .pkg-add { margin-top: 0.7rem; }

.addons { margin-top: 0.9rem; }
.addons h3, .ref-range h3 { margin: 0 0 0.5rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.09em;
                            text-transform: uppercase; color: var(--muted); }
.addon-list { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.addon { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.7rem; border-radius: var(--radius-sm);
         border: 1px solid var(--border-strong); background: var(--panel); color: var(--text-soft); font: inherit;
         font-size: 0.84rem; cursor: pointer; }
.addon b { color: var(--text); }
.addon svg { color: var(--accent-bright); }
.addon:hover:not(:disabled) { border-color: var(--accent-bright); color: var(--text); }
.addon:disabled { cursor: default; opacity: 0.8; }

/* ---------- price list ---------- */
.price-toolbar .search { flex: 1 1 320px; }
.price-group { margin-bottom: 1.3rem; }
.price-group h3 { display: flex; align-items: baseline; gap: 0.5rem; margin: 0 0 0.45rem; font-size: 0.75rem; font-weight: 700;
                  letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.price-group h3 small { font-weight: 600; letter-spacing: 0; color: var(--muted); opacity: 0.8; }
.price-rows { border-radius: var(--radius); border: 1px solid var(--border); background: var(--panel); overflow: hidden; }
.price-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8.5rem, auto) 6.5rem auto; align-items: center;
             gap: 0.4rem 1rem; padding: 0.6rem 0.9rem; border-bottom: 1px solid var(--border); }
.price-row:last-child { border-bottom: none; }
.price-row:not(.editing):hover { background: rgba(255, 255, 255, 0.025); }
.pr-name b { display: block; font-size: 0.92rem; font-weight: 650; }
.pr-name small, .pr-price small { display: block; color: var(--muted); font-size: 0.76rem; }
.pr-price { text-align: right; }
.pr-price b { font-size: 1rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pr-price .per { color: var(--muted); font-weight: 600; font-size: 0.78rem; }
.pr-type { text-align: center; }
.pr-add svg { color: var(--accent-bright); }
.empty-note { padding: 2rem 1rem; text-align: center; color: var(--muted); }

/* ---------- edit mode ---------- */
.price-row.editing { display: block; padding: 0.8rem 0.9rem; }
.ef-grid { display: grid; grid-template-columns: minmax(11rem, 2fr) minmax(7rem, 1fr) minmax(7rem, 1fr) 7.5rem 6.5rem auto;
           gap: 0.5rem; align-items: end; }
.ef-grid-2 { grid-template-columns: minmax(11rem, 2fr) minmax(9rem, 1fr) 7.5rem; margin-top: 0.45rem; }
.ef { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.ef > span { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.ef input, .ef select, .ef textarea { width: 100%; min-width: 0; padding: 0.45rem 0.6rem; font-size: 0.88rem; }
.ef textarea { resize: vertical; line-height: 1.45; }
.ef-row { display: grid; grid-template-columns: 5.5rem 1fr; gap: 0.5rem; }
.ef-small input { max-width: 7rem; }
.ef-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 0.3rem 0 0; font-size: 0.76rem; color: var(--muted); }
.ef-remove { color: #ffc2cc; }
.ef-remove:hover { background: var(--red-soft); }
.saved-tick { font-size: 0.75rem; font-weight: 700; color: var(--green); opacity: 0; transition: opacity 0.2s; }
.saved-tick.show { opacity: 1; }
.saved-tick.bad { color: var(--red); }
.sales-flag { display: flex; align-items: flex-start; gap: 0.45rem; margin: 0.45rem 0 0; padding: 0.45rem 0.6rem;
              border-radius: 8px; background: var(--amber-soft); border: 1px solid rgba(243, 181, 63, 0.35);
              color: #ffe2a8; font-size: 0.8rem; }
.sales-flag svg { color: var(--amber); width: 1rem; height: 1rem; margin-top: 0.1rem; }
.add-here { margin-top: 0.4rem; }
.new-category { max-width: 520px; }
.new-category label { display: block; margin-bottom: 0.4rem; }
.pkg-card.editing { gap: 0.55rem; border-top-color: var(--accent-bright); }
.pkg-card.editing header { display: flex; justify-content: space-between; align-items: baseline; }
.pkg-card.editing .ef-hint { margin-top: -0.3rem; }

/* ---------- quick reference ---------- */
.ref-title { margin: 1.6rem 0 0.8rem; font-size: 1.1rem; }
.ref-title:first-child { margin-top: 0; }
.ref-range { margin-bottom: 1.1rem; }
.ref-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0.8rem; }
.ref-long { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.ref-info { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); margin-bottom: 0.4rem; }
.ref-info .ref-card:first-child { border-color: rgba(77, 155, 255, 0.45); }
.ref-card { padding: 0.85rem 0.95rem; border-radius: var(--radius); background: var(--panel); border: 1px solid var(--border); }
.ref-card header { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.ref-card header b { font-size: 0.95rem; }
.ref-price { margin-right: auto; color: var(--accent-bright); font-weight: 700; font-size: 0.85rem; }
.ref-card header > b:only-of-type + .btn, .snippet header .btn { margin-left: auto; }
.snippet header b { margin-right: auto; }
.ref-card ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.25rem; font-size: 0.86rem; color: var(--text-soft); }
.icon-btn { display: inline-grid; place-items: center; width: 2rem; height: 2rem; flex: none; border-radius: 8px;
            border: 1px solid transparent; background: none; color: var(--muted); cursor: pointer; }
.icon-btn:hover { color: var(--text); background: rgba(255, 255, 255, 0.06); border-color: var(--border); }
.snippet-body { font-size: 0.86rem; color: var(--text-soft); }
.snippet-body p { margin: 0 0 0.6rem; white-space: pre-line; }
.snippet-body p:last-child { margin-bottom: 0; }
.snippet-body h4 { margin: 0.6rem 0 0.15rem; font-size: 0.7rem; letter-spacing: 0.09em; color: var(--accent-bright); }
.snippet-body h4:first-child { margin-top: 0; }
.snippet.is-long .snippet-body { max-height: 11.5rem; overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
.snippet.is-long.open .snippet-body { max-height: none; -webkit-mask-image: none; mask-image: none; }
.more-btn { margin-top: 0.4rem; font-size: 0.8rem; color: var(--accent-bright); }
.snippet textarea { width: 100%; font-size: 0.86rem; line-height: 1.45; resize: vertical; }

/* ---------- the quote ---------- */
.quote-panel { padding: 1rem 1.05rem 1.1rem; }
.quote-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.7rem; }
.quote-head h2 { margin: 0 auto 0 0; font-size: 1.15rem; }
.quote-lead { margin-bottom: 0.8rem; }
.lead-chip { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.7rem; border-radius: var(--radius-sm);
             background: var(--accent-soft); border: 1px solid rgba(77, 155, 255, 0.4); }
.lead-chip > svg { color: var(--accent-bright); }
.lead-chip > div { flex: 1; min-width: 0; }
.lead-chip small { display: block; color: var(--muted); font-size: 0.76rem; }
.lead-chip .lead-name { font-size: 0.95rem; }
.lead-search { width: 100%; }
.lead-results { display: grid; gap: 0.3rem; margin-top: 0.4rem; }
.lead-results:empty { display: none; }
.lead-result { display: block; width: 100%; padding: 0.5rem 0.7rem; text-align: left; border-radius: 8px;
               border: 1px solid var(--border); background: var(--panel-solid); color: var(--text); font: inherit; cursor: pointer; }
.lead-result:hover { border-color: var(--accent-bright); }
.lead-result b { display: block; font-size: 0.88rem; }
.lead-result small { color: var(--muted); font-size: 0.76rem; }

.quote-start { padding: 0.75rem; margin-bottom: 0.7rem; border-radius: var(--radius-sm); border: 1px dashed var(--border-strong); }
.quote-start p { margin: 0 0 0.5rem; font-size: 0.86rem; color: var(--text-soft); }
.start-group { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; margin-bottom: 0.45rem; }
.start-group > span { width: 100%; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.quote-panel .chip { display: inline-flex; align-items: center; gap: 0.3rem; }
.quote-panel .chip b { color: var(--text); margin-left: 0.15rem; }
.quote-panel .chip svg { width: 0.9rem; height: 0.9rem; color: var(--accent-bright); }

.quote-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.qline { padding: 0.65rem 0.7rem; border-radius: var(--radius-sm); background: rgba(5, 10, 28, 0.45); border: 1px solid var(--border); }
.qline.unpriced { border-color: rgba(243, 181, 63, 0.5); }
.ql-top { display: flex; align-items: flex-start; gap: 0.4rem; }
.ql-top > div { flex: 1; min-width: 0; }
.ql-top b { display: block; font-size: 0.9rem; line-height: 1.3; }
.ql-top small { display: block; color: var(--muted); font-size: 0.74rem; }
.ql-top .icon-btn { width: 1.7rem; height: 1.7rem; margin: -0.2rem -0.25rem 0 0; }
.ql-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; margin-top: 0.45rem; }
.ql-pick { display: flex; flex-wrap: wrap; gap: 0.25rem; align-items: center; }
.ql-pick button { padding: 0.3rem 0.55rem; border-radius: 7px; border: 1px solid var(--border-strong); background: var(--panel-raised);
                  color: var(--text-soft); font: inherit; font-size: 0.78rem; font-weight: 650; cursor: pointer; white-space: nowrap; }
.ql-pick button:hover { border-color: var(--accent-bright); color: var(--text); }
.ql-pick button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent-bright); color: #fff; }
.money-input { display: inline-flex; align-items: center; gap: 0.15rem; padding-left: 0.5rem; border-radius: 7px;
               border: 1px solid var(--border-strong); background: rgba(5, 10, 28, 0.6); color: var(--muted); font-size: 0.82rem; }
.money-input input { width: 5.5rem; padding: 0.3rem 0.45rem 0.3rem 0.1rem; border: none; background: none; font-size: 0.82rem; }
.money-input input:focus { outline: none; }
.money-input:focus-within { outline: 2px solid var(--accent-bright); outline-offset: 1px; }
.money-input.on { border-color: var(--accent-bright); color: var(--text); }
.money-input input.bad { color: var(--red); }
.ql-qty { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.8rem; font-weight: 600; color: var(--text-soft); }
.ql-qty input { width: 4rem; padding: 0.3rem 0.4rem; font-size: 0.82rem; }
.ql-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.3rem 0.6rem; margin-top: 0.45rem; }
.ql-disc { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; }
.ql-disc .link-btn { display: inline; font-size: 0.74rem; }
.ql-total { margin-left: auto; text-align: right; font-variant-numeric: tabular-nums; }
.ql-total b { font-size: 1rem; }
.ql-total s { color: var(--muted); font-size: 0.8rem; }
.ql-total small { color: var(--muted); }
.ql-total .ql-year { display: block; }
.needs-price { color: var(--amber); font-size: 0.8rem; font-weight: 700; }

.quote-addons { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; margin-top: 0.7rem; }
.quote-custom { margin-top: 0.7rem; }
.quote-custom summary { display: inline-flex; align-items: center; gap: 0.35rem; cursor: pointer; font-size: 0.84rem;
                        font-weight: 600; color: var(--accent-bright); list-style: none; }
.quote-custom summary::-webkit-details-marker { display: none; }
.custom-form { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.5rem; }
.custom-form > input { flex: 1 1 10rem; min-width: 0; padding: 0.4rem 0.6rem; font-size: 0.85rem; }
.custom-form select { padding: 0.4rem 0.5rem; font-size: 0.85rem; }
.custom-form .money-input input { width: 5rem; }
.quote-annual { margin-top: 0.8rem; padding: 0.55rem 0.7rem; border-radius: var(--radius-sm); background: var(--green-soft);
                border: 1px solid rgba(47, 214, 123, 0.35); font-size: 0.86rem; color: var(--text); }
.quote-annual input { width: 1.05rem; height: 1.05rem; accent-color: var(--green); }

.quote-totals { margin-top: 0.8rem; padding: 0.7rem 0.8rem; border-radius: var(--radius-sm); background: var(--panel-solid);
                border: 1px solid var(--border-strong); }
.qt-row { display: flex; align-items: baseline; justify-content: space-between; gap: 0.8rem; padding: 0.2rem 0;
          font-size: 0.86rem; color: var(--text-soft); }
.qt-row b { color: var(--text); font-variant-numeric: tabular-nums; text-align: right; }
.qt-row b small { color: var(--muted); font-weight: 600; }
.qt-row.big span { font-weight: 700; color: var(--text); }
.qt-row.big b { font-size: 1.45rem; font-weight: 800; letter-spacing: -0.02em; }
.qt-row.save b { color: var(--green); }
.qt-row.disc b { color: var(--green); font-weight: 600; }
.qt-warn { display: flex; gap: 0.4rem; align-items: flex-start; margin: 0.4rem 0 0; font-size: 0.8rem; color: var(--amber); }
.qt-warn svg { width: 1rem; height: 1rem; margin-top: 0.1rem; }
.quote-note { display: flex; flex-direction: column; gap: 0.3rem; margin-top: 0.8rem; }
.quote-note small { font-weight: 400; color: var(--muted); }
.quote-note textarea { width: 100%; resize: vertical; font-size: 0.86rem; }
.quote-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }
.quote-actions .btn { flex: 1 1 auto; }
.quote-saved { margin-top: 1rem; padding-top: 0.8rem; border-top: 1px solid var(--border); }
.quote-saved:empty { display: none; }
.quote-saved h3 { margin: 0 0 0.5rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.saved-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.saved-list li { display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.5rem 0.6rem; border-radius: 8px; border: 1px solid var(--border); }
.saved-list li > div:first-child { flex: 1; min-width: 0; font-size: 0.86rem; }
.saved-list small { display: block; color: var(--text-soft); font-size: 0.78rem; }
.saved-list em { display: block; color: var(--muted); font-size: 0.78rem; margin-top: 0.1rem; overflow-wrap: anywhere; }
.saved-btns { display: flex; gap: 0.25rem; flex: none; }

/* bottom bar on narrow screens: what's in the quote, one tap to open it */
.quote-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: center;
             justify-content: space-between; gap: 0.8rem; padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom));
             background: var(--panel-solid); border-top: 1px solid var(--border-strong); box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
             font-size: 0.88rem; }
.quote-bar span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales:has(.quote-bar:not([hidden])) { padding-bottom: 3.5rem; }
body:has(.quote-bar:not([hidden])) .toasts { bottom: 4.6rem; }
@media (min-width: 861px) { .quote-bar { left: var(--sidebar-w); } }  /* keeps the sidebar's buttons clear */
/* during a call the bar sits just above the docked call panel */
body.dl-docked .quote-bar { bottom: var(--call-panel-h, 0px); }
body.dl-docked:has(.quote-bar:not([hidden])) .toasts { bottom: calc(var(--call-panel-h, 0px) + 4.2rem); }

@media (max-width: 860px) {
  .sales-actions { width: 100%; }
  .sales-actions .seg-switch { flex: 1 1 auto; }
  .sales-actions .seg-switch button { flex: 1; }
  .ef-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ef-grid .ef-name { grid-column: 1 / -1; }
  .ef-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ef-remove { justify-self: start; }
}

@media (max-width: 600px) {
  .price-row { grid-template-columns: minmax(0, 1fr) auto; gap: 0.35rem 0.6rem; padding: 0.65rem 0.75rem; }
  .pr-name { grid-column: 1 / -1; }
  .pr-price { grid-column: 1; grid-row: 2; display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; text-align: left; }
  .pr-type { grid-column: 1; grid-row: 3; text-align: left; }
  .pr-add { grid-column: 2; grid-row: 2 / span 2; align-self: center; }
  .pkg-price b { font-size: 1.6rem; }
  .ref-long, .ref-info { grid-template-columns: 1fr; }
  .quote-panel { padding: 0.85rem 0.8rem; }
  .ql-pick button { padding: 0.35rem 0.5rem; }
  .sales-tabs button { padding: 0.55rem 0.7rem; font-size: 0.88rem; }
}
