.bc-page { --bc-accent: var(--brand-accent); --bc-accent-strong: var(--brand-accent-2); --bc-ink: var(--text); --bc-text: var(--text); --bc-muted: var(--muted); --bc-line: var(--line); --bc-panel: rgba(255, 255, 255, 0.78); --bc-panel-soft: rgba(248, 252, 252, 0.92); --bc-positive: #137333; --bc-negative: #c62828; color: var(--bc-text); } .bc-page { display: grid; gap: 16px; } .bc-text { color: var(--bc-muted); margin: 0; } .bc-section-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; } .bc-section-title { margin: 0; font-size: 1.45rem; line-height: 1.15; } .bc-section-head p, .bc-section-copy { color: var(--bc-muted); margin: 8px 0 0; } .bc-form-card, .bc-panel, .bc-stat, .bc-chart-card, .bc-position-row { border: 1px solid var(--bc-line); border-radius: 22px; background: var(--bc-panel); box-shadow: 0 10px 24px rgba(1, 22, 32, 0.06); } .bc-form-card, .bc-panel, .bc-chart-card { padding: 18px; } .bc-stat { padding: 16px; } .bc-field-label { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--bc-muted); } .bc-tabs { display: flex; flex-wrap: wrap; gap: 10px; } .bc-button, .bc-tabs a, .bc-page button, .bc-page input, .bc-page select, .bc-page textarea { font: inherit; } .bc-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 16px; padding: 12px 16px; cursor: pointer; text-decoration: none; transition: 160ms ease; } .bc-button:hover { transform: translateY(-1px); } .bc-button--tab { background: rgba(255, 255, 255, 0.94); color: var(--bc-ink); font-weight: 700; } .bc-button--tab-active { background: linear-gradient(135deg, var(--bc-accent), var(--brand-accent-3)); color: #fff7fb; font-weight: 700; } .bc-button--primary { background: linear-gradient(135deg, var(--bc-accent), var(--brand-accent-3)); color: #fff7fb; font-weight: 700; } .bc-button--secondary { background: rgba(255, 255, 255, 0.94); color: var(--bc-ink); font-weight: 700; } .bc-button--ghost { background: color-mix(in srgb, var(--bc-accent) 14%, transparent); border-color: color-mix(in srgb, var(--bc-accent) 34%, transparent); color: var(--bc-accent); font-weight: 700; } .bc-actions { display: flex; gap: 10px; flex-wrap: wrap; } .bc-alert { padding: 16px 18px; border-radius: 20px; border: 1px solid transparent; } .bc-alert--error { background: rgba(127, 29, 29, 0.28); border-color: rgba(252, 165, 165, 0.24); color: #fecaca; } .bc-alert--success { background: rgba(6, 78, 59, 0.28); border-color: rgba(134, 239, 172, 0.24); color: #bbf7d0; } .bc-toolbar, .bc-overview-grid, .bc-card-grid { display: grid; gap: 14px; } .bc-toolbar { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } .bc-overview-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } .bc-card-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } .bc-stat-value { margin-top: 8px; font-size: 1.42rem; font-weight: 700; } .bc-chart-shell { position: relative; min-height: 360px; overflow: hidden; } .bc-chart-svg { width: 100%; height: 340px; display: block; } .bc-chart-path { fill: none; stroke: var(--bc-accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 12px 24px color-mix(in srgb, var(--bc-accent) 18%, transparent)); } .bc-chart-area { fill: url(#bc-chart-fill); } .bc-chart-grid line { stroke: rgba(16, 33, 43, 0.08); stroke-dasharray: 4 6; } .bc-range-list { display: flex; gap: 10px; flex-wrap: wrap; } .bc-range-button { border: 1px solid color-mix(in srgb, var(--bc-accent) 26%, transparent); background: rgba(255, 255, 255, 0.76); color: var(--bc-text); padding: 8px 12px; border-radius: 999px; cursor: pointer; transition: transform .18s ease, background .18s ease, border-color .18s ease; } .bc-range-button:hover, .bc-range-button[aria-pressed="true"] { transform: translateY(-1px); background: color-mix(in srgb, var(--bc-accent) 18%, transparent); border-color: color-mix(in srgb, var(--bc-accent) 42%, transparent); } .bc-panel-fade { animation: bcPanelFade .35s ease; } @keyframes bcPanelFade { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } } .bc-position-list { display: grid; gap: 14px; } .bc-position-row { display: grid; grid-template-columns: minmax(0, 1.8fr) repeat(4, minmax(96px, .72fr)); gap: 14px; align-items: center; padding: 16px 18px; } .bc-performance { font-weight: 700; } .bc-performance.is-positive { color: var(--bc-positive); } .bc-performance.is-negative { color: var(--bc-negative); } .bc-pill-soft { display: inline-flex; align-items: center; width: fit-content; padding: 6px 10px; border-radius: 999px; background: color-mix(in srgb, var(--bc-accent) 10%, transparent); color: var(--bc-text); font-size: .85rem; } .bc-table-shell { overflow: auto; border-radius: 18px; border: 1px solid var(--bc-line); } .bc-table { width: 100%; border-collapse: collapse; } .bc-table th, .bc-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.06); vertical-align: top; } .bc-table thead { background: rgba(255,255,255,0.04); } .bc-page .setup-field { display: grid; gap: 6px; } .bc-page input, .bc-page select, .bc-page textarea { width: 100%; border: 1px solid var(--bc-line); border-radius: 14px; padding: 10px 12px; background: var(--surface-strong); color: var(--bc-text); } .bc-page input::placeholder, .bc-page textarea::placeholder { color: color-mix(in srgb, var(--bc-muted) 70%, transparent); } .bc-page a { color: inherit; } .bc-page .muted { color: var(--bc-muted); } @media (max-width: 980px) { .bc-hero-top { grid-template-columns: 1fr; } .bc-position-row { grid-template-columns: 1fr; } }