wanshenmean
2026-03-19 c493779a8504fe1eb548c865ff268a7f7436ec01
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/style.css
@@ -1,50 +1,135 @@
/* Global Styles */
:root {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  --bg-page: #edf2f7;
  --bg-panel: #ffffff;
  --bg-soft: #f8fafc;
  --text-main: #0f172a;
  --text-sub: #64748b;
  --border-main: #dbe2ea;
  --brand-main: #0b5cab;
  --brand-soft: #e8f2ff;
  --ok: #16a34a;
  --warn: #d97706;
  --danger: #dc2626;
  font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', 'Helvetica Neue', sans-serif;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  min-height: 100vh;
  background: #f5f7fa;
  color: var(--text-main);
  background:
    radial-gradient(circle at 0% 0%, #f6faff 0%, transparent 35%),
    radial-gradient(circle at 100% 0%, #eef6ff 0%, transparent 38%),
    var(--bg-page);
}
/* Status Colors - Element Plus */
#app {
  min-height: 100vh;
}
.admin-page {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid var(--border-main);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.page-header h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 20px;
}
.text-muted {
  margin: 4px 0 0 0;
  color: var(--text-sub);
  font-size: 13px;
}
.panel-card {
  border-radius: 12px;
  border: 1px solid var(--border-main);
  overflow: hidden;
}
.section-block {
  border: 1px solid var(--border-main);
  border-radius: 12px;
  background: var(--bg-panel);
  overflow: hidden;
}
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #e6edf4;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
}
.section-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #0f172a;
}
.section-desc {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--text-sub);
}
.section-body {
  padding: 12px 14px;
}
.status-stopped {
  border-left: 4px solid #909399;
  border-left: 4px solid #94a3b8;
}
.status-starting {
  border-left: 4px solid #409eff;
  border-left: 4px solid var(--brand-main);
}
.status-running {
  border-left: 4px solid #67c23a;
  border-left: 4px solid var(--ok);
}
.status-stopping {
  border-left: 4px solid #e6a23c;
  border-left: 4px solid var(--warn);
}
.status-error {
  border-left: 4px solid #f56c6c;
  border-left: 4px solid var(--danger);
}
/* Loading Spinner Overlay */
.spinner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
.loading-container {
  text-align: center;
  padding: 60px 0;
  color: var(--text-sub);
}
/* Spin icon animation */
.loading-icon,
.spin-icon {
  animation: spin 1s linear infinite;
}
@@ -58,30 +143,32 @@
  }
}
/* Card hover effect */
.el-card {
  transition: all 0.3s ease;
  transition: all 0.2s ease;
}
.el-card:hover {
  transform: translateY(-2px);
  transform: translateY(-1px);
}
/* Custom scrollbar */
.el-table {
  --el-table-header-bg-color: #f3f7fb;
}
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
  background: #eef2f6;
}
::-webkit-scrollbar-thumb {
  background: #c0c4cc;
  background: #b4beca;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #909399;
  background: #8f9cab;
}