:root {
  --v15-page: #F7F7F4;
  --v15-card: #FAFAFA;
  --v15-surface: #FFFFFF;
  --v15-hairline: #E5E6E2;
  --v15-text: #1A1B1F;
  --v15-mid: #575D58;
  --v15-muted: #6B716A;
  --v15-placeholder: #A1A1AA;
  --v15-charcoal: #18181B;
  --v15-green: #1B5E20;
  --v15-green-bright: #5BB948;
  --v15-green-pale: #F0F7F0;
  --v15-teal: #00413D;
  --v15-teal-ink: #00302D;
  --v15-teal-soft: rgba(0, 65, 61, .06);
  --v15-emerald: #10B981;
  --v15-emerald-soft: rgba(16, 185, 129, .12);
  --v15-amber: #FBBF24;
  --v15-amber-pale: #FEF3C7;
  --v15-amber-text: #92400E;
  --v15-red: #B42318;
  --v15-red-pale: #FEECEB;
  --v15-scrim: rgba(24, 24, 27, .45);
  --v15-shadow: 0 18px 48px rgba(24, 24, 27, .28);
  --v15-on-dark: #FFFFFF;
  --v15-sign-reading-width: 816px;
  --v15-neutral-pale: #EAEAEC;
  --v15-inverse: #FFFFFF;
  --v15-danger: #9A2C2C;
  --v15-danger-pale: #FBEDED;
  --v15-danger-border: #E9C3C3;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--v15-text);
  background: var(--v15-page);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.shell { max-width: 480px; margin: 0 auto; padding: 40px 20px; }
.shell.wide { max-width: 640px; }

.card {
  background: var(--v15-surface);
  border: 1px solid var(--v15-hairline);
  border-radius: 10px;
  padding: 24px 22px;
}

.brand { font-size: 16px; font-weight: 500; letter-spacing: -0.02em; color: var(--v15-text); }
.brand .mark { color: var(--v15-green); }

h1 { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.25; margin: 14px 0 6px; }
p.sub { color: var(--v15-mid); font-size: 14px; margin: 0 0 24px; line-height: 1.5; }

label { display: block; font-size: 12px; font-weight: 500; color: var(--v15-mid); margin-bottom: 5px; }

input[type="email"] {
  width: 100%; padding: 12px; font-size: 16px; color: var(--v15-text);
  background: var(--v15-page); border: 1px solid transparent; border-radius: 7px;
  margin-bottom: 16px; min-height: 44px;
}
input[type="email"]::placeholder { color: var(--v15-placeholder); }
input[type="email"]:focus { outline: none; border-color: var(--v15-green); background: var(--v15-surface); }

button {
  width: 100%; padding: 13px 16px; font-size: 15px; font-weight: 500; line-height: 1.4;
  color: var(--v15-inverse); background: var(--v15-charcoal);
  border: 0; border-radius: 8px; cursor: pointer; min-height: 46px;
}
button:hover { filter: brightness(1.25); }
button:disabled { background: var(--v15-placeholder); cursor: default; filter: none; }

.note { margin-top: 18px; font-size: 13px; color: var(--v15-muted); text-align: center; min-height: 18px; }
.note.error { color: var(--v15-danger); }

.hidden { display: none; }
.signed-in .email { font-weight: 500; }

input[type="tel"], input.code-input {
  width: 100%; padding: 12px; font-size: 16px; color: var(--v15-text);
  background: var(--v15-page); border: 1px solid transparent; border-radius: 7px;
  margin-bottom: 16px; min-height: 44px;
}
input[type="tel"]::placeholder, input.code-input::placeholder { color: var(--v15-placeholder); }
input[type="tel"]:focus, input.code-input:focus {
  outline: none; border-color: var(--v15-green); background: var(--v15-surface);
}
input.code-input {
  text-align: center; font-size: 28px; letter-spacing: 0.4em; text-indent: 0.4em;
  font-variant-numeric: tabular-nums;
}

.or-divider { display: flex; align-items: center; gap: 12px; margin: 6px 0 14px; }
.or-divider::before, .or-divider::after { content: ""; flex: 1; height: 1px; background: var(--v15-hairline); }
.or-divider span { font-size: 12px; color: var(--v15-placeholder); }

.btn-secondary {
  background: var(--v15-surface); color: var(--v15-text); border: 1px solid var(--v15-hairline);
}
.btn-secondary:hover { filter: none; background: var(--v15-page); }
.btn-secondary:disabled { background: var(--v15-surface); color: var(--v15-placeholder); }

.code-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; }
.btn-link {
  width: auto; display: inline; min-height: 0; padding: 6px 0; background: none;
  color: var(--v15-green); font-size: 13px; font-weight: 500; border: none; cursor: pointer;
}
.btn-link:hover { filter: none; text-decoration: underline; }
.btn-link:disabled { background: none; color: var(--v15-placeholder); cursor: default; text-decoration: none; }
.btn-link.muted { color: var(--v15-mid); }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.vp-band {
  background: var(--v15-charcoal); display: grid;
  grid-template-columns: 1fr auto 1fr; align-items: center;
  gap: 10px; padding: 12px 20px;
}
.vp-band .vp-lockup { grid-column: 2; justify-self: center; }
.vp-band .vp-who { grid-column: 3; justify-self: end; }
.vp-band .vp-lockup { display: flex; align-items: center; gap: 12px; min-width: 0; }
.vp-cobrand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.vp-band .vp-x { color: var(--v15-placeholder); font-size: 14px; }
.vp-cobrand-logo { height: 28px; max-width: 150px; display: block; }
.vp-cobrand-name {
  color: var(--v15-on-dark); font-weight: 600; font-size: 15px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.vp-lp-lockup { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.vp-lp-logo { height: 22px; display: block; }
.vp-band-sub { color: var(--v15-placeholder); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.vp-band .vp-who {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  color: var(--v15-placeholder); font-size: 12px;
}
.vp-band .vp-who .vp-email { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vp-band .linklike { flex: none; color: var(--v15-on-dark); }
.vp-brand-light { display: flex; align-items: center; justify-content: center; gap: 8px; }
.vp-brand-light .vp-lp-logo { height: 24px; }
.vp-brand-light .vp-band-sub { color: var(--v15-muted); }
@media (max-width: 640px) {
  .vp-band { grid-template-columns: 1fr; justify-items: center; padding: 10px 14px; row-gap: 4px; }
  .vp-band .vp-lockup { grid-column: 1; }
  .vp-band .vp-who { grid-column: 1; justify-self: center; }
  .vp-band .vp-lockup { gap: 8px; }
  .vp-cobrand { gap: 8px; }
  .vp-cobrand-name { font-size: 13px; }
  .vp-cobrand-logo { height: 24px; max-width: 120px; }
  .vp-lp-logo { height: 18px; }
  .vp-band-sub { display: none; }
  .vp-band .vp-who { font-size: 11px; max-width: 100%; }
}
.linklike {
  width: auto; display: inline; min-height: 0; padding: 0; background: none;
  color: var(--v15-green); font-size: 11px; font-weight: 500; border: none; cursor: pointer;
}
.linklike:hover { filter: none; text-decoration: underline; }

.vp-nav {
  display: flex; gap: 4px; margin: 2px 0 18px;
  background: var(--v15-surface); border: 1px solid var(--v15-hairline);
  border-radius: 9px; padding: 3px;
}
.vp-nav a {
  flex: 1; text-align: center; font-size: 12.5px; font-weight: 500; text-decoration: none;
  padding: 7px 8px; border-radius: 7px; color: var(--v15-mid); border: 0;
}
.vp-nav a:hover { background: var(--v15-page); }
.vp-nav a.active, .vp-nav a.active:hover { background: var(--v15-charcoal); color: var(--v15-inverse); }

.vp-chips { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 16px; }
.vp-chip {
  width: auto; min-height: 0; padding: 6px 13px; font-size: 12px; font-weight: 500;
  color: var(--v15-mid); background: var(--v15-surface);
  border: 1px solid var(--v15-hairline); border-radius: 999px; cursor: pointer;
}
.vp-chip:hover { filter: none; background: var(--v15-page); }
.vp-chip.active { color: var(--v15-inverse); background: var(--v15-charcoal); border-color: var(--v15-charcoal); }

.vp-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 14px; margin-bottom: 9px; text-decoration: none; color: var(--v15-text);
  background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 10px;
}
.vp-row:hover { border-color: var(--v15-green); }
.vp-row-main { min-width: 0; }
.vp-row-right { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.vp-row-date { font-size: 11.5px; color: var(--v15-muted); font-variant-numeric: tabular-nums; }
.vp-row-title { font-weight: 600; font-size: 14px; letter-spacing: -0.01em; }
.vp-row-num { color: var(--v15-muted); font-weight: 400; }
.vp-row-meta {
  font-size: 12.5px; color: var(--v15-mid); margin-top: 3px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.vp-row-amount {
  flex-shrink: 0; font-variant-numeric: tabular-nums; font-weight: 600;
  font-size: 14px; color: var(--v15-charcoal); margin-left: auto; padding-right: 2px;
}
.vp-toolbar { display: flex; gap: 8px; margin: 0 0 12px; }
.vp-search { flex: 1; min-width: 0; position: relative; display: flex; align-items: center; }
.vp-search svg { position: absolute; left: 11px; color: var(--v15-placeholder); pointer-events: none; }
.vp-search input[type="search"] { width: 100%; padding: 9px 12px 9px 33px; font-size: 14px; color: var(--v15-text); background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 8px; min-height: 40px; -webkit-appearance: none; appearance: none; margin: 0; }
.vp-search input[type="search"]::placeholder { color: var(--v15-placeholder); }
.vp-search input[type="search"]:focus { border-color: var(--v15-green); }
.vp-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.vp-sort .vp-select { min-height: 40px; }
.vp-empty { border: 1px dashed var(--v15-hairline); border-radius: 11px; padding: 20px 16px; background: var(--v15-surface); text-align: center; }
.vp-empty-t { font-size: 13.5px; color: var(--v15-mid); }
.vp-empty-t strong { color: var(--v15-text); font-weight: 600; }
.vp-empty-clear { width: auto; min-height: 0; margin-top: 10px; padding: 7px 14px; font-size: 13px; font-weight: 500; color: var(--v15-text); background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 8px; cursor: pointer; }
.vp-empty-clear:hover { filter: none; background: var(--v15-page); }
.vp-empty-clear:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; }
.vp-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 16px; }
.vp-stat {
  border: 1px solid var(--v15-hairline); border-radius: 11px; padding: 12px 14px;
  background: var(--v15-surface);
}
.vp-stat-lab {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--v15-muted); font-weight: 600;
}
.vp-stat-big {
  font-size: 22px; font-weight: 700; color: var(--v15-charcoal); margin-top: 3px;
  font-variant-numeric: tabular-nums;
}
.vp-stat-sub { font-size: 12px; color: var(--v15-muted); margin-top: 1px; }
.vp-stat.funded .vp-stat-big { color: var(--v15-green); }
@media (max-width: 640px) { .vp-totals { grid-template-columns: 1fr; } }

.vp-pg-card {
  margin-top: 18px; border: 1px solid var(--v15-hairline); border-radius: 11px;
  padding: 14px; background: var(--v15-surface);
}
.vp-pg-h {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--v15-muted); font-weight: 600; margin-bottom: 8px;
}
.vp-kv {
  display: flex; justify-content: space-between; gap: 12px; padding: 6px 0;
  border-bottom: 1px dashed var(--v15-hairline); font-size: 13px;
}
.vp-kv:last-child { border-bottom: none; }
.vp-k { color: var(--v15-muted); flex-shrink: 0; }
.vp-v { font-weight: 600; text-align: right; word-break: break-word; }
.vp-v a { color: var(--v15-green); text-decoration: none; }

.vp-offer { margin-top: 16px; border-top: 1px solid var(--v15-hairline); padding-top: 14px; }
.vp-offer-h { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--v15-muted); font-weight: 600; }
.vp-offer-caption { font-size: 12px; color: var(--v15-muted); margin: 2px 0 10px; }
.v15-offer-card { position: relative; background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 12px; padding: 16px 15px 13px; margin: 10px 0; }
.v15-offer-card.rec { border-color: var(--v15-green); box-shadow: 0 0 0 1px var(--v15-green) inset; }
.v15-offer-badge { display: inline-flex; align-items: center; gap: 3px; background: var(--v15-green-pale); color: var(--v15-green); font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius: 3px; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 8px; }
.v15-offer-why { font-size: 11px; color: var(--v15-muted); margin: 0 0 6px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600; }
.v15-offer-price { display: flex; align-items: baseline; gap: 5px; margin-bottom: 12px; }
.v15-offer-price .amount { font-size: 34px; font-weight: 600; color: var(--v15-green); letter-spacing: -0.025em; line-height: 1; font-variant-numeric: tabular-nums; }
.v15-offer-price .term { font-size: 14px; color: var(--v15-muted); font-weight: 500; }
.v15-offer-details { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--v15-hairline); }
.vp-zero-apr { margin-top: 9px; font-size: 12px; font-weight: 700; color: var(--v15-green); text-transform: uppercase; letter-spacing: 0.03em; }
.v15-defer-callout { margin: 0 0 12px; padding: 8px 11px; border-radius: 8px; background: var(--v15-green-pale); border: 1px solid color-mix(in srgb, var(--v15-green) 22%, transparent); font-size: 13px; font-weight: 600; color: var(--v15-green); }
.vp-doc-icons { display: flex; gap: 6px; align-items: center; }
.vp-doc-icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--v15-hairline); background: var(--v15-surface); color: var(--v15-muted); }
.vp-doc-icon svg { width: 17px; height: 17px; display: block; }
.vp-doc-icon.active { background: var(--v15-green-pale); border-color: var(--v15-green); color: var(--v15-green); }
.vp-row-status { display: flex; align-items: center; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.vp-row-docs .vp-doc-icon { width: 24px; height: 24px; border-radius: 6px; }
.vp-row-docs .vp-doc-icon svg { width: 14px; height: 14px; }
.vp-detail-docs { margin-top: 10px; }
.vp-detail-docs .vp-doc-icon { width: 34px; height: 34px; }
.vp-detail-docs .vp-doc-icon svg { width: 18px; height: 18px; }
.vp-alt .alt-defer { color: var(--v15-green); font-weight: 600; }
.v15-alt-options { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.vp-alt { background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 8px; padding: 11px 13px; }
.alt-title { display: block; font-size: 11px; color: var(--v15-muted); text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600; margin-bottom: 2px; }
.alt-price { font-size: 18px; color: var(--v15-charcoal); font-weight: 600; font-variant-numeric: tabular-nums; }
.alt-term { font-size: 13px; color: var(--v15-muted); font-weight: 500; margin-left: 4px; }
.alt-details { display: block; font-size: 11px; color: var(--v15-muted); margin-top: 4px; }
.vp-offer-note { border: 1px dashed var(--v15-hairline); border-radius: 11px; padding: 13px 14px; background: var(--v15-surface); font-size: 13px; color: var(--v15-mid); margin-top: 8px; }
.vp-offer-card { border: 1px solid var(--v15-hairline); border-radius: 11px; padding: 12px 14px; background: var(--v15-surface); margin-top: 8px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.vp-offer-lab { font-size: 13px; font-weight: 600; color: var(--v15-text); }
.vp-offer-price { font-size: 15px; font-weight: 700; color: var(--v15-text); margin-left: auto; }
.vp-offer-term { font-size: 12.5px; color: var(--v15-mid); }
.vp-offer-det { flex-basis: 100%; font-size: 12.5px; color: var(--v15-mid); margin-top: 2px; }

.vp-ni { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--v15-hairline); }
.vp-ni-h { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--v15-mid); font-weight: 600; margin-bottom: 8px; }
.vp-ni-h .cnt { text-transform: none; letter-spacing: 0; color: var(--v15-text); font-variant-numeric: tabular-nums; }
.vp-ni-sub { font-size: 12.5px; color: var(--v15-mid); margin: -4px 0 6px; }
.vp-ni-note { font-size: 12.5px; color: var(--v15-mid); margin-top: 8px; }
.vp-ni .vp-kv .st { font-size: 12px; font-weight: 600; white-space: nowrap; }
.vp-ni .vp-kv .st.got { color: var(--v15-green); }
.vp-ni .vp-kv .st.need { color: var(--v15-amber-text); }

.vp-badge {
  flex-shrink: 0; font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em; padding: 4px 9px; border-radius: 4px;
  background: var(--v15-neutral-pale); color: var(--v15-charcoal);
}
.vp-badge.st-approved { background: var(--v15-green-pale); color: var(--v15-green); }
.vp-badge.st-docs-out { background: var(--v15-amber-pale); color: var(--v15-amber-text); }
.vp-badge.st-in-review { background: var(--v15-neutral-pale); color: var(--v15-mid); }
.vp-badge.st-signed { background: var(--v15-neutral-pale); color: var(--v15-charcoal); }
.vp-badge.st-po-issued { background: var(--v15-green-pale); color: var(--v15-green); box-shadow: inset 0 0 0 1.5px var(--v15-green-bright); }
.vp-badge.st-funded { background: var(--v15-green); color: var(--v15-inverse); }
.vp-badge.st-declined { background: var(--v15-danger-pale); color: var(--v15-danger); }
.vp-badge.st-not-funded, .vp-badge.st-not-signed, .vp-badge.st-withdrawn { background: var(--v15-neutral-pale); color: var(--v15-muted); }

.vp-foot { margin-top: 16px; font-size: 11.5px; color: var(--v15-muted); }
.vp-back { font-size: 12px; margin: 0 0 12px; }
.vp-back a { color: var(--v15-green); text-decoration: none; display: inline-block; padding: 6px 4px; }

.vp-deal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.vp-deal-head h1 { margin: 0; font-size: 20px; }

.vp-timeline { list-style: none; margin: 18px 0 0; padding: 0; }
.vp-ms { display: flex; gap: 12px; }
.vp-ms-dot {
  flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: var(--v15-inverse); position: relative;
}
.vp-ms:not(:last-child) .vp-ms-dot::after {
  content: ""; position: absolute; top: 22px; left: 50%; transform: translateX(-50%);
  width: 2px; height: calc(100% + 14px); background: var(--v15-hairline);
}
.vp-ms-done .vp-ms-dot { background: var(--v15-green); }
.vp-ms-done:not(:last-child) .vp-ms-dot::after { background: var(--v15-green); }
.vp-ms-current .vp-ms-dot { background: var(--v15-green-pale); border: 2px solid var(--v15-green); color: var(--v15-green); }
.vp-ms-pending .vp-ms-dot { background: var(--v15-surface); border: 2px solid var(--v15-hairline); color: var(--v15-placeholder); }
.vp-ms-body { padding-bottom: 14px; }
.vp-ms-label { font-size: 13.5px; font-weight: 600; letter-spacing: -0.01em; }
.vp-ms-pending .vp-ms-label { color: var(--v15-muted); }
.vp-ms-when { font-size: 12px; color: var(--v15-muted); }

.vp-h2 { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 6px; }
.vp-divider { border-top: 1px solid var(--v15-hairline); margin: 24px 0 18px; }

.vp-linkcard {
  background: var(--v15-surface); border: 1px solid var(--v15-hairline);
  border-radius: 10px; padding: 16px; margin-bottom: 10px;
}
.vp-linkcard-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.vp-vendor-badge {
  width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
  background: var(--v15-green-pale); color: var(--v15-green);
  display: flex; align-items: center; justify-content: center; font-size: 14px;
}
.vp-vendor-name { font-size: 14px; font-weight: 600; }
.vp-linkrow { display: flex; align-items: center; gap: 10px; }
.vp-linkrow + .vp-linkrow { margin-top: 8px; }
.vp-linklabel {
  flex: none; min-width: 58px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; color: var(--v15-mid);
}
.vp-linkbroken {
  flex: 1; min-width: 0; font-size: 12.5px; line-height: 1.5; color: var(--v15-charcoal);
  background: var(--v15-amber-pale);
  border: 1px solid color-mix(in srgb, var(--v15-amber-text) 32%, transparent);
  border-radius: 8px; padding: 10px 12px;
}
.vp-linkbroken strong { color: var(--v15-amber-text); }
@media (max-width: 640px) {
  .vp-linkrow { flex-wrap: wrap; }
  .vp-linklabel { min-width: 100%; }
  .vp-linkrow .vp-copy { width: 100%; }
}
.vp-url {
  flex: 1; min-width: 0; font-size: 13px; color: var(--v15-text);
  background: var(--v15-page); border: 1px solid var(--v15-hairline);
  border-radius: 7px; padding: 11px; margin: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vp-copy {
  flex-shrink: 0; width: auto; min-height: 0; font-size: 13px; font-weight: 500;
  color: var(--v15-inverse); background: var(--v15-charcoal);
  border: none; border-radius: 8px; padding: 11px 16px; cursor: pointer;
}
.vp-copy:hover { filter: brightness(1.25); }

.vp-share { margin-top: 10px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.vp-share .vp-copy { width: auto; }
.vp-share .vp-share-note { font-size: 13px; color: var(--v15-mid); min-width: 0; overflow-wrap: anywhere; }
.vp-share .vp-share-note.ok { color: var(--v15-green); }
.vp-share .vp-share-note.error { color: var(--v15-danger); }
@media (max-width: 640px) {
  .vp-share { align-items: stretch; flex-direction: column; gap: 6px; }
  .vp-share .vp-copy { width: 100%; }
}

.vp-tiles { display: flex; gap: 10px; margin-bottom: 14px; }
.vp-tile {
  flex: 1; background: var(--v15-surface); border: 1px solid var(--v15-hairline);
  border-radius: 8px; padding: 10px 12px;
  display: flex; align-items: baseline; gap: 8px;
}
.vp-tile-num { font-size: 19px; font-weight: 600; letter-spacing: -0.02em; }
.vp-tile-label { font-size: 12px; color: var(--v15-mid); }
.vp-ref-fine { margin: 10px 0 18px; line-height: 1.5; }
@media (max-width: 640px) {
  .vp-tiles { flex-wrap: wrap; }
  .vp-tile { flex: 1 1 40%; }
}

.vp-ref-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px; margin-bottom: 9px;
  background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 10px;
}
.vp-ref-main { min-width: 0; }
.vp-ref-when { font-size: 13px; color: var(--v15-text); }
.vp-ref-equip {
  font-size: 12px; color: var(--v15-mid);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vp-badge.st-started { background: var(--v15-neutral-pale); color: var(--v15-mid); }
.vp-badge.st-verified { background: var(--v15-green-pale); color: var(--v15-green); }
.vp-badge.st-submitted { background: var(--v15-green); color: var(--v15-inverse); }

.vp-nav a:focus-visible,
.vp-row:focus-visible,
.vp-back a:focus-visible,
.vp-copy:focus-visible,
.linklike:focus-visible,
.vp-chip:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--v15-green); outline-offset: 2px;
}

.vp-viewas-banner {
  position: sticky; top: 0; z-index: 50;
  padding: 9px 16px; text-align: center;
  font-size: 13px; line-height: 1.4; color: var(--v15-amber-text);
  background: var(--v15-amber-pale);
  border-bottom: 1px solid var(--v15-amber);
}
.vp-viewas-banner strong { font-weight: 600; }

.vp-prefs { margin: 6px 0 4px; }
.vp-prefs-row {
  display: flex; align-items: center; gap: 8px;
  padding: 13px 0; border-top: 1px solid var(--v15-hairline);
}
.vp-prefs-head { border-top: none; padding-bottom: 4px; }
.vp-prefs-head .vp-prefs-label,
.vp-prefs-head .vp-prefs-cell {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--v15-muted);
}
.vp-prefs-label { flex: 1; min-width: 0; }
.vp-prefs-title { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.vp-prefs-desc { font-size: 12px; color: var(--v15-mid); }
.vp-prefs-cell { width: 64px; flex: none; text-align: center; color: var(--v15-muted); }
.vp-soon {
  font-size: 11px; font-weight: 500; padding: 1px 7px; border-radius: 999px;
  background: var(--v15-neutral-pale); color: var(--v15-mid);
}
.vp-toggle {
  width: 38px; height: 22px; min-height: 0; padding: 0; border-radius: 999px; cursor: pointer;
  background: var(--v15-neutral-pale); border: 1px solid var(--v15-hairline);
  position: relative; vertical-align: middle; transition: background .12s;
}
.vp-toggle-knob {
  position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--v15-surface); border: 1px solid var(--v15-hairline); transition: left .12s;
}
.vp-toggle[aria-checked="true"] { background: var(--v15-green); border-color: var(--v15-green); }
.vp-toggle[aria-checked="true"] .vp-toggle-knob { left: 18px; border-color: var(--v15-green); }
.vp-toggle:disabled { opacity: .5; cursor: not-allowed; }
.vp-toggle:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; }
.vp-prefs-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--v15-hairline);
}
.vp-prefs-hint { font-size: 12px; color: var(--v15-mid); }
.vp-prefs-reset {
  width: auto; min-height: 0; font-size: 13px; color: var(--v15-mid);
  background: var(--v15-surface); border: 1px solid var(--v15-hairline);
  border-radius: 8px; padding: 8px 13px; cursor: pointer;
}
.vp-prefs-reset:hover:not(:disabled) { background: var(--v15-page); filter: none; }
.vp-prefs-reset:disabled { opacity: .5; cursor: not-allowed; }
.vp-prefs-reset:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; }
.vp-readonly {
  font-size: 13px; color: var(--v15-green);
  background: var(--v15-green-pale);
  border: 1px solid var(--v15-green); border-radius: 8px;
  padding: 9px 13px; margin: 4px 0 14px;
}
@media (max-width: 640px) { .vp-prefs-cell { width: 52px; } }

