.bc-app { --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-grid-bg { position: relative; padding: 0 0 8px; } .bc-grid-bg::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent-2) 10%, transparent), transparent 28%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--brand-accent-3) 10%, transparent), transparent 30%), linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)); } .bc-shell { position: relative; display: grid; gap: 24px; } .bc-stack { display: grid; gap: 24px; } .bc-hero { display: grid; gap: 18px; padding: 28px; border-radius: 28px; background: radial-gradient(circle at top right, rgba(94, 234, 212, 0.18), transparent 28%), radial-gradient(circle at bottom left, rgba(121, 215, 255, 0.14), transparent 32%), linear-gradient(145deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.78)); border: 1px solid var(--bc-line); box-shadow: 0 18px 40px rgba(2, 6, 23, 0.22); } .bc-hero-top { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.6fr) minmax(240px, 0.7fr); align-items: start; } .bc-hero-copy { display: grid; gap: 10px; } .bc-eyebrow { display: inline-flex; align-items: center; width: fit-content; padding: 8px 12px; border-radius: 999px; background: color-mix(in srgb, var(--bc-accent) 18%, transparent); border: 1px solid color-mix(in srgb, var(--bc-accent) 28%, transparent); color: var(--bc-text); font-size: 0.86rem; font-weight: 700; } .bc-title { margin: 0; font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1.05; } .bc-text { color: var(--bc-muted); margin: 0; } .bc-hero-controls { display: grid; gap: 12px; justify-items: stretch; } .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-app button, .bc-app input, .bc-app select, .bc-app 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-app .setup-field { display: grid; gap: 6px; } .bc-app input, .bc-app select, .bc-app textarea { width: 100%; border: 1px solid var(--bc-line); border-radius: 14px; padding: 10px 12px; background: var(--surface-strong); color: var(--bc-text); } .bc-app input::placeholder, .bc-app textarea::placeholder { color: color-mix(in srgb, var(--bc-muted) 70%, transparent); } .bc-app a { color: inherit; } .bc-app .muted { color: var(--bc-muted); } @media (max-width: 980px) { .bc-hero-top { grid-template-columns: 1fr; } .bc-position-row { grid-template-columns: 1fr; } }