Files
vueapp/pages/profile/profile.vue
T
2026-05-29 17:40:10 +08:00

747 lines
20 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="profile-page">
<view class="top-app-bar">
<view class="nav-left">
<button class="icon-button" aria-label="设置" @click="emit('open-settings')">
<view class="settings-icon"></view>
</button>
<button class="icon-button home-button" aria-label="首页" @click="emit('go-home')">
<view class="home-icon"></view>
</button>
</view>
<button class="icon-button" aria-label="个人中心">
<view class="account-icon active"></view>
</button>
</view>
<scroll-view class="dashboard" scroll-y>
<view class="profile-card dashboard-card">
<view class="avatar-wrap">
<image
class="avatar-image"
mode="aspectFill"
src="https://lh3.googleusercontent.com/aida-public/AB6AXuDGDLuBqLjh_SubGoCUg45p2XkSKyTmm_AgVZYoBYjI_RtN9MjhdBR27SzIqSpMnDVwnAoVl2coW7vDPVTdIDgkMjN1SIdxITaqQOJti1jUypNt9OUOTj7r8gmkyYSK9eUzIfG8EqY_shc9mqzxJFSJ9QFqa4gQGwV9FoqspXpGM3_aOzqtUtmOAp9owP22ozTNLh87AfqR_DnOpJ1rMd9szFgIQQinFjO-GsL8h-0oRdvamAM_v_OsVHH25Fez2cHQH4cIHOqSMFo"
></image>
<text class="level-badge">Lv.3</text>
</view>
<view class="profile-copy">
<view class="name-row">
<text class="doctor-name">明医生</text>
<text class="level-chip">临床思维 Lv.3</text>
</view>
<view class="honor-row">
<view class="honor-item">
<view class="verified-icon"></view>
<text>诊断大师</text>
</view>
<text class="divider">|</text>
<view class="honor-item">
<view class="emergency-icon"></view>
<text>急诊先锋</text>
</view>
</view>
</view>
</view>
<view class="metrics-grid">
<view class="metric-card dashboard-card">
<text class="metric-label">临床思维评分</text>
<view class="metric-inline">
<text class="metric-value">82</text>
<text class="metric-top">Top 15%</text>
</view>
</view>
<view class="metric-card dashboard-card">
<text class="metric-label">连续学习天数</text>
<text class="metric-value">18</text>
</view>
<view class="metric-card dashboard-card">
<text class="metric-label">已攻克案例</text>
<text class="metric-value">126</text>
</view>
<view class="metric-card dashboard-card">
<text class="metric-label">AI 活跃指数</text>
<text class="metric-value">A</text>
</view>
</view>
<view class="two-col">
<view class="dashboard-card compact-card">
<text class="card-title">临床能力画像</text>
<view class="radar-box">
<svg class="mini-radar" viewBox="0 0 100 100">
<circle cx="50" cy="50" fill="none" r="45" stroke="#e5e7eb" stroke-dasharray="2 2" stroke-width="0.5"></circle>
<polygon fill="#5B9BD5" fill-opacity="0.3" points="50,15 80,35 85,60 60,85 35,80 15,55 25,30 40,20" stroke="#5B9BD5" stroke-width="1.5"></polygon>
</svg>
<text class="radar-label top">问诊能力</text>
<text class="radar-label bottom">临床决策</text>
</view>
</view>
<view class="dashboard-card compact-card">
<view class="card-head">
<text class="card-title">成长趋势</text>
<view class="segmented">
<text class="seg active"></text>
<text class="seg"></text>
</view>
</view>
<view class="trend-bars">
<view class="trend-bar tone-1"></view>
<view class="trend-bar tone-2"></view>
<view class="trend-bar tone-3"></view>
<view class="trend-bar tone-4"></view>
</view>
</view>
</view>
<view class="two-col">
<view class="dashboard-card compact-card">
<text class="card-title">训练热力图</text>
<view class="heat-grid">
<view
v-for="(tone, index) in heatTones"
:key="index"
class="heat-cell"
:class="tone"
></view>
</view>
<view class="heat-legend">
<text>训练分布</text>
<text></text>
</view>
</view>
<view class="dashboard-card compact-card">
<text class="card-title">专科能力</text>
<view class="specialty-list">
<view class="specialty">
<view class="specialty-head">
<text>呼吸内科</text>
<text class="percent">91%</text>
</view>
<view class="mini-track">
<view class="mini-fill fill-91"></view>
</view>
</view>
<view class="specialty">
<view class="specialty-head">
<text>急诊医学</text>
<text class="percent">88%</text>
</view>
<view class="mini-track">
<view class="mini-fill fill-88"></view>
</view>
</view>
</view>
</view>
</view>
<view class="insight-stack">
<view class="dashboard-card insight-card">
<view class="insight-title">
<view class="psychology-icon"></view>
<text>AI 弱点诊断</text>
</view>
<view class="insight-row">
<view class="error-icon"></view>
<text class="insight-text">高频问题鉴别诊断深度不足</text>
<view class="chevron-icon"></view>
</view>
</view>
<view class="dashboard-card insight-card">
<view class="insight-title">
<view class="sparkle-icon"></view>
<text>个性化训练推荐</text>
</view>
<view class="insight-row">
<view class="notes-icon"></view>
<text class="insight-text">今日挑战复杂COPD急性加重期</text>
<view class="chevron-icon"></view>
</view>
</view>
</view>
</scroll-view>
</view>
</template>
<script setup lang="ts">
const emit = defineEmits<{
(event: 'open-settings'): void
(event: 'go-home'): void
}>()
const heatTones = [
'heat-low',
'heat-high',
'heat-empty',
'heat-mid',
'heat-low',
'heat-high',
'heat-empty',
'heat-mid',
'heat-low',
'heat-high'
]
</script>
<style scoped>
page {
min-height: 100%;
background: #eaf3ff;
}
.profile-page {
width: 390px;
max-width: 100vw;
min-height: 884px;
margin: 0 auto;
padding-bottom: 40px;
background: #eaf3ff;
color: #191c21;
font-family: Inter, -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
-webkit-tap-highlight-color: transparent;
}
.profile-page view,
.profile-page text,
.profile-page button,
.profile-page scroll-view {
box-sizing: border-box;
}
.top-app-bar {
position: fixed;
left: 0;
right: 0;
top: 0;
z-index: 50;
width: 100%;
height: 56px;
padding: 0 16px;
border-bottom: 1px solid rgba(194, 198, 212, 0.3);
background: #ffffff;
box-shadow: 0 2px 8px rgba(25, 28, 33, 0.04);
display: flex;
align-items: center;
justify-content: space-between;
}
.nav-left {
display: flex;
align-items: center;
}
.icon-button {
width: 40px;
height: 40px;
min-height: 40px;
margin: 0;
padding: 0;
border: 0;
border-radius: 50%;
background: transparent;
display: flex;
align-items: center;
justify-content: center;
}
.icon-button::after {
border: 0;
}
.home-button {
margin-left: 4px;
}
.settings-icon,
.home-icon,
.account-icon,
.verified-icon,
.emergency-icon,
.psychology-icon,
.error-icon,
.chevron-icon,
.sparkle-icon,
.notes-icon {
background: #424752;
}
.account-icon.active {
background: #5b9bd5;
}
.settings-icon,
.verified-icon,
.emergency-icon,
.psychology-icon,
.error-icon,
.chevron-icon,
.sparkle-icon,
.notes-icon {
width: 18px;
height: 18px;
}
.settings-icon {
width: 22px;
height: 22px;
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.home-icon,
.account-icon {
width: 24px;
height: 24px;
}
.home-icon {
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.account-icon {
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dashboard {
width: 390px;
height: 884px;
padding: 80px 16px 40px;
}
.dashboard-card {
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 16px;
background: #ffffff;
box-shadow: 0 4px 20px -2px rgba(91, 155, 213, 0.1);
}
.profile-card {
padding: 12px;
display: flex;
align-items: center;
gap: 16px;
}
.avatar-wrap {
position: relative;
flex: 0 0 auto;
}
.avatar-image {
width: 64px;
height: 64px;
border: 4px solid rgba(91, 155, 213, 0.2);
border-radius: 50%;
}
.level-badge {
position: absolute;
right: 0;
bottom: 0;
padding: 2px 8px;
border: 2px solid #ffffff;
border-radius: 999px;
background: #f05a23;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
color: #ffffff;
font-size: 10px;
line-height: 12px;
font-weight: 700;
}
.profile-copy {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
}
.name-row {
margin-bottom: 4px;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.doctor-name {
max-width: 112px;
color: #191c21;
font-size: 20px;
line-height: 28px;
font-weight: 800;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.level-chip {
flex: 0 0 auto;
padding: 2px 8px;
border-radius: 999px;
background: #dcebfa;
color: #004f54;
font-size: 12px;
line-height: 16px;
font-weight: 500;
}
.honor-row {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
color: #424752;
font-size: 11px;
line-height: 16px;
}
.honor-item {
display: flex;
align-items: center;
gap: 4px;
}
.verified-icon {
width: 14px;
height: 14px;
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.4%202.8%203.7-.7.7%203.7%202.8%202.4-2.8%202.4-.7%203.7-3.7-.7L12%2022l-2.4-2.8-3.7.7-.7-3.7L2.4%2014l2.8-2.4.7-3.7%203.7.7L12%202zm-1%2014.2%206-6-1.4-1.4L11%2013.4l-2.6-2.6L7%2012.2l4%204z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.4%202.8%203.7-.7.7%203.7%202.8%202.4-2.8%202.4-.7%203.7-3.7-.7L12%2022l-2.4-2.8-3.7.7-.7-3.7L2.4%2014l2.8-2.4.7-3.7%203.7.7L12%202zm-1%2014.2%206-6-1.4-1.4L11%2013.4l-2.6-2.6L7%2012.2l4%204z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.emergency-icon {
width: 14px;
height: 14px;
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202 3%205v6c0%205.55%203.84%2010.74%209%2012%205.16-1.26%209-6.45%209-12V5l-9-3zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202 3%205v6c0%205.55%203.84%2010.74%209%2012%205.16-1.26%209-6.45%209-12V5l-9-3zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.divider {
color: #c2c6d4;
}
.metrics-grid,
.two-col {
margin-top: 8px;
display: grid;
gap: 8px;
}
.metrics-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.two-col {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.metric-card {
min-height: 72px;
padding: 8px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.metric-label {
margin-bottom: 4px;
color: #424752;
font-size: 12px;
line-height: 16px;
font-weight: 500;
}
.metric-inline {
display: flex;
align-items: baseline;
gap: 4px;
}
.metric-value {
color: #5b9bd5;
font-size: 20px;
line-height: 24px;
font-weight: 700;
}
.metric-top {
color: #22c55e;
font-size: 8px;
line-height: 10px;
font-weight: 700;
}
.compact-card {
min-height: 150px;
padding: 8px;
display: flex;
flex-direction: column;
}
.card-title {
margin-bottom: 8px;
color: #5b9bd5;
font-size: 14px;
line-height: 20px;
font-weight: 700;
}
.radar-box {
position: relative;
width: 100%;
aspect-ratio: 1 / 1;
margin: 0 auto;
}
.mini-radar {
width: 100%;
height: 100%;
}
.radar-label {
position: absolute;
left: 50%;
transform: translateX(-50%) scale(0.9);
font-size: 10px;
line-height: 12px;
white-space: nowrap;
}
.radar-label.top {
top: 0;
}
.radar-label.bottom {
bottom: 0;
}
.card-head {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.segmented {
transform: scale(0.65);
transform-origin: right top;
padding: 2px;
border-radius: 2px;
background: #dcebfa;
display: flex;
}
.seg {
padding: 2px 4px;
color: rgba(91, 155, 213, 0.6);
font-size: 8px;
line-height: 10px;
}
.seg.active {
border-radius: 2px;
background: #ffffff;
color: #5b9bd5;
font-weight: 600;
}
.trend-bars {
flex: 1;
height: 64px;
margin-top: auto;
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 4px;
}
.trend-bar {
flex: 1;
border-radius: 2px 2px 0 0;
}
.tone-1 {
height: 40%;
background: rgba(91, 155, 213, 0.2);
}
.tone-2 {
height: 60%;
background: rgba(91, 155, 213, 0.4);
}
.tone-3 {
height: 80%;
background: #5b9bd5;
}
.tone-4 {
height: 70%;
background: rgba(91, 155, 213, 0.7);
}
.heat-grid {
margin-bottom: 8px;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 4px;
}
.heat-cell {
width: 100%;
aspect-ratio: 1 / 1;
border-radius: 1px;
}
.heat-low {
background: rgba(91, 155, 213, 0.3);
}
.heat-mid {
background: rgba(91, 155, 213, 0.6);
}
.heat-high {
background: #5b9bd5;
}
.heat-empty {
background: #f3f4f6;
}
.heat-legend {
margin-top: auto;
display: flex;
justify-content: space-between;
color: rgba(66, 71, 82, 0.6);
font-size: 7px;
line-height: 10px;
}
.specialty-list {
margin-top: 4px;
display: flex;
flex-direction: column;
gap: 8px;
}
.specialty-head {
display: flex;
justify-content: space-between;
font-size: 8px;
line-height: 12px;
}
.percent {
color: #5b9bd5;
}
.mini-track {
width: 100%;
height: 4px;
border-radius: 999px;
background: #f3f4f6;
overflow: hidden;
}
.mini-fill {
height: 100%;
background: #5b9bd5;
}
.fill-91 {
width: 91%;
}
.fill-88 {
width: 88%;
}
.insight-stack {
margin-top: 8px;
display: flex;
flex-direction: column;
gap: 8px;
padding-bottom: 16px;
}
.insight-card {
padding: 12px;
border-left: 4px solid #5b9bd5;
}
.insight-title {
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
color: #5b9bd5;
font-size: 14px;
line-height: 20px;
font-weight: 700;
}
.psychology-icon,
.sparkle-icon {
background: #5b9bd5;
}
.psychology-icon {
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M13%203a8%208%200%200%200-8%208v3.5L3%2018h3v3h7v-3h1a7%207%200%200%200%207-7%208%208%200%200%200-8-8zm-2%2011H9v-2h2v2zm4%200h-2v-2h2v2zm-4-4H9V8h2v2zm4%200h-2V8h2v2z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M13%203a8%208%200%200%200-8%208v3.5L3%2018h3v3h7v-3h1a7%207%200%200%200%207-7%208%208%200%200%200-8-8zm-2%2011H9v-2h2v2zm4%200h-2v-2h2v2zm-4-4H9V8h2v2zm4%200h-2V8h2v2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sparkle-icon {
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m19%209%201.25-2.75L23%205l-2.75-1.25L19%201l-1.25%202.75L15%205l2.75%201.25L19%209zm-7.5.5L9%204%206.5%209.5%201%2012l5.5%202.5L9%2020l2.5-5.5L17%2012l-5.5-2.5z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m19%209%201.25-2.75L23%205l-2.75-1.25L19%201l-1.25%202.75L15%205l2.75%201.25L19%209zm-7.5.5L9%204%206.5%209.5%201%2012l5.5%202.5L9%2020l2.5-5.5L17%2012l-5.5-2.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.insight-row {
padding: 12px;
border-radius: 12px;
background: #dcebfa;
box-shadow: 0 2px 8px rgba(91, 155, 213, 0.12);
color: #004f54;
display: flex;
align-items: center;
gap: 12px;
}
.error-icon,
.notes-icon {
background: #5b9bd5;
width: 16px;
height: 16px;
}
.error-icon {
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2015h2v2h-2v-2zm0-8h2v6h-2V7zm1-5a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2015h2v2h-2v-2zm0-8h2v6h-2V7zm1-5a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.notes-icon {
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-1V1h-2v2H8V1H6v2H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zM8%207h8v2H8V7zm0%204h8v2H8v-2zm0%204h5v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-1V1h-2v2H8V1H6v2H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zM8%207h8v2H8V7zm0%204h8v2H8v-2zm0%204h5v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.insight-text {
flex: 1;
font-size: 14px;
line-height: 20px;
font-weight: 700;
}
.chevron-icon {
width: 16px;
height: 16px;
background: #c2c6d4;
-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m10%206-1.41%201.41L13.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m10%206-1.41%201.41L13.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
</style>