.databi-shell { width: 100vw; min-width: 1280px; min-height: 720px; padding: 0 24px 24px; } .databi-screen { --analysis-row-height: 320px; --business-metric-row-height: 88px; display: grid; grid-template-rows: 72px 128px var(--business-metric-row-height) var(--analysis-row-height); gap: 16px; min-height: 0; } .databi-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 72px; margin: 0 -24px; padding: 0 24px; border-bottom: 1px solid rgba(34, 121, 170, 0.46); background: rgba(2, 15, 31, 0.72); } .brand-lockup { display: flex; min-width: 0; align-items: center; gap: 14px; } .brand-emblem { display: grid; position: relative; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(39, 228, 245, 0.7); border-radius: 50%; background: rgba(11, 45, 70, 0.82); box-shadow: inset 0 0 12px rgba(39, 228, 245, 0.16); } .brand-emblem::before { width: 19px; height: 19px; border: 2px solid #27e4f5; border-radius: 50%; background: linear-gradient(90deg, transparent 45%, #27e4f5 45% 55%, transparent 55%), linear-gradient(transparent 45%, #27e4f5 45% 55%, transparent 55%); box-shadow: 0 0 12px rgba(39, 228, 245, 0.55); content: ""; } .brand-emblem::after { position: absolute; inset: 7px; border: 1px solid rgba(39, 228, 245, 0.55); border-radius: 50%; content: ""; } .brand-lockup h1 { margin: 0; font-size: 26px; font-weight: 780; letter-spacing: 0; } .header-meta { display: flex; gap: 12px; margin-top: 2px; color: #7fa1bf; font-size: 12px; } .header-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; } .range-control, .region-control { display: inline-flex; height: 44px; align-items: center; gap: 10px; border: 1px solid rgba(64, 148, 197, 0.42); border-radius: 8px; background: rgba(7, 29, 48, 0.86); color: #d8ebff; } .range-control { width: 378px; padding: 0 16px; } .range-control input, .region-control select { min-width: 0; border: 0; background: transparent; color: #d8ebff; font: inherit; outline: 0; } .range-control input { width: 132px; color-scheme: dark; } .range-control input::-webkit-calendar-picker-indicator { display: none; } .range-control svg, .region-control svg { color: #ccd9e8; } .region-control { width: 280px; padding: 0 16px; } .region-control select { flex: 1; } .range-control:focus-within, .region-control:focus-within { border-color: rgba(39, 228, 245, 0.86); box-shadow: 0 0 0 3px rgba(39, 228, 245, 0.1); } .live-dot { display: inline-flex; align-items: center; gap: 7px; color: #20e7d6; font-size: 13px; font-weight: 720; } .live-dot::before { width: 7px; height: 7px; border-radius: 50%; background: #20e7d6; box-shadow: 0 0 14px rgba(32, 231, 214, 0.72); content: ""; } .live-dot--warn { color: #f7a33a; } .live-dot--warn::before { background: #f7a33a; box-shadow: 0 0 14px rgba(247, 163, 58, 0.72); } .metric-grid, .business-metric-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; } .business-metric-grid .metric-card { height: var(--business-metric-row-height); grid-template-columns: minmax(0, 1fr); align-items: stretch; padding: 10px 16px; } .business-metric-grid .metric-content { display: grid; grid-template-columns: minmax(0, 1fr) max-content; grid-template-rows: auto 1fr; column-gap: 12px; align-items: center; } .business-metric-grid .metric-content > span { grid-column: 1; grid-row: 1; } .business-metric-grid .metric-content strong { grid-column: 1; grid-row: 2; margin-top: 3px; font-size: clamp(18px, 1vw, 20px); line-height: 1.25; } .business-metric-grid .metric-delta { grid-column: 2; grid-row: 1 / 3; display: grid; gap: 3px; align-self: center; justify-self: end; margin-top: 0; padding-top: 0; border-top: 0; font-size: 11px; text-align: right; white-space: nowrap; } .business-metric-grid .metric-delta span { color: #7f9bb7; } .databi-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; } .databi-grid--top { height: var(--analysis-row-height); min-height: 0; } .databi-grid--top > .databi-panel, .databi-grid--middle > .databi-panel { grid-column: span 4; } .databi-grid--top .databi-panel { height: var(--analysis-row-height); min-height: 0; } .databi-grid--middle .databi-panel { height: 100%; min-height: 0; } .databi-screen .databi-grid--top .databi-panel, .databi-screen .databi-grid--middle .databi-panel { display: flex; flex-direction: column; } .databi-footer { display: flex; align-items: center; justify-content: center; gap: 34px; margin-top: 16px; color: #7f91a8; font-size: 12px; } .databi-footer strong { color: #f7a33a; font-weight: 760; }