/* HUB shell, forms and portfolio. Foundation: /static/design-system/institutional.css */
a {
  text-decoration:none
}
a:hover {
  text-decoration:underline
}
h1,h2,h3,p {
  margin-top:0
}
.hub-app {
  display:grid;
  grid-template-columns:216px minmax(0,1fr);
  min-height:100vh
}
.hub-sidebar {
  position:sticky;
  top:0;
  min-width:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--sidebar);
  border-right:1px solid var(--border)
}
.hub-brand {
  height:64px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 24px;
  border-bottom:1px solid var(--border);
  color:var(--text)
}
.hub-brand:hover {
  text-decoration:none
}
.hub-brand strong {
  font-size:23px;
  font-weight:700;
  line-height:1;
  letter-spacing:.015em
}
.hub-brand>span {
  font-size:12px;
  color:var(--text3);
  padding-left:12px;
  border-left:1px solid #31445b
}
.hub-workspace {
  margin:24px 16px 8px;
  padding:0 8px 16px;
  border-bottom:1px solid var(--border-muted)
}
.hub-workspace strong {
  font-size:14px;
  font-weight:600;
  display:block
}
.hub-workspace span {
  font-size:13px;
  color:var(--text3)
}
.hub-navigation {
  padding:0 12px;
  overflow-y:auto
}
.nav-group {
  padding-top:16px
}
.nav-group-label {
  margin:0 12px 8px;
  font-size:12px;
  font-weight:600;
  color:var(--text3)
}
.nav-item {
  display:flex;
  align-items:center;
  gap:11px;
  min-height:42px;
  margin:2px 0;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:4px;
  color:var(--text2);
  font-size:14px;
  font-weight:500
}
.nav-item svg {
  width:17px;
  height:17px;
  color:var(--text3)
}
.nav-item:hover {
  background:var(--surface2);
  color:var(--text);
  text-decoration:none
}
.nav-item.active {
  background:var(--surface-selected);
  border-color:#3c6590;
  color:#c7dffc
}
.nav-item.active svg {
  color:var(--accent)
}
.branch-note {
  margin-left:auto;
  color:var(--text3);
  font-size:11px
}
.hub-sidebar-footer {
  margin-top:auto;
  border-top:1px solid var(--border-muted);
  padding:20px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:13px
}
.hub-sidebar-footer a {
  color:var(--text2)
}
.hub-workarea {
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:100vh
}
.hub-topbar {
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 32px;
  border-bottom:1px solid var(--border);
  gap:16px
}
.hub-breadcrumb {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  color:var(--text3)
}
.hub-breadcrumb strong {
  font-weight:500;
  color:var(--text2)
}
.mobile-logout {
  font-size:13px;
  color:var(--text3)
}
.page-wrap {
  flex:1;
  min-width:0;
  width:100%;
  max-width:1660px;
  margin:0 auto;
  padding:28px 32px 24px
}
.hub-footer {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 20px;
  margin:0 32px;
  padding:14px 0 18px;
  border-top:1px solid var(--border-muted);
  color:var(--text3);
  font-size:12px
}
.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  padding:10px 16px;
  background:var(--accent);
  color:#07182f;
  z-index:9999
}
.skip-link:focus {
  top:12px
}
.card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px;
  margin:16px 0;
  min-width:0
}
.section-title {
  font-size:17px;
  font-weight:600;
  color:var(--text);
  margin:26px 0 12px;
  letter-spacing:0;
  line-height:1.3
}
.section-title:first-child {
  margin-top:0
}
.stat-label {
  color:var(--text2);
  font-size:13px;
  font-weight:500;
  margin:0 0 6px;
  letter-spacing:0
}
.stat-value {
  font-size:30px;
  font-weight:600;
  color:var(--text);
  line-height:1.2;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums
}
.meta {
  margin-top:4px;
  line-height:1.45
}
.card.table-scroll {
  padding:0
}
table {
  width:100%;
  border-collapse:collapse;
  font-size:14px
}
th {
  text-align:left;
  padding:10px 13px;
  background:var(--surface);
  font-size:12px;
  font-weight:500;
  color:var(--text2);
  border-bottom:1px solid #31465f;
  white-space:nowrap
}
td {
  padding:14px 13px;
  color:var(--text2);
  border-bottom:1px solid var(--border-muted);
  vertical-align:middle
}
td.num,th.num {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.table-scroll table {
  min-width:640px
}
tbody tr:hover {
  background:#11243a
}
code {
  font-family:ui-monospace,monospace;
  font-size:.85em;
  background:var(--surface2);
  padding:2px 5px;
  border-radius:3px
}
.vault-label {
  display:block;
  margin:20px 0 7px;
  color:var(--text2);
  font-size:14px;
  font-weight:500
}
.vault-input {
  display:block;
  width:100%;
  max-width:700px;
  min-height:40px;
  background:#0a1728;
  border:1px solid #415977;
  border-radius:4px;
  padding:9px 11px;
  color:var(--text);
  font:inherit;
  font-size:15px
}
.vault-input:focus {
  border-color:#86b9fa
}
.vault-input::placeholder {
  color:var(--text3)
}
textarea.vault-input {
  min-height:100px;
  resize:vertical
}
.vault-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 16px;
  margin-top:20px;
  background:var(--accent);
  color:#07182f;
  border:1px solid var(--accent);
  border-radius:4px;
  font-size:14px;
  font-weight:600;
  cursor:pointer
}
.vault-btn:hover {
  background:var(--accent-hover)
}
.vault-error {
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #805349;
  border-radius:4px;
  background:var(--red-dim);
  color:var(--red);
  font-size:14px
}
.vault-shell {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 20px
}
.vault-panel {
  width:100%;
  max-width:420px;
  padding:32px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface)
}
.vault-brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:24px;
  font-weight:700;
  margin-bottom:32px
}
.vault-brand span {
  padding-left:12px;
  border-left:1px solid #415977;
  font-size:13px;
  font-weight:400;
  color:var(--text3)
}
.vault-panel h1 {
  font-size:25px;
  font-weight:600;
  line-height:1.2;
  margin:0 0 9px
}
.vault-panel form {
  margin-top:26px
}
.vault-submit {
  width:100%;
  margin-top:20px;
  min-height:42px
}
.vault-footer {
  margin:26px 0 0;
  padding-top:20px;
  border-top:1px solid var(--border-muted);
  font-size:12px;
  color:var(--text3)
}
.password-field {
  display:flex;
  align-items:stretch;
  border:1px solid #415977;
  border-radius:4px;
  background:#0a1728;
  overflow:hidden
}
.password-field .vault-input {
  border:0;
  background:none;
  min-width:0
}
.password-field:focus-within {
  outline:2px solid var(--accent);
  outline-offset:3px
}
.password-toggle {
  background:none;
  border:0;
  color:var(--text2);
  padding:0 12px;
  min-height:44px;
  font-size:13px
}
.vault-panel .notice {
  margin-top:16px;
  margin-bottom:0
}
.portfolio-analysis {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  gap:32px;
  margin-bottom:28px
}
.portfolio-analysis>section {
  min-width:0
}
.allocation-row {
  display:grid;
  grid-template-columns:100px minmax(45px,1fr) 112px 44px;
  gap:15px;
  align-items:center;
  padding:6px 0;
  font-size:14px
}
.allocation-track {
  height:5px;
  background:#22364f;
  border-radius:1px;
  overflow:hidden
}
.allocation-fill {
  height:100%;
  background:#87a877
}