.shell.xwide { max-width: 980px; }
.vp-headrow {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin: 0 0 16px;
}
.vp-headrow h1 { margin: 0 0 4px; }
.vp-headrow p.sub { margin: 0; }
.vp-role-badge {
  display: inline-block; vertical-align: 3px; margin-left: 8px; padding: 3px 10px;
  border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em;
  text-transform: uppercase; background: var(--v15-green-pale); color: var(--v15-green);
}
.vp-select {
  width: auto; min-height: 0; padding: 8px 12px; font-size: 13px; font-weight: 500;
  color: var(--v15-text); background: var(--v15-surface);
  border: 1px solid var(--v15-hairline); border-radius: 8px; cursor: pointer;
}
.vp-select:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; }

.vp-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0 0 16px; }
@media (max-width: 820px) { .vp-kpis { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .vp-kpis { grid-template-columns: 1fr; } }

.vp-tablecard {
  background: var(--v15-surface); border: 1px solid var(--v15-hairline);
  border-radius: 10px; overflow: hidden;
}
.vp-table { width: 100%; border-collapse: collapse; }
.vp-table thead th {
  background: var(--v15-page); text-align: left; font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--v15-muted);
  padding: 10px 14px; border-bottom: 1px solid var(--v15-hairline);
}
.vp-table tbody td {
  padding: 11px 14px; border-bottom: 1px solid var(--v15-hairline);
  font-size: 13px; vertical-align: top;
}
.vp-table tbody tr:last-child td { border-bottom: none; }
.vp-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.vp-table tbody tr.vp-deal-row { cursor: pointer; }
.vp-table tbody tr.vp-deal-row:hover { background: var(--v15-page); }
.vp-rowlink {
  width: auto; min-height: 0; display: inline; padding: 0; background: none; border: none;
  color: var(--v15-text); font-size: 13px; font-weight: 600; text-align: left; cursor: pointer;
}
.vp-rowlink:hover { filter: none; color: var(--v15-green); text-decoration: underline; }
.vp-rownum { color: var(--v15-muted); font-weight: 400; font-size: 12px; }
@media (max-width: 640px) {
  .vp-table thead { display: none; }
  .vp-table, .vp-table tbody, .vp-table tr, .vp-table td { display: block; width: 100%; }
  .vp-table tbody tr { border-bottom: 1px solid var(--v15-hairline); padding: 9px 14px; }
  .vp-table tbody tr:last-child { border-bottom: none; }
  .vp-table tbody td { border: none; padding: 3px 0; text-align: left; }
  .vp-table .num { text-align: left; }
  .vp-table td::before {
    content: attr(data-label) ": "; color: var(--v15-muted); font-size: 11px;
    font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
  }
}

