:root {
  --bv-bg: #f6f7fb;
  --bv-surface: #ffffff;
  --bv-surface-soft: #f2f0ff;
  --bv-surface-muted: #f9fafc;
  --bv-border: #e6e7ef;
  --bv-text: #1d2130;
  --bv-muted: #747b8f;
  --bv-accent: #7966ff;
  --bv-accent-strong: #6250eb;
  --bv-accent-soft: #eeeaff;
  --bv-success: #1f9d72;
  --bv-warning: #a86605;
  --bv-danger: #c84b5c;
  --bv-info: #3975d7;
  --bv-radius-sm: 10px;
  --bv-radius-md: 16px;
  --bv-radius-lg: 24px;
  --bv-shadow: 0 14px 38px rgba(29, 33, 48, .07);
  --bv-space-1: 6px;
  --bv-space-2: 10px;
  --bv-space-3: 14px;
  --bv-space-4: 18px;
  --bv-space-5: 24px;
  --bv-space-6: 32px;
  --bv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;
}

.bv-shell,
.bv-app {
  box-sizing: border-box;
  color: var(--bv-text);
  font-family: var(--bv-font);
  -webkit-font-smoothing: antialiased;
}

.bv-shell *, .bv-shell *::before, .bv-shell *::after,
.bv-app *, .bv-app *::before, .bv-app *::after { box-sizing: inherit; }

.bv-card {
  background: var(--bv-surface);
  border: 1px solid var(--bv-border);
  border-radius: var(--bv-radius-md);
  box-shadow: 0 6px 20px rgba(29, 33, 48, .035);
}

.bv-eyebrow {
  color: var(--bv-accent);
  display: inline-block;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .05em;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.bv-status {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  min-height: 28px;
  padding: 7px 10px;
  white-space: nowrap;
}

.bv-status--ok { background: #e9f8f2; color: #137655; }
.bv-status--soft { background: var(--bv-surface-soft); color: var(--bv-accent-strong); }
.bv-status--pending { background: #fff4dc; color: #94610a; }
.bv-status--info { background: #eaf2ff; color: #2d63b8; }
.bv-status--danger { background: #fff0f2; color: #a53b4b; }
.bv-muted { color: var(--bv-muted); }

.bv-button {
  align-items: center;
  appearance: none;
  background: var(--bv-accent);
  border: 1px solid var(--bv-accent);
  border-radius: 12px;
  color: #fff !important;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  gap: 8px;
  justify-content: center;
  line-height: 1;
  min-height: 44px;
  padding: 0 17px;
  text-decoration: none !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, opacity .16s ease;
}

.bv-button:hover { background: var(--bv-accent-strong); border-color: var(--bv-accent-strong); transform: translateY(-1px); }
.bv-button:focus-visible { outline: 3px solid rgba(121, 102, 255, .24); outline-offset: 2px; }
.bv-button:disabled { cursor: wait; opacity: .6; transform: none; }
.bv-button--ghost { background: #fff; border-color: var(--bv-border); color: var(--bv-text) !important; }
.bv-button--ghost:hover { background: var(--bv-surface-muted); border-color: #d9dbea; }
.bv-button--small { min-height: 36px; padding: 0 13px; }

.bv-field { display: grid; gap: 7px; min-width: 0; }
.bv-field > span { color: var(--bv-text); font-size: 13px; font-weight: 700; }
.bv-field input,
.bv-field textarea,
.bv-field select {
  appearance: none;
  background: #fff;
  border: 1px solid var(--bv-border);
  border-radius: 12px;
  box-shadow: none;
  color: var(--bv-text);
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  margin: 0;
  max-width: 100%;
  min-height: 44px;
  outline: none;
  padding: 10px 12px;
  width: 100%;
}
.bv-field textarea { min-height: 104px; resize: vertical; }
.bv-field input:focus,
.bv-field textarea:focus,
.bv-field select:focus { border-color: var(--bv-accent); box-shadow: 0 0 0 3px rgba(121, 102, 255, .12); }

@media (prefers-reduced-motion: reduce) {
  .bv-button { transition: none; }
}

/* 0.15.0 RC — accessibility primitives shared by isolated app/admin surfaces. */
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.bv-skip-link {
  position: fixed;
  z-index: 2147483647;
  left: 12px;
  top: 12px;
  transform: translateY(-180%);
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff;
  color: #191b25;
  box-shadow: 0 12px 32px rgba(0,0,0,.22);
  font: 700 14px/1.2 var(--bv-font, Inter, system-ui, sans-serif);
  text-decoration: none;
}
.bv-skip-link:focus { transform: translateY(0); }
.bv-native-app :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.bv-feed-app :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #5b6cff !important;
  outline-offset: 3px !important;
}
@media (forced-colors: active) {
  .bv-native-app :where(a,button,input,select,textarea,[tabindex]):focus-visible,
  .bv-feed-app :where(a,button,input,select,textarea,[tabindex]):focus-visible {
    outline: 2px solid CanvasText !important;
  }
  .bv-status-pill, .bv-button, .bv-card, .bv-social-sheet { border: 1px solid CanvasText !important; }
}
