.metric-card, .databi-panel, .mini-stat { border: 1px solid rgba(35, 128, 180, 0.46); background: linear-gradient(180deg, rgba(9, 43, 70, 0.95), rgba(5, 27, 47, 0.92)), rgba(8, 34, 56, 0.92); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); } .metric-card { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1fr); height: 140px; align-items: stretch; padding: 10px 14px; border-radius: 8px; } .metric-card--clickable { cursor: pointer; } .metric-card--clickable:hover, .metric-card--clickable:focus-visible { border-color: rgba(39, 228, 245, 0.78); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 0 0 3px rgba(39, 228, 245, 0.08); outline: none; } .metric-icon { display: grid; width: 40px; height: 40px; place-items: center; color: #27e4f5; } .metric-icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; } .metric-content { display: grid; grid-template-rows: auto minmax(0, 1fr) auto 22px; min-width: 0; } .metric-label-row, .mini-stat > span, .section-label, .rank-title { color: #98afc9; font-size: 12px; } .metric-label-row { display: flex; min-width: 0; align-items: center; gap: 6px; } .metric-title-icon { display: inline-grid; flex: 0 0 auto; width: 15px; height: 15px; place-items: center; color: #27e4f5; } .metric-title-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; } .metric-label-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .metric-unit-icon { display: inline-grid; flex: 0 0 auto; width: 14px; height: 14px; place-items: center; color: #27e4f5; } .metric-unit-icon svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; } .metric-unit { flex: 0 0 auto; color: #7f9bb7; font-size: 10px; font-style: normal; font-weight: 680; } .metric-content strong { display: block; align-self: center; margin-top: 2px; overflow: hidden; color: #f6fbff; font-size: clamp(20px, 1.25vw, 25px); font-weight: 780; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; } .metric-delta { display: flex; justify-content: space-between; gap: 8px; margin-top: 2px; padding-top: 4px; border-top: 1px solid rgba(120, 169, 205, 0.16); color: #6f8aa4; font-size: 11px; } .metric-delta--compact { margin-top: 2px; padding-top: 0; border-top: 0; font-size: 10px; } .metric-delta b, .positive { color: #24d79f; font-weight: 760; } .negative { color: #f5a623; font-weight: 760; } .metric-delta--down b { color: #f5a623; } .metric-delta .metric-delta-empty { color: #7f9bb7; } .metric-sub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; align-self: stretch; margin-top: 4px; } .metric-sub-item { display: grid; min-width: 0; align-content: center; } .metric-sub-item > span { overflow: hidden; color: #8aa6c2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } .metric-sub-item strong { align-self: auto; margin-top: 2px; font-size: clamp(14px, 0.86vw, 18px); } .metric-sparkline { display: block; width: 100%; height: 18px; margin-top: 3px; overflow: visible; } .metric-sparkline--empty { border-bottom: 2px solid rgba(39, 228, 245, 0.22); } .metric-sparkline-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; vector-effect: non-scaling-stroke; } .metric-sparkline-line--1 { stroke: #27e4f5; } .metric-sparkline-line--2 { stroke: #24d79f; opacity: 0.82; } .skeleton-block { display: block; position: relative; overflow: hidden; border-radius: 4px; background: rgba(95, 151, 193, 0.16); } .skeleton-block::after { position: absolute; inset: 0; transform: translateX(-110%); background: linear-gradient(90deg, transparent, rgba(121, 213, 238, 0.22), transparent); animation: skeleton-shimmer 1.35s ease-in-out infinite; content: ""; } @keyframes skeleton-shimmer { to { transform: translateX(110%); } } .metric-card.is-loading .metric-content { display: grid; gap: 10px; } .metric-icon--skeleton { color: transparent; } .skeleton-icon { width: 34px; height: 34px; border-radius: 50%; } .skeleton-label { width: 92px; height: 13px; } .skeleton-value { width: min(190px, 78%); height: 30px; } .skeleton-caption { width: min(160px, 68%); height: 14px; } .side-metrics { display: grid; gap: 8px; } .funnel-layout .side-metrics { grid-template-columns: 1fr; align-content: start; gap: 9px; } .funnel-layout .mini-stat { height: 74px; padding: 10px 11px; } .mini-stat { min-width: 0; padding: 10px 11px; border-radius: 8px; } .mini-stat strong { display: block; margin-top: 4px; overflow: hidden; color: #f6fbff; font-size: 20px; font-weight: 780; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; } .side-metrics .mini-stat strong { font-size: 21px; } .mini-stat small { display: flex; justify-content: space-between; gap: 6px; margin-top: 3px; overflow: hidden; color: #6f8aa4; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } .four-metric-row .mini-stat small, .five-metric-row .mini-stat small { gap: 2px; font-size: 8px; } .mini-stat small span { min-width: 0; overflow: hidden; text-overflow: ellipsis; } .mini-stat small b { flex: 0 0 auto; color: #24d79f; font-weight: 760; } .mini-stat-delta--down b { color: #f5a623; } .two-metric-row, .four-metric-row, .five-metric-row { display: grid; gap: 8px; margin-bottom: 10px; } .two-metric-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .four-metric-row { grid-template-columns: repeat(4, minmax(0, 1fr)); } .five-metric-row { grid-template-columns: repeat(5, minmax(0, 1fr)); } .five-metric-row .mini-stat strong { font-size: clamp(10px, 0.72vw, 16px); } .four-metric-row .mini-stat strong { font-size: clamp(13px, 0.8vw, 16px); } .five-metric-row .mini-stat { padding-inline: 6px; }