.vp-alert {
  font-size: 13px; color: var(--v15-danger); background: var(--v15-danger-pale);
  border: 1px solid var(--v15-danger-border); border-radius: 8px;
  padding: 12px 14px; margin: 12px 0;
}
.vp-loadmore { margin-top: 12px; }

.vp-detail {
  position: relative; margin-top: 18px; border: 1px solid var(--v15-hairline);
  border-radius: 11px; padding: 16px; background: var(--v15-surface);
}
.vp-detail:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; }
.vp-detail-close {
  position: absolute; top: 10px; right: 12px; width: auto; min-height: 0;
  padding: 4px 8px; background: none; border: none; color: var(--v15-mid);
  font-size: 18px; line-height: 1; cursor: pointer;
}
.vp-detail-close:hover { filter: none; color: var(--v15-text); }
.vp-detail-close:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; }
.vp-detail h2 {
  font-size: 17px; font-weight: 600; letter-spacing: -0.01em;
  margin: 0 0 2px; padding-right: 28px;
}
.vp-detail-meta { font-size: 12.5px; color: var(--v15-mid); margin: 0 0 12px; }
.vp-detail .vp-timeline { margin-top: 14px; }

.vp-pick {
  margin-bottom: 8px; background: var(--v15-surface); color: var(--v15-text);
  border: 1px solid var(--v15-hairline); text-align: left; font-weight: 600;
}
.vp-pick:hover { filter: none; border-color: var(--v15-green); background: var(--v15-page); }

