/* ═══════════════════════════════════════════════
   Buyer Dashboard  ·  css/buyer-dash.css
═══════════════════════════════════════════════ */

/* Extra tokens only used by this module */
:root {
  --bd-amber:     #d97706;
  --bd-amber-bg:  #fef3c7;
  --bd-amber-txt: #92400e;
  --bd-blue:      #2563eb;
  --bd-blue-bg:   #eff6ff;
  --bd-blue-txt:  #1d4ed8;
  --bd-navy-bdr:  #243958;
  --bd-t:         var(--t-fast);
}

/* ── Shell ── */
.bd-shell {
  display: grid;
  grid-template-columns: 268px 1fr;
  min-height: calc(100vh - 64px);
}

/* ══════════════ SIDEBAR ══════════════ */
.bd-sidebar {
  background: var(--navy);
  display: flex; flex-direction: column;
  position: sticky; top: 64px;
  height: calc(100vh - 64px);
  overflow-y: auto;
  border-right: 1px solid var(--bd-navy-bdr);
  z-index: 5;
}
.bd-sidebar::-webkit-scrollbar { width: 3px; }
.bd-sidebar::-webkit-scrollbar-thumb { background: var(--navy-light); border-radius: 3px; }

/* Profile */
.bd-sb-profile {
  padding: 22px 18px 16px;
  border-bottom: 1px solid var(--bd-navy-bdr);
}
.bd-sb-avatar {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--accent); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 1.05rem;
  margin-bottom: 10px;
  box-shadow: 0 0 0 3px rgba(249,115,22,.18);
  overflow: hidden;
}
.bd-sb-name {
  color: #fff; font-weight: 700; font-size: .93rem;
  font-family: var(--font-display); margin-bottom: 1px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bd-sb-email {
  color: var(--faint); font-size: .76rem; margin-bottom: 10px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bd-sb-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.bd-sb-tag {
  background: var(--navy-light); color: #b4c6d9;
  font-size: .69rem; font-weight: 500; padding: 2px 8px; border-radius: 100px;
}

/* Stats */
.bd-sb-stats {
  padding: 14px 18px; border-bottom: 1px solid var(--bd-navy-bdr);
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px;
}
.bd-sb-stat { background: var(--navy-mid); border-radius: var(--rsm); padding: 8px 6px; text-align: center; }
.bd-sb-stat-num { color: #fff; font-family: var(--font-display); font-weight: 700; font-size: 1rem; display: block; line-height: 1; margin-bottom: 2px; }
.bd-sb-stat-lbl { color: var(--faint); font-size: .63rem; font-weight: 500; letter-spacing: .02em; text-transform: uppercase; }

/* Nav */
.bd-sb-nav { padding: 10px 8px; flex: 1; }
.bd-sb-nav-group { color: var(--faint); font-size: .63rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; padding: 7px 10px 3px; }
.bd-sb-nav-item {
  display: flex; align-items: center; gap: 9px; padding: 9px 11px;
  border-radius: var(--rsm); color: #8da8c0; font-size: .845rem; font-weight: 500;
  cursor: pointer; transition: all var(--bd-t); margin-bottom: 1px;
  border: none; background: none; width: 100%; text-align: left; font-family: var(--font);
}
.bd-sb-nav-item:hover  { background: var(--navy-light); color: #d8e8f5; }
.bd-sb-nav-item.active { background: rgba(249,115,22,.14); color: var(--accent); }
.bd-sb-nav-item svg { flex-shrink: 0; opacity: .7; }
.bd-sb-nav-item.active svg { opacity: 1; }
.bd-sb-badge {
  margin-left: auto; background: var(--accent); color: #fff;
  font-size: .64rem; font-weight: 700; min-width: 17px; height: 17px;
  border-radius: 9px; display: flex; align-items: center; justify-content: center; padding: 0 4px;
}
.bd-sb-badge.bd-badge-blue { background: var(--bd-blue); }
.bd-sb-badge:empty { display: none; }

/* Footer */
.bd-sb-footer { padding: 13px 18px; border-top: 1px solid var(--bd-navy-bdr); }
.bd-sb-signout {
  display: flex; align-items: center; gap: 7px; color: #4d6a84;
  font-size: .8rem; font-weight: 500; cursor: pointer; padding: 7px 10px;
  border-radius: var(--rsm); transition: all var(--bd-t);
  width: 100%; background: none; border: none; font-family: var(--font);
}
.bd-sb-signout:hover { background: var(--navy-mid); color: #8da8c0; }

/* ══════════════ MAIN ══════════════ */
.bd-main { display: flex; flex-direction: column; background: var(--bg-alt); min-height: calc(100vh - 64px); }

.bd-page-hdr {
  background: var(--bg); border-bottom: 1px solid var(--border);
  padding: 0 28px; height: 58px;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  position: sticky; top: 64px; z-index: 4;
}
.bd-page-hdr-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bd-back-btn {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: var(--rsm);
  border: 1.5px solid var(--border); background: var(--bg);
  color: var(--muted); cursor: pointer; transition: all var(--bd-t); flex-shrink: 0;
}
.bd-back-btn:hover { border-color: var(--border-d); background: var(--bg-alt); color: var(--text); }
.bd-back-btn.hidden { visibility: hidden; pointer-events: none; }
.bd-hdr-divider { width: 1px; height: 18px; background: var(--border); flex-shrink: 0; }
.bd-hdr-divider.hidden { display: none; }
.bd-page-title { font-size: .97rem; font-weight: 700; color: var(--text); font-family: var(--font-display); line-height: 1.2; margin: 0; }
.bd-page-sub { font-size: .76rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; }
.bd-page-hdr-actions { display: flex; gap: 8px; flex-shrink: 0; }
.bd-hdr-btn {
  display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px;
  border-radius: var(--rsm); font-size: .8rem; font-weight: 600; cursor: pointer;
  border: none; transition: all var(--bd-t); font-family: var(--font);
}
.bd-hdr-btn-ghost  { background: transparent; color: var(--body); border: 1.5px solid var(--border); }
.bd-hdr-btn-ghost:hover { background: var(--bg-alt); border-color: var(--border-d); }
.bd-hdr-btn-primary { background: var(--accent); color: #fff; }
.bd-hdr-btn-primary:hover { background: var(--accent-d); }

/* Content */
.bd-content { padding: 24px 28px; flex: 1; }
.bd-panel { display: none; animation: fadeUp var(--t-base) var(--ease-out); }
.bd-panel.active { display: block; }

/* ── Shared ── */
.bd-sec-card { background: var(--bg); border-radius: var(--r); border: 1.5px solid var(--border); overflow: hidden; }
.bd-sec-hdr { padding: 14px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.bd-sec-title { font-weight: 700; font-size: .875rem; color: var(--text); font-family: var(--font-display); }
.bd-sec-link { font-size: .76rem; color: var(--accent); font-weight: 600; cursor: pointer; }
.bd-sec-link:hover { text-decoration: underline; }

.bd-badge { display: inline-flex; align-items: center; gap: 3px; font-size: .69rem; font-weight: 600; padding: 2px 8px; border-radius: 100px; white-space: nowrap; }
.bd-badge-green  { background: var(--green-bg);   color: #065f46; }
.bd-badge-amber  { background: var(--bd-amber-bg); color: var(--bd-amber-txt); }
.bd-badge-blue   { background: var(--bd-blue-bg);  color: var(--bd-blue-txt); }
.bd-badge-muted  { background: var(--bg-alt); color: var(--muted); border: 1px solid var(--border); }
.bd-badge-orange { background: var(--accent-l);    color: var(--accent-d); }

.bd-empty { text-align: center; padding: 48px 24px; }
.bd-empty-icon { width: 46px; height: 46px; border-radius: var(--r); background: var(--bg-alt); border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.bd-empty-title { font-weight: 700; font-size: .93rem; color: var(--text); font-family: var(--font-display); margin-bottom: 5px; }
.bd-empty-sub { font-size: .82rem; color: var(--muted); max-width: 260px; margin: 0 auto 16px; }

/* ══ OVERVIEW ══ */
.bd-welcome {
  background: linear-gradient(125deg, var(--navy) 0%, #1a3560 100%);
  border-radius: var(--r); padding: 20px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  margin-bottom: 18px; overflow: hidden; position: relative;
}
.bd-welcome::before { content: ''; position: absolute; right: -20px; top: -30px; width: 160px; height: 160px; border-radius: 50%; background: rgba(249,115,22,.07); pointer-events: none; }
.bd-welcome-icon { width: 38px; height: 38px; border-radius: 9px; background: rgba(249,115,22,.18); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bd-welcome-text { flex: 1; min-width: 0; }
.bd-welcome-title { color: #fff; font-size: 1.05rem; font-weight: 700; font-family: var(--font-display); margin-bottom: 2px; }
.bd-welcome-sub { color: #7ba3c8; font-size: .81rem; }
.bd-welcome-cta { background: var(--accent); color: #fff; padding: 8px 16px; border-radius: var(--rsm); font-size: .81rem; font-weight: 600; cursor: pointer; border: none; font-family: var(--font); transition: background var(--bd-t); white-space: nowrap; position: relative; z-index: 1; }
.bd-welcome-cta:hover { background: var(--accent-d); }

.bd-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 18px; }
.bd-stat-card { background: var(--bg); border-radius: var(--r); padding: 15px 16px; border: 1.5px solid var(--border); transition: box-shadow var(--bd-t), border-color var(--bd-t); }
.bd-stat-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-d); }
.bd-stat-icon { width: 34px; height: 34px; border-radius: var(--rsm); display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.bd-si-orange { background: var(--accent-l); }
.bd-si-blue   { background: var(--bd-blue-bg); }
.bd-si-green  { background: var(--green-bg); }
.bd-si-amber  { background: var(--bd-amber-bg); }
.bd-stat-num { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; color: var(--text); line-height: 1; margin-bottom: 1px; }
.bd-stat-lbl  { font-size: .74rem; color: var(--muted); font-weight: 500; margin-bottom: 3px; }
.bd-stat-trend { font-size: .7rem; font-weight: 600; display: flex; align-items: center; gap: 2px; }
.bd-trend-up    { color: var(--green); }
.bd-trend-neu   { color: var(--muted); }
.bd-trend-alert { color: var(--accent); }

.bd-two-col { display: grid; grid-template-columns: 1fr 340px; gap: 16px; }

.bd-rv-item { display: flex; align-items: center; gap: 10px; padding: 10px 18px; cursor: pointer; transition: background var(--bd-t); }
.bd-rv-item:hover { background: var(--bg-alt); }
.bd-rv-logo { width: 34px; height: 34px; border-radius: var(--rsm); background: var(--bg-alt); border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: .78rem; color: var(--navy); flex-shrink: 0; }
.bd-rv-info { flex: 1; min-width: 0; }
.bd-rv-name { font-weight: 600; font-size: .83rem; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-rv-meta { font-size: .73rem; color: var(--muted); }
.bd-rv-time { font-size: .7rem; color: var(--faint); white-space: nowrap; }

.bd-act-item { display: flex; gap: 10px; padding: 11px 18px; border-bottom: 1px solid var(--border); }
.bd-act-item:last-child { border-bottom: none; }
.bd-act-dot { width: 7px; height: 7px; border-radius: 50%; margin-top: 6px; flex-shrink: 0; }
.bd-dot-orange { background: var(--accent); }
.bd-dot-green  { background: var(--green); }
.bd-dot-blue   { background: var(--bd-blue); }
.bd-dot-muted  { background: var(--border-d); }
.bd-act-text { font-size: .81rem; color: var(--body); line-height: 1.5; }
.bd-act-time { font-size: .7rem; color: var(--faint); margin-top: 1px; }

.bd-qa-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px 18px; }
.bd-qa-btn { background: var(--bg-alt); border: 1.5px solid var(--border); border-radius: var(--rsm); padding: 11px 13px; cursor: pointer; transition: all var(--bd-t); text-align: left; }
.bd-qa-btn:hover { border-color: var(--accent); background: var(--accent-l); }
.bd-qa-lbl { font-weight: 600; font-size: .81rem; color: var(--text); display: block; margin-bottom: 2px; }
.bd-qa-sub { font-size: .72rem; color: var(--muted); }

/* ══ SAVED ══ */
.bd-saved-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.bd-saved-count { font-size: .83rem; color: var(--muted); }
.bd-mfr-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.bd-mfr-card { background: var(--bg); border-radius: var(--r); border: 1.5px solid var(--border); overflow: hidden; transition: box-shadow var(--bd-t), border-color var(--bd-t); }
.bd-mfr-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-d); }
.bd-mfr-top { padding: 16px 16px 10px; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.bd-mfr-logo { width: 42px; height: 42px; border-radius: var(--rsm); background: var(--bg-alt); border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: .88rem; color: var(--navy); flex-shrink: 0; overflow: hidden; }
.bd-mfr-name { font-weight: 700; font-size: .88rem; color: var(--text); font-family: var(--font-display); margin-bottom: 2px; line-height: 1.25; }
.bd-mfr-loc { font-size: .75rem; color: var(--muted); display: flex; align-items: center; gap: 3px; }
.bd-heart-btn { background: none; border: none; cursor: pointer; color: var(--accent); padding: 2px; border-radius: 6px; transition: background var(--bd-t); flex-shrink: 0; }
.bd-heart-btn:hover { background: var(--accent-l); }
.bd-mfr-tags { padding: 0 16px 10px; display: flex; flex-wrap: wrap; gap: 4px; }
.bd-tag { background: var(--bg-alt); color: var(--body); font-size: .69rem; font-weight: 600; padding: 2px 8px; border-radius: 100px; border: 1.5px solid var(--border); }
.bd-mfr-footer { padding: 9px 16px; background: var(--bg-alt); border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.bd-mfr-rating { display: flex; align-items: center; gap: 3px; font-size: .74rem; color: var(--muted); }

/* ══ INQUIRIES ══ */
.bd-inq-filters { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.bd-filter-tab { padding: 5px 13px; border-radius: 100px; font-size: .78rem; font-weight: 600; cursor: pointer; transition: all var(--bd-t); border: 1.5px solid var(--border); background: var(--bg); color: var(--muted); }
.bd-filter-tab:hover { border-color: var(--border-d); color: var(--body); }
.bd-filter-tab.active { background: var(--navy); color: #fff; border-color: var(--navy); }
.bd-filter-n { display: inline-flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; border-radius: 8px; font-size: .63rem; font-weight: 700; padding: 0 3px; margin-left: 3px; }
.bd-filter-tab.active .bd-filter-n { background: rgba(255,255,255,.2); color: #fff; }
.bd-filter-tab:not(.active) .bd-filter-n { background: var(--bg-alt); color: var(--muted); }

.bd-inq-list { display: flex; flex-direction: column; gap: 10px; }
.bd-inq-card { background: var(--bg); border-radius: var(--r); border: 1.5px solid var(--border); overflow: hidden; transition: box-shadow var(--bd-t); }
.bd-inq-card:hover { box-shadow: var(--shadow-md); }
.bd-inq-card.bd-inq-action      { border-color: #93c5fd; background: #fafcff; }
.bd-inq-card.bd-inq-negotiating { border-color: #fcd34d; background: #fffdf5; }
.bd-inq-card.bd-inq-closed      { opacity: .6; }

.bd-inq-hdr { padding: 14px 18px 11px; display: flex; align-items: flex-start; gap: 12px; }
.bd-inq-logo { width: 38px; height: 38px; border-radius: var(--rsm); background: var(--bg-alt); border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: .82rem; color: var(--navy); flex-shrink: 0; }
.bd-inq-info  { flex: 1; min-width: 0; }
.bd-inq-mfr   { font-weight: 700; font-size: .88rem; color: var(--text); margin-bottom: 2px; }
.bd-inq-svc   { font-size: .78rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-inq-right { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex-shrink: 0; }
.bd-inq-price { font-family: var(--font-display); font-weight: 700; font-size: 1.02rem; color: var(--text); }
.bd-inq-price-old { font-family: var(--font-mono); text-decoration: line-through; color: var(--faint); font-size: .82rem; }

/* Pipeline */
.bd-pipeline { padding: 9px 18px 11px; border-top: 1px solid var(--border); background: var(--bg-alt); display: flex; align-items: flex-start; overflow-x: auto; }
.bd-pipe-step { display: flex; flex-direction: column; align-items: center; gap: 5px; flex: 1; min-width: 54px; position: relative; }
.bd-pipe-step + .bd-pipe-step::before { content: ''; position: absolute; left: -50%; top: 9px; width: 100%; height: 2px; background: var(--border); z-index: 0; }
.bd-pipe-step.done   + .bd-pipe-step::before { background: var(--green); }
.bd-pipe-step.active + .bd-pipe-step::before { background: linear-gradient(90deg, var(--accent), var(--border)); }
.bd-pipe-dot { width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; flex-shrink: 0; font-size: .6rem; font-weight: 700; border: 2px solid var(--border); background: var(--bg); }
.bd-pipe-step.done   .bd-pipe-dot { background: var(--green);  border-color: var(--green);  color: #fff; }
.bd-pipe-step.active .bd-pipe-dot { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 0 0 3px rgba(249,115,22,.18); }
.bd-pipe-step.pending .bd-pipe-dot { color: var(--faint); }
.bd-pipe-lbl { font-size: .62rem; font-weight: 600; color: var(--faint); text-align: center; line-height: 1.25; }
.bd-pipe-step.done   .bd-pipe-lbl { color: var(--green); }
.bd-pipe-step.active .bd-pipe-lbl { color: var(--accent); }

/* Action bar */
.bd-inq-actions { padding: 10px 18px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.bd-inq-date { font-size: .72rem; color: var(--faint); display: flex; align-items: center; gap: 4px; }
.bd-inq-btns { display: flex; gap: 6px; flex-wrap: wrap; }

/* Inline buttons for inquiry cards */
.bd-btn { display: inline-flex; align-items: center; gap: 4px; padding: 5px 11px; border-radius: var(--rsm); font-size: .77rem; font-weight: 600; cursor: pointer; border: none; transition: all var(--bd-t); font-family: var(--font); }
.bd-btn-primary  { background: var(--accent); color: #fff; }
.bd-btn-primary:hover  { background: var(--accent-d); }
.bd-btn-ghost    { background: transparent; color: var(--body); border: 1.5px solid var(--border); }
.bd-btn-ghost:hover    { background: var(--bg-alt); border-color: var(--border-d); }
.bd-btn-danger   { background: transparent; color: var(--red); border: 1.5px solid #fca5a5; }
.bd-btn-danger:hover   { background: var(--red-bg); }
.bd-btn-navy     { background: var(--navy); color: #fff; }
.bd-btn-navy:hover     { background: var(--navy-light); }

/* Counter offer form */
.bd-counter-form { padding: 13px 18px; border-top: 1.5px solid var(--bd-amber-bg); background: #fffcf5; display: none; }
.bd-counter-form.open { display: block; }
.bd-counter-title { font-size: .81rem; font-weight: 700; color: var(--bd-amber-txt); margin-bottom: 9px; display: flex; align-items: center; gap: 5px; }
.bd-counter-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; }
.bd-counter-field { display: flex; flex-direction: column; gap: 4px; }
.bd-counter-lbl { font-size: .74rem; font-weight: 600; color: var(--body); }
.bd-counter-input { padding: 7px 10px; border: 1.5px solid var(--border); border-radius: var(--rsm); font-size: .84rem; color: var(--text); font-family: var(--font); outline: none; transition: border-color var(--bd-t), box-shadow var(--bd-t); background: var(--bg); }
.bd-counter-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(249,115,22,.1); }

/* Negotiation thread */
.bd-neg-thread { padding: 12px 18px 6px; border-top: 1px solid var(--border); background: #fafbfc; display: none; }
.bd-neg-thread.open { display: block; }
.bd-neg-thread-title { font-size: .7rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 10px; }
.bd-neg-msg { display: flex; gap: 8px; margin-bottom: 9px; align-items: flex-start; }
.bd-neg-avatar { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .6rem; font-weight: 700; flex-shrink: 0; margin-top: 2px; }
.bd-neg-buyer .bd-neg-avatar { background: var(--accent); color: #fff; }
.bd-neg-mfr   .bd-neg-avatar { background: var(--navy-light); color: #fff; }
.bd-neg-bubble { background: var(--bg); border: 1.5px solid var(--border); border-radius: var(--rsm); padding: 7px 10px; flex: 1; }
.bd-neg-who  { font-size: .68rem; font-weight: 700; color: var(--muted); margin-bottom: 2px; }
.bd-neg-text { font-size: .79rem; color: var(--body); line-height: 1.45; }
.bd-neg-amt  { font-family: var(--font-display); font-weight: 700; color: var(--text); font-size: .86rem; margin-top: 3px; }
.bd-neg-ts   { font-size: .67rem; color: var(--faint); margin-top: 2px; }

/* ══ PUBLIC PROFILE ══ */
.bd-pub-layout { display: grid; grid-template-columns: 294px 1fr; gap: 18px; align-items: start; }

.bd-pub-tip { display: flex; gap: 9px; align-items: flex-start; background: var(--bd-blue-bg); border: 1.5px solid #bfdbfe; border-radius: var(--rsm); padding: 11px 13px; margin-bottom: 18px; }
.bd-pub-tip svg { flex-shrink: 0; margin-top: 1px; }
.bd-pub-tip-text { font-size: .79rem; color: var(--bd-blue-txt); line-height: 1.45; }

.bd-preview-card { background: var(--bg); border-radius: var(--r); border: 1.5px solid var(--border); overflow: hidden; position: sticky; top: 126px; }
.bd-preview-label { display: flex; align-items: center; gap: 5px; font-size: .68rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; padding: 8px 15px; background: var(--bg-alt); border-bottom: 1px solid var(--border); }
.bd-pc-header { background: linear-gradient(135deg, var(--navy) 0%, #1a3560 100%); padding: 20px 18px 22px; position: relative; }
.bd-pc-header::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 18px; background: var(--bg); border-radius: 18px 18px 0 0; }
.bd-pc-avatar-wrap { position: relative; display: inline-block; margin-bottom: 8px; }
.bd-pc-avatar { width: 58px; height: 58px; border-radius: 50%; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; border: 2.5px solid rgba(255,255,255,.25); overflow: hidden; }
.bd-pc-verified { position: absolute; bottom: 1px; right: 1px; width: 18px; height: 18px; border-radius: 50%; background: var(--green); border: 2px solid var(--bg); display: flex; align-items: center; justify-content: center; }
.bd-pc-name    { color: #fff; font-weight: 700; font-size: .95rem; font-family: var(--font-display); margin-bottom: 1px; }
.bd-pc-company { color: rgba(255,255,255,.65); font-size: .78rem; }
.bd-pc-body    { padding: 16px 18px; }
.bd-pc-row     { display: flex; align-items: flex-start; gap: 7px; margin-bottom: 8px; font-size: .8rem; color: var(--body); }
.bd-pc-row svg { flex-shrink: 0; margin-top: 1px; opacity: .5; }
.bd-pc-stitle  { font-size: .69rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin: 12px 0 5px; }
.bd-pc-about   { font-size: .8rem; color: var(--body); line-height: 1.5; }
.bd-pc-services { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.bd-pc-svc-tag { background: var(--accent-l); color: var(--accent-d); font-size: .69rem; font-weight: 600; padding: 2px 8px; border-radius: 100px; border: 1.5px solid rgba(249,115,22,.2); }
.bd-pc-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.bd-pc-stat { background: var(--bg-alt); border-radius: var(--rsm); padding: 7px 9px; text-align: center; }
.bd-pc-stat-num { font-family: var(--font-display); font-weight: 700; font-size: .9rem; color: var(--text); display: block; line-height: 1; margin-bottom: 2px; }
.bd-pc-stat-lbl { font-size: .65rem; color: var(--muted); font-weight: 500; }
.bd-pc-footer { padding: 10px 18px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.bd-pc-vis { display: flex; align-items: center; gap: 5px; font-size: .72rem; font-weight: 600; }
.bd-pc-vis-dot { width: 6px; height: 6px; border-radius: 50%; }

.bd-strength-card { background: var(--bg); border-radius: var(--r); border: 1.5px solid var(--border); padding: 13px 15px; margin-top: 10px; }
.bd-strength-row { display: flex; justify-content: space-between; margin-bottom: 5px; }
.bd-strength-lbl { font-size: .78rem; font-weight: 700; color: var(--text); }
.bd-strength-pct { font-size: .78rem; font-weight: 700; color: var(--accent); }
.bd-strength-track { height: 5px; background: var(--border); border-radius: 3px; overflow: hidden; margin-bottom: 9px; }
.bd-strength-fill { height: 100%; background: var(--accent); border-radius: 3px; }
.bd-strength-item { display: flex; align-items: center; gap: 6px; font-size: .75rem; margin-bottom: 4px; }
.bd-strength-item.ok   { color: var(--green); }
.bd-strength-item.warn { color: var(--bd-amber); }

/* Form cards */
.bd-form-card { background: var(--bg); border-radius: var(--r); border: 1.5px solid var(--border); padding: 20px 22px; margin-bottom: 14px; }
.bd-form-title { font-family: var(--font-display); font-weight: 700; font-size: .9rem; color: var(--text); padding-bottom: 10px; border-bottom: 1px solid var(--border); margin-bottom: 14px; }
.bd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bd-form-grid .bd-full { grid-column: 1 / -1; }
.bd-form-group { display: flex; flex-direction: column; gap: 5px; }
.bd-form-lbl { font-size: .78rem; font-weight: 600; color: var(--body); display: flex; align-items: center; gap: 3px; }
.bd-form-req { color: var(--accent); }
.bd-form-input, .bd-form-select, .bd-form-textarea { width: 100%; padding: 8px 11px; border: 1.5px solid var(--border); border-radius: var(--rsm); font-family: var(--font); font-size: .845rem; color: var(--text); background: var(--bg); outline: none; transition: border-color var(--bd-t), box-shadow var(--bd-t); }
.bd-form-input:focus, .bd-form-select:focus, .bd-form-textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(249,115,22,.1); }
.bd-form-input:disabled { background: var(--bg-alt); color: var(--muted); }
.bd-form-textarea { resize: vertical; min-height: 82px; line-height: 1.55; }
.bd-form-hint { font-size: .72rem; color: var(--muted); }
.bd-char-count { font-size: .7rem; color: var(--faint); text-align: right; margin-top: 2px; }
.bd-form-footer { padding-top: 14px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.bd-form-footer-note { font-size: .74rem; color: var(--muted); }

/* Upload */
.bd-upload-area { display: flex; align-items: center; gap: 14px; padding: 12px 14px; background: var(--bg-alt); border-radius: var(--rsm); border: 1.5px dashed var(--border-d); margin-bottom: 16px; cursor: pointer; transition: border-color var(--bd-t), background var(--bd-t); }
.bd-upload-area:hover { border-color: var(--accent); background: var(--accent-l); }
.bd-upload-av { width: 48px; height: 48px; border-radius: 50%; background: var(--accent); color: #fff; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: .95rem; overflow: hidden; }
.bd-upload-text { flex: 1; }
.bd-upload-label { font-weight: 600; font-size: .82rem; color: var(--text); margin-bottom: 1px; }
.bd-upload-hint  { font-size: .72rem; color: var(--muted); }
.bd-upload-btn { background: var(--bg); border: 1.5px solid var(--border); color: var(--body); font-size: .76rem; font-weight: 600; padding: 5px 11px; border-radius: var(--rsm); cursor: pointer; transition: all var(--bd-t); flex-shrink: 0; }
.bd-upload-btn:hover { border-color: var(--accent); color: var(--accent); }

/* Tag picker */
.bd-tag-picker { display: flex; flex-wrap: wrap; gap: 5px; padding: 8px 0; }
.bd-tag-opt { padding: 4px 11px; border-radius: 100px; font-size: .76rem; font-weight: 600; border: 1.5px solid var(--border); background: var(--bg); color: var(--muted); cursor: pointer; transition: all var(--bd-t); }
.bd-tag-opt:hover { border-color: var(--border-d); color: var(--body); }
.bd-tag-opt.selected { background: var(--accent-l); color: var(--accent-d); border-color: rgba(249,115,22,.3); }

/* Visibility */
.bd-vis-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 13px; background: var(--bg-alt); border-radius: var(--rsm); border: 1.5px solid var(--border); }
.bd-vis-lbl { font-weight: 600; font-size: .84rem; color: var(--text); }
.bd-vis-sub { font-size: .74rem; color: var(--muted); margin-top: 1px; }

/* Progress bar */
.bd-progress-wrap { display: flex; align-items: center; gap: 12px; background: var(--bg-alt); border-radius: var(--rsm); padding: 11px 13px; margin-bottom: 16px; }
.bd-progress-track { flex: 1; height: 5px; background: var(--border); border-radius: 3px; overflow: hidden; }
.bd-progress-fill  { height: 100%; background: var(--accent); border-radius: 3px; }
.bd-progress-pct   { font-family: var(--font-display); font-weight: 700; font-size: .8rem; color: var(--accent); flex-shrink: 0; }
.bd-progress-hint  { font-size: .72rem; color: var(--muted); flex-shrink: 0; }

/* Toggle */
.bd-toggle { position: relative; width: 38px; height: 21px; flex-shrink: 0; }
.bd-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.bd-toggle-track { position: absolute; inset: 0; background: #d1d9e0; border-radius: 11px; cursor: pointer; transition: background 200ms; }
.bd-toggle input:checked + .bd-toggle-track { background: var(--accent); }
.bd-toggle-thumb { position: absolute; left: 3px; top: 3px; width: 15px; height: 15px; background: #fff; border-radius: 50%; transition: transform 200ms; box-shadow: 0 1px 3px rgba(0,0,0,.2); pointer-events: none; }
.bd-toggle input:checked ~ .bd-toggle-thumb { transform: translateX(17px); }

/* Notif settings */
.bd-notif-row { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border); }
.bd-notif-row:last-child { border-bottom: none; }
.bd-notif-label { font-weight: 600; font-size: .845rem; color: var(--text); }
.bd-notif-sub   { font-size: .75rem; color: var(--muted); margin-top: 1px; }

/* Danger zone */
.bd-danger-zone { background: var(--red-bg); border: 1.5px solid #fca5a5; border-radius: var(--r); padding: 15px 18px; margin-top: 14px; }
.bd-danger-title { font-weight: 700; font-size: .85rem; color: var(--red); font-family: var(--font-display); margin-bottom: 3px; }
.bd-danger-sub   { font-size: .78rem; color: #7f1d1d; margin-bottom: 10px; }
.bd-btn-danger-solid { background: var(--red); color: #fff; padding: 7px 14px; border-radius: var(--rsm); font-size: .8rem; font-weight: 600; cursor: pointer; border: none; font-family: var(--font); }
.bd-btn-danger-solid:hover { background: #b91c1c; }

/* Notifications list */
.bd-notif-feed-item { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--border); transition: background var(--bd-t); }
.bd-notif-feed-item:last-child { border-bottom: none; }
.bd-notif-feed-item:hover { background: var(--bg-alt); }
.bd-notif-feed-item.unread { background: #fffaf7; }
.bd-notif-feed-item.unread:hover { background: var(--accent-l); }
.bd-notif-feed-icon { width: 32px; height: 32px; border-radius: var(--rsm); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.bd-notif-feed-icon.green  { background: var(--green-bg); }
.bd-notif-feed-icon.orange { background: var(--accent-l); }
.bd-notif-feed-icon.blue   { background: var(--bd-blue-bg); }
.bd-notif-feed-icon.muted  { background: var(--bg-alt); border: 1px solid var(--border); }
.bd-notif-feed-text { flex: 1; min-width: 0; }
.bd-notif-feed-msg { font-size: .82rem; color: var(--body); line-height: 1.4; }
.bd-notif-feed-ts  { font-size: .7rem; color: var(--faint); margin-top: 2px; }

/* ── Responsive ── */
@media (max-width: 1180px) {
  .bd-stat-grid  { grid-template-columns: repeat(2,1fr); }
  .bd-two-col    { grid-template-columns: 1fr; }
  .bd-mfr-grid   { grid-template-columns: repeat(2,1fr); }
  .bd-pub-layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .bd-shell    { grid-template-columns: 1fr; }
  .bd-sidebar  { display: none; }
  .bd-content  { padding: 16px; }
  .bd-page-hdr { padding: 0 16px; }
  .bd-mfr-grid   { grid-template-columns: 1fr; }
  .bd-form-grid  { grid-template-columns: 1fr; }
}
