/* 实例流量详情:汇总数据、恢复操作与流量表格。 */ /* 导入方:app/components/instance/InstanceManage.vue、app/components/instance/InstanceNetwork.vue、app/components/instance/InstanceOverview.vue、app/components/instance/InstanceTraffic.vue。 */ .traffic-summary[data-v-484c7b21] { flex-direction: column; gap: 12px; min-width: 0; display: flex; } .traffic-row[data-v-484c7b21] { justify-content: space-between; align-items: baseline; gap: 16px; font-size: 1rem; display: flex; } .traffic-note[data-v-484c7b21], .traffic-row > span[data-v-484c7b21] { color: var(--p-text-muted-color); } .traffic-row > span[data-v-484c7b21] { flex-shrink: 0; } /* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */ .traffic-row > b[data-v-484c7b21] { overflow-wrap: anywhere; text-align: right; font-weight: 500; } .traffic-note[data-v-484c7b21] { margin: 0; font-size: 0.875rem; line-height: 1.6; } .traffic-actions[data-v-484c7b21] { justify-content: flex-end; display: flex; } .traffic-error[data-v-484c7b21] { align-items: flex-start; gap: 8px; display: flex; } .traffic-error[data-v-484c7b21] .p-message { flex: 1; min-width: 0; } .traffic-error[data-v-484c7b21] .p-button { flex-shrink: 0; } .traffic-table[data-v-484c7b21] { border: 1px solid var(--console-panel-border); box-shadow: var(--console-panel-shadow); background: var(--console-panel-bg); border-radius: 6px; gap: 0; overflow: hidden; } .traffic-table[data-v-484c7b21] > * + * { border-top: 1px solid var(--console-panel-border); } .traffic-table .traffic-row[data-v-484c7b21] { grid-template-columns: 16.6667% minmax(0, 1fr); align-items: center; gap: 0; min-height: 49px; display: grid; } /* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */ .traffic-table .traffic-row[data-v-484c7b21] > * { overflow-wrap: anywhere; min-width: 0; padding: 14px; } .traffic-table .traffic-row[data-v-484c7b21]:nth-child(2n of .traffic-row) { background: var(--console-page-bg); } .traffic-table .traffic-row > span[data-v-484c7b21] { font-weight: 600; } .traffic-table .traffic-row > b[data-v-484c7b21] { text-align: left; } .traffic-table .traffic-error[data-v-484c7b21], .traffic-table .traffic-note[data-v-484c7b21], .traffic-table .traffic-progress[data-v-484c7b21] { overflow-wrap: anywhere; min-width: 0; padding: 14px; } .traffic-table .traffic-error[data-v-484c7b21] { flex-wrap: wrap; } /* 视口条件 (width<=767px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */ @media (width<=767px) { .traffic-table .traffic-row[data-v-484c7b21] { grid-template-columns: 100px minmax(0, 1fr); } }