.an-caveat{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--v15-amber-text);background:var(--v15-amber-pale);border:1px solid color-mix(in srgb, var(--v15-amber) 45%, transparent);border-radius:9px;padding:10px 13px;margin:0 0 18px}
.an-caveat svg{flex:none;margin-top:1px}
.an-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:0 0 16px}
.an-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}
.an-card-head h2{font-size:15px;font-weight:600;margin:0;letter-spacing:-0.01em}
.an-hint{font-size:12px;color:var(--v15-muted)}
.an-note{font-size:12px;color:var(--v15-muted);margin:12px 0 0;line-height:1.5}
.an-sec{padding:16px 18px}
.an-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.an-stage{background:var(--v15-card);border:1px solid var(--v15-hairline);border-radius:10px;padding:12px 13px}
.an-stage .st-name{font-size:12px;font-weight:600;color:var(--v15-mid)}
.an-stage .st-amt{font-size:19px;font-weight:600;margin-top:6px;font-variant-numeric:tabular-nums}
.an-stage .st-meta{font-size:11.5px;color:var(--v15-muted);margin-top:3px}
.st-age{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px}
.st-age.ok{color:var(--v15-green);background:var(--v15-green-pale)}
.st-age.warn{color:var(--v15-amber-text);background:var(--v15-amber-pale)}
.an-na{width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--v15-hairline);padding:11px 2px;cursor:pointer;display:flex;align-items:center;gap:12px;font:inherit;color:inherit;border-radius:6px}
.an-na:first-of-type{border-top:none}
.an-na:hover{background:var(--v15-page)}
.na-days{min-width:50px;text-align:center;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;color:var(--v15-amber-text);background:var(--v15-amber-pale);border-radius:8px;padding:6px 4px;line-height:1.05}
.na-days small{display:block;font-size:9.5px;font-weight:600;opacity:.75;text-transform:uppercase;letter-spacing:.03em}
.na-days.hot{color:var(--v15-danger);background:var(--v15-danger-pale)}
.na-body{flex:1;min-width:0}
.na-body .biz,.na-body .why{display:block}
.na-body .biz{font-size:14px;font-weight:500}
.na-body .why{font-size:12.5px;color:var(--v15-muted);margin-top:1px}
.na-stage{font-size:11px;font-weight:600;color:var(--v15-mid);background:var(--v15-neutral-pale);border-radius:999px;padding:3px 9px;white-space:nowrap}
.na-chev{color:var(--v15-placeholder);flex:none}
.an-empty{text-align:center;color:var(--v15-muted);font-size:13px;padding:22px 8px}
.an-empty .em{color:var(--v15-green);font-weight:600;margin-bottom:2px}
.pt{display:inline-flex;align-items:center;gap:8px}
.pt-track{display:inline-block;width:64px;height:6px;border-radius:3px;background:var(--v15-neutral-pale);position:relative}
.pt-track > span{position:absolute;left:0;top:0;height:6px;border-radius:3px;background:var(--v15-green-bright);width:var(--pct,0)}
td .rep{font-weight:500}
.an-sk{background:var(--v15-neutral-pale);border-radius:6px;height:12px;margin:8px 0;animation:an-sk 1.3s ease-in-out infinite}
@keyframes an-sk{0%,100%{opacity:1}50%{opacity:.5}}
@media (max-width:820px){.an-grid{grid-template-columns:1fr}.an-flow{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.an-flow{grid-template-columns:1fr}.an-na{flex-wrap:wrap}.na-stage{margin-left:62px}}
.an-headactions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.an-headactions .btn-secondary{width:auto}
.vp-range{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.vp-range span{color:var(--v15-mid);font-size:13px}
.vp-date{font:inherit;padding:8px 12px;border-radius:8px;border:1px solid var(--v15-hairline);background:var(--v15-surface);color:var(--v15-text);min-height:40px}
.vp-date:focus{outline:none;border-color:var(--v15-accent, var(--accent))}
@media (max-width:640px){.vp-range{width:100%}.vp-range .vp-date{flex:1}}
[hidden]{display:none !important}
.va-banner .vaf-btn, .vp-viewas-banner .vaf-btn { margin-left: auto; }
.vaf-btn { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid var(--v15-amber-text); border-radius: 999px; background: transparent; color: var(--v15-amber-text); font: inherit; font-weight: 700; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.vaf-btn:hover { background: color-mix(in srgb, var(--v15-amber-text) 10%, transparent); }
.vaf-btn:focus-visible, .vaf-x:focus-visible, .vaf-send:focus-visible, .vaf-cancel:focus-visible, .vaf-sel:focus-visible, .vaf-ta:focus-visible { outline: 2px solid var(--v15-charcoal); outline-offset: 2px; }
.vaf-scrim { position: fixed; inset: 0; z-index: 9999; background: color-mix(in srgb, var(--v15-charcoal) 45%, transparent); display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
.vaf-scrim[hidden] { display: none; }
.vaf-modal { width: 100%; max-width: 440px; background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 12px; box-shadow: var(--v15-shadow); overflow: hidden; }
.vaf-h { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--v15-hairline); }
.vaf-h h3 { margin: 0; font-size: 15px; color: var(--v15-text); }
.vaf-x { border: 0; background: transparent; font-size: 22px; line-height: 1; color: var(--v15-muted); cursor: pointer; border-radius: 8px; padding: 2px 10px; }
.vaf-b { padding: 16px 18px; }
.vaf-ctx { font-size: 12.5px; color: var(--v15-mid); background: var(--v15-card); border: 1px solid var(--v15-hairline); border-radius: 8px; padding: 9px 11px; margin-bottom: 14px; }
.vaf-ctx b { color: var(--v15-text); font-weight: 600; }
.vaf-fld { display: block; font-size: 12.5px; font-weight: 600; color: var(--v15-text); margin: 0 0 5px; }
.vaf-sel, .vaf-ta { width: 100%; font: inherit; border: 1px solid var(--v15-hairline); border-radius: 8px; padding: 9px 11px; background: var(--v15-surface); color: var(--v15-text); }
.vaf-ta { resize: vertical; min-height: 6rem; }
.vaf-row { margin-bottom: 14px; }
.vaf-hint { font-size: 11.5px; color: var(--v15-muted); margin-top: 5px; }
.vaf-f { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 14px 18px; border-top: 1px solid var(--v15-hairline); background: var(--v15-card); }
.vaf-cancel, .vaf-send { font: inherit; font-weight: 700; font-size: 13.5px; border-radius: 8px; padding: 9px 16px; cursor: pointer; border: 1px solid transparent; }
.vaf-cancel { background: var(--v15-surface); border-color: var(--v15-hairline); color: var(--v15-text); }
.vaf-send { background: var(--v15-charcoal); color: var(--v15-on-dark); display: inline-flex; align-items: center; gap: 7px; }
.vaf-send[disabled], .vaf-cancel[disabled] { opacity: .6; cursor: default; }
.vaf-spin { width: 13px; height: 13px; border: 2px solid color-mix(in srgb, var(--v15-on-dark) 40%, transparent); border-top-color: var(--v15-on-dark); border-radius: 50%; display: inline-block; animation: vaf-spin 0.7s linear infinite; }
@keyframes vaf-spin { to { transform: rotate(360deg); } }
.vaf-err { font-size: 12.5px; color: var(--v15-danger); margin-right: auto; }
.vaf-ok { display: flex; align-items: center; gap: 10px; padding: 20px 18px; color: var(--v15-green); font-size: 13.5px; }
.vaf-ok b { color: var(--v15-text); }
@media (max-width: 640px) { .vaf-scrim { padding: 12px; } .va-banner .vaf-btn, .vp-viewas-banner .vaf-btn { flex: 1 1 100%; justify-content: center; } }

.vp-prog { display: inline-block; font-size: 12px; font-weight: 600; line-height: 1.2; background: var(--v15-green-pale); color: var(--v15-green); border: 1px solid color-mix(in srgb, var(--v15-green) 25%, transparent); border-radius: 6px; padding: 3px 9px; white-space: nowrap; }
.vp-prog-routed { display: block; font-size: 11px; color: var(--v15-muted); margin-top: 3px; }
.vp-rep-none { color: var(--v15-muted); }
.vp-th-sort { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 5px; cursor: pointer; font: inherit; color: inherit; width: 100%; }
.vp-th-sort .caret { font-size: 10px; opacity: .55; }
.vp-table thead th.num .vp-th-sort { justify-content: flex-end; }
th[aria-sort="ascending"] .vp-th-sort .caret, th[aria-sort="descending"] .vp-th-sort .caret { opacity: 1; color: var(--v15-green); }
.vp-th-sort:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; border-radius: 4px; }
.vp-demo-note { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--v15-mid); background: var(--v15-neutral-pale); border-radius: 8px; padding: 8px 12px; margin: 0 0 12px; }
.vp-lastapp.stale { color: var(--v15-danger); font-weight: 600; }
.vp-stale-tag { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--v15-inverse); background: var(--v15-danger); border-radius: 4px; padding: 2px 6px; margin-left: 8px; vertical-align: middle; }
.lb-stale-callout { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 500; color: var(--v15-danger); background: var(--v15-danger-pale); border: 1px solid var(--v15-danger-border); border-radius: 9px; padding: 11px 14px; margin: 0 0 12px; }
.vp-th-prog { position: relative; }
.vp-th-count { display: inline-flex; align-items: center; justify-content: center; min-width: 17px; height: 17px; padding: 0 5px; border-radius: 999px; background: var(--v15-teal); color: var(--v15-inverse); font-size: 10.5px; font-weight: 600; }
.vp-menu { position: absolute; top: 100%; left: 0; z-index: 30; margin-top: 4px; width: 260px; max-width: calc(100vw - 32px); max-height: 60vh; overflow-y: auto; background: var(--v15-surface); border: 1px solid var(--v15-hairline); border-radius: 10px; box-shadow: var(--v15-shadow); padding: 8px 0; text-transform: none; letter-spacing: normal; font-weight: 400; color: var(--v15-text); font-size: 13px; text-align: left; }
.vp-menu-h { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--v15-muted); padding: 6px 14px 4px; }
.vp-menu-item { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 14px; cursor: pointer; font-size: 13px; color: var(--v15-text); }
.vp-menu-item:hover, .vp-menu-check:hover { background: var(--v15-page); }
.vp-menu-item.active { font-weight: 600; }
.vp-menu-item.active::before { content: "✓"; color: var(--v15-green); }
.vp-menu-item:focus-visible, .vp-menu-check:focus-within { outline: 2px solid var(--v15-green); outline-offset: -2px; }
.vp-menu-check { display: flex; align-items: center; gap: 8px; padding: 7px 14px; margin: 0; cursor: pointer; font-size: 13px; font-weight: 400; color: var(--v15-text); }
.vp-menu-check input { width: 15px; height: 15px; margin: 0; accent-color: var(--v15-green); }
.vp-menu-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.vp-menu-n { margin-left: auto; color: var(--v15-muted); font-variant-numeric: tabular-nums; }
.vp-menu-sep { height: 1px; background: var(--v15-hairline); margin: 6px 0; }
.vp-menu-empty { padding: 6px 14px; color: var(--v15-muted); }
.vp-declined-note { margin: -6px 0 14px; font-size: 12.5px; color: var(--v15-mid); }
.vp-gloss { margin-top: 18px; border: 1px solid var(--v15-hairline); border-radius: 10px; background: var(--v15-surface); }
.vp-gloss summary { cursor: pointer; padding: 11px 14px; font-size: 13px; font-weight: 500; color: var(--v15-green); }
.vp-gloss summary:focus-visible { outline: 2px solid var(--v15-green); outline-offset: 2px; border-radius: 8px; }
.vp-gloss-body { padding: 0 14px 12px; }
.vp-gloss-h { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--v15-muted); margin: 10px 0 6px; }
.vp-gloss-list { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; font-size: 13px; }
.vp-gloss-list dt { font-weight: 600; color: var(--v15-text); }
.vp-gloss-list dd { margin: 0; color: var(--v15-mid); }
.vp-linkhint { margin: 0 0 10px; font-size: 13px; color: var(--v15-mid); }
#bank-link { margin-bottom: 16px; }
@media (max-width: 640px) {
  .vp-gloss-list { grid-template-columns: 1fr; gap: 2px; }
  .vp-gloss-list dd { margin-bottom: 8px; }
}
.vp-prog-m { display: none; position: relative; }
.vp-prog-m-btn { display: inline-flex; align-items: center; gap: 6px; width: auto; min-height: 40px; padding: 0 12px; white-space: nowrap; }
@media (max-width: 640px) {
  .vp-toolbar { position: relative; flex-wrap: wrap; }
  .vp-toolbar .vp-search { flex-basis: 100%; }
  .vp-prog-m { display: block; position: static; flex: 1; }
  .vp-prog-m-btn { width: 100%; justify-content: center; }
  .vp-sort { flex: 1; }
  .vp-sort .vp-select { width: 100%; }
  .vp-prog-m .vp-menu { left: 0; right: 0; width: auto; max-width: none; }
}