.allocation-amount,.allocation-share {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.allocation-share {
  color:var(--text3)
}
.valuation-coverage {
  border-left:1px solid var(--border);
  padding-left:28px
}
.quality-row {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:5px 0;
  color:var(--text2);
  font-size:14px
}
.quality-row span:last-child {
  color:var(--text)
}
.valuation-attention {
  border-top:1px solid var(--border);
  padding-top:12px;
  margin-top:10px;
  font-size:13px;
  color:var(--amber)
}
.register-tools {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.register-tools input {
  width:190px
}
.asset-register {
  min-width:900px
}
.asset-register td {
  font-variant-numeric:tabular-nums
}
.asset-register .asset-description {
  font-weight:600;
  color:var(--text)
}
.asset-register .sub {
  display:block;
  color:var(--text3);
  font-size:12px;
  margin-top:4px
}
.asset-register tr[hidden] {
  display:none
}
.register-empty[hidden] {
  display:none
}
.register-no-results {
  padding:24px;
  text-align:center;
  color:var(--text2)
}
.portfolio-error {
  max-width:70ch
}
.asset-form {
  max-width:800px
}
.asset-form .card {
  margin-top:0
}
.form-help {
  font-size:13px;
  color:var(--text3);
  line-height:1.5;
  max-width:70ch
}
@media(min-width:1500px) {
  .page-wrap {
    padding:32px 44px
  }
  .hub-topbar {
    padding:0 44px
  }
  .hub-footer {
    margin:0 44px
  }
}
@media(max-width:1100px) {
  .hub-app {
    grid-template-columns:188px minmax(0,1fr)
  }
  .hub-brand {
    padding:0 20px
  }
  .hub-brand>span {
    display:none
  }
  .page-wrap {
    padding:24px
  }
  .hub-topbar {
    padding:0 24px
  }
  .hub-footer {
    margin:0 24px
  }
  .allocation-row {
    grid-template-columns:80px minmax(45px,1fr) 96px 38px;
    gap:10px
  }
  .portfolio-analysis {
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    gap:24px
  }
  .valuation-coverage {
    padding-left:22px
  }
}
@media(max-width:800px) {
  .hub-app {
    grid-template-columns:minmax(0,1fr)
  }
  .hub-sidebar {
    position:static;
    height:auto;
    border-right:0;
    border-bottom:1px solid var(--border)
  }
  .hub-brand {
    height:54px;
    border:0;
    padding:0 20px
  }
  .hub-brand>span {
    display:block
  }
  .hub-workspace,.nav-group-label,.hub-sidebar-footer,.branch-note {
    display:none
  }
  .hub-navigation {
    display:flex;
    min-width:0;
    max-width:100%;
    overflow-x:auto;
    gap:4px;
    padding:0 12px 8px
  }
  .nav-group {
    display:contents
  }
  .nav-item {
    white-space:nowrap;
    flex-shrink:0;
    margin:0;
    padding:8px 12px
  }
  .nav-item svg {
    width:15px;
    height:15px
  }
  .hub-topbar {
    height:46px;
    padding:0 20px
  }
  .page-wrap {
    padding:22px 20px
  }
  .hub-footer {
    margin:0 20px
  }
  .hub-workarea {
    min-height:0
  }
  .portfolio-analysis {
    grid-template-columns:minmax(0,1fr);
    gap:22px
  }
  .valuation-coverage {
    border-left:0;
    padding:0
  }
  .table-scroll table {
    min-width:640px
  }
}
@media(max-width:580px) {
  .page-wrap {
    padding:22px 16px
  }
  .hub-topbar {
    padding:0 16px
  }
  .hub-footer {
    margin:0 16px
  }
  .hub-breadcrumb {
    font-size:13px;
    gap:8px
  }
  .nav-item svg {
    display:none
  }
  .nav-item {
    padding:8px 10px
  }
  .allocation-row {
    grid-template-columns:78px minmax(0,1fr) 100px 40px;
    gap:10px
  }
  .vault-input {
    font-size:16px;
    max-width:100%
  }
  .vault-btn {
    min-height:44px
  }
  .vault-panel {
    padding:26px
  }
  .section-heading:has(.register-tools) {
    align-items:stretch;
    flex-direction:column;
    gap:12px
  }
  .register-tools {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto
  }
  .register-tools input {
    width:100%;
    min-width:0
  }
  .asset-register {
    min-width:900px!important
  }
  .card {
    padding:16px
  }
  .card.table-scroll {
    padding:0
  }
  .summary-item .detail {
    font-size:12px
  }
}
.treasury-grid {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:24px;
  margin:24px 0
}
.treasury-grid .card {
  margin-top:0
}
.treasury-reference {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 20px;
  color:var(--text3);
  font-size:13px;
  margin:0 0 24px
}
@media(max-width:800px) {
  .treasury-grid {
    grid-template-columns:minmax(0,1fr);
    gap:0
  }
}

/* Concept-led ownership overview: summary first, register immediately below. */
.hub-topbar,.app-topbar { background:var(--sidebar); }
.hub-workspace { margin-top:20px; }
.hub-brand>span { text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.vault-btn { background:#2867b5; border-color:#4187dc; color:#fff; min-height:42px; }
.vault-btn:hover { background:#347aca; }
.ownership-overview { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr); margin:0 0 28px; padding:26px; gap:28px; }
.ownership-total { border-right:1px solid var(--border); padding-right:28px; }
.ownership-total h2 { font-size:15px; font-weight:500; color:var(--text2); margin:0 0 12px; }
.ownership-value { font-size:38px; font-weight:600; letter-spacing:-.02em; margin:0 0 12px; line-height:1.2; font-variant-numeric:tabular-nums; }
.ownership-value small { font-size:20px; font-weight:400; margin-right:8px; color:var(--text2); }
.ownership-coverage { font-size:14px; color:var(--text2); margin:0 0 8px; }
.ownership-coverage span { padding:0 5px; color:var(--text3); }
.ownership-allocation { min-width:0; }
.ownership-allocation .section-heading { margin-bottom:16px; }
.ownership-allocation .allocation-row { grid-template-columns:110px minmax(30px,1fr) 90px 44px; gap:12px; font-size:13px; padding:6px 0; }
.allocation-fill { background:#6597ce; }
.allocation-row:nth-child(3n) .allocation-fill { background:#638aab; }
.allocation-row:nth-child(3n+1) .allocation-fill { background:#76a7b8; }
.heading-count { font-weight:400; font-size:14px; color:var(--text3); margin-left:12px; }
.register-section>.section-heading { margin:0; }
.register-section .filter-toolbar { margin-top:16px; }
.register-panel { overflow:hidden; }
.asset-register td { padding:18px 16px; }
.asset-register td:first-child { min-width:190px; }
.asset-register .current-value { background:rgba(75,143,226,.045); }
.asset-register .current-value .sub { white-space:normal; max-width:220px; margin-left:auto; }
.asset-register .sub { font-size:13px; }
.valuation-source-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:6px 24px; }
.valuation-source-list .quality-row { gap:12px; }
.form-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:24px; align-items:start; }
.asset-entry { padding:26px; }
.asset-entry fieldset { margin:0 0 26px; padding:0 0 24px; border:0; border-bottom:1px solid var(--border); min-width:0; }
.asset-entry legend { font-size:18px; font-weight:600; margin:0 0 18px; padding:0; }
.form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-field { min-width:0; }
.form-field.full { grid-column:1/-1; }
.form-field .vault-label { margin:0 0 7px; }
.form-field .vault-input { max-width:none; }
.field-help { color:var(--text3); font-size:13px; margin:7px 0 0; line-height:1.45; }
.form-guidance { padding:24px; }
.form-guidance h2 { font-size:18px; margin-bottom:18px; }
.form-guidance h3 { font-size:15px; margin:24px 0 10px; }
.form-guidance p,.form-guidance li { font-size:14px; color:var(--text2); line-height:1.5; }
.form-guidance ol { padding-left:20px; margin:0; }
.form-guidance li { padding:0 0 18px 6px; }
.form-guidance strong { display:block; color:var(--text); font-weight:600; }
.form-guidance .current-step { color:var(--accent); }
.form-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:20px; }
.form-actions .vault-btn { margin:0; }
.form-actions p { margin:0; font-size:13px; color:var(--text3); max-width:45ch; }
.form-advanced { font-size:14px; }
.form-advanced summary { cursor:pointer; color:var(--text2); padding:2px 0 18px; }
.form-advanced .vault-label { margin-top:12px; }
.form-field[hidden] { display:none; }
.asset-entry .form-status { padding:12px; margin:0 0 20px; background:var(--blue-dim); border:1px solid var(--border); border-radius:5px; font-size:14px; color:var(--text2); }
@media(max-width:1150px) { .form-layout {grid-template-columns:minmax(0,1fr)} .form-guidance {display:none} .ownership-overview {grid-template-columns:minmax(0,1fr);gap:22px} .ownership-total {border-right:0;border-bottom:1px solid var(--border);padding:0 0 20px} }
@media(max-width:580px) { .ownership-overview {padding:20px} .ownership-value {font-size:34px} .ownership-allocation .allocation-row {grid-template-columns:100px minmax(25px,1fr) 44px;gap:10px} .ownership-allocation .allocation-amount {display:none} .asset-entry {padding:20px} .form-fields {grid-template-columns:minmax(0,1fr)} .form-field.full {grid-column:auto} .form-actions {align-items:flex-start;flex-direction:column} .form-actions .vault-btn {width:100%} }

[data-upload-status] {font-size:14px; margin:16px 0 0; color:var(--text2)}
[data-upload-status][role=alert] {color:var(--red)}

/* Complete Spend, Treasury and quote-review surfaces. */
.finance-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px;margin-bottom:12px}
.finance-summary>div {min-width:0;padding:0 24px;border-left:1px solid var(--border)}
.finance-summary>div:first-child {padding-left:0;border-left:0}
.finance-summary>div:last-child {padding-right:0}
.finance-summary p {font-size:14px;color:var(--text2);margin:0 0 8px}
.finance-summary strong {display:block;font-size:28px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere}
.finance-summary strong small {font-size:15px;font-weight:400;letter-spacing:0;color:var(--text2)}
.finance-summary span {display:block;font-size:13px;color:var(--text3);margin-top:9px;line-height:1.45}
.finance-scope {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;color:var(--text3);font-size:13px;margin:12px 0 24px}
.finance-tabs {display:flex;flex-wrap:wrap;border-bottom:1px solid var(--border);gap:4px 16px;margin:0 0 20px}
.finance-tabs a {padding:12px 8px;color:var(--text2);border-bottom:2px solid transparent;text-decoration:none;font-size:15px;font-weight:500}
.finance-tabs a[aria-selected=true] {border-bottom-color:var(--accent);color:var(--accent)}
.finance-tabs a span {font-size:12px;font-weight:400;color:var(--text3);margin-left:8px}
.finance-ledger {overflow:hidden;margin-bottom:24px;min-width:0}
.finance-section-header {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;padding:22px 24px}
.finance-section-header h2 {font-size:18px;line-height:1.3;font-weight:600;margin:0 0 7px}
.finance-section-header p {font-size:13px;line-height:1.5;color:var(--text3);margin:0;max-width:80ch}
.finance-ledger .filter-toolbar {margin:0;border-radius:0;border-right:0;border-left:0;padding:14px 20px}
.finance-ledger .table-scroll {border-top:1px solid var(--border)}
.finance-ledger .data-table {min-width:760px}
.finance-ledger .data-table th {background:#14253a}
.finance-ledger .data-table td {padding:17px 15px}
.finance-ledger .counterparty-cell {min-width:150px;max-width:280px;white-space:normal}
.counterparty-cell .status-badge {display:table;margin-top:6px}
.notes-cell {min-width:160px;max-width:340px;white-space:normal;overflow-wrap:anywhere}
.table-empty {padding:28px 20px!important;color:var(--text3);text-align:center;white-space:normal}
.finance-empty {padding:32px 24px;text-align:center}
.finance-empty h3 {font-size:19px;font-weight:600;margin:0 0 10px}
.finance-empty p {font-size:14px;color:var(--text3);max-width:65ch;margin:0 auto 18px;line-height:1.6}
[data-spend-panel][hidden] {display:none}
.treasury-mode-bar {display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:13px 18px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:24px}
.treasury-mode-bar p {margin:0;flex:1;min-width:220px;font-size:14px;color:var(--text2);line-height:1.5}
.treasury-mode-bar>span:last-child {font-size:13px;color:var(--text3)}
.treasury-mode-bar.is-live {border-color:#79603b;background:#211f1c}
.treasury-top-grid {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px;align-items:start;margin-bottom:24px}
.treasury-holdings,.treasury-purchase,.treasury-plan {min-width:0}
.treasury-balance-grid {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;padding:0 24px 24px}
.treasury-main-value {font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.treasury-main-value small {font-size:17px;font-weight:400;color:var(--text2)}
.treasury-reference-price {display:block;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;margin:5px 0 8px}
.treasury-balance-grid .meta {display:block;font-size:13px;line-height:1.5}
.treasury-goal {margin:0 24px;padding:21px 0;border-top:1px solid var(--border)}
.treasury-goal h3 {font-size:15px;font-weight:500;margin:0}
.treasury-goal .section-heading {margin-bottom:16px}
.treasury-goal .section-heading>strong {font-size:17px;font-weight:600}
.goal-track {height:7px;background:#22364f;border-radius:3px;overflow:hidden}
.goal-track span {display:block;height:100%;background:#6597ce}
.goal-labels {display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;margin-top:10px;font-size:12px;color:var(--text3)}
.goal-planning {display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;margin-top:20px;font-size:13px;color:var(--text3)}
.goal-planning strong {display:block;margin-top:4px;font-size:15px;font-weight:500;color:var(--text2)}
.finance-panel-footer {padding:13px 24px;border-top:1px solid var(--border);font-size:12px;line-height:1.5;color:var(--text3)}
.treasury-purchase {padding-bottom:22px}
.treasury-purchase>form,.treasury-purchase>.purchase-steps,.treasury-purchase>.quote-boundary,.treasury-purchase>.treasury-gates {margin-left:24px;margin-right:24px}
.treasury-purchase .vault-label {margin-top:0}
.finance-primary-action {width:100%;margin-top:16px;min-height:42px}
.purchase-steps {display:flex;flex-wrap:wrap;gap:10px 28px;padding-left:20px;font-size:13px;color:var(--text3);margin-top:0;margin-bottom:20px}
.purchase-steps li {padding-left:3px}
.purchase-steps [aria-current=step] {color:var(--accent);font-weight:600}
.quote-boundary {font-size:13px;line-height:1.55;color:var(--text3);padding-top:16px;margin-top:20px;border-top:1px solid var(--border)}
.treasury-gates {font-size:13px;color:var(--text3);margin-top:18px}
.treasury-gates summary {cursor:pointer}
.treasury-gates ul {padding-left:18px;line-height:1.55;overflow-wrap:anywhere}
.treasury-plan {margin-bottom:24px}
.treasury-plan>form {padding:0 24px 24px}
.plan-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.plan-fields .vault-label {margin:0 0 8px;font-size:14px}
.treasury-plan .form-actions {border-top:1px solid var(--border);margin-top:24px}
.treasury-orders .table-scroll table {min-width:900px}
.quote-review-grid {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:24px;align-items:start}
.review-steps {padding-left:24px;margin:0 0 24px}
.quote-review {padding-bottom:24px}
.quote-facts {margin:0 24px}
.quote-facts>div {display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.4fr);gap:20px;padding:16px 0;border-top:1px solid var(--border)}
.quote-facts dt {font-size:14px;color:var(--text3)}
.quote-facts dd {font-size:17px;font-weight:500;font-variant-numeric:tabular-nums;margin:0;text-align:right;overflow-wrap:anywhere}
.quote-facts dd .sub {display:block;font-size:13px;color:var(--text3);font-weight:400;margin-top:5px}
.quote-review>.field-help {margin:16px 24px 0}
.quote-confirm {padding:24px}
.quote-confirm h2 {font-size:19px;font-weight:600;margin:0 0 14px}
.quote-confirm>p {font-size:14px;color:var(--text2);line-height:1.55}
.quote-confirm>.notice {font-size:13px;margin:20px 0 0}
.quote-confirm .field-help {font-size:13px;color:var(--text3);margin-top:16px}
.button-danger {background:#8c3c43;border-color:#bb646a;color:#fff}
.button-danger:hover {background:#a14b52;color:#fff}
.finance-error-panel {padding:28px;max-width:760px}
.finance-error-panel h2 {font-size:22px;font-weight:600;margin:20px 0 12px}
.finance-error-panel p {max-width:65ch;font-size:15px;line-height:1.6;color:var(--text2);overflow-wrap:anywhere;margin:0 0 20px}
[data-pending-form][data-submitting=true] {cursor:progress}
@media(max-width:1150px) {.treasury-top-grid {grid-template-columns:minmax(0,1fr)} .treasury-purchase {max-width:none} .finance-summary strong {font-size:25px} .plan-fields {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px) {.finance-summary {grid-template-columns:minmax(0,1fr);padding:20px} .finance-summary>div {border-left:0;border-top:1px solid var(--border);padding:18px 0} .finance-summary>div:first-child {border-top:0;padding-top:0} .finance-summary>div:last-child {padding-bottom:0} .finance-summary strong {font-size:28px} .finance-tabs {gap:0 10px} .finance-tabs a {padding:10px 5px;font-size:14px} .finance-tabs a span {display:block;margin:4px 0 0} .finance-section-header {padding:20px} .treasury-balance-grid {grid-template-columns:minmax(0,1fr);padding:0 20px 20px;gap:20px} .treasury-balance-grid>div+div {border-top:1px solid var(--border);padding-top:18px} .treasury-goal {margin:0 20px} .finance-panel-footer {padding:13px 20px} .plan-fields,.quote-review-grid {grid-template-columns:minmax(0,1fr)} .treasury-plan>form {padding:0 20px 20px} .treasury-purchase>form,.treasury-purchase>.purchase-steps,.treasury-purchase>.quote-boundary,.treasury-purchase>.treasury-gates {margin-left:20px;margin-right:20px} .quote-confirm {padding:20px} .quote-facts {margin:0 20px} .quote-facts>div {gap:12px;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr)} .quote-facts dd {font-size:16px} .finance-error-panel {padding:22px} .treasury-mode-bar {padding:14px} }
