433 lines
9.5 KiB
CSS
433 lines
9.5 KiB
CSS
/* 独立服务器综合管理:概览卡片、资源、访问凭据、网络与记录列表。 */
|
|
/* 导入方:app/components/instance/DcimManage.vue。 */
|
|
.compact-monitor-slot[data-v-e2d08c68] {
|
|
min-width: 0;
|
|
min-height: 154px;
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tablist-tab-list {
|
|
background: 0 0;
|
|
gap: 7px;
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tab {
|
|
color: var(--p-text-muted-color);
|
|
white-space: nowrap;
|
|
padding: 14px;
|
|
font-weight: 500;
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tab-active {
|
|
color: var(--p-primary-color);
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tabpanels {
|
|
background: 0 0;
|
|
padding: 21px 0 0;
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tabpanel {
|
|
padding: 0;
|
|
}
|
|
.overview[data-v-e2d08c68] {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 21px;
|
|
display: grid;
|
|
}
|
|
.stack[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
gap: 21px;
|
|
min-width: 0;
|
|
display: flex;
|
|
}
|
|
.card[data-v-e2d08c68] {
|
|
border: 1px solid var(--console-panel-border);
|
|
background: var(--console-panel-bg);
|
|
box-shadow: var(--console-panel-shadow);
|
|
border-radius: 6px;
|
|
min-width: 0;
|
|
padding: 14px;
|
|
}
|
|
.card h3[data-v-e2d08c68],
|
|
.detail-content h3[data-v-e2d08c68] {
|
|
margin: 0 0 14px;
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
}
|
|
.card-title[data-v-e2d08c68] {
|
|
width: 100%;
|
|
font: inherit;
|
|
color: inherit;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
background: 0 0;
|
|
border: 0;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0;
|
|
display: flex;
|
|
}
|
|
.card-title i[data-v-e2d08c68] {
|
|
font-size: 0.875rem;
|
|
}
|
|
.card-title[data-v-e2d08c68]:hover {
|
|
color: var(--p-primary-color);
|
|
}
|
|
.card-bottom[data-v-e2d08c68] {
|
|
width: 100%;
|
|
margin-top: 28px;
|
|
}
|
|
.flow-card[data-v-e2d08c68] .p-progressbar,
|
|
.network-flow-bar[data-v-e2d08c68] {
|
|
height: 8px;
|
|
}
|
|
.flow-used[data-v-e2d08c68] {
|
|
align-items: center;
|
|
gap: 7px;
|
|
margin: 14px 0;
|
|
font-size: 1rem;
|
|
display: flex;
|
|
}
|
|
.flow-used i[data-v-e2d08c68] {
|
|
color: var(--p-green-600);
|
|
}
|
|
.muted[data-v-e2d08c68] {
|
|
color: var(--p-text-muted-color);
|
|
margin: 14px 0 0;
|
|
font-size: 1rem;
|
|
line-height: 1.6;
|
|
}
|
|
.compact-rows[data-v-e2d08c68] {
|
|
margin: 0;
|
|
}
|
|
.compact-rows > div[data-v-e2d08c68] {
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 14px;
|
|
min-height: 33px;
|
|
display: flex;
|
|
}
|
|
.compact-rows dt[data-v-e2d08c68] {
|
|
color: var(--p-text-muted-color);
|
|
flex-shrink: 0;
|
|
}
|
|
/* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */
|
|
.compact-rows dd[data-v-e2d08c68] {
|
|
overflow-wrap: anywhere;
|
|
text-align: right;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
gap: 4px;
|
|
min-width: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
}
|
|
.compact-rows dd.muted[data-v-e2d08c68] {
|
|
font-size: 0.9375rem;
|
|
}
|
|
.compact-rows[data-v-e2d08c68] .p-button {
|
|
padding: 3px;
|
|
}
|
|
.resource-list[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
gap: 21px;
|
|
margin: 0;
|
|
display: flex;
|
|
}
|
|
.resource-list > div[data-v-e2d08c68] {
|
|
border: 1px solid var(--console-panel-border);
|
|
box-shadow: var(--console-panel-shadow);
|
|
border-radius: 6px;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 14px;
|
|
min-height: 50px;
|
|
padding: 14px;
|
|
display: flex;
|
|
}
|
|
.resource-list dt[data-v-e2d08c68] {
|
|
flex-shrink: 0;
|
|
align-items: center;
|
|
gap: 7px;
|
|
display: flex;
|
|
}
|
|
/* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */
|
|
.resource-list dd[data-v-e2d08c68] {
|
|
overflow-wrap: anywhere;
|
|
text-align: right;
|
|
margin: 0;
|
|
font-weight: 600;
|
|
line-height: 1.5;
|
|
}
|
|
.resource-list small[data-v-e2d08c68] {
|
|
color: var(--p-text-muted-color);
|
|
font-weight: 400;
|
|
display: block;
|
|
}
|
|
.os[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 14px;
|
|
margin: 21px 0;
|
|
display: flex;
|
|
}
|
|
.os strong[data-v-e2d08c68] {
|
|
font-weight: 400;
|
|
}
|
|
.quick-actions[data-v-e2d08c68] {
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
margin-top: 14px;
|
|
display: flex;
|
|
}
|
|
.access-quick[data-v-e2d08c68] {
|
|
margin-top: 35px;
|
|
}
|
|
.access-quick[data-v-e2d08c68] .p-button {
|
|
flex: 1;
|
|
padding: 9px 10px;
|
|
}
|
|
.protection-card[data-v-e2d08c68] {
|
|
min-height: 310px;
|
|
}
|
|
.protection-body[data-v-e2d08c68] {
|
|
text-align: center;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 40px 0 14px;
|
|
display: flex;
|
|
}
|
|
.protection-body img[data-v-e2d08c68] {
|
|
-o-object-fit: contain;
|
|
object-fit: contain;
|
|
width: 112px;
|
|
height: 112px;
|
|
}
|
|
.protection-body strong[data-v-e2d08c68] {
|
|
font-size: 1.25rem;
|
|
font-weight: 400;
|
|
}
|
|
.protection-body p[data-v-e2d08c68] {
|
|
margin: 0;
|
|
font-size: 0.9375rem;
|
|
}
|
|
.protection-body[data-v-e2d08c68] .p-button {
|
|
padding: 2px;
|
|
}
|
|
.help-links[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
gap: 14px;
|
|
margin-top: 14px;
|
|
display: flex;
|
|
}
|
|
.help-links a[data-v-e2d08c68] {
|
|
color: var(--p-text-color);
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
text-decoration: none;
|
|
display: flex;
|
|
}
|
|
.help-links a[data-v-e2d08c68]:hover {
|
|
color: var(--p-primary-color);
|
|
}
|
|
.network-card > .compact-rows[data-v-e2d08c68] {
|
|
border-bottom: 1px solid var(--console-panel-border);
|
|
margin-bottom: 21px;
|
|
padding-bottom: 14px;
|
|
}
|
|
.detail-content[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
gap: 14px;
|
|
min-width: 0;
|
|
display: flex;
|
|
}
|
|
.detail-content h3[data-v-e2d08c68],
|
|
.detail-content > .muted[data-v-e2d08c68] {
|
|
margin: 0;
|
|
}
|
|
.detail-content .section-gap[data-v-e2d08c68] {
|
|
margin-top: 28px;
|
|
}
|
|
.detail-content .muted a[data-v-e2d08c68] {
|
|
margin: 0 4px;
|
|
}
|
|
.rows[data-v-e2d08c68] {
|
|
background: var(--console-panel-bg);
|
|
border: 1px solid var(--console-panel-border);
|
|
box-shadow: var(--console-panel-shadow);
|
|
border-radius: 6px;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
}
|
|
.rows > div[data-v-e2d08c68] {
|
|
grid-template-columns: 16.666% minmax(0, 1fr);
|
|
align-items: center;
|
|
gap: 14px;
|
|
min-height: 50px;
|
|
padding: 14px;
|
|
display: grid;
|
|
}
|
|
.rows > div + div[data-v-e2d08c68] {
|
|
border-top: 1px solid var(--console-panel-border);
|
|
}
|
|
.rows > div[data-v-e2d08c68]:nth-child(2n) {
|
|
background: var(--console-page-bg);
|
|
}
|
|
.rows dt[data-v-e2d08c68] {
|
|
color: var(--p-text-muted-color);
|
|
font-weight: 600;
|
|
}
|
|
.rows dd[data-v-e2d08c68] {
|
|
overflow-wrap: anywhere;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin: 0;
|
|
display: flex;
|
|
}
|
|
.rows dd.stacked-value[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 10px;
|
|
display: flex;
|
|
}
|
|
.stacked-value small[data-v-e2d08c68] {
|
|
color: var(--p-text-muted-color);
|
|
font-size: 0.875rem;
|
|
line-height: 1.6;
|
|
}
|
|
.inline-actions[data-v-e2d08c68],
|
|
.password-line[data-v-e2d08c68] {
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 7px;
|
|
display: flex;
|
|
}
|
|
.password-line[data-v-e2d08c68] .p-button {
|
|
padding: 2px;
|
|
}
|
|
.rows dd.ip-table-cell[data-v-e2d08c68] {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 7px;
|
|
min-width: 0;
|
|
display: flex;
|
|
}
|
|
.ip-table-cell[data-v-e2d08c68] .p-datatable {
|
|
border: 1px solid var(--console-panel-border);
|
|
width: 100%;
|
|
box-shadow: var(--console-panel-shadow);
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
}
|
|
.ip-table-cell[data-v-e2d08c68] > .p-button {
|
|
align-self: flex-start;
|
|
}
|
|
.network-flow-bar[data-v-e2d08c68] {
|
|
width: 100%;
|
|
}
|
|
.stacked-value .flow-used[data-v-e2d08c68] {
|
|
margin: 0;
|
|
}
|
|
.section-head[data-v-e2d08c68] {
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
gap: 14px;
|
|
}
|
|
.search[data-v-e2d08c68],
|
|
.section-head[data-v-e2d08c68] {
|
|
align-items: center;
|
|
display: flex;
|
|
}
|
|
.search[data-v-e2d08c68] {
|
|
gap: 4px;
|
|
max-width: 100%;
|
|
}
|
|
.search[data-v-e2d08c68] input {
|
|
width: 210px;
|
|
min-width: 0;
|
|
}
|
|
.records-table[data-v-e2d08c68] {
|
|
border: 1px solid var(--console-panel-border);
|
|
box-shadow: var(--console-panel-shadow);
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
}
|
|
.empty[data-v-e2d08c68] {
|
|
text-align: center;
|
|
color: var(--p-text-muted-color);
|
|
padding: 28px;
|
|
}
|
|
.inline-error[data-v-e2d08c68] {
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 7px;
|
|
font-size: 0.9375rem;
|
|
display: flex;
|
|
}
|
|
.load-failure[data-v-e2d08c68] {
|
|
padding-top: 14px;
|
|
}
|
|
.mono[data-v-e2d08c68] {
|
|
font-family: var(--font-mono, monospace);
|
|
}
|
|
/* 视口条件 (width<=1199px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */
|
|
@media (width<=1199px) {
|
|
.overview[data-v-e2d08c68],
|
|
.stack[data-v-e2d08c68] {
|
|
gap: 14px;
|
|
}
|
|
.resource-list > div[data-v-e2d08c68] {
|
|
padding: 10px;
|
|
}
|
|
.resource-list dd[data-v-e2d08c68] {
|
|
font-size: 0.9375rem;
|
|
}
|
|
}
|
|
/* 视口条件 (width<=950px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */
|
|
@media (width<=950px) {
|
|
.overview[data-v-e2d08c68] {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
.stack[data-v-e2d08c68]:last-child {
|
|
grid-column: 1/-1;
|
|
grid-template-columns: 1fr 1fr;
|
|
display: grid;
|
|
}
|
|
}
|
|
/* 视口条件 (width<=600px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */
|
|
@media (width<=600px) {
|
|
.overview[data-v-e2d08c68] {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.stack[data-v-e2d08c68]:last-child {
|
|
grid-column: auto;
|
|
display: flex;
|
|
}
|
|
.rows > div[data-v-e2d08c68] {
|
|
grid-template-columns: 95px minmax(0, 1fr);
|
|
gap: 10px;
|
|
padding: 12px 10px;
|
|
}
|
|
.rows > div[data-v-e2d08c68]:has(.ip-table-cell) {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.rows .ip-table-cell[data-v-e2d08c68] {
|
|
grid-column: 1/-1;
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tabpanels {
|
|
padding-top: 14px;
|
|
}
|
|
.dcim-manage[data-v-e2d08c68] .p-tab {
|
|
padding: 12px 10px;
|
|
}
|
|
.search[data-v-e2d08c68] {
|
|
width: 100%;
|
|
}
|
|
.search[data-v-e2d08c68] input {
|
|
flex: 1;
|
|
}
|
|
.protection-body[data-v-e2d08c68] {
|
|
padding-top: 28px;
|
|
}
|
|
.resource-list dd[data-v-e2d08c68] {
|
|
font-size: 1rem;
|
|
}
|
|
}
|