.vp-ob { width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 1px solid var(--v15-hairline); border-radius: 12px; background: var(--v15-card); color: var(--v15-text); box-shadow: var(--v15-shadow); overflow-y: auto; }
.vp-ob::backdrop { background: var(--v15-scrim); }
.vp-ob-head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 16px 10px; background: var(--v15-card); border-bottom: 1px solid var(--v15-hairline); }
.vp-ob-head h2 { font-size: 16px; font-weight: 600; margin: 0; }
.vp-ob-head p { font-size: 12px; color: var(--v15-mid); margin: 2px 0 0; }
.vp-ob-close { width: auto; min-height: 32px; padding: 6px 8px; background: none; border: none; color: var(--v15-mid); font-size: 13px; }
.vp-ob-close:hover { filter: none; text-decoration: underline; }
.vp-ob-step { padding: 14px 16px 16px; border-bottom: 1px solid var(--v15-hairline); }
.vp-ob-step:last-child { border-bottom: none; }
.vp-ob-step-h { font-size: 13px; font-weight: 600; margin: 0 0 10px; }
.vp-ob-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vp-ob-field label, .vp-ob-ro-lbl, .vp-ob-url-lbl { display: block; font-size: 12px; font-weight: 500; color: var(--v15-mid); margin-bottom: 5px; }
.vp-ob-money { width: 100%; padding: 11px; font-size: 16px; min-height: 44px; border: 1px solid var(--v15-hairline); border-radius: 7px; background: var(--v15-surface); color: var(--v15-text); text-align: right; font-variant-numeric: tabular-nums; }
.vp-ob-money:focus { outline: none; border-color: var(--v15-green); }
.vp-ob-ro { min-height: 44px; display: flex; align-items: center; justify-content: flex-end; padding: 11px; border: 1px dashed var(--v15-hairline); border-radius: 7px; background: var(--v15-page); color: var(--v15-mid); font-size: 16px; font-variant-numeric: tabular-nums; }
.vp-ob-help { font-size: 12px; color: var(--v15-mid); margin: 5px 0 0; line-height: 1.4; }
.vp-ob-err { font-size: 12px; color: var(--v15-danger); margin: 5px 0 0; }
.vp-ob-fin { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; margin-top: 12px; padding: 11px 13px; border: 1px solid var(--v15-hairline); border-radius: 9px; background: var(--v15-surface); }
.vp-ob-fin-lbl { font-size: 12px; color: var(--v15-mid); }
.vp-ob-fin-amt { grid-row: 1 / span 2; grid-column: 2; align-self: center; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.vp-ob-fin-eq { font-size: 12px; color: var(--v15-mid); font-variant-numeric: tabular-nums; }
.vp-ob-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.vp-ob-btn { width: auto; min-height: 40px; padding: 10px 14px; font-size: 13px; background: var(--v15-surface); color: var(--v15-text); border: 1px solid var(--v15-hairline); }
.vp-ob-btn:hover { filter: none; background: var(--v15-page); }
.vp-ob-btn.vp-ob-primary { background: var(--v15-charcoal); color: var(--v15-inverse); border-color: var(--v15-charcoal); }
.vp-ob-btn.vp-ob-primary:hover { background: var(--v15-charcoal); filter: brightness(1.25); }
.vp-ob-btn:disabled { background: var(--v15-page); color: var(--v15-muted); border-color: var(--v15-hairline); }
.vp-ob-status { font-size: 12px; color: var(--v15-mid); }
.vp-ob-counter { font-size: 13px; font-weight: 600; margin: 0 0 8px; }
.vp-ob-group { border: none; margin: 0 0 10px; padding: 0; min-width: 0; }
.vp-ob-group legend { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--v15-muted); padding: 0; margin-bottom: 4px; }
.vp-ob-opt { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto auto; gap: 8px; align-items: center; padding: 10px; margin: 6px 0 0; border: 1px solid var(--v15-hairline); border-radius: 9px; background: var(--v15-surface); font-size: 13px; color: var(--v15-text); cursor: pointer; }
.vp-ob-opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--v15-charcoal); }
.vp-ob-pay { font-weight: 700; font-variant-numeric: tabular-nums; }
.vp-ob-due { font-variant-numeric: tabular-nums; color: var(--v15-mid); }
.vp-ob-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.vp-ob-stale { opacity: .5; }
.vp-ob-blocked { padding: 16px; font-size: 13.5px; color: var(--v15-mid); line-height: 1.5; }
.vp-ob-result { margin-top: 10px; padding: 12px 13px; border: 1px solid var(--v15-hairline); border-radius: 9px; background: var(--v15-surface); }
.vp-ob-url { flex: 1; min-width: 0; margin: 0; }
.vp-ob-copied { font-size: 12px; color: var(--v15-green); margin: 6px 0 0; }
.vp-ob-copied:empty { display: none; }
@media (max-width: 640px) {
  .vp-ob { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; border: none; }
  .vp-ob-grid { grid-template-columns: 1fr; }
  .vp-ob-opt { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .vp-ob-due { grid-column: 2 / span 2; font-size: 12px; }
  .vp-ob-sr { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
}

