theme.css 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. :root {
  2. --color-brand: #2b1f99;
  3. --color-brand-strong: #1d166b;
  4. --color-brand-muted: #33269f;
  5. --color-brand-soft: #eceaf8;
  6. --color-accent: #3ad4d8;
  7. --color-accent-strong: #17a9ad;
  8. --color-accent-soft: #e5fbfc;
  9. --color-accent-alpha: rgba(58, 212, 216, 0.1);
  10. --color-accent-focus: rgba(58, 212, 216, 0.22);
  11. --color-bg: #f5f8fa;
  12. --color-surface: #ffffff;
  13. --color-surface-subtle: #f8fafc;
  14. --color-surface-muted: #f3f6f9;
  15. --color-surface-elevated: #ffffff;
  16. --color-border: #dfe7ee;
  17. --color-border-soft: #edf2f6;
  18. --color-text: #18212f;
  19. --color-text-secondary: #5f6b7a;
  20. --color-text-muted: #8a97a8;
  21. --color-success: #2e9d65;
  22. --color-warning: #c98219;
  23. --color-danger: #c94a4a;
  24. --color-info: #4c6f91;
  25. --color-grade-s: #0d7a5f;
  26. --color-grade-a: #2e9d65;
  27. --color-grade-b: #4c6f91;
  28. --color-grade-c: #c94a4a;
  29. --color-medical: #1a6b7a;
  30. --color-surface-tint-brand: #f4f3fb;
  31. --color-surface-tint-success: #f0f7f3;
  32. --color-surface-tint-warning: #faf6ee;
  33. --color-surface-tint-danger: #faf2f2;
  34. --color-surface-tint-info: #edf8f9;
  35. --color-white: #ffffff;
  36. --color-sidebar-end: #120d4a;
  37. --color-sidebar-text: rgba(255, 255, 255, 0.72);
  38. --color-sidebar-muted: rgba(255, 255, 255, 0.5);
  39. --color-sidebar-border: rgba(255, 255, 255, 0.1);
  40. --radius-xs: 4px;
  41. --radius-sm: 6px;
  42. --radius-md: 8px;
  43. --font-size-xs: 12px;
  44. --font-size-sm: 13px;
  45. --font-size-base: 14px;
  46. --font-size-lg: 16px;
  47. --font-size-xl: 18px;
  48. --font-size-2xl: 24px;
  49. --font-size-3xl: 32px;
  50. --shadow-panel: 0 1px 2px rgba(15, 23, 42, 0.04);
  51. --shadow-popover: 0 12px 28px rgba(15, 23, 42, 0.12);
  52. --layout-sidebar: 220px;
  53. --layout-topbar: 52px;
  54. /* 间距阶梯(8 的倍数) */
  55. --spacing-xs: 4px;
  56. --spacing-sm: 8px;
  57. --spacing-md: 12px;
  58. --spacing-lg: 16px;
  59. --spacing-xl: 24px;
  60. --spacing-2xl: 32px;
  61. /* 过渡 */
  62. --transition-fast: 0.2s ease;
  63. --el-color-primary: var(--color-brand);
  64. --el-color-primary-light-3: #5544b8;
  65. --el-color-primary-light-5: #7a6bc9;
  66. --el-color-primary-light-7: #a096dc;
  67. --el-color-primary-light-8: #c5beea;
  68. --el-color-primary-light-9: #e2def6;
  69. --el-color-primary-dark-2: var(--color-brand-strong);
  70. --el-border-radius-base: var(--radius-sm);
  71. /* ===== v2 增量 token(信息架构重构,只增不改)===== */
  72. /* 数据表格系统 */
  73. --table-row-height: 40px;
  74. --table-row-height-compact: 32px;
  75. --table-header-bg: var(--color-surface-subtle, #f8fafc);
  76. --table-row-hover: var(--color-surface-muted, #f3f6f9);
  77. --table-row-group-bg: var(--color-surface-tint-brand, rgba(43, 31, 153, 0.03));
  78. --table-border: var(--color-border-soft, #edf2f6);
  79. /* 工具栏顶栏(替代 page-hero)*/
  80. --toolbar-height: 48px;
  81. --toolbar-bg: var(--color-surface-subtle, #f8fafc);
  82. --toolbar-border: var(--color-border, #dfe7ee);
  83. /* 状态色点(替代 effect="dark" round tag)*/
  84. --dot-size: 6px;
  85. /* 区段色带标题 */
  86. --section-band-bg: var(--color-surface-tint-info, rgba(58, 212, 216, 0.08));
  87. --section-band-color: var(--color-medical, #0d7a5f);
  88. --section-band-font-size: 11px;
  89. --section-band-letter-spacing: 0.3px;
  90. /* 大写小字标签(表头/字段名)*/
  91. --label-uppercase: uppercase;
  92. --label-letter-spacing: 0.5px;
  93. --label-font-size: 10px;
  94. /* 侧边栏 v2 加深 */
  95. --color-sidebar-bg: #1d166b;
  96. /* 登录页品牌区渐变 */
  97. --color-login-brand-from: #1d166b;
  98. --color-login-brand-to: #120d4a;
  99. /* ===== v3 手术观测台壳层 token ===== */
  100. --shell-rail-width: 64px;
  101. --shell-context-width: 176px;
  102. --shell-status-height: 36px;
  103. --page-context-height: 64px;
  104. --workspace-bg: #f5f8fa;
  105. --workspace-surface: #ffffff;
  106. --shell-bg-deep: #120d4a;
  107. --shell-bg: #1d166b;
  108. --motion-fast: 160ms ease;
  109. }
  110. /* ===== 手术观测台字体 ===== */
  111. /* WOFF2 文件需从官方发行包提取并放入 src/assets/fonts/ */
  112. /* Source Han Sans SC: https://github.com/adobe-fonts/source-han-sans */
  113. /* IBM Plex Sans: https://github.com/IBM/plex */
  114. @font-face {
  115. font-family: 'Source Han Sans SC';
  116. src: local('Source Han Sans SC'), local('Noto Sans CJK SC');
  117. font-weight: 400;
  118. font-style: normal;
  119. font-display: swap;
  120. }
  121. @font-face {
  122. font-family: 'Source Han Sans SC';
  123. src: local('Source Han Sans SC Medium'), local('Noto Sans CJK SC Medium');
  124. font-weight: 500;
  125. font-style: normal;
  126. font-display: swap;
  127. }
  128. @font-face {
  129. font-family: 'IBM Plex Sans';
  130. src: local('IBM Plex Sans');
  131. font-weight: 400;
  132. font-style: normal;
  133. font-display: swap;
  134. }
  135. * {
  136. box-sizing: border-box;
  137. }
  138. html,
  139. body,
  140. #app {
  141. min-height: 100%;
  142. }
  143. body {
  144. margin: 0;
  145. color: var(--color-text);
  146. background: var(--color-bg);
  147. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  148. font-size: 14px;
  149. }
  150. button,
  151. input,
  152. textarea,
  153. select {
  154. font: inherit;
  155. }
  156. a {
  157. color: inherit;
  